OSDN Git Service

2010-04-01 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-04-01  Richard Guenther  <rguenther@suse.de>
2
3         PR middle-end/43602
4         Revert
5         2010-03-30  Seongbae Park <seongbae.park@gmail.com>
6             Jack Howarth <howarth@bromo.med.uc.edu>
7
8         * tree-profile.c (tree_init_ic_make_global_vars): Make static
9         variables TLS.
10
11 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12
13         * doc/install.texi (Prerequisites): Document libelf usability on
14         IRIX 5/6 and Solaris 2.
15         (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
16         Update GNU as, GNU ld requirements.
17         (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
18         Document Sun Studio compiler download.
19         Update and simplify as, ld recommendations.
20         (Specific, *-*-solaris2.7): Note obsoletion, removal.
21
22 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
23
24         * config.guess (i[34567]86-*-solaris2*): Default with_arch_32,
25         with_tune_32 to pentium4.
26
27 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
28
29         * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
30
31 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
32
33         * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
34         obsoletion, removal.
35         Update IDO URL.
36         Document GNU as requirement.
37         Update configure requirements.
38         (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion,
39         removal.
40         Recomment IRIX 6.5.18+.
41         Document IDF/IDL requirement.
42         Document GNU as requirement.
43         Document GNU ld bootstrap failure.
44         Remove freeware.sgi.com reference.
45
46 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
47
48         * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
49         UNIX V4.0, V5.0 obsoletion, removal.
50         Remove --with-gc=simple reference.
51         Update VM requirements during bootstrap.
52         Remove -oldas bootstrap description.
53         Update binutils reference.
54         Remove comparison failure note.
55
56 2010-03-31  Richard Guenther  <rguenther@suse.de>
57             Zdenek Dvorak  <ook@ucw.cz>
58             Sebastian Pop  <sebastian.pop@amd.com>
59
60         PR middle-end/43464
61         * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
62         with multiple arguments.
63         (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
64
65 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
66
67         * graphite-dependences.c (print_pddr): Call print_pdr with an
68         extra argument.
69         * graphite-poly.c (debug_pdr): Add an extra argument for the
70         verbosity level.
71         (print_pdr): Same.
72         (print_pbb_domain): Same.
73         (print_pbb): Same.
74         (print_scop_context): Same.
75         (print_scop): Same.
76         (print_cloog): Same.
77         (debug_pbb_domain): Same.
78         (debug_pbb): Same.
79         (print_pdrs): Same.
80         (debug_pdrs): Same.
81         (debug_scop_context): Same.
82         (debug_scop): Same.
83         (debug_cloog): Same.
84         (print_scop_params): Same.
85         (debug_scop_params): Same.
86         (print_iteration_domain): Same.
87         (print_iteration_domains): Same.
88         (debug_iteration_domain): Same.
89         (debug_iteration_domains): Same.
90         (print_scattering_function): Same.
91         (print_scattering_functions): Same.
92         (debug_scattering_function): Same.
93         (debug_scattering_functions): Same.
94         * graphite-poly.h (debug_pdr): Update declaration.
95         (print_pdr): Same.
96         (print_pbb_domain): Same.
97         (print_pbb): Same.
98         (print_scop_context): Same.
99         (print_scop): Same.
100         (print_cloog): Same.
101         (debug_pbb_domain): Same.
102         (debug_pbb): Same.
103         (print_pdrs): Same.
104         (debug_pdrs): Same.
105         (debug_scop_context): Same.
106         (debug_scop): Same.
107         (debug_cloog): Same.
108         (print_scop_params): Same.
109         (debug_scop_params): Same.
110         (print_iteration_domain): Same.
111         (print_iteration_domains): Same.
112         (debug_iteration_domain): Same.
113         (debug_iteration_domains): Same.
114         (print_scattering_function): Same.
115         (print_scattering_functions): Same.
116         (debug_scattering_function): Same.
117         (debug_scattering_functions): Same.
118
119 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
120
121         * graphite-poly.c (print_scattering_function_1): New.
122         (print_scattering_function): Call it.
123         (print_scop_params): Remove spaces at the end of lines.
124         (print_cloog): New.
125         (debug_cloog): New.
126         * graphite-poly.h (print_cloog): Declared.
127         (debug_cloog): Declared.
128
129 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
130
131         * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
132         in loop->header.
133         * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
134         * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
135         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
136         to switch between adding the IV bump in loop->latch or in loop->header.
137
138 2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
139
140         * graphite-poly.c (print_scattering_function): Pretty print following
141         the scoplib format.
142         (print_pdr): Same.
143         (print_pbb_domain): Same.
144         (dump_gbb_cases): Same.
145         (dump_gbb_conditions): Same.
146         (print_pdrs): Same.
147         (print_pbb): Same.
148         (print_scop_params): Same.
149         (print_scop_context): Same.
150         (print_scop): Same.
151         (print_pbb_body): New.
152         (lst_indent_to): New.
153         (print_lst): Start new lines with a #.
154         * graphite-poly.h (pbb_bb): New.
155         (pbb_index): Use pbb_bb.
156         * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
157         disjuncts.
158         * tree-data-ref.c (dump_data_reference): Start new lines with a #.
159
160 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
161
162         * dwarf2out.c (size_of_die): For -gdwarf-4 use
163         uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
164         and 0 instead of 1 for dw_val_class_flag.
165         (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
166         dw_val_class_range_list, dw_val_class_loc_list,
167         dw_val_class_lineptr and dw_val_class_macptr, use
168         DW_FORM_flag_present for dw_val_class_flag and
169         DW_FORM_exprloc for dw_val_class_loc.
170         (output_die): For -gdwarf-4 print dw_val_class_loc
171         size as uleb128 instead of 1 or 2 bytes and don't print
172         anything for dw_val_class_flag.
173
174         * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
175         instead of cselib_lookup following by tweaking locs->setting_insn.
176
177         PR bootstrap/43596
178         * cselib.c (cselib_process_insn): Clear cselib_current_insn
179         even before returning from label, setjmp call or volatile asm
180         handling.
181
182 2010-03-31  Richard Guenther  <rguenther@suse.de>
183
184         PR middle-end/43600
185         * cgraphunit.c (cgraph_output_in_order): Do not allocate
186         temporary data on stack.
187
188 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
189
190         * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
191         (PUSHSECTION_ASM_OP): Remove.
192         (POPSECTION_ASM_OP): Remove.
193         (PUSHSECTION_FORMAT): Remove.
194         * config/sol2.h (PUSHSECTION_FORMAT): Define.
195         * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
196         * config/sol2.c (solaris_output_init_fini): Use it.
197
198 2010-03-31  Jie Zhang  <jie@codesourcery.com>
199
200         PR 43574
201         * opt-functions.awk (var_type_struct): Use signed char type
202         for simple variables.
203
204 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
205
206         * config/sol2.c: Include output.h.
207         (solaris_assemble_visibility): New function.
208         * config/t-sol2 (sol2.o): Add output.h dependency.
209         * config/sol2-protos.h (solaris_assemble_visibility): Declare.
210         * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
211         Redefine.
212
213 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
214
215         PR target/43580
216         * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
217         V2SImode or XFmode on PRE_DEC.
218
219         PR debug/43557
220         * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
221         BLKmode.
222
223 2010-03-31  Jie Zhang  <jie@codesourcery.com>
224
225         PR 43562
226         * reload.h (caller_save_initialized_p): Declare.
227         * toplev.c (backend_init_target): Don't call
228         init_caller_save but set caller_save_initialized_p to false.
229         * caller-save.c (caller_save_initialized_p): Define.
230         (init_caller_save): Check caller_save_initialized_p.
231         * ira.c (ira): Call init_caller_save if flag_caller_saves.
232
233 2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
234
235         PR target/39048
236         * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
237         and soft-fp/t-softfp to tmake_file.
238         * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
239         (LIBGCC2_TF_CEXT): Define.
240         (TF_SIZE): Define.
241
242 2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
243
244         PR debug/42977
245         * cselib.c (n_useless_values): Document handling of debug locs.
246         (n_useless_debug_values, n_debug_values): New variables.
247         (new_elt_loc_list): Don't add to debug values, keep count.
248         (promote_debug_loc): New.
249         (cselib_reset_table): Zero new variables.
250         (entry_and_rtx_equal_p): Promote debug locs.
251         (discard_useless_locs): Increment n_useless_debug_values for
252         debug values.
253         (remove_useless_values): Adjust n_useless_values and n_debug_values
254         with n_useless_debug_values.
255         (add_mem_for_addr): Promote debug locs.
256         (cselib_lookup_mem): Likewise.
257         (cselib_lookup_addr): Renamed to...
258         (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
259         (cselib_log_lookup): ... this.  Turn into...
260         (cselib_lookup_addr): ... new wrapper.
261         (cselib_lookup_from_insn): New.
262         (cselib_invalidate_regno): Increment n_useless_debug_values for
263         debug values.
264         (cselib_invalidate_mem): Likewise.
265         (cselib_process_insn): Take n_deleted and n_debug_values into
266         account to guard remove_useless_value call.
267         (cselib_finish): Zero n_useless_debug_values.
268         * cselib.h (cselib_lookup_from_insn): Declare.
269         * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
270         (sched_analyze_2): Likewise.
271
272 2010-03-30  Jakub Jelinek  <jakub@redhat.com>
273
274         * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
275         functions.
276         (adjust_mems): Replace narrowing SUBREG of expression containing
277         just PLUS, MINUS, MULT and ASHIFT of registers and constants
278         with operations in the narrower mode.
279
280         PR debug/43593
281         * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
282         regs_invalidated_by_call instead all call_used_reg_set registers.
283
284 2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
285
286         PR middle-end/43430
287         * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
288         pointer comparisons with types_compatible_p.
289         * tree-vect-stmts.c (vectorizable_call): Same.
290         (vectorizable_condition): Same.
291
292 2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
293
294         * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
295         stack check if the mask would be zero.
296
297 2010-03-30  Seongbae Park <seongbae.park@gmail.com>
298             Jack Howarth <howarth@bromo.med.uc.edu>
299
300         * tree-profile.c (tree_init_ic_make_global_vars): Make static
301         variables TLS.
302
303 2010-03-30  Joseph Myers  <joseph@codesourcery.com>
304
305         PR other/25232
306         * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
307         and __unordtf2.
308         * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
309         Include ___unordxf2 and ___unordtf2.
310         * config/i386/libgcc-glibc.ver: Do not define inheritance from
311         GCC_4.4.0 here.
312
313 2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
314
315         * config/lm32/t-lm32: New file.
316         * config.gcc: Use the above file when targetting lm32.
317
318 2010-03-28  Duncan Sands  <baldrick@free.fr>
319
320         * Makefile.in (PLUGIN_HEADERS): Add except.h.
321
322 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
323
324         PR middle-end/43431
325         * tree-vect-loop.c (vect_estimate_min_profitable_iters):
326         Improve vectorization cost model diagnostic.
327
328 2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
329
330         PR middle-end/43436
331         * tree-vect-data-refs.c (vect_analyze_data_refs): When
332         compute_data_dependences_for_loop returns false, early exit
333         and output an extra diagnostic for the failed data reference
334         analysis.
335
336 2010-03-29  Richard Guenther  <rguenther@suse.de>
337
338         PR tree-optimization/43560
339         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
340         (can_sm_ref_p): Treat stores to readonly locations as trapping.
341
342 2010-03-29  Jie Zhang  <jie@codesourcery.com>
343
344         PR 43564
345         * toplev.c (process_options): Set optimization_default_node
346         and optimization_current_node.
347         * opts.c (decode_options): Don't set optimization_default_node
348         and optimization_current_node.
349
350 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
351
352         * config/rtems.h: Abandon -qrtems_debug.
353
354 2010-03-28  Jan Hubicka  <jh@suse.cz>
355
356         PR tree-optimization/43505
357         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
358         map should not be copied.
359
360 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
361
362         PR middle-end/41674
363         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
364         cdtors, set DECL_PRESERVE_P.
365         * ipa.c (cgraph_externally_visible_p): Return true if declaration
366         should be preseved.
367
368 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
369
370         PR tree-optimization/43528
371         * stor-layout.c (place_field): Check that constant fits into
372         unsigned HWI when skipping calculation of MS bitfield layout.
373
374 2010-03-27  Jan Hubicka  <jh@suse.cz>
375
376         PR middle-end/43391
377         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
378         notice_global_symbol work.
379
380 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
381
382         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
383         instead of dwarf2out_decl.
384         (struct var_loc_node): Remove section_label field.
385         (dwarf2out_function_decl): New function.
386         (dwarf2out_var_location): Don't set section_label field.
387         (dwarf2out_begin_function): Don't empty decl_loc_table here.
388
389 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
390
391         PR tree-optimization/43544
392         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
393         First argument for builtin vectorized function hook is now a
394         tree to be able to distinguish between machine specific and
395         standard builtins.
396         * targhooks.c (default_builtin_vectorized_function): Ditto.
397         * targhooks.h (default_builtin_vectorized_function): Ditto.
398         * target.h (struct gcc_target): Ditto.
399         * tree-vect-stmts.c (vectorizable_function): Ditto.
400         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
401         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
402         Ditto.
403
404 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
405
406         PR c/43381
407         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
408         nested binding iff it is a FUNCTION_DECL.
409         (store_parm_decls_newstyle): Pass nested=true to bind for
410         FUNCTION_DECLs amongst parameters.
411
412 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
413
414         * var-tracking.c (vt_expand_loc_callback): Don't run
415         cselib_expand_value_rtx_cb in dummy mode if
416         cselib_dummy_expand_value_rtx_cb returned false.
417
418         * var-tracking.c (emit_note_insn_var_location): For one part
419         notes with offset 0, don't add EXPR_LIST around the location.
420         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
421         add_location_or_const_value_attribute): Adjust for that change.
422
423         PR debug/43540
424         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
425         into first operand and location into second.
426         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
427         dw_cfi_oprnd_loc for DW_CFA_expression.
428         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
429         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
430         assume first argument is regnum and second argument is location.
431
432 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
433
434         PR target/42113
435         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
436         of scratch register to DImode.  Split to DImode comparison operator.
437         Use SImode subreg of scratch register in the multiplication.
438         (*cmp_sadd_sidi): Ditto.
439         (*cmp_ssub_si): Ditto.
440         (*cmp_ssub_sidi): Ditto.
441
442 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
443
444         PR target/43524
445         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
446         Remove invalid assert and wrong comment.
447
448 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
449
450         PR debug/43516
451         * flags.h (final_insns_dump_p): New extern.
452         * final.c (final_insns_dump_p): New variable.
453         (rest_of_clean_state): Set it before -fdump-final-insns=
454         dumping, clear afterwards.
455         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
456         MEM_ALIAS_SET on MEMs.
457
458 2010-03-26  David S. Miller  <davem@davemloft.net>
459
460         * configure.ac: Fix sparc GOTDATA_OP bug check.
461         * configure: Rebuild.
462
463 2010-03-26  Alan Modra  <amodra@gmail.com>
464
465         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
466
467 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
468
469         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
470         TLS_SECTION_ASM_FLAG.
471
472 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
473
474         PR bootstrap/43511
475         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
476         Clear first_function_block_is_cold.
477
478         PR c/43385
479         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
480         argument if the argument is truth_value_p.
481
482 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
483
484         * config/rs6000/constraints.md: Update copyright year for my changes.
485
486         PR target/43484
487         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
488         used in reg+reg addressing, swap registers.
489
490 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
491
492         PR debug/43293
493         * target.h (struct gcc_target): Add code_end hook.
494         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
495         if not yet defined.
496         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
497         * toplev.c (compile_file): Call targetm.asm_out.code_end
498         hook before unwind info/debug info output.
499         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
500         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
501         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
502         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
503         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
504         * config/i386/i386.c (ix86_file_end): Renamed to...
505         (ix86_code_end): ... this.  Make static.  Don't call
506         file_end_indicate_exec_stack.  Emit unwind info using
507         final_start_function/final_end_function.
508         (darwin_x86_file_end): Remove.
509         (TARGET_ASM_CODE_END): Define.
510         * config/i386/i386.h (TARGET_ASM_FILE_END,
511         NEED_INDICATE_EXEC_STACK): Don't define.
512         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
513         (TARGET_ASM_FILE_END): Define to darwin_file_end.
514         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
515         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
516
517         PR target/43498
518         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
519         at the beginning and final_end_function at the end.
520         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
521
522 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
523
524         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
525         and Sun as TLS syntax.
526         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
527         * configure: Regenerate.
528         * config.in: Regenerate.
529         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
530         (default_elf_asm_named_section): Use it.
531         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
532         (i386_output_dwarf_dtprel): Likewise.
533         (output_addr_const_extra): Likewise.
534         (output_pic_addr_const): Lowercase @GOTTPOFF.
535         (output_addr_const_extra): Likewise.
536         (output_pic_addr_const): Lowercase @GOTNTPOFF.
537         (output_addr_const_extra): Likewise.
538         (output_pic_addr_const): Lowercase @INDNTPOFF.
539         (output_addr_const_extra): Likewise.
540         (output_pic_addr_const): Lowercase @NTPOFF.
541         (output_addr_const_extra): Likewise.
542         (output_pic_addr_const): Lowercase @TPOFF.
543         (output_addr_const_extra): Likewise.
544         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
545         (*tls_global_dynamic_64): Likewise.
546         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
547         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
548
549         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
550         (ASM_OUTPUT_TLS_COMMON): Use it.
551         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
552
553         PR target/38118
554         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
555         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
556         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
557         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
558         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
559         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
560
561 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
562
563         * config/i386/i386.c (override_options): Don't accept
564         -mtls-dialect=sun any longer.
565         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
566         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
567         (*tls_local_dynamic_base_32_sun): Likewise.
568         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
569
570 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
571
572         PR debug/43508
573         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
574         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
575
576         PR debug/43479
577         * ira.c (adjust_cleared_regs): New function.
578         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
579
580         PR debug/19192
581         PR debug/43479
582         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
583         from gimple_block.
584         * expr.c (expand_expr_real): Restore previous
585         curr_insn_source_location and curr_insn_block after
586         expand_expr_real_1 call.
587         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
588         instead of expand_expr_real_1.
589
590 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
591
592         PR rtl-optimization/43413
593         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
594         hard regs too.
595
596 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
597
598         PR target/43348
599         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
600         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
601
602 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
603
604         * config/i386/i386.c (ix86_target_string): Add -mfma.
605         Fix a typo in comment.
606
607 2010-03-22  Mike Stump  <mikestump@comcast.net>
608
609         PR target/23071
610         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
611         Don't overly align based upon packed packed fields.
612
613 2010-03-22  Jason Merrill  <jason@redhat.com>
614
615         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
616         Use () rather than [], and move before the element type.
617
618 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
619
620         * doc/configfiles.texi (Configuration Files): Removed
621         fixinc/Makefile*, intl/Makefile.*.
622         * doc/makefile.texi: Fixed markup. Abstract from version
623         control system used.
624         (Makefile): Removed obsolete gcc/java/parse.y example.
625         * doc/sourcebuild.texi: Likewise.
626         (Top Level): Added config, gnattools, libdecnumber, libgcc,
627         libgomp, libssp.  Removed fastjar.
628         (Miscellaneous Docs): Clarify location.
629         Added COPYING3, COPYING3.LIB.
630         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
631
632 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
633
634         PR target/38085
635         * config/i386/i386.c (x86_function_profiler)
636         [!NO_PROFILE_COUNTERS]: Fix typo.
637         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
638         instead of callq.
639
640 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
641             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
642
643         * doc/sourcebuild.texi (Test Directives): Split into six
644         subsections, with most of the current text in new subsections
645         Directives, Selectors, and Final Actions.
646         (Directives): Split list of test directives into multiple
647         subsubsections.
648         (Selectors): Describe use and syntax of selectors.
649         (Effective-Target Keywords): Describe all existing keywords.
650         (Add Options): Describe features for dg-add-options.
651         (Require Support): Describe variants of dg-require-support.
652         (Final Actions): Describe commands to use in dg-final.
653
654 2010-03-22  Michael Matz  <matz@suse.de>
655
656         PR middle-end/43475
657         * recog.c (validate_replace_rtx_group): Replace also in
658         REG_EQUAL and REG_EQUIV notes.
659
660 2010-03-22  Richard Guenther  <rguenther@suse.de>
661
662         PR tree-optimization/43390
663         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
664         sure vector extracts are type correct.
665
666 2010-03-22  Richard Guenther  <rguenther@suse.de>
667
668         PR middle-end/40106
669         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
670         x * sqrt (x) even when optimizing for size if the target
671         has native support for sqrt.
672
673 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
674
675         * varasm.c (make_decl_rtl_for_debug): Also clear
676         flag_mudflap for the duration of make_decl_rtl call.
677
678         PR debug/43443
679         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
680         locs from preserved VALUEs.
681
682 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
683
684         PR middle-end/42718
685         * pa.md (movmemsi): Set align to one if zero.
686         (movmemdi): Likewise.
687
688 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
689
690         PR target/42321
691         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
692         with their corresponding prologue pushes.
693
694 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
695
696         PR target/43156
697         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
698         at the begining or end.
699         (spu_expand_epilogue): Likewise.
700
701 2010-03-20  Richard Guenther  <rguenther@suse.de>
702
703         PR rtl-optimization/43438
704         * combine.c (make_extraction): Properly zero-/sign-extend an
705         extraction of the low part of a CONST_INT.  Also handle
706         CONST_DOUBLE.
707
708 2010-03-19  Mike Stump  <mikestump@comcast.net>
709
710         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
711         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
712         (override_options): Use SUBTARGET32_DEFAULT_CPU.
713
714 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
715
716         PR c/43211
717         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
718         an error.
719
720 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
721
722         PR rtl-optimization/42258
723         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
724         use that may match DEF.
725
726         PR target/40697
727         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
728         the cost of loading the constant rather than assuming
729         COSTS_N_INSNS (1).
730         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
731         outer code is AND, do the same tests as the andsi3 expander and
732         return COSTS_N_INSNS (1) if and is cheap.
733
734         * optabs.c (avoid_expensive_constant): Fix formatting.
735
736 2010-03-19  Michael Matz  <matz@suse.de>
737
738         PR c++/43116
739         * attribs.c (decl_attributes): When rebuilding a function pointer
740         type use the same qualifiers as the original pointer type.
741
742 2010-03-19  Martin Jambor  <mjambor@suse.cz>
743
744         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
745         and is_gimple_ip_invariant_address.
746
747 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
748
749         Revert
750         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
751
752         * config/arm/arm.c (arm_override_options): Turn off
753         flag_dwarf2_cfi_asm for AAPCS variants.
754
755 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
756
757         PR target/43399
758         * config/arm/arm.c (emit_multi_reg_push): Update comments.
759         Use PRE_MODIFY instead of PRE_DEC.
760         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
761         (vfp_emit_fstmd): Likewise.
762
763 2010-03-19  Michael Matz  <matz@suse.de>
764
765         PR target/43305
766         * builtins.c (expand_builtin_interclass_mathfn,
767         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
768         if that fails.
769
770 2010-03-19  Richard Guenther  <rguenther@suse.de>
771
772         PR tree-optimization/43415
773         * tree-ssa-pre.c (phi_translate): Split out worker to ...
774         (phi_translate_1): ... this.
775         (phi_translate): Move all caching here.  Cache all NARY
776         and REFERENCE translations.
777
778 2010-03-19  David S. Miller  <davem@davemloft.net>
779
780         With help from Eric Botcazou.
781         * config/sparc/sparc.c: Include dwarf2out.h.
782         (emit_pic_helper): Delete.
783         (pic_helper_symbol_name): Delete.
784         (pic_helper_emitted_p): Delete.
785         (pic_helper_needed): New.
786         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
787         (get_pc_thunk_name): New.
788         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
789         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
790         Set pic_helper_needed to true.  Don't call emit_pic_helper.
791         (sparc_expand_prologue): Update load_pic_register call.
792         (sparc_output_mi_thunk): Likewise.
793         (sparc_file_end): Emit a hidden comdat symbol for the PIC
794         thunk if possible.  Output CFI information as needed.
795
796 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
797             Jack Howarth <howarth@bromo.med.uc.edu>
798
799         PR target/36399
800         * config/i386/i386.h: Fix ABI on darwin x86-32.
801
802 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
803
804         * tree.h: Declare make_decl_rtl_for_debug.
805         * varasm.c (make_decl_rtl_for_debug): New.
806         * dwarf2out.c (rtl_for_decl_location): Call it.
807         * cfgexpand.c (expand_debug_expr): Call it.
808
809 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
810
811         PR bootstrap/43399
812         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
813         mem_mode.
814
815         PR bootstrap/43403
816         * var-tracking.c (vt_init_cfa_base): Do nothing if
817         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
818
819 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
820
821         PR debug/42873
822         * var-tracking.c (canonicalize_vars_star): New.
823         (dataflow_post_merge_adjust): Use it.
824
825 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
826
827         PR debug/43058
828         * var-tracking.c (non_suitable_const): New function.
829         (add_uses): For DEBUG_INSNs with constants, don't record any
830         value, instead just the constant value itself.
831         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
832         is not VAR_LOC_UNKNOWN_P, set var to the constant.
833         (emit_notes_in_bb): Likewise.
834         (emit_note_insn_var_location): For onepart variables if
835         cur_loc is a VOIDmode constant, use DECL_MODE.
836
837 2010-03-18  Martin Jambor  <mjambor@suse.cz>
838
839         PR middle-end/42450
840         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
841         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
842         all non-clones.  Moved call redirection...
843         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
844         (cgraph_materialize_all_clones): Dispose of all
845         combined_args_to_skip bitmaps.
846         (verify_cgraph_node): Do not check for edges pointing to wrong
847         nodes in inline clones.
848         * tree-inline.c (copy_bb): Call
849         cgraph_redirect_edge_call_stmt_to_callee.
850         * ipa.c (cgraph_remove_unreachable_nodes): Call
851         cgraph_node_remove_callees even when there are used clones.
852
853 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
854
855         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
856
857 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
858
859         PR target/43383
860         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
861         for 32bit.
862
863 2010-03-18  Michael Matz  <matz@suse.de>
864
865         PR middle-end/43419
866         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
867         into sqrt(x) if we need to preserve signed zeros.
868
869 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
870             Eric Botcazou  <ebotcazou@adacore.com>
871
872         PR rtl-optimization/43360
873         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
874         note if we don't know its invariant status.
875
876 2010-03-18  Michael Matz  <matz@suse.de>
877
878         PR tree-optimization/43402
879         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
880         PHI chains of ssa names registered for update.
881
882 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
883
884         PR target/42427
885         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
886         non-offsettable and pre_modify update addressing.
887         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
888         and "2" alternatives "#".
889         (*movdd_softfloat32): Make all alternatives "#";
890         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
891         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
892         (*movdf_softfloat32): Make all alternatives "#";
893         (movdi): Use the new DIFD mode iterator to create a common splitter
894         for movdi, movdf and movdd patterns.
895
896 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
897
898         * common.opt (dumpdir): Remove redundant tab.
899
900 2010-03-17  Martin Jambor  <mjambor@suse.cz>
901
902         PR tree-optimization/43347
903         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
904         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
905
906 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
907
908         PR rtl-optimization/42216
909         * regrename.c (create_new_chain): New function, broken out from...
910         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
911         appending a use to an empty chain.
912         (build_def_use): Remove previous changes that convert OP_INOUT to
913         OP_OUT operands; instead detect the case where an OP_INOUT operand
914         uses a previously untracked register and create an empty chain for it.
915
916 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
917
918         * doc/extend.texi (Function Attributes): Rewrite unfinished
919         sentence in ms_abi documentation.
920
921 2010-03-17  Alan Modra  <amodra@gmail.com>
922
923         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
924         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
925         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
926         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
927
928 2010-03-16  Richard Henderson  <rth@redhat.com>
929
930         PR middle-end/43365
931         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
932         (lower_try_finally): Save and restore eh_seq around the expansion
933         of the try-finally.
934
935 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
936
937         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
938         statements before splitting block.
939
940 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
941
942         * doc/sourcebuild.texi (Testsuites): Fix markup.
943         Use pathnames relative to gcc/testsuite.
944         (Test Directives): Move description of how timeout is determined.
945         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
946         (C Tests): Correct gcc.misc-tests directory.
947         Framework tests now live in gcc.test-framework.
948
949 2010-03-16  Richard Guenther  <rguenther@suse.de>
950
951         PR middle-end/43379
952         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
953         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
954
955 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
956             Alexandre Oliva  <aoliva@redhat.com>
957
958         PR tree-optimization/42917
959         * lambda-code.c (remove_iv): Skip debug statements.
960         (lambda_loopnest_to_gcc_loopnest): Likewise.
961         (not_interesting_stmt): Debug statements are not interesting.
962
963 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
964
965         PR debug/43051
966         PR debug/43092
967         * cselib.c (cselib_preserve_constants,
968         cfa_base_preserved_val): New static variables.
969         (preserve_only_constants): New function.
970         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
971         clear its REG_VALUES.  If cselib_preserve_constants, don't
972         empty the whole hash table, but preserve there VALUEs with constants,
973         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
974         (cselib_preserve_cfa_base_value): New function.
975         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
976         (cselib_init): Change argument to int bitfield.  Set
977         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
978         is in it.
979         (cselib_finish): Clear cselib_preserve_constants and
980         cfa_base_preserved_val.
981         * cselib.h (enum cselib_record_what): New enum.
982         (cselib_init): Change argument to int.
983         (cselib_preserve_cfa_base_value): New prototype.
984         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
985         * dse.c (dse_step1): Likewise.
986         * cfgcleanup.c (thread_jump): Likewise.
987         * sched-deps.c (sched_analyze): Likewise.
988         * gcse.c (local_cprop_pass): Likewise.
989         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
990         If FN is non-NULL, call the callback always and whenever it returns
991         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
992         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
993         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
994         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
995         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
996         * var-tracking.c: Include recog.h.
997         (bb_stack_adjust_offset): Remove.
998         (vt_stack_adjustments): Don't call it, instead just gather the
999         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
1000         (adjust_stack_reference): Remove.
1001         (compute_cfa_pointer): New function.
1002         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
1003         (struct adjust_mem_data): New type.
1004         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
1005         functions.
1006         (get_address_mode): New function.
1007         (replace_expr_with_values): Use it.
1008         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
1009         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
1010         (adjust_sets): Remove.
1011         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
1012         Use get_address_mode.
1013         (get_adjusted_src): Remove.
1014         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
1015         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
1016         (add_with_sets): Don't call adjust_sets.
1017         (fp_setter, vt_init_cfa_base): New functions.
1018         (vt_initialize): Change return type to bool.  Move most of pool etc.
1019         initialization to the beginning of the function from end.  Pass
1020         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
1021         If !frame_pointer_needed, call vt_stack_adjustment before mos
1022         vector is filled, call vt_init_cfa_base if argp/framep has been
1023         eliminated to sp.  If frame_pointer_needed and argp/framep has
1024         been eliminated to hard frame pointer, set
1025         hard_frame_pointer_adjustment and call vt_init_cfa_base after
1026         encountering fp setter in the prologue.  For MO_ADJUST, call
1027         log_op_type before pusing the op into mos vector, not afterwards.
1028         Call adjust_insn before cselib_process_insn/add_with_sets,
1029         call cancel_changes (0) afterwards.
1030         (variable_tracking_main_1): Adjust for vt_initialize calling
1031         vt_stack_adjustments and returning whether it succeeded or not.
1032
1033 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
1034
1035         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
1036         debug statements.
1037
1038 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
1039
1040         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
1041         has been set.
1042         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
1043         drap_reg has not been set.
1044
1045 2010-03-15  Michael Matz  <matz@suse.de>
1046
1047         PR middle-end/43300
1048         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
1049         use it to expand block copies.
1050         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
1051         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
1052         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
1053
1054 2010-03-15  Richard Guenther  <rguenther@suse.de>
1055
1056         PR tree-optimization/43367
1057         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
1058         elimination check.
1059
1060 2010-03-15  Richard Guenther  <rguenther@suse.de>
1061
1062         PR tree-optimization/43317
1063         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
1064
1065 2010-03-15  Martin Jambor  <mjambor@suse.cz>
1066
1067         PR tree-optimization/43141
1068         * tree-sra.c (create_abstract_origin): New function.
1069         (modify_function): Call create_abstract_origin.
1070
1071 2010-03-15  Chris Demetriou  <cgd@google.com>
1072
1073         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
1074         wasn't copied.
1075
1076 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1077
1078         PR middle-end/43354
1079         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
1080         call insert_out_of_ssa_copy for default definitions.
1081
1082 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1083
1084         * graphite-clast-to-gimple.c (my_long_long): Defined.
1085         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
1086         * graphite-sese-to-poly.c (my_long_long): Defined.
1087         (scop_ivs_can_be_represented): Use it.
1088
1089 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1090
1091         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
1092         graphite-max-bbs-per-function, and loop-block-tile-size.
1093         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
1094         with "maximum".
1095         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
1096
1097 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1098
1099         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
1100         forward declaration.
1101         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
1102         (add_upper_bounds_from_estimated_nit): New.
1103         (build_loop_iteration_domains): Use it.
1104
1105 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1106
1107         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
1108
1109 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1110
1111         PR middle-end/43306
1112         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
1113         should be an INTEGER_CST.  Also handle CASE_CONVERT.
1114
1115 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1116
1117         * graphite.c (graphite_initialize): To bound the number of bbs per
1118         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
1119         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
1120         * doc/invoke.texi: Document it.
1121
1122 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1123
1124         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
1125         * graphite-sese-to-poly.h (build_poly_scop): Same.
1126
1127 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
1128
1129         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
1130         the number of parameters in the scop.  Use as an upper bound
1131         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
1132         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
1133         * doc/invoke.texi: Document it.
1134
1135 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
1136
1137         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
1138         * doc/c-tree.texi: Remove.
1139         * doc/generic.texi: Merge c-tree.texi here.
1140         * doc/gccint.texi (Trees): Remove menu entry.
1141         (c-tree.texi): Remove @include.
1142         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
1143         * doc/languages.texi (Reading RTL): Ditto.
1144
1145 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
1146
1147         PR target/42869
1148         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
1149
1150 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
1151
1152         PR middle-end/42431
1153         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
1154         code added to work around reload clobbering CONST insns.
1155
1156 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
1157
1158         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
1159         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
1160         (cselib_preserve_only_values): Remove retain argument, don't
1161         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
1162         * cselib.h (cselib_preserve_only_values): Remove retain argument.
1163         * var-tracking.c (micro_operation): Move insn field before union.
1164         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
1165         (struct variable_tracking_info_def): Remove n_mos field, change
1166         mos into a vector of micro_operations.
1167         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
1168         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
1169         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
1170         changing into a vector.
1171         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
1172         come before all other uops generated by add_stores.
1173         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
1174         argument removal.
1175         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
1176         a vector.  Run just one pass over the bbs instead of separate counting
1177         and computation phase.
1178         (vt_finalize): Free VTI (bb)->mos vector instead of array.
1179
1180         PR debug/43329
1181         * tree-inline.c (remap_decls): Put old_var rather than origin_var
1182         into *nonlocalized_list vector.
1183         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
1184         even if origin is non-NULL.
1185         (gen_variable_die): Likewise.
1186         (process_scope_var): Don't change origin.
1187         (gen_decl_die): Likewise.
1188         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
1189         before adding new edges instead of after it, fix moving over
1190         debug stmts.
1191
1192 2010-03-11  David S. Miller  <davem@davemloft.net>
1193
1194         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
1195         of four.
1196         * configure: Rebuild.
1197
1198 2010-03-11  Martin Jambor  <mjambor@suse.cz>
1199
1200         PR tree-optimization/43257
1201         * tree.c (assign_assembler_name_if_neeeded): New function.
1202         (free_lang_data_in_cgraph): Assembler name assignment moved to the
1203         above new function.
1204         * tree.h (assign_assembler_name_if_neeeded): Declare.
1205         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
1206         the function if needed.
1207
1208 2010-03-11  Chris Demetriou  <cgd@google.com>
1209
1210         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
1211         include/stdint-gcc.h, and include/stdint.h world-readable.
1212
1213 2010-03-11  Richard Guenther  <rguenther@suse.de>
1214
1215         PR tree-optimization/43255
1216         * tree-vrp.c (process_assert_insertions_for): Do not insert
1217         asserts for trivial conditions.
1218
1219 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1220
1221         PR tree-optimization/43280
1222         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
1223         generation.  Move calculation of size out of the if branch.
1224         (find_bswap): Modify compare number generation.
1225
1226 2010-03-11  Richard Guenther  <rguenther@suse.de>
1227
1228         PR lto/43200
1229         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
1230         (input_gimple_stmt): Fixup handled component types during
1231         operand read.  Also fix up decls in ADDR_EXPRs.
1232
1233 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
1234
1235         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
1236         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
1237
1238 2010-03-10  Jan Hubicka  <jh@suse.cz>
1239
1240         PR c/43288
1241         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
1242         * varasm.c (get_variable_section): Don't do that here...
1243         (make_decl_rtl): ... and here.
1244         (do_assemble_alias): Produce decl RTL.
1245         (assemble_alias): Likewise.
1246
1247 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
1248
1249         PR debug/43290
1250         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
1251         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
1252         of fde->vdrap_reg.
1253         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
1254         (based_loc_descr): Only express drap or vdrap regno based expressions
1255         using DW_OP_fbreg when not optimizing.
1256         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
1257         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
1258         REG_CFA_SET_VDRAP note.
1259
1260 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
1261
1262         PR tree-optimization/43236
1263         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
1264         error in calculation of base address in reverse iteration case.
1265         (generate_builtin): Take number of latch executions if the statement
1266         is in the latch.
1267
1268 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
1269
1270         PR middle-end/42859
1271         * tree-eh.c: Include pointer-set.h.
1272         (lower_eh_dispatch): Filter out duplicate case labels and
1273         remove the unneeded edge when the label is unused.  Return
1274         true when some edges are removed.
1275         (execute_lower_eh_dispatch): When any lowering resulted in
1276         removing an edge, also delete unreachable blocks.
1277
1278 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
1279
1280         PR bootstrap/43287
1281         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
1282         UNSPEC_MACHOPIC_OFFSET.
1283
1284 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
1285
1286         PR target/43294
1287         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
1288         (m68k_delegitimize_address): New function.
1289
1290 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
1291
1292         PR debug/43299
1293         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
1294
1295         PR debug/43299
1296         * var-tracking.c (adjust_sets): New function.
1297         (count_with_sets, add_with_sets): Use it.
1298         (get_adjusted_src): New inline function.
1299         (add_stores): Use it.
1300
1301         PR debug/43304
1302         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
1303         call cselib_dummy_expand_value_rtx_cb instead of
1304         cselib_expand_value_rtx_cb.
1305
1306         PR debug/43293
1307         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
1308         * config/i386/i386.c: Include debug.h and dwarf2out.h.
1309         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
1310         and .cfi_endproc around the pic thunks.
1311         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
1312         all queued unwind info register saves are saved before the call.
1313         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
1314         considered as sp-=4 for unwind info and the pop as sp+=4 which
1315         also clobbers dest, but doesn't actually restore it.
1316
1317         PR debug/43290
1318         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
1319         RTX_FRAME_RELATED_P.
1320
1321 2010-03-09  Jie Zhang  <jie@codesourcery.com>
1322
1323         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
1324         whitespaces in output template.
1325
1326 2010-03-09  Jie Zhang  <jie@codesourcery.com>
1327
1328         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
1329         out array boundary.
1330
1331 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
1332
1333         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
1334         builtins.exp in a separate job.
1335
1336 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1337
1338         * graphite-sese-to-poly.c (add_param_constraints): Use
1339         lower_bound_in_type and upper_bound_in_type.
1340
1341 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1342
1343         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
1344         instead of unsigned_type_node.
1345
1346 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1347             Reza Yazdani  <reza.yazdani@amd.com>
1348
1349         PR middle-end/43065
1350         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
1351         on pointer type parameters.
1352
1353 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1354
1355         PR middle-end/42644
1356         PR middle-end/42130
1357         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
1358         handle conversions from pointer to integers.
1359         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
1360         induction variable, to be able to work with code generated by CLooG.
1361         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
1362         (build_poly_scop): Bail out if we cannot codegen a loop.
1363
1364 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1365
1366         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
1367         code generation with gloog_error.
1368
1369 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1370
1371         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
1372         Call fold_convert on all the returned values.
1373         (expand_scalar_variables_expr): Pass to
1374         expand_scalar_variables_ssa_name the type of the resulting expression.
1375
1376 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1377
1378         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
1379         ppl_min_for_le_pointset.
1380         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
1381         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
1382
1383 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1384
1385         * graphite-dependences.c (map_into_dep_poly): Removed.
1386         (dependence_polyhedron_1): Use combine_context_id_scat.
1387
1388 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1389
1390         * graphite-poly.h (struct poly_scattering): Add layout documentation.
1391         (struct poly_bb): Same.
1392         (combine_context_id_scat): New.
1393
1394 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1395
1396         PR middle-end/42326
1397         * sese.c (name_defined_in_loop_p): Return false for default
1398         definitions.
1399
1400 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1401
1402         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
1403         and clean up the logic.
1404
1405 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1406
1407         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
1408         early return.
1409
1410 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
1411
1412         * var-tracking.c (remove_cselib_value_chains): Define only for
1413         ENABLE_CHECKING.
1414         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
1415         delete_slot_part, emit_notes_for_differences_1): Don't call
1416         remove_cselib_value_chains here.
1417         (set_slot_part, emit_notes_for_differences_2): Don't call
1418         add_cselib_value_chains here.
1419         (preserved_values): New vector.
1420         (preserve_value): New function.
1421         (add_uses, add_stores, vt_add_function_parameters): Use it
1422         instead of cselib_preserve_value.
1423         (changed_values_stack): New vector.
1424         (check_changed_vars_0): New function.
1425         (check_changed_vars_1, check_changed_vars_2): Use it.
1426         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
1427         changed_values_stack VALUEs.
1428         (vt_emit_notes): For all preserved_values call
1429         add_cselib_value_chains.  If ENABLE_CHECKING call
1430         remove_cselib_value_chains before verifying value_chains is empty.
1431         Initialize and free changed_values_stack.
1432         (vt_initialize): Initialize preserved_values.
1433         (vt_finalize): Free preserved_values.
1434
1435 2010-03-08  Richard Guenther  <rguenther@suse.de>
1436
1437         PR tree-optimization/43269
1438         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
1439         region detection.
1440
1441 2010-03-08  Martin Jambor  <mjambor@suse.cz>
1442
1443         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
1444         (ipa_is_param_called): Removed.
1445         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
1446         (ipa_print_node_params): Do not print the called flag.
1447         (ipa_write_node_info): Do not stream the called flag.
1448         (ipa_read_node_info): Likewise.
1449
1450 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
1451
1452         PR debug/43176
1453         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
1454         * cselib.c (struct expand_value_data): Add dummy field.
1455         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
1456         dummy to false.
1457         (cselib_dummy_expand_value_rtx_cb): New function.
1458         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
1459         any rtl.
1460         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
1461         * var-tracking.c: Include pointer-set.h.
1462         (variable): Change n_var_parts to char from int.  Add
1463         cur_loc_changed and in_changed_variables fields.
1464         (variable_canonicalize): Remove.
1465         (shared_var_p): New inline function.
1466         (unshare_variable): Maintain cur_loc_changed and
1467         in_changed_variables fields.  If var was in changed_variables,
1468         replace it there with new_var.  Just copy cur_loc instead of
1469         resetting it to something else.
1470         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
1471         (dataflow_set_union): Don't call variable_canonicalize.
1472         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
1473         of their DEBUG_EXPR_TREE_DECLs.
1474         (canonicalize_loc_order_check): Verify that cur_loc is NULL
1475         and in_changed_variables and cur_loc_changed is false.
1476         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
1477         and cur_loc_changed.  Don't update cur_loc here.
1478         (variable_merge_over_src): Don't call variable_canonicalize.
1479         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
1480         removing loc that is equal to cur_loc, clear cur_loc,
1481         set cur_loc_changed and ensure variable_was_changed is called.
1482         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
1483         compare pointers in cur_loc check, if it is equal to loc,
1484         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
1485         (variable_different_p): Remove compare_current_location argument,
1486         don't compare cur_loc.
1487         (dataflow_set_different_1): Adjust variable_different_p caller.
1488         (variable_was_changed): If dv had some var in changed_variables
1489         already, reset in_changed_variables flag for it and propagate
1490         cur_loc_changed over to the new variable.  On empty var
1491         always set cur_loc_changed.  Set in_changed_variables on whatever
1492         var is added to changed_variables.
1493         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
1494         Use shared_var_p.  When removing loc that is equal to cur_loc,
1495         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
1496         end, don't set it to something else, just call variable_was_changed.
1497         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
1498         loc being removed, clear cur_loc and set cur_loc_changed.
1499         Set cur_loc_changed if all locations have been removed.
1500         (struct expand_loc_callback_data): New type.
1501         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
1502         allocated.  Always create SUBREGs if simplify_subreg failed.
1503         Prefer to use cur_loc, when that fails and still in
1504         changed_variables (and seen first time) recompute it.  Set
1505         cur_loc_changed of variables which had to change cur_loc and
1506         compute elcd->cur_loc_changed if any of the subexpressions used
1507         had to change cur_loc.
1508         (vt_expand_loc): Adjust to pass arguments in
1509         expand_loc_callback_data structure.
1510         (vt_expand_loc_dummy): New function.
1511         (emitted_notes): New variable.
1512         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
1513         that weren't used for any other decl in current
1514         emit_notes_for_changes call call vt_expand_loc_dummy to update
1515         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
1516         first loc_chain location if NULL before.  Always use just
1517         cur_loc instead of first loc_chain location.  When cur_loc_changed
1518         is false, when not --enable-checking=rtl just don't emit any note.
1519         When rtl checking, compute the note and assert it is the same
1520         as previous note.  Clear cur_loc_changed and in_changed_variables
1521         at the end before removing from changed_variables.
1522         (check_changed_vars_3): New function.
1523         (emit_notes_for_changes): Traverse changed_vars to call
1524         check_changed_vars_3 on each changed var.
1525         (emit_notes_for_differences_1): Clear cur_loc_changed and
1526         in_changed_variables.  Recompute cur_loc of new_var.
1527         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
1528         (vt_emit_notes): Initialize and destroy emitted_notes.
1529
1530 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
1531
1532         PR rtl-optimization/42220
1533         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
1534         Use verify_reg_tracked to determine if we should use OP_OUT rather
1535         than OP_INOUT.
1536         (build_def_use): If we see an in-out operand for a register that we
1537         know nothing about, treat is an output if possible, fail the block if
1538         not.
1539
1540 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1541
1542         PR debug/42897
1543         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
1544         permanently.
1545
1546 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1547
1548         PR debug/42897
1549         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
1550         uses of relevant DEFs that are dead outside the loop too.
1551
1552 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
1553
1554         * var-tracking.c (dataflow_set_merge): Swap src and src2.
1555         Reverted:
1556         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
1557         PR debug/41371
1558         * var-tracking.c (values_to_unmark): New variable.
1559         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1560         values_to_unmark vector.  Moved body to...
1561         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
1562         instead queue it into values_to_unmark vector.
1563         (vt_find_locations): Free values_to_unmark vector.
1564
1565 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
1566
1567         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
1568         (site.exp): Export them when plugins are enabled.
1569
1570 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
1571
1572         PR middle-end/42326
1573         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
1574         that contain scevs.
1575         (chrec_fold_multiply): Same.
1576
1577 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1578
1579         PR c/43248
1580         * c-decl.c (build_compound_literal): Return early if init is
1581         an error_mark_node.
1582
1583 2010-03-04  Martin Jambor  <mjambor@suse.cz>
1584
1585         PR tree-optimization/43164
1586         PR tree-optimization/43191
1587         * tree-sra.c (type_consists_of_records_p): Reject records with
1588         zero-size bit-fields at the end.
1589
1590 2010-03-04  Mike Stump  <mikestump@comcast.net>
1591
1592         * Makefile.in (TAGS): Remove *.y.
1593
1594 2010-03-04  Richard Guenther  <rguenther@suse.de>
1595
1596         PR tree-optimization/40761
1597         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
1598         in reverse order.
1599         (my_rev_post_order_compute): New function.
1600         (init_pre): Call it.
1601
1602 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
1603
1604         PR middle-end/43209
1605         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
1606         decrease the cost of an IV candidate when the cost is infinite.
1607
1608 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1609
1610         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
1611         Use '3DNow!' for the extension of that name, ensure normal space
1612         after the string.
1613         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
1614
1615 2010-03-03  Jeff Law  <law@redhat.com>
1616
1617         * PR middle-end/32693
1618         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
1619         than gen_rtx_SUBREG.
1620         (extract_bit_field_1): Likewise.
1621
1622 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
1623
1624         * doc/sourcebuild.texi (Test directives): Document that arguments
1625         include-opts and exclude-opts are now optional for dg-skip-if,
1626         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
1627
1628 2010-03-03  Jason Merrill  <jason@redhat.com>
1629
1630         PR c++/12909
1631         * cgraph.h (varpool_node): Add extra_name field.
1632         * varpool.c (varpool_extra_name_alias): New.
1633         (varpool_assemble_decl): Emit extra name aliases.
1634         (varpool_mark_needed_node): Look past an extra name alias.
1635         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
1636         * lto-streamer-in.c (lto_input_tree): Read it.
1637         * lto-streamer-out.c (output_unreferenced_globals): Write it.
1638
1639 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
1640
1641         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
1642         (sparc*-*-solaris2*): ...this.
1643
1644 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
1645
1646         PR debug/43229
1647         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
1648         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
1649         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
1650         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
1651
1652         PR debug/43237
1653         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
1654         fallthrough to default handling, just with want_address 0 instead of 2.
1655         For single element lists, add_AT_loc directly, otherwise create an
1656         artificial variable DIE and stick location list to it.
1657
1658         PR debug/43177
1659         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
1660         (VAL_EXPR_HAS_REVERSE): Define.
1661         (reverse_op): New function.
1662         (add_stores): For reversible operations add an extra MO_VAL_USE.
1663
1664 2010-03-02  Jason Merrill  <jason@redhat.com>
1665
1666         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
1667
1668 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1669
1670         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
1671         (sparc64-*-linux*): Likewise.
1672         (sparc64-*-solaris2*): Include assembler files before linker ones.
1673         (sparc-*-solaris2*): Simplify and reorder to match previous case.
1674         * config/sparc/gas.h: Delete.
1675         * config/sparc/sol2-64.h: Add copyright notice.
1676         * config/sparc/sol2-gas-bi.h: Likewise.
1677         * config/sparc/sol2-gld.h: Likewise.
1678         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
1679         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
1680         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
1681         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
1682         (sparc_elf_asm_named_section): Rename into...
1683         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
1684
1685 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
1686
1687         * config/alpha/alpha.c (override_options): Fix -mtune error message.
1688
1689 2010-03-02  Jeff Law  <law@redhat.com>
1690
1691         PR middle-end/42431
1692         * reload1.c (rtx_p, substitute_stack): Declare.
1693         (substitute): Record addresses of changed rtxs.
1694         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
1695         Restore the original rtx when complete.
1696         (reload): Free subsitute_stack when complete.
1697
1698 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
1699
1700         * doc/gccint.texi (menu): Add Testsuites as a chapter.
1701         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
1702         new chapter.
1703         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
1704         LTO Testing, gcov Testing, profopt Testing, compat Testing,
1705         Torture Tests): Change from subsection to section.
1706
1707 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
1708             Steven Bosscher  <steven@gcc.gnu.org>
1709
1710         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
1711         instead of bb.
1712
1713 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
1714
1715         PR middle-end/42640
1716         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
1717         the assignment from the new induction variable to the assignment
1718         of the value from the original loop PHI function.
1719
1720 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
1721             Daniel Jacobowitz  <dan@codesourcery.com>
1722
1723         * doc/sourcebuild.texi (Test directives): Clarify options to
1724         dg-skip-if.
1725
1726 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1727
1728         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
1729         Disable cfi directives unless GCC and gas agree on using read-only
1730         .eh_frame sections for 64-bit.
1731         * configure: Regenerate.
1732
1733 2010-03-01  Richard Guenther  <rguenther@suse.de>
1734
1735         PR tree-optimization/43220
1736         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
1737         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
1738
1739 2010-03-01  Richard Guenther  <rguenther@suse.de>
1740             Martin Jambor  <mjambor@suse.cz>
1741
1742         PR middle-end/41250
1743         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
1744         gimplified parameters.
1745
1746 2010-03-01  Christian Bruel  <christian.bruel@st.com>
1747
1748         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
1749
1750 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
1751
1752         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
1753
1754 2010-03-01  Richard Guenther  <rguenther@suse.de>
1755
1756         PR middle-end/43213
1757         * expr.c (expand_assignment): Use the alias-oracle to tell
1758         if the rhs aliases the result decl.
1759
1760 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1761
1762         PR pch/14940
1763         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
1764         to sol_gt_pch_get_address.
1765         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
1766         64-bit, SPARC and x86.
1767         (sol_gt_pch_get_address): New function.
1768
1769 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
1770
1771         * toplev.h (inform_n, error_n): Declare.
1772         * diagnostic.c (inform_n, error_n): New function.
1773
1774 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
1775
1776         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
1777         has no rtl yet when processing local_decls, queue it and recheck
1778         if deferred stack allocation hasn't assigned it rtl.
1779
1780 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
1781
1782         * config/sh/sh.c (unspec_bbr_uid): New.
1783         (gen_block_redirect): Use it instead of INSN_UID.
1784         (gen_far_branch): Likewise.
1785
1786 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
1787
1788         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
1789         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
1790
1791 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1792
1793         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
1794         (Warning Options): -Wno-conversion-null is valid for
1795         Objective-C++ as well.
1796         * doc/tm.texi (Named Address Spaces): Likewise.
1797         * doc/plugins.texi (Plugins): Replace TABs with spaces.
1798         * doc/tree-ssa.texi (Tree SSA): Likewise.
1799
1800 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1801
1802         PR bootstrap/43202
1803         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
1804         by default.  Don't set the default arch for
1805         i[34567]86-*-darwin*|x86_64-*-darwin*.
1806
1807 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1808
1809         PR bootstrap/43202
1810         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
1811         default.  Set the default 32bit/64bit archs with $with_arch
1812         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
1813
1814 2010-02-27  Richard Guenther  <rguenther@suse.de>
1815
1816         PR tree-optimization/43186
1817         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
1818         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
1819         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
1820         unroller iterations.
1821
1822 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1823
1824         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
1825         required and i[34567]86-*-* targets don't support 64bit ISA.
1826
1827 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
1828
1829         PR ada/43096
1830         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
1831         the same alias set.
1832
1833 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1834
1835         * config.gcc: Set the default arch at least to Prescott for
1836         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
1837         if SSE math is enabled.
1838
1839 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1840
1841         * diagnostic.c (diagnostic_initialize): Update.
1842         (diagnostic_report_diagnostic): Test inhibit_notes_p for
1843         informative notes.
1844         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
1845         (diagnostic_inhibit_notes): New.
1846         * toplev.c (process_options): inhibit notes with -fcompare-debug.
1847
1848 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1849
1850         PR c/20631
1851         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
1852         * doc/standards.texi: Likewise.
1853         * doc/extend.texi: Likewise.
1854         * doc/trouble.texi: Likewise.
1855         * doc/cppopts.texi: Likewise.
1856         * doc/install.texi: Likewise.
1857         * c.opt (std=c90,std=gnu90): New options.
1858         * c-opts.c (c_common_handle_option): Handle them.
1859
1860 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1861
1862         PR c/24577
1863         * c-decl.c (undeclared_variable): Use an informative note.
1864
1865 2010-02-26  Richard Guenther  <rguenther@suse.de>
1866
1867         PR tree-optimization/43186
1868         * gimple.h (gimple_fold): Remove.
1869         * gimple.c (gimple_fold): Remove.  Inline into single user ...
1870         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
1871         Try harder for conditions.
1872
1873 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
1874
1875         PR debug/43190
1876         * function.c (used_types_insert): Don't skip through named pointer
1877         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
1878         and it is different from the main variant's type.
1879
1880 2010-02-26  Nick Clifton  <nickc@redhat.com>
1881
1882         * config/rx/rx.md (sminsi3): Remove bogus alternative.
1883
1884 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1885
1886         * config.gcc: Support --with-fpmath=sse for x86.
1887
1888         * config/i386/ssemath.h: New.
1889
1890         * doc/install.texi (--with-fpmath=sse): Documented.
1891
1892 2010-02-26  Richard Guenther  <rguenther@suse.de>
1893
1894         PR tree-optimization/43188
1895         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
1896         vector types of over-aligned element type.
1897
1898 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
1899
1900         PR target/43175
1901         * config/i386/i386.c (expand_vec_perm_blend): Use correct
1902         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
1903
1904 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
1905
1906         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
1907
1908 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
1909
1910         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
1911         * var-tracking.c: Include diagnostic.h.
1912         (debug_dv): New function.
1913         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
1914
1915         PR debug/43160
1916         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
1917         (add_value_chain, add_value_chains, remove_value_chain,
1918         remove_value_chains): Handle DEBUG_EXPRs.
1919         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
1920
1921         PR debug/43161
1922         * regcprop.c (struct queued_debug_insn_change): New type.
1923         (struct value_data_entry): Add debug_insn_changes field.
1924         (struct value_data): Add n_debug_insn_changes field.
1925         (debug_insn_changes_pool): New variable.
1926         (free_debug_insn_changes, apply_debug_insn_changes,
1927         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
1928         (kill_value_one_regno): Call free_debug_insn_changes if needed.
1929         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
1930         fields.
1931         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
1932         changes for them.
1933         (copyprop_hardreg_forward_1): Don't call apply_change_group for
1934         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
1935         changes, call cprop_find_used_regs via note_stores.
1936         (copyprop_hardreg_forward): When copying vd from predecessor
1937         which has any queued DEBUG_INSN changes, make sure the pointers are
1938         cleared.  At the end call df_analyze and then if there are any
1939         DEBUG_INSN changes queued at the end of some basic block for still
1940         live registers, apply them.
1941         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
1942
1943 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
1944
1945         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
1946         (arm*-*-*): Ditto.
1947
1948 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
1949
1950         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
1951         targets.  Set the default with_cpu/with_arch from arch/cpu.
1952         Allow x86-64 and native for with_cpu/with_arch.
1953
1954 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
1955
1956         * ebitmap.c: Change calls to verify_popcount with calls to
1957         sbitmap_verify_popcount.
1958         (ebitmap_clear_bit): Fixed map->cacheindex test and
1959         map>cache update when bit clearing results in an empty
1960         element.
1961
1962 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
1963
1964         PR target/43154
1965         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
1966         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
1967         and support both V2DF and V2DI modes.
1968         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
1969         support both V2DF and V2DI modes.
1970         (general): Delete trailing whitespace from a few patterns.
1971
1972         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1973         V2DF/V2DI interleave high/low builtins.
1974
1975         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
1976         new VSX builtins.
1977
1978         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
1979         interleave high/low functions.
1980
1981 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
1982
1983         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
1984         #pragma extern_prefix.
1985
1986 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
1987
1988         PR debug/43166
1989         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
1990         BLKmode, assert op0 is a MEM and just adjust its mode.
1991
1992         PR debug/43165
1993         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
1994         if bitpos isn't multiple of mode's bitsize.
1995
1996 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1997
1998         * c.opt (-ftemplate-depth=): New.
1999         (-ftemplate-depth-): Deprecate.
2000         * optc-gen.awk: Handle -ftemplate-depth=.
2001         * opth-gen.awk: Likewise.
2002         * c-opts.c (c_common_handle_option): Likewise.
2003         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
2004
2005 2010-02-24  Jason Merrill  <jason@redhat.com>
2006
2007         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
2008
2009 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2010
2011         * cfg.c (alloc_aux_for_block): Remove inline.
2012         (alloc_aux_for_edge): Likewise.
2013
2014 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2015
2016         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
2017
2018 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2019
2020         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
2021         * config/i386/sol2-gas.h: New file.
2022         * config.gcc (i[34567]86-*-solaris2*): Use it.
2023
2024 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2025
2026         PR c/43128
2027         * c-typeck.c (ep_convert_and_check): New.
2028         (build_conditional_expr): Use it.
2029         (build_binary_op): Likewise.
2030
2031 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
2032
2033         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
2034
2035         PR debug/43150
2036         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
2037         bounds even for -O+.
2038         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
2039         expr needs to have DECL_NAME set.
2040
2041 2010-02-24  Nick Clifton  <nickc@redhat.com>
2042
2043         * config/mep/mep.c: Include gimple.h.
2044         (mep_function_uses_sp): Delete unused function.
2045         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
2046         parameters.  Use unsigned integers to count args.  Return a
2047         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
2048
2049 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2050
2051         PR target/43107
2052         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
2053         greater or equal to nelt instead of 2 * nelt.
2054         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
2055         with nelt - 1.
2056
2057 2010-02-23  Jason Merrill  <jason@redhat.com>
2058
2059         PR debug/42800
2060         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
2061         in cfun->local_decls even if they have register types.
2062
2063         PR c++/42837
2064         * stor-layout.c (place_field): Don't warn about unnecessary
2065         DECL_PACKED if the type is packed.
2066
2067 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
2068
2069         PR target/43139
2070         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
2071         GOTOFF relocs, even when the base reg isn't pic pointer.
2072
2073 2010-02-23  Michael Matz  <matz@suse.de>
2074
2075         PR debug/43077
2076         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
2077         (expand_gimple_basic_block): Generate and use debug temps if there
2078         are debug uses left after the last real use of TERed ssa names.
2079         Unlink debug immediate uses when they are expanded.
2080
2081 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2082
2083         PR 43123
2084         * config/i386/i386.c (override_options): Reorganise to provide
2085         better error messages.
2086
2087 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2088
2089         PR middle-end/43083
2090         * graphite-scop-detection.c (create_single_exit_edge): Move
2091         the call to find_single_exit_edge to....
2092         (create_sese_edges): ...here.  Don't handle multiple edges
2093         exiting the function.
2094         (build_graphite_scops): Don't handle multiple edges
2095         exiting the function.
2096
2097 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2098
2099         PR middle-end/43097
2100         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
2101         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
2102
2103 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2104
2105         PR middle-end/43026
2106         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
2107
2108 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2109
2110         PR c++/43126
2111         * c-typeck.c (convert_arguments): Print declaration location.
2112         * c-common.c (validate_nargs): Rename as
2113         builtin_function_validate_nargs.
2114         (check_builtin_function_arguments): Update.
2115
2116 2010-02-22  Richard Guenther  <rguenther@suse.de>
2117
2118         PR lto/43045
2119         * tree-inline.c (declare_return_variable): Use the type of
2120         the call stmt lhs if available.
2121
2122 2010-02-22  Duncan Sands  <baldrick@free.fr>
2123
2124         * passes.c (register_pass): Always consider all pass lists when
2125         ref_pass_instance_number is zero.
2126
2127 2010-02-22  Richard Guenther  <rguenther@suse.de>
2128
2129         PR tree-optimization/42749
2130         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
2131         parameter.  Do arithmetic in the original type.
2132         (update_accumulator_with_ops): Likewise.
2133         (adjust_accumulator_values): Adjust.
2134
2135 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2136
2137         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
2138         (QI to BLKmode splitter): New splitter.
2139
2140 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2141
2142         * config/i386/i386.c (initial_ix86_tune_features): Turn on
2143         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
2144
2145 2010-02-22  Richard Guenther  <rguenther@suse.de>
2146
2147         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
2148
2149 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
2150
2151         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
2152         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
2153         ($(T)crti.o, $(T)crtn.o): Remove rules.
2154
2155 2010-02-21  Tobias Burnus  <burnus@net-b.de>
2156
2157         PR fortran/35259
2158         * doc/invoke.texi (-fassociative-math): Document that this
2159         option is automatically enabled for Fortran.
2160
2161 2010-02-20  David S. Miller  <davem@davemloft.net>
2162
2163         * configure.ac: Test if linker and assembler properly support
2164         GOTDATA_OP relocations.
2165         * configure: Rebuild.
2166         * config.in: Likewise.
2167         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
2168         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
2169         (movsi_high_pic): Likewise.
2170         (movdi_lo_sum_pic): Likewise.
2171         (movdi_high_pic): Likewise.
2172         (movsi_pic_gotdata_op): New pattern.
2173         (movdi_pic_gotdata_op): Likewise.
2174         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
2175         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
2176
2177 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
2178
2179         PR target/43067
2180         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
2181         attribute to ssemul.
2182         (xop_mulv2div2di3_high): Ditto.
2183
2184 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2185
2186         PR c++/35669
2187         * c.opt (Wconversion-null): New option.
2188         * doc/invoke.texi (Wconversion-null): Document.
2189
2190 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2191
2192         * common.opt (Wlarger-than-): Add Undocumented.
2193
2194 2010-02-19  Mike Stump  <mikestump@comcast.net>
2195
2196         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
2197
2198 2010-02-19  Jason Merrill  <jason@redhat.com>
2199
2200         PR target/40332
2201         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
2202         * configure: Likewise.
2203
2204 2010-02-20  Alan Modra  <amodra@gmail.com>
2205
2206         PR middle-end/42344
2207         * cgraph.h (cgraph_make_decl_local): Declare.
2208         * cgraph.c (cgraph_make_decl_local): New function.
2209         (cgraph_make_node_local): Use it.
2210         * cgraphunit.c (cgraph_function_versioning): Likewise.
2211         * ipa.c (function_and_variable_visibility): Likewise.
2212
2213 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2214
2215         PR bootstrap/43121
2216         * except.c (sjlj_emit_function_enter): Don't call
2217         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
2218         directly.
2219         * rtl.h (add_reg_br_prob_note): Remove prototype.
2220
2221 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2222
2223         PR 41779
2224         * c-common.c (conversion_warning): Remove widening conversions
2225         before checking the conversion of integers to reals.
2226
2227 2010-02-19  Mike Stump  <mikestump@comcast.net>
2228
2229         PR middle-end/43125
2230         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
2231
2232         PR objc/43061
2233         * cgraphunit.c (process_function_and_variable_attributes): Check
2234         DECL_PRESERVE_P instead of looking up attribute "used".
2235         * ipa-pure-const.c (check_decl): Likewise.
2236         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
2237         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
2238         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
2239         instead of attribute "used".
2240         * config/sol2-c.c (solaris_pragma_init): Likewise.
2241         (solaris_pragma_fini): Likewise.
2242
2243 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2244
2245         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
2246         Use XCNEW instead of xcalloc.
2247         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
2248         XNEW instead of xmalloc.
2249         (get_fields): Use XNEWVEC instead of xmalloc.
2250
2251         PR debug/43084
2252         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
2253         populate vars array.
2254         (create_new_general_access): For debug stmts just reset value.
2255         (get_stmt_accesses): For accesses within debug stmts just record them
2256         using add_access_to_acc_sites instead of preventing the peeling or
2257         counting them as accesses.
2258
2259         PR middle-end/42233
2260         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
2261
2262 2010-02-19  Richard Guenther  <rguenther@suse.de>
2263
2264         PR tree-optimization/42916
2265         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
2266         instructions.
2267
2268 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
2269
2270         * configure.ac: Replace all uses of changequote in macro arguments
2271         with proper quoting.
2272
2273 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2274
2275         PR middle-end/42233
2276         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
2277
2278 2010-02-19  Richard Guenther  <rguenther@suse.de>
2279
2280         PR tree-optimization/42944
2281         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
2282         test for aliasing with errno.
2283
2284 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
2285
2286         PR middle-end/42233
2287         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
2288         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
2289         * dojump.c: Include output.h.
2290         (inv): New inline function.
2291         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
2292         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
2293         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
2294         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
2295         argument, pass it down to other calls.
2296         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
2297         add REG_BR_PROB note to the conditional jump.
2298         * cfgexpand.c (add_reg_br_prob_note): Removed.
2299         (expand_gimple_cond): Don't call it, add the probability
2300         as last argument to jumpif_1/jumpifnot_1.
2301         * Makefile.in (dojump.o): Depend on output.h.
2302         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
2303         callers.
2304         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
2305         * stmt.c (do_jump_if_equal): Likewise.
2306         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
2307         * loop-unswitch.c (compare_and_jump_seq): Likewise.
2308         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
2309         Likewise.
2310         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
2311         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
2312         jumpifnot_1 callers.
2313         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
2314         callers.
2315         (store_expr): Adjust jumpifnot caller.
2316         (store_constructor): Adjust jumpif caller.
2317
2318         PR middle-end/42233
2319         * gimplify.c (gimple_boolify): For __builtin_expect call
2320         gimple_boolify also on its first argument.
2321
2322 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
2323
2324         * configure.ac (gnu-unique-object): Wrap regexps using [] in
2325         changequote block.
2326         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
2327         * configure: Regenerated.
2328
2329 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2330
2331         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
2332         lang_hooks.types_compatible_p instead of comptypes.
2333
2334 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
2335
2336         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
2337         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
2338         if __prefer_thumb__ is defined.
2339
2340 2010-02-18  Martin Jambor  <mjambor@suse.cz>
2341
2342         PR tree-optimization/43066
2343         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
2344         array with zero-sized element type.
2345
2346 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
2347
2348         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
2349         rtx, allocate struct var_loc_node here and return it to the
2350         caller, and only if it is actually needed.
2351         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
2352         move it earlier and return immediately if it returns NULL.
2353
2354 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
2355
2356         * config/sparc/gas.h: New file.  Restore
2357         TARGET_ASM_NAMED_SECTION to its ELF default.
2358         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
2359         check !HAVE_GNU_AS.
2360         * config/sparc/sparc.c (sparc_elf_asm_named_section):
2361         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
2362         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
2363         after sparc/sysv4.h.
2364
2365 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2366
2367         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
2368
2369 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
2370
2371         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
2372         patterns from predicated pattern.
2373
2374 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
2375
2376         PR target/43103
2377         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
2378         for insn mnemonic suffix.
2379
2380 2010-02-17  Richard Guenther  <rguenther@suse.de>
2381
2382         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
2383         to loop PHI nodes.
2384
2385 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
2386
2387         PR debug/42918
2388         * caller-save.c (save_call_clobbered_regs): If BB ends with
2389         a DEBUG_INSN, move any notes in between last real insn and the last
2390         DEBUG_INSN after the last DEBUG_INSN.
2391
2392 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
2393
2394         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
2395         Fix return type.  Fix argument type.  Explain meaning of return value.
2396
2397 2010-02-16  Richard Guenther  <rguenther@suse.de>
2398
2399         PR tree-optimization/41043
2400         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
2401         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
2402         statements ...
2403         (vrp_visit_phi_node): ... but only for loop PHI nodes.
2404
2405 2010-02-16  Ira Rosen <irar@il.ibm.com>
2406
2407         PR tree-optimization/43074
2408         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
2409         * tree-vect-loop.c (vect_analyze_loop_operations): Add
2410         vectorizable cycles in hybrid SLP check.
2411         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
2412
2413 2010-02-16  Richard Guenther  <rguenther@suse.de>
2414
2415         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
2416         (true_dependence): If memrefs_conflict_p computes must-alias
2417         trust it.  Move TBAA check after offset-based disambiguation.
2418         (canon_true_dependence): Likewise.
2419
2420 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
2421
2422         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
2423         * doc/invoke.texi: Document it.
2424         * var-tracking.c: Include toplev.h and params.h.
2425         (vt_find_locations): Return bool indicating success.  Compute
2426         hash sizes unconditionally.  Check new parameter, report.
2427         (variable_tracking_main_1): Check vt_find_locations results and
2428         retry.  Renamed from...
2429         (variable_tracking_main): ... this.  New wrapper to preserve
2430         flag_var_tracking_assignments.
2431         * Makefile.in (var-tracking.o): Adjust dependencies.
2432
2433 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
2434             Jakub Jelinek <jakub@redhat.com>
2435
2436         PR target/42854
2437         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
2438         if weak_import attribute is present.
2439         * config/darwin.c (machopic_select_section): Likewise.
2440
2441 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
2442
2443         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
2444         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
2445         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
2446         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
2447
2448         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
2449
2450         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2451         Fix argument types.
2452
2453         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
2454         Rewrite text to refer to the names.
2455
2456 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
2457
2458         * config/i386/i386-builtin-types.def
2459         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
2460         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
2461         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
2462         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
2463         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
2464         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
2465         IX86_BUILTIN_VPERMIL2PS256.
2466         (MULTI_ARG_4_DF2_DI_I): Defined.
2467         (MULTI_ARG_4_DF2_DI_I1): Defined.
2468         (MULTI_ARG_4_SF2_SI_I): Defined.
2469         (MULTI_ARG_4_SF2_SI_I1): Defined.
2470         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
2471         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
2472         __builtin_ia32_vpermil2ps256.
2473         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2474         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2475         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
2476         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2477         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2478         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
2479         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
2480         CODE_FOR_xop_vpermil2v8sf3.
2481         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
2482         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
2483         * config/i386/xopintrin.h (_mm_permute2_pd): New.
2484         (_mm256_permute2_pd): New.
2485         (_mm_permute2_ps): New.
2486         (_mm256_permute2_ps): New.
2487
2488 2010-02-15  Nick Clifton  <nickc@redhat.com>
2489
2490         * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
2491         boolean parameters.  Use emit_jump_insn when emitting a pop
2492         instruction containing a return insn.
2493         (push): Use 'true' rather than '1' as second parameter to F.
2494         (h8300_expand_prologue): Likewise.
2495         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
2496         (h8300_expand_epilogue): Likewise.
2497
2498 2010-02-15  Richard Guenther  <rguenther@suse.de>
2499
2500         PR middle-end/43068
2501         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
2502         if that is zero.
2503
2504 2010-02-15  Nick Clifton  <nickc@redhat.com>
2505
2506         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
2507         delta.
2508
2509 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
2510
2511         * intl.c (fake_ngettext): New function.
2512         * intl.h (fake_ngettext): Declare.
2513         (ngettext): Define macro.
2514         * collect2.c (notice_translated): New function.
2515         (main): Use notice_translated and ngettext.
2516         * collect2.h (notice_translated): Declare.
2517
2518 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
2519
2520         * reorg.c (delete_computation): Comment fixes.
2521         * caller-save.c (setup_save_areas): Idem.
2522         * sel-sched-dump.c (dump_lv_set): Idem.
2523         * rtl.def: Idem.
2524
2525 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2526
2527         * config/s390/s390.c (s390_sched_init): New function.
2528         (TARGET_SCHED_INIT): Target hook defined.
2529
2530 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
2531             Jack Howarth  <howarth@bromo.med.uc.edu>
2532             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2533
2534         PR target/42982
2535         Partial revert of unintended change in fix for PR41605.
2536         * config/darwin.h: Fix typo.
2537         * config/darwin9.h: Same.
2538
2539 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2540
2541         * c-pch.c (pch_init): Clear v.
2542
2543 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2544
2545         PR middle-end/42930
2546         * graphite-scop-detection.c (graphite_can_represent_scev): Call
2547         graphite_can_represent_init for MULT_EXPR.
2548
2549 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2550
2551         PR middle-end/42914
2552         PR middle-end/42530
2553         * graphite-sese-to-poly.c (remove_phi): New.
2554         (translate_scalar_reduction_to_array): Call remove_phi.
2555
2556 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2557
2558         PR middle-end/42771
2559         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
2560         * graphite-clast-to-gimple.h (gloog): Update declaration.
2561         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
2562         * graphite-poly.h (struct poly_bb): Add missing comments.
2563         (struct scop): Add poly_scop_p field.
2564         (POLY_SCOP_P): New.
2565         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
2566         * graphite.c (graphite_transform_loops): Build the polyhedral
2567         representation for each scop before code generation.
2568         * sese.c (rename_variables_in_operand): Removed.
2569         (rename_variables_in_expr): Return the renamed expression.
2570         (rename_sese_parameters): New.
2571         * sese.h (rename_sese_parameters): Declared.
2572
2573 2010-02-11  Richard Guenther  <rguenther@suse.de>
2574
2575         PR tree-optimization/42998
2576         * tree-ssa-pre.c (create_expression_by_pieces): Treat
2577         POINTER_PLUS_EXPR properly.
2578
2579 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2580             Changpeng Fang  <changpeng.fang@amd.com>
2581
2582         PR middle-end/40886
2583         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
2584         the cost of an IV candidate when the IV is used in a test against zero.
2585
2586         * gcc.dg/tree-ssa/ivopts-3.c: New.
2587
2588 2010-02-11  Richard Guenther  <rguenther@suse.de>
2589
2590         PR lto/41664
2591         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
2592         pointer-vs-decl case by swapping refs.  Handle some cases
2593         of pointer-vs-decl disambiguations more conservatively.
2594         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
2595         to false after expanding.
2596
2597 2010-02-11  Richard Guenther  <rguenther@suse.de>
2598
2599         PR driver/43021
2600         * gcc.c (process_command): Handle LTO file@offset case more
2601         appropriately.
2602
2603 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2604
2605         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
2606         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
2607         of DEBUG_INSNs.
2608         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
2609
2610         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
2611         if MEM's mode size isn't DWARF2_ADDR_SIZE.
2612         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
2613         Optimize eq/ne comparisons when both arguments are known to be
2614         zero-extended.
2615         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
2616         Don't mask operands unnecessarily if they are known to be already
2617         zero-extended.
2618
2619 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
2620
2621         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
2622         instead of loop.
2623
2624 2010-02-10  Richard Guenther  <rguenther@suse.de>
2625
2626         PR tree-optimization/43017
2627         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
2628         for wrapping signed arithmetic.
2629
2630 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2631
2632         PR debug/43010
2633         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
2634         if no debug info should be emitted for it.
2635
2636 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
2637
2638         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
2639         note when flag_exceptions is set.
2640
2641 2010-02-10  Duncan Sands  <baldrick@free.fr>
2642
2643         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
2644
2645 2010-02-10  Richard Guenther  <rguenther@suse.de>
2646
2647         PR c/43007
2648         * tree.c (get_unwidened): Handle constants.
2649         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
2650
2651 2010-02-10  Martin Jambor  <mjambor@suse.cz>
2652
2653         PR lto/42985
2654         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
2655         check for variable argument counts independently.
2656
2657 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2658
2659         PR target/42841
2660         * config/sh/sh.c (find_barrier): Increase length for non delayed
2661         conditional branches.
2662
2663 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2664
2665         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
2666
2667 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2668
2669         * builtins.c (set_builtin_user_assembler_name): Also handle
2670         ffs if int is smaller than word.
2671
2672 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
2673
2674         PR middle-end/42973
2675         * ira-conflicts.c (get_dup): Remove.
2676         (process_reg_shuffles): Add new parameter.  Use it as an
2677         additional guard for copy generation.
2678         (add_insn_allocno_copies): Rewrite.
2679
2680 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
2681
2682         * common.opt (fsched2-use-traces): Preserved for backward
2683         compatibility.
2684         * doc/invoke.texi: Remove the documentation about option
2685         -fsched2-use-traces.
2686         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
2687         flag_sched2_use_traces.
2688         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
2689         the backward compatibility flag section.
2690
2691 2010-02-09  Richard Guenther  <rguenther@suse.de>
2692
2693         PR tree-optimization/43008
2694         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
2695         make HEAP variables initialized from global memory if they
2696         are not known builtin functions.
2697         (find_func_aliases): Adjust.
2698
2699 2010-02-09  Richard Guenther  <rguenther@suse.de>
2700
2701         PR tree-optimization/43000
2702         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
2703         arithmetic manually.
2704
2705 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
2706
2707         PR tree-optimization/42931
2708         * tree-loop-linear.c (try_interchange_loops): Don't call
2709         double_int_mul if estimated_loop_iterations failed.
2710
2711 2010-02-08  Martin Jambor  <mjambor@suse.cz>
2712
2713         PR middle-end/42898
2714         * tree-sra.c (build_accesses_from_assign): Do not mark in
2715         should_scalarize_away_bitmap if stmt has volatile ops.
2716         (sra_modify_assign): Do not process assigns piecemeal if if stmt
2717         has volatile ops.
2718
2719 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
2720
2721         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
2722
2723 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
2724
2725         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
2726         before the pattern.
2727
2728 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
2729
2730         PR middle-end/42946
2731         * df-core.c (df_finish_pass): Change type of saved_flags to int.
2732
2733 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2734
2735         PR middle-end/42988
2736         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
2737         to unknown_dependence.
2738         (graphite_legal_transform_dr): Handle the unknown_dependence.
2739         (graphite_carried_dependence_level_k): Same.
2740
2741 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2742
2743         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
2744
2745 2010-02-07  Richard Guenther  <rguenther@suse.de>
2746
2747         PR middle-end/42991
2748         * expr.c (get_inner_reference): Always initialize *pbitsize.
2749
2750 2010-02-07  Richard Guenther  <rguenther@suse.de>
2751
2752         PR middle-end/42956
2753         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
2754         new ARRAY_REFs on variable size element or minimal index arrays.
2755         Complete.
2756         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
2757         gimple_fold_indirect_ref.
2758
2759 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
2760
2761         PR target/42957
2762         * arm.c (arm_override_options): Just return if the user has specified
2763         an invalid fpu name.
2764
2765 2010-02-03  Jason Merrill  <jason@redhat.com>
2766
2767         PR c++/42870
2768         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
2769         i386_pe_maybe_record_exported_symbol.
2770
2771 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
2772
2773         PR target/42924
2774         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2775         (pa_delegitimize_address): New function.
2776
2777 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
2778
2779         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
2780         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
2781
2782 2010-02-05  Richard Guenther  <rguenther@suse.de>
2783
2784         PR lto/42762
2785         * lto-streamer-in.c (get_resolution): Deal with references
2786         to undefined functions.
2787
2788 2010-02-05  Richard Guenther  <rguenther@suse.de>
2789
2790         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
2791         (fold_const_aggregate_ref): Likewise.
2792         (ccp_fold_stmt): Substitute loads.
2793         (maybe_fold_reference): Verify types before substituting.
2794         Unshare properly.
2795         (fold_gimple_assign): Unshare properly.
2796         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
2797
2798 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
2799
2800         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
2801         for rs6000_gen_cell_microcode.
2802
2803 2010-02-04  Richard Guenther  <rguenther@suse.de>
2804
2805         PR rtl-optimization/42952
2806         * dse.c (const_or_frame_p): Remove MEM handling.
2807
2808 2010-02-04  Nick Clifton  <nickc@redhat.com>
2809
2810         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
2811         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
2812         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
2813         (mn10300_asm_output_mi_thunk): New function.
2814         (mn10300_can_output_mu_thunk): New function.
2815         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
2816         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
2817         (FUNCTION_ARG): Delete incorrect comment.
2818
2819 2010-02-03  Jason Merrill  <jason@redhat.com>
2820
2821         PR c++/40138
2822         * fold-const.c (operand_equal_p): Handle erroneous types.
2823
2824 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
2825
2826         * config/h8300/h8300.md (can_delay): Fix attibute condition.
2827
2828 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
2829
2830         PR rtl-optimization/42941
2831         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
2832         of xmalloc.
2833
2834 2010-02-03  Jason Merrill  <jason@redhat.com>
2835
2836         PR c++/35652
2837         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
2838
2839 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
2840
2841         PR debug/42896
2842         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
2843         (cselib_reset_table): Renamed from...
2844         (cselib_reset_table_with_next_value): ... this.
2845         (cselib_get_next_uid): Renamed from...
2846         (cselib_get_next_unknown_value): ... this.
2847         * cselib.c (next_uid): Renamed from...
2848         (next_unknown_value): ... this.
2849         (cselib_clear_table): Adjust.
2850         (cselib_reset_table): Adjust.  Renamed from...
2851         (cselib_reset_table_with_next_value): ... this.
2852         (cselib_get_next_uid): Adjust.  Renamed from...
2853         (cselib_get_next_unknown_value): ... this.
2854         (get_value_hash): Use hash.
2855         (cselib_hash_rtx): Likewise.
2856         (new_cselib_val): Adjust.  Set and dump uid.
2857         (cselib_lookup_mem): Pass next_uid as hash.
2858         (cselib_subst_to_values): Likewise.
2859         (cselib_log_lookup): Dump uid.
2860         (cselib_lookup): Pass next_uid as hash.  Adjust.
2861         (cselib_process_insn): Adjust.
2862         (cselib_init): Initialize next_uid.
2863         (cselib_finish): Adjust.
2864         (dump_cselib_table): Likewise.
2865         * dse.c (canon_address): Dump value uid.
2866         * print-rtl.c (print_rtx): Print value uid.
2867         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
2868         (dvuid): New type.
2869         (dv_uid): New function, sort of renamed from...
2870         (dv_htab_hash): ... this, reimplemented in terms of it and...
2871         (dv_uid2hash): ... this.  New.
2872         (variable_htab_eq): Drop excess assertions.
2873         (tie_break_pointers): Removed.
2874         (canon_value_cmp): Compare uids.
2875         (variable_post_merge_New_vals): Print uids.
2876         (vt_add_function_parameters): Adjust.
2877         (vt_initialize): Reset table.  Adjust.
2878
2879 2010-02-03  Richard Guenther  <rguenther@suse.de>
2880
2881         PR tree-optimization/42944
2882         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
2883         (call_may_clobber_ref_p_1): Likewise.  Properly handle
2884         malloc and calloc clobbering errno.
2885
2886 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
2887
2888         * doc/invoke.texi: Fix name of sched1 dump.
2889
2890         * opts.c (decode_options): Set flag_tree_switch_conversion
2891         only conditionally on optimize >= 2.
2892
2893         * gcse.c: Assorted comment fixes in pass description.
2894
2895 2010-02-03  Anthony Green  <green@moxielogic.com>
2896
2897         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
2898         nop padding in order to maintain alignment of storage location of
2899         target function address.
2900         (moxie_trampoline_init): Store target function address at newly
2901         aligned location.
2902         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
2903         to 32.
2904         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
2905
2906 2010-02-03  Richard Guenther  <rguenther@suse.de>
2907
2908         PR middle-end/42927
2909         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
2910
2911 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2912
2913         * config.gcc: Reenable check for obsolete targets.
2914         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
2915         mips-sgi-irix6.[0-4]*.
2916
2917 2010-02-02  Nick Clifton  <nickc@redhat.com>
2918
2919         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
2920         constant size of 4 as being the same as 0.
2921         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
2922         can take values in the range 0..4.
2923
2924 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
2925
2926         PR java/41991
2927         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
2928         as _darwin10_Unwind_FindEnclosingFunction().
2929         * libgcc-libsystem.ver: New.
2930
2931 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
2932
2933         PR target/41399
2934         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
2935         implicitly set registers.
2936
2937 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
2938
2939         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
2940         (arm_override_options): Allow automatic selection of the thread
2941         pointer register if thumb2.
2942         (legitimize_pic_address): Improve code sequences for Thumb2.
2943         (arm_call_tls_get_addr): Likewise.
2944         (legitimize_tls_address): Likewise.
2945         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
2946         (pic_load_addr_32bit): ... this.  New named pattern.
2947         * thumb2.md (pic_load_addr_thumb2): Delete.
2948         (pic_load_dot_plus_four): Delete.
2949         (tls_load_dot_plus_four): New named pattern.
2950
2951 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2952
2953         PR libgomp/29986
2954         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
2955         Document fix for TLS bug.
2956
2957 2010-01-31  Richard Guenther  <rguenther@suse.de>
2958
2959         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
2960         conservatively correct.
2961
2962 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2963
2964         PR target/42850
2965         Revert:
2966         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2967
2968         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2969
2970 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2971
2972         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
2973
2974 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
2975
2976         * config.gcc: Adjust order of makefile fragments for mingw targets.
2977
2978 2010-01-31  Richard Guenther  <rguenther@suse.de>
2979
2980         PR middle-end/42898
2981         * gimplify.c (gimplify_init_constructor): For volatile LHS
2982         initialize a temporary.
2983
2984 2010-01-31  Matthias Klose  <doko@ubuntu.com>
2985
2986         * configure.ac: Fix __stack_chk_fail check for cross builds configured
2987         --with-headers
2988         * configure: Regenerate.
2989
2990 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
2991
2992         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2993         the same alias set and their sizes different constantness.
2994         (aliasing_component_refs_p): Revert 2009-10-24 change.
2995
2996 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2997
2998         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
2999         unused.
3000
3001 2010-01-29  Richard Guenther  <rguenther@suse.de>
3002
3003         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
3004         Assert we successfully updated the call.
3005
3006 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
3007
3008         PR rtl-optimization/42889
3009         * df.h (df_set_bb_dirty_nonlr): New prototype.
3010         * df-core.c (df_set_bb_dirty_nonlr): New function.
3011         * df-scan.c (df_insn_rescan): Call it instead of
3012         df_set_bb_dirty for DEBUG_INSNs.
3013
3014 2010-01-29  Richard Guenther  <rguenther@suse.de>
3015
3016         PR middle-end/37448
3017         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
3018         quadratic behavior in most cases.
3019
3020 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
3021
3022         PR target/42891
3023         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
3024         in the call to gen_x86_movsicc_0_m1.
3025
3026 2010-01-28  Richard Guenther  <rguenther@suse.de>
3027
3028         PR tree-optimization/42871
3029         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3030
3031 2010-01-28  Richard Guenther  <rguenther@suse.de>
3032
3033         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
3034         into call arguments.
3035
3036 2010-01-28  Richard Guenther  <rguenther@suse.de>
3037
3038         PR middle-end/42883
3039         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
3040         the forwarder if the destination is an EH landing pad.
3041
3042 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
3043
3044         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
3045         block list passed to gimple_duplicate_sese_tail.
3046         (parallelize_loops): Avoid parallelization when the function
3047         has_nonlocal_label.
3048         Avoid parallelization when the preheader is IRREDUCIBLE.
3049         Try to optimize when estimated_loop_iterations_int is unresolved.
3050         Add the loop's location to the dump file.
3051         * tree-cfg.c (add_phi_args_after_redirect): Remove.
3052         (gimple_duplicate_sese_tail): Remove the check for the latch.
3053         Redirect nexits to the exit block.
3054         Remove handling of the incoming edges to the latch.
3055         Redirect the backedge from the copied latch to the exit bb.
3056
3057 2010-01-28  Michael Matz  <matz@suse.de>
3058
3059         PR target/42881
3060         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
3061         Wrap force_reg into a sequence, emit it before user.
3062
3063 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
3064
3065         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
3066         (arm_rev): New.
3067         (arm_legacy_rev): Likewise.
3068         (thumb_legacy_rev): Likewise.
3069
3070 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3071
3072         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
3073         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
3074         on MEM's address failed, try avoid_constant_pool_reference and
3075         recurse if it returned something different.
3076         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
3077         address, try avoid_constant_pool_reference and recurse if it
3078         returned something different.
3079         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
3080         address and avoid_constant_pool_reference returned something
3081         different, don't set have_address.
3082
3083 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
3084
3085         PR debug/42861
3086         * var-tracking.c (val_store): Add modified argument, obey it.
3087         Adjust callers.
3088         (count_uses): Move down logging of main.
3089         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
3090         don't need resolution.
3091         (emit_notes_in_bb): Likewise.
3092
3093 2010-01-27  Richard Guenther  <rguenther@suse.de>
3094
3095         PR middle-end/42878
3096         * tree-inline.c (remap_decl): Delay remapping of SSA name
3097         default definitions until we need them.
3098
3099 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
3100
3101         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
3102         (rs6000_delegitimize_address): New function.
3103
3104         * config/s390/s390.c (s390_delegitimize_address): Call
3105         delegitimize_mem_from_attrs.
3106
3107         PR middle-end/42874
3108         * tree-inline.c (cannot_copy_type_1): Removed.
3109         (copy_forbidden): Don't forbid copying of functions containing
3110         records/unions with variable length fields.
3111
3112 2010-01-27  Christian Bruel  <christian.bruel@st.com>
3113
3114         Revert:
3115         PR target/42841
3116         * config/sh/sh.c (find_barrier): Increase length for non delayed
3117         conditional branches.
3118
3119 2010-01-27  Matthias Klose  <doko@ubuntu.com>
3120
3121         * configure.ac (gnu-unique-object): Fix ldd version check.
3122         * configure: Regenerate.
3123
3124 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3125
3126         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
3127         HAVE_GNU_AS value.
3128         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
3129         Test for HAVE_GNU_AS value.
3130
3131 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3132
3133         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
3134         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
3135         INT64_TYPE): Define.
3136         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
3137         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
3138         INT_LEAST64_TYPE): Define.
3139         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
3140         UINT_LEAST64_TYPE): Define.
3141         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
3142         INT_FAST64_TYPE): Define.
3143         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
3144         UINT_FAST64_TYPE): Define.
3145         (INTMAX_TYPE, UINTMAX_TYPE): Define.
3146         (INTPTR_TYPE, UINTPTR_TYPE): Define.
3147         (SIG_ATOMIC_TYPE): Define.
3148
3149 2010-01-26  Richard Guenther  <rguenther@suse.de>
3150
3151         * df-scan.c (df_scan_set_bb_info): Remove assert.
3152         (df_insn_rescan_debug_internal): Merge asserts.
3153         (df_install_ref): Likewise.
3154         (df_mark_reg): Use bitmap_set_range.
3155         (df_hard_reg_used_p): Remove assert.
3156         (df_hard_reg_used_count): Likewise.
3157
3158 2010-01-26  Richard Guenther  <rguenther@suse.de>
3159
3160         PR rtl-optimization/42685
3161         * web.c (web_main): Ignore DEBUG_INSNs.
3162
3163 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
3164
3165         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
3166
3167         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
3168         Fix types of fndecl and arglist parameters.
3169
3170 2010-01-26  Richard Guenther  <rguenther@suse.de>
3171
3172         PR middle-end/42806
3173         * tree-eh.c (unsplit_eh): Skip debug insns.
3174
3175 2010-01-26  Richard Guenther  <rguenther@suse.de>
3176
3177         PR tree-optimization/42250
3178         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
3179
3180 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
3181
3182         PR fortran/42866
3183         * omp-low.c (expand_omp_sections): Only use single_pred if
3184         l2_bb is single_pred_p.
3185
3186 2010-01-25  Christian Bruel  <christian.bruel@st.com>
3187
3188         PR target/42841
3189         * config/sh/sh.c (find_barrier): Increase length for non delayed
3190         conditional branches.
3191         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
3192
3193 2010-01-24  David S. Miller  <davem@davemloft.net>
3194
3195         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
3196         define if not using GAS.
3197         * config/sparc/sparc.c (sparc_elf_asm_named_section):
3198         Likewise.  Delete SECTION_MERGE code, which is only applicable
3199         when using GAS.
3200
3201 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
3202
3203         PR c++/42748
3204         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
3205         mangling of va_list in system headers.
3206
3207 2010-01-23  Toon Moene  <toon@moene.org>
3208
3209         * tree-predcom.c (combine_chains): Return NULL, not false.
3210
3211 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
3212
3213         * tree-loop-distribution.c (distribute_loop): Fix declaration and
3214         initialization of variable res to agree with return type.
3215
3216 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
3217
3218         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
3219         * tree-sra.c: Add include of expr.h.
3220
3221 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
3222
3223         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
3224         insert the debug stmt on the single non-EH edge from the stmt.
3225
3226 2010-01-22  Richard Henderson  <rth@redhat.com>
3227
3228         PR tree-opt/42833
3229         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
3230         the RHS until after generate_subtree_copies has insertted its
3231         code before the current statement.
3232
3233 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
3234
3235         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
3236
3237         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
3238
3239 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3240
3241         PR tree-optimization/42585
3242         * tree-sra.c (struct access): New field grp_total_scalarization.
3243         (dump_access): Dump the new field.
3244         (should_scalarize_away_bitmap): New variable.
3245         (cannot_scalarize_away_bitmap): Likewise.
3246         (sra_initialize): Allocate new bitmaps.
3247         (sra_deinitialize): Free new bitmaps.
3248         (create_access_1): New function.
3249         (create_access): Parts moved to create_access_1.
3250         (type_consists_of_records_p): New function.
3251         (completely_scalarize_record): Likewise.
3252         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
3253         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
3254         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
3255         access.
3256         (analyze_all_variable_accesses): Completely scalarize small eligible
3257         records.
3258
3259 2010-01-21  Martin Jambor  <mjambor@suse.cz>
3260
3261         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
3262
3263 2010-01-21  Andrew Haley  <aph@redhat.com>
3264
3265         * gcc.c (process_command): Move lang_specific_driver before
3266         setting cc_libexec_prefix.
3267
3268 2010-01-21  Richard Guenther  <rguenther@suse.de>
3269
3270         PR middle-end/19988
3271         * fold-const.c (negate_expr_p): Pretend only negative
3272         real constants are easily negatable.
3273
3274 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
3275             Jason Merrill  <jason@redhat.com>
3276
3277         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
3278         (TYPE_TRANSPARENT_AGGR): this, for union and record.
3279         * calls.c (initialize argument_information): Handle it.
3280         * c-common.c (handle_transparent_union_attribute): Use new name.
3281         * c-decl.c (finish_struct): Ditto.
3282         * c-typeck.c (type_lists_compatible_p): Ditto.
3283         (convert_for_assignment): Use new name and also handle record.
3284         * function.c (aggregate_value_p): Handle it.
3285         (pass_by_reference): Ditto.
3286         (assign_parm_data_types): Ditto.
3287         * print-tree.c (print_node): Ditto.
3288         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
3289         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
3290         * tree.c (first_field): New fn.
3291
3292 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
3293
3294         PR target/42818
3295         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
3296         even when linking statically, for now.
3297
3298 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
3299
3300         PR debug/42715
3301         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
3302         without a cselib val.
3303         (count_uses): Accept MO_VAL_SET with no val on stores.
3304         (add_stores): Likewise.
3305
3306 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3307
3308         * var-tracking.c (check_value_val): Add a compile time assertion.
3309         (dv_is_decl_p): Simplify.
3310         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
3311         gcc_assert if ENABLE_CHECKING.
3312
3313 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
3314
3315         PR debug/42782
3316         * var-tracking.c: Include tree-flow.h.
3317         (mem_dies_at_call): New.
3318         (dataflow_set_preserve_mem_locs): Use it.
3319         (dataflow_set_remove_mem_locs): Likewise.
3320         (dump_var): Renamed from dump_variable.  Adjust all callers.
3321         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
3322         * Makefile.in (var-tracking.o): Adjust deps.
3323
3324 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
3325
3326         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
3327
3328 2010-01-20  Richard Guenther  <rguenther@suse.de>
3329
3330         PR tree-optimization/42717
3331         * tree-ssa-dce.c (get_live_post_dom): Remove.
3332         (forward_edge_to_pdom): Take an arbitrary edge to copy
3333         degenerate PHI args from.
3334         (remove_dead_stmt): Use the first post-dominator even if it
3335         does not contain live statements as redirection destination.
3336
3337 2010-01-20  Richard Guenther  <rguenther@suse.de>
3338
3339         * tree-inline.c (estimate_num_insns): Handle EH builtins.
3340
3341 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3342
3343         * sel-sched.c (create_speculation_check): Remove set but not used
3344         variable twin.
3345         (try_transformation_cache): Remove set but not used variable ds.
3346         (calculate_privileged_insns): Remove set but not used variables
3347         cur_insn and min_spec_insn.
3348         (find_best_expr): Remove set but not used variable avail_n.
3349         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
3350         variable e.
3351         * cgraphunit.c (assemble_thunk): Remove set but not used variable
3352         false_label.
3353         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
3354         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
3355         new_scop_exit_edge.
3356
3357 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
3358
3359         PR bootstrap/42786
3360         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
3361         cpu types.  Add support for *-sse3 cpu types.
3362         (x86_64-*-*): Ditto.
3363
3364 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3365
3366         PR middle-end/42803
3367         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
3368         argument, call initializer_constant_valid_p_1 instead of
3369         initializer_constant_valid_p, pass CACHE to it, return NULL
3370         immediately if first call returns NULL.
3371         (initializer_constant_valid_p_1): New function.
3372         (initializer_constant_valid_p): Use it.
3373
3374 2010-01-20  Thomas Quinot  <quinot@adacore.com>
3375
3376         * tree.def (PLACEHOLDER_EXPR): Fix comment.
3377
3378 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3379
3380         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
3381         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
3382         (loc_list_from_tree): Don't handle unsigned division.  Handle
3383         signed modulo using DW_OP_{over,over,div,mul,minus}.
3384         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
3385         modulo instead of signed.
3386
3387 2010-01-20  DJ Delorie  <dj@redhat.com>
3388
3389         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
3390         (Fpa): Pass it
3391         (h8300_emit_stack_adjustment): Propogate it.
3392         (push): Pass it.
3393         (h8300_expand_prologue): Likewise.
3394         (h8300_expand_epilogue): Likewise.
3395
3396 2010-01-19  Michael Matz  <matz@suse.de>
3397
3398         PR tree-optimization/41783
3399         * tree-data-ref.c (toplevel): Include flags.h.
3400         (dump_data_dependence_relation):  Also dump the inputs if the
3401         result will be unknown.
3402         (split_constant_offset_1): Look through some conversions.
3403         * tree-predcom.c (determine_roots_comp): Restart a new chain if
3404         the offset from last element is too large.
3405         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
3406         (reassociate_to_the_same_stmt): Handle vector registers.
3407         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
3408         (e.g. conversions).
3409         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
3410         wide_prolog_niters argument, emit widening instructions.
3411         (vect_do_peeling_for_alignment): Adjust caller, use widened
3412         variant of the iteration cound.
3413         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
3414
3415 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3416
3417         PR target/38697
3418         * config/arm/neon-testgen.m (emit_automatics): New parameter
3419         features. Adjust for Fixed_return_reg feature.
3420         (test_intrinsic): Call emit_automatics with new feature.
3421         * config/arm/neon.ml: Update copyright years.
3422         (features): New Fixed_return_reg feature.
3423         (ops): Update feature for Vget_low.
3424
3425 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
3426
3427         PR tree-optimization/42719
3428         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
3429         stmt uses.
3430
3431         PR debug/42728
3432         * fwprop.c (all_uses_available_at): Return false if def_set dest
3433         is a REG that is used in def_insn.
3434
3435 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
3436
3437         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
3438
3439         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
3440         Add argument names.
3441
3442         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
3443
3444         * target.h (struct gcc_target) <secondary_reload>: Change type
3445         of last argument to secondary_reload_info *.
3446
3447 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
3448
3449         PR target/42774
3450         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
3451         memory references with unaligned offsets.  Remove CQImode handling.
3452         (unaligned_memory_operand): Return 1 for memory references with
3453         unaligned offsets.  Remove CQImode handling.
3454
3455 2010-01-18  Richard Guenther  <rguenther@suse.de>
3456
3457         PR middle-end/39954
3458         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
3459         builtin calls.
3460
3461 2010-01-18  Richard Guenther  <rguenther@suse.de>
3462
3463         PR tree-optimization/42781
3464         * tree-ssa-structalias.c (find_what_var_points_to): Skip
3465         restrict processing only if the original variable was artificial.
3466
3467 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
3468
3469         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
3470         find number of popped argument bytes.
3471
3472         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
3473         Fix the text that describes the return value for invalid insns.
3474
3475         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
3476
3477         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
3478         Clarify what 'cost of the -dependence' is.  Fix quoting.
3479
3480         * toplev.c (default_get_pch_validity): Rename argument to "sz".
3481         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
3482
3483 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
3484
3485         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
3486         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
3487
3488 2010-01-17  Richard Guenther  <rguenther@suse.de>
3489
3490         PR middle-end/42248
3491         * function.c (split_complex_args): Take a VEC to modify.
3492         (assign_parms_augmented_arg_list): Build a VEC instead of
3493         a chain of PARM_DECLs.
3494         (assign_parms_unsplit_complex): Take a VEC of arguments.
3495         Do not fixup unmodified parms.
3496         (assign_parms): Deal with the VEC.
3497         (gimplify_parameters): Likewise.
3498
3499 2010-01-17  Richard Guenther  <rguenther@suse.de>
3500
3501         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
3502         node existence check.
3503         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
3504         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
3505         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
3506         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
3507         (gimple_execute_on_growing_pred): Likewise.
3508
3509 2010-01-17  Richard Guenther  <rguenther@suse.de>
3510
3511         PR tree-optimization/42773
3512         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
3513         (compute_antic_aux): Likewise.
3514         (compute_partial_antic_aux): Likewise.
3515
3516 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
3517
3518         PR debug/42767
3519         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
3520         and US_TRUNCATE.
3521
3522 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
3523
3524         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
3525         appearance.
3526
3527         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
3528         Fix markup for strict argument.
3529
3530         (TARGET_SCHED_REORDER2): Fix argument types.
3531
3532         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
3533         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
3534
3535         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
3536         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
3537
3538         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
3539         Add argument name.
3540
3541         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
3542         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
3543         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
3544         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
3545         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
3546
3547         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
3548
3549         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
3550
3551         (TARGET_ASM_RELOC_RW_MASK): Add return type.
3552         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
3553
3554         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
3555
3556         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
3557         Use prototype.
3558
3559         (TARGET_ASM_NAMED_SECTION): Fix argument list.
3560
3561         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
3562         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
3563
3564         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
3565
3566         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
3567
3568         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
3569         referring to it.  Fix language.
3570
3571         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
3572
3573         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
3574
3575         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
3576
3577         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
3578
3579         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
3580         '@var{stream}.  Remove stray 'and'.
3581
3582         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
3583
3584         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
3585
3586         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
3587
3588         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
3589         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
3590
3591         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
3592         Fix description of return value.
3593         Rename argument "sz" to "len."
3594
3595         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
3596         Clarify meaning of 'true' return value.
3597
3598         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
3599
3600         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
3601         rep_mode versus mode_rep.
3602
3603         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
3604
3605         (TARGET_BUILTIN_DECL): Fix name.
3606
3607         (TARGET_COMMUTATIVE_P): Fix type of first argument.
3608
3609         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
3610
3611         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
3612
3613         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
3614
3615         (TARGET_RELAXED_ORDERING): Use @deftypevr.
3616
3617         (TARGET_GET_DRAP_RTX): Note that this is a hook.
3618         Clarify language.
3619
3620         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
3621         Rename argument tm_fn to md_fn.
3622
3623         (TARGET_OPTION_PRINT): Fix argument list.
3624
3625 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
3626
3627         PR target/42664
3628         * config/i386/i386.c (ix86_fixup_binary_operands):
3629         Revert FMA4 fixup of operands.
3630
3631 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3632
3633         PR gcc/42525
3634         * Makefile.in (write_entries_to_file, install-plugin):
3635         Use \012 instead of \n with tr.
3636
3637 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
3638
3639         * configure.ac (HAVE_AS_REF): New C macro.
3640         * configure: Regenerate.
3641         * config.in: Likewise.
3642         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
3643         if HAVE_AS_REF.
3644         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
3645         if HAVE_AS_REF.
3646
3647 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
3648
3649         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
3650
3651         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
3652
3653         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
3654
3655         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
3656
3657         (TARGET_IN_SMALL_DATA_P): Fix argument type.
3658
3659         (TARGET_BINDS_LOCAL_P): Fix argument type.
3660
3661         (TARGET_ASM_FILE_END): Use prototype.
3662
3663         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
3664
3665         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
3666
3667         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
3668
3669         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
3670
3671         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
3672         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
3673
3674         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
3675         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
3676
3677         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
3678         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
3679         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
3680         (TARGET_ADDR_SPACE_CONVERT): Likewise.
3681
3682         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
3683
3684         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
3685
3686         (TARGET_INIT_BUILTINS): Use prototype.
3687
3688         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
3689         Put 'const char *' in braces.  Fix parameter types.
3690         (TARGET_INVALID_CONVERSION): Fix parameter types.
3691         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
3692         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
3693
3694         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
3695         Fix argument type.
3696
3697         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
3698
3699         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
3700
3701 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
3702
3703         * doc/tm.texi (TARGET_HELP): Fix return type.
3704
3705         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
3706         in braces.  Fix argument types.
3707
3708         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
3709
3710         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
3711
3712         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
3713
3714         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
3715         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
3716
3717         (TARGET_MANGLE_TYPE): Fix argument types.
3718
3719         (TARGET_IRA_COVER_CLASSES): Use prototype.
3720
3721         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
3722
3723         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
3724
3725         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
3726
3727         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
3728
3729         (TARGET_CALLEE_COPIES): Fix argument types.
3730
3731         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
3732
3733         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
3734
3735         (TARGET_FUNCTION_VALUE): Fix argument types.
3736
3737         (TARGET_RETURN_IN_MSB): Fix argument type.
3738
3739         (TARGET_RETURN_IN_MEMORY): Fix argument types.
3740
3741         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
3742
3743         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
3744
3745         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
3746         agree with return type.
3747
3748         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
3749
3750 2010-01-15  Jing Yu  <jingyu@google.com>
3751
3752         PR rtl-optimization/42691
3753         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
3754         a pseudo to a constant and are merged, and adjust comments.
3755
3756 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3757
3758         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
3759
3760 2010-01-15  Richard Guenther  <rguenther@suse.de>
3761
3762         PR middle-end/42739
3763         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
3764         labels of computed or non-local gotos to the destination.
3765         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
3766         landing pad label is the first label.
3767
3768 2010-01-15  Richard Guenther  <rguenther@suse.de>
3769
3770         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
3771
3772 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3773
3774         PR target/42747
3775         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
3776         to allow generation of the xssqrtdp instruction on power7.
3777         (sqrtdf2_fpr): Ditto.
3778
3779 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3780
3781         PR middle-end/42674
3782         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
3783         functions with noreturn attribute.
3784
3785         PR c++/42608
3786         * varasm.c (declare_weak): Add weak attribute to decl if it
3787         doesn't have one already.
3788         (assemble_external): Only add decls to weak_decls if they also
3789         have weak attribute.
3790
3791 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
3792
3793         * var-tracking.c (var_reg_delete): Don't delete the association
3794         between REGs and values or one-part variables if the register
3795         isn't clobbered.
3796
3797 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3798
3799         PR debug/42657
3800         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
3801         because its first operand is a non-localized variable.
3802
3803 2010-01-14  Martin Jambor  <mjambor@suse.cz>
3804
3805         PR tree-optimization/42706
3806         * tree-sra.c (encountered_recursive_call): New variable.
3807         (encountered_unchangable_recursive_call): Likewise.
3808         (sra_initialize): Initialize both new variables.
3809         (callsite_has_enough_arguments_p): New function.
3810         (scan_function): Call decl and flags check only for IPA-SRA, check
3811         whether there is a recursive call and whether it has enough arguments.
3812         (all_callers_have_enough_arguments_p): New function.
3813         (convert_callers): Look for recursive calls only when
3814         encountered_recursive_call is set.
3815         (ipa_early_sra): Bail out either if
3816         !all_callers_have_enough_arguments_p or
3817         encountered_unchangable_recursive_call.
3818
3819 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3820
3821         * sel-sched.c: Add 2010 to copyright years.
3822         * sel-sched-ir.c: Likewise.
3823         * sel-sched-ir.h: Likewise.
3824
3825 2010-01-14  Martin Jambor  <mjambor@suse.cz>
3826
3827         PR tree-optimization/42714
3828         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
3829         constructors specially.
3830
3831 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3832
3833         * config/i386/drivers-i386.c (detect_caches_intel):
3834         Add l2sizekb parameter and fill in.
3835         (host_detect_local_cpu): Add l2sizekb, fill in.
3836         Add Atom small cache heuristic.
3837
3838 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3839
3840         * config/i386/drivers-i386.c (detect_caches_cpuid4):
3841         Add level3 parameter and fill in.
3842         (detect_caches_intel): Handle level3 cache.
3843
3844 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3845
3846         * config/i386/drivers-i386.c (host_detect_local_cpu):
3847         Fix core duo detection.
3848
3849 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3850
3851         * config/i386/drivers-i386.c (host_detect_local_cpu):
3852         Fix Atom detection.
3853
3854 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3855
3856         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
3857         (rs6000_variable_issue_1): this.  Use...
3858         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
3859
3860 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3861
3862         * sel-sched-ir.c (sel_restore_other_notes): Rename to
3863         sel_restore_notes.  Update all callers.  Call reemit_notes
3864         for all insns.
3865
3866 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3867
3868         PR rtl-optimization/42246
3869         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
3870         loops.
3871
3872 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3873
3874         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
3875         all successors is the same as number of successors in current region.
3876
3877 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3878
3879         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
3880         to rename is not separable.  Otherwise check that its LHS is not NULL.
3881
3882 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3883
3884         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
3885
3886 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3887
3888         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
3889         available registers when failed to discover LHS register class.
3890         Fix indentation.  Update comment.
3891
3892 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3893             Alexander Monakov  <amonakov@ispras.ru>
3894
3895         PR rtl-optimization/42389
3896         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
3897         to can_issue_more.
3898         (advance_state_on_fence): Likewise.
3899         (sel_target_adjust_priority): Print debug output only when
3900         sched_verbose >= 4, not 2.
3901         (get_expr_cost): Do not issue all unique insns on the next cycle.
3902         (fill_insns): Initialize can_issue_more from the value saved
3903         with the fence.
3904         * sel-sched-ir.c (flist_add): New parameter issue_more.
3905         Init FENCE_ISSUE_MORE with it.
3906         (merge_fences): Likewise.
3907         (init_fences): Update call to flist_add.
3908         (add_to_fences, add_clean_fence_to_fences)
3909         (add_dirty_fence_to_fences): Likewise.
3910         (move_fence_to_fences): Update call to merge_fences.
3911         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
3912         sched groups.
3913         * sel-sched-ir.h (struct _fence): New field issue_more.
3914         (FENCE_ISSUE_MORE): New accessor macro.
3915
3916 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3917
3918         PR rtl-optimization/42388
3919         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
3920         that have no predecessors nor successors.  Do not call move_bb_info
3921         for empty blocks outside of current region.
3922
3923 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3924
3925         PR rtl-optimization/42294
3926         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
3927         * sel-sched.c (move_exprs_to_boundary): Transitively add all
3928         originators' originators.
3929
3930 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3931
3932         PR rtl-optimization/39453
3933         PR rtl-optimization/42246
3934         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
3935         for pipelining_p.
3936         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
3937
3938 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3939             Alexander Monakov  <amonakov@ispras.ru>
3940
3941         PR middle-end/42245
3942         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
3943         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
3944         argument.  Update all callers.
3945         (tidy_control_flow): ... and here.  Recompute topological order
3946         of basic blocks in region if necessary.
3947         (sel_redirect_edge_and_branch): Change return type.  Return true
3948         if topological order might have been invalidated.
3949         (purge_empty_blocks): Export and move from...
3950         * sel-sched.c (purge_empty_blocks): ... here.
3951         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
3952         (maybe_tidy_empty_bb): Delete prototype.
3953         (purge_empty_blocks): Declare.
3954
3955 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
3956
3957         PR rtl-optimization/42249
3958         * sel-sched.c (try_replace_dest_reg): When chosen register
3959         and original register is the same, do not bail out early, but
3960         still check all original insns for validity of replacing destination
3961         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
3962         in this case.
3963
3964 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3965
3966         PR c/42721
3967         Port from no-undefined-overflow branch:
3968         2009-03-09  Richard Guenther  <rguenther@suse.de>
3969
3970         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
3971
3972 2010-01-14  Richard Guenther  <rguenther@suse.de>
3973
3974         PR lto/42665
3975         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
3976
3977 2010-01-14  Ira Rosen  <irar@il.ibm.com>
3978
3979         PR tree-optimization/42709
3980         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
3981         as scalar type in creation of constant vector operand.
3982
3983 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3984
3985         PR testsuite/42414
3986         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
3987         (check-parallel-%): Match `testsuite' directory component only
3988         at the end.
3989
3990 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
3991
3992         PR translation/39521
3993         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
3994         strings with _().
3995
3996 2010-01-13  Richard Guenther  <rguenther@suse.de>
3997
3998         PR tree-optimization/42730
3999         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
4000         offset zero.
4001
4002 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
4003
4004         PR target/pr42542
4005         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
4006         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
4007         them signed.
4008
4009 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
4010
4011         * config/bfin/libgcc-bfin.ver: Regenerate based on current
4012         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
4013         ___umulsi3_highpart.
4014
4015         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
4016         rather than schedule_insns if the pass is enabled.
4017
4018 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4019
4020         PR tree-optimization/42704
4021         * tree-sra.c (sra_modify_assign): Do not delete assignments to
4022         SSA_NAMEs.
4023
4024 2010-01-13  Martin Jambor  <mjambor@suse.cz>
4025
4026         PR tree-optimization/42703
4027         * tree-sra.c (analyze_access_subtree): Check that we can build a
4028         reference to the original data within the aggregate.
4029
4030 2010-01-13  Richard Guenther  <rguenther@suse.de>
4031
4032         PR tree-optimization/42705
4033         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
4034
4035 2010-01-13  Richard Guenther  <rguenther@suse.de>
4036
4037         PR middle-end/42716
4038         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
4039
4040 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
4041
4042         PR debug/41371
4043         * var-tracking.c (values_to_unmark): New variable.
4044         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
4045         values_to_unmark vector.  Moved body to...
4046         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
4047         instead queue it into values_to_unmark vector.
4048         (vt_find_locations): Free values_to_unmark vector.
4049
4050 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
4051
4052         * config/s390/s390.c (override_options): Set
4053         default of max-pending-list-length to 256
4054
4055 2010-01-13  Richard Guenther  <rguenther@suse.de>
4056
4057         PR lto/42678
4058         * tree-pass.h (PROP_gimple_lcx): New.
4059         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
4060         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
4061         before the final cleanup_eh.
4062         (dump_properties): Dump PROP_gimple_lcx.
4063         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
4064         (tree_lower_complex_O0): Remove.
4065         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
4066         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
4067         tree_lower_complex, schedule TODO_update_ssa.
4068         * lto-streamer-out.c (output_function): Stream the functions
4069         properties.
4070         * lto-streamer-in.c (input_function): Likewise.
4071         (lto_read_body): Do not override them here.
4072
4073 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
4074
4075         PR c/42708
4076         * c-typeck.c (build_c_cast): Fold value cast to union type before
4077         wrapping it in a CONSTRUCTOR.
4078
4079 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4080
4081         PR rtl-optimization/42699
4082         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
4083         involved.
4084
4085 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4086
4087         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4088         SUBTARGET_WARN_UNUSED_SPEC): Move ...
4089         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
4090         SUBTARGET_WARN_UNUSED_SPEC): ... here
4091         * config/mips/iris5.h (LIBGCC_SPEC): Define.
4092
4093 2010-01-12  Julian Brown  <julian@codesourcery.com>
4094
4095         * config/arm/neon-schedgen.ml (Utils): Don't try to
4096         open missing module.
4097         (find_with_result): New.
4098
4099 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
4100
4101         PR debug/42662
4102         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
4103         sharing when canonicalizing ({lt,ge}u (plus a b) b).
4104
4105         PR tree-optimization/42645
4106         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
4107         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
4108         decl_map, set processing_debug_stmt to -1 and return name without
4109         any remapping.
4110
4111 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
4112
4113         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
4114         binutils version, and reword target configuration description.
4115
4116 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
4117
4118         * config/avr/avr.h (LINKER_NAME): Remove.
4119
4120 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
4121
4122         PR target/42416
4123         * config/rs6000/rs6000.c (rs6000_override_options): On targets
4124         that support VSX, warn for -mno-altivec if vsx is not disabled,
4125         and disable vsx.
4126
4127 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
4128             Shujing Zhao  <pearly.zhao@oracle.com>
4129
4130         PR translation/42469
4131         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
4132         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
4133         character between option name and help text.
4134         * c.opt (imultilib): Likewise.
4135
4136 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
4137
4138         * lto-streamer-out.c (output_unreferenced_globals): Output static
4139         variables.
4140
4141 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
4142
4143         PR rtl-optimization/42621
4144         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
4145         optimizing for size.
4146         (duplicate_computed_gotos): Remove now-redundant check.
4147
4148 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
4149
4150         PR target/37454
4151         * configure.ac: Save and restore LDFLAGS and LIBS
4152         * configure: Regenerate.
4153
4154 2010-01-10  Richard Guenther  <rguenther@suse.de>
4155
4156         PR middle-end/42667
4157         * builtins.c (fold_builtin_strlen): Add type argument and
4158         convert the resulting length to it.
4159         (fold_builtin_1): Adjust.
4160
4161 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
4162
4163         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
4164         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
4165         1 insn.
4166         (num_insns_constant_wide): Adjust for that change.
4167
4168 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4169
4170         PR debug/42631
4171         * web.c (union_defs): Add used argument, to combine uses of
4172         uninitialized regs.
4173         (entry_register): Adjust type and tests of used argument.
4174         (web_main): Widen used for new use.  Pass it to union_defs.
4175         * df.h (union_defs): Adjust prototype.
4176
4177 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4178
4179         PR debug/42630
4180         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
4181         uses in new incoming argument.  Free body.
4182         (reset_debug_uses_in_loop): New.
4183         (analyze_insn_to_expand_var): Call the latter if the former found
4184         anything.  Fix whitespace.  Reject invalid dest overlaps before
4185         going through all insns in the loop.
4186
4187 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4188
4189         PR debug/42629
4190         * haifa-sched.c (dying_use_p): Debug insns don't count.
4191
4192 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4193
4194         PR middle-end/42363
4195         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
4196         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
4197         (verify_gimple_call): Reject LHS in noreturn calls.
4198
4199 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4200
4201         PR debug/42604
4202         PR debug/42395
4203         * tree-vect-loop-manip.c (adjust_info): New type.
4204         (adjust_vec): New pointer to vector.
4205         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
4206         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
4207         (slpeel_update_phis_for_duplicate_loop): Use them.
4208         (slpeel_update_phi_nodes_for_guard1): Likewise.
4209         (slpeel_update_phi_nodes_for_guard2): Likewise.
4210         (slpeel_tree_peel_loop_to_edge): Likewise.
4211         (vect_update_ivs_after_vectorizer): Likewise.
4212
4213 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4214
4215         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
4216         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
4217
4218 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
4219
4220         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
4221         bogus uninitialized warning.
4222
4223 2010-01-09  Richard Guenther  <rguenther@suse.de>
4224
4225         PR middle-end/42512
4226         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
4227         the evolution is compatible with the initial condition.
4228
4229 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
4230
4231         * gcc.c (process_command): Update copyright notice dates.
4232         * gcov.c (print_version): Likewise.
4233         * gcov-dump.c (print_version): Likewise.
4234         * mips-tfile.c (main): Likewise.
4235         * mips-tdump.c (main): Likewise.
4236
4237 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
4238
4239         PR target/41885
4240         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
4241         (rotlhi3): Delete.
4242         (rotlhi3_8): Delete.
4243         (rotlsi3): Delete.
4244         (rotlsi3_8): Delete.
4245         (rotlsi3_16): Delete.
4246         (rotlsi3_24): Delete.
4247         (rotl<mode>3): New.
4248         (*rotw<mode>3): New.
4249         (*rotb<mode>3): New.
4250         * config/avr/avr.c (avr_rotate_bytes): New function.
4251         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
4252
4253 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
4254
4255         PR target/37454
4256         * configure.ac: Modify -rdynamic check.
4257         * configure: Regenerate.
4258
4259 2010-01-08  DJ Delorie  <dj@redhat.com>
4260
4261         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
4262         register popping order.
4263
4264 2010-01-08  Richard Guenther  <rguenther@suse.de>
4265
4266         PR lto/42528
4267         * c.opt (fsigned-char): Also let LTO handle this option.
4268         (funsigned-char): Likewise.
4269
4270 2010-01-07  Richard Guenther  <rguenther@suse.de>
4271
4272         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
4273         (gimple_op): Likewise.
4274         (gimple_op_ptr): Likewise.
4275         (gimple_assign_set_lhs): Remove gcc_assert.
4276         (gimple_assign_set_rhs1): Likewise.
4277         (gimple_assign_set_rhs2): Likewise.
4278         (gimple_call_set_lhs): Likewise.
4279         (gimple_call_set_fn): Likewise.
4280         (gimple_call_set_fndecl): Likewise.
4281         (gimple_call_fndecl): Likewise.
4282         (gimple_call_return_type): Likewise.
4283         (gimple_call_set_chain): Likewise.
4284         (gimple_call_num_args): Likewise.
4285         (gimple_call_set_arg): Likewise.
4286         (gimple_cond_set_code): Likewise.
4287         (gimple_cond_set_lhs): Likewise.
4288         (gimple_cond_set_rhs): Likewise.
4289         (gimple_cond_set_true_label): Likewise.
4290         (gimple_cond_set_false_label): Likewise.
4291         (gimple_label_set_label): Likewise.
4292         (gimple_goto_set_dest): Likewise.
4293         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
4294         (gimple_debug_bind_get_value): Likewise.
4295         (gimple_debug_bind_get_value_ptr): Likewise.
4296         (gimple_debug_bind_set_var): Likewise.
4297         (gimple_debug_bind_set_value): Likewise.
4298         (gimple_debug_bind_reset_value): Likewise.
4299         (gimple_debug_bind_has_value_p): Likewise.
4300         (gimple_return_retval_ptr): Remove gcc_assert.
4301         (gimple_return_retval): Likewise.
4302         (gimple_return_set_retval): Likewise.
4303         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
4304         (safe_referenced_var_iterator): Remove.
4305         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
4306         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
4307         (fill_referenced_var_vec): Remove.
4308         (first_readonly_imm_use): Remove redundant gcc_assert.
4309         (phi_arg_index_from_use): Combine gcc_asserts.
4310         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
4311         (first_imm_use_stmt): Remove redundant gcc_assert.
4312         * tree-cfg.c (verify_gimple_call): Verify function and chain
4313         operands.  Verify arguments.
4314         (verify_types_in_gimple_stmt): Verify condition code and labels.
4315
4316 2010-01-07  Richard Guenther  <rguenther@suse.de>
4317
4318         PR tree-optimization/42641
4319         * sese.c (rename_map_elt_info): Use the SSA name version, do
4320         not hash pointers.
4321
4322 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
4323
4324         PR tree-optimization/42625
4325         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
4326         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4327
4328 2010-01-07  Duncan Sands  <baldrick@free.fr>
4329
4330         * Makefile.in (PLUGIN_HEADERS): Add version.h.
4331
4332 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
4333
4334         PR target/42511
4335         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
4336         note itself is not function_invariant_p.
4337
4338 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
4339
4340         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
4341         Do not add the DF_NOTE problem.
4342         * store-motion.c (execute_rtl_store_motion): Likewise.
4343
4344 2010-01-07  Martin Jambor  <mjambor@suse.cz>
4345
4346         PR tree-optimization/42157
4347         * tree-sra.c (compare_access_positions): Stabilize sort if both
4348         accesses have integer types, return zero immediately if they are the
4349         same.
4350
4351 2010-01-06  Richard Henderson  <rth@redhat.com>
4352
4353         PR middle-end/41883
4354         * haifa-sched.c (add_to_note_list): Merge into ...
4355         (concat_note_lists): ... here, and ...
4356         (unlink_other_notes, rm_other_notes): Merge into...
4357         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
4358         NOTE_INSN_EPILOGUE_BEG.
4359
4360 2010-01-06  Richard Guenther  <rguenther@suse.de>
4361
4362         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
4363         not inline regular functions into always-inline functions.
4364
4365 2010-01-06  Nick Clifton  <nickc@redhat.com>
4366
4367         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
4368         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
4369         used together.
4370         (OVERRIDE_OPTIONS): Delete.
4371         (OPTIMIZATION_OPTIONS): Define.
4372         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
4373         * config/rx/rx.c (rx_handle_option): Issue an error message if
4374         -mcpu=rx200 and -fpu are used together.
4375         (rx_set_optimization_options): New function.  Issue an error
4376         message if an optimization attribute attempts to reset the FPU/
4377         math optimization pairing.
4378         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
4379         * config/rx/rx.opt: Set the default to 32-bit doubles.
4380         * config/rx/t-rx: Add multilibs for -nofpu option.
4381         * doc/invoke.texi: Update documentation of RX options.
4382
4383 2010-01-06  Richard Guenther  <rguenther@suse.de>
4384
4385         * tree-ssa-pre.c (name_to_id): New global.
4386         (alloc_expression_id): Simplify SSA name handling.
4387         (lookup_expression_id): Likewise.
4388         (init_pre): Zero name_to_id.
4389         (fini_pre): Free it.
4390
4391 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
4392
4393         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
4394
4395 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
4396
4397         PR target/42542
4398         * config/i386/sse.md (smaxv2di3): New.
4399         (umaxv2di3): Likewise.
4400         (sminv2di3): Likewise.
4401         (uminv2di3): Likewise.
4402
4403 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
4404
4405         PR target/42564
4406         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
4407         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
4408         (legitimize_tls_address): Likewise.
4409         (sparc_tls_referenced_p): Likewise.
4410         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
4411         and adjust calls to legitimize_pic_address.
4412         (legitimate_constant_p) Use sparc_tls_referenced_p.
4413         (legitimate_pic_operand_p): Likewise.
4414         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
4415         (sparc_tls_symbol_ref_1): Delete.
4416         (sparc_tls_referenced_p): Make static, recognize specific patterns.
4417         (legitimize_tls_address): Make static, handle CONST patterns.
4418         (legitimize_pic_address): Make static, remove unused parameter and
4419         adjust recursive calls.
4420         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
4421         and adjust call to legitimize_pic_address.
4422         (sparc_output_mi_thunk): Likewise.
4423
4424 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
4425             H.J. Lu  <hongjiu.lu@intel.com>
4426
4427         PR target/42542
4428         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
4429         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
4430         operands to make them signed.
4431
4432         Revert:
4433         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4434
4435         PR target/42542
4436         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
4437         GTU to GT for V4SI and V2DI.
4438
4439         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
4440         (umin<mode>3): Removed.
4441         (uminv8hi3): New.
4442         (uminv4si3): Likewise.
4443
4444 2010-01-05  Martin Jambor  <mjambor@suse.cz>
4445
4446         PR tree-optimization/42462
4447         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
4448         current_function_decl to helper functions and macros.
4449
4450 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4451
4452         PR bootstrap/41771
4453         * flags.h: Don't include real.h.
4454         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
4455         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
4456         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
4457         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
4458         * dominance.c: Update copyright.
4459         * gimple.c (walk_gimple_op): Remove inline.
4460         * tree-ssa-reassoc.c: Include real.h.
4461         * Makefile.in (FLAGS_H): Remove $(REAL_H).
4462         (tree-ssa-reassoc.o): Depend on $(REAL_H).
4463
4464 2010-01-05  Nick Clifton  <nickc@redhat.com>
4465
4466         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
4467         register to push into the stack frame when the accumulator has to
4468         be saved during interrupts.
4469
4470 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
4471
4472         * doc/invoke.texi: Remove the documentation about option
4473         -Wunreachable-code.
4474         * common.opt (Wunreachable-code):  Preserved for backward
4475         compatibility.
4476         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
4477         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
4478         the backward compatibility flag section.
4479
4480 2010-01-05  Richard Guenther  <rguenther@suse.de>
4481
4482         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
4483
4484 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
4485
4486         PR other/42611
4487         * cfgexpand.c (expand_one_var): Diagnose too large variables.
4488
4489         PR tree-optimization/42508
4490         * tree-sra.c (convert_callers): Check for recursive call
4491         by comparing cgraph nodes instead of decls.
4492         (modify_function): Call ipa_modify_formal_parameters also
4493         on all same_body aliases.
4494
4495         * cgraphunit.c (cgraph_materialize_all_clones): Compare
4496         cgraph nodes when checking for same_body aliases.
4497
4498 2010-01-05  Richard Guenther  <rguenther@suse.de>
4499
4500         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
4501         allocation and lookup.
4502         (get_or_alloc_expr_for_constant): Likewise.
4503         (phi_translate): Sink allocation.
4504
4505 2010-01-04  Richard Guenther  <rguenther@suse.de>
4506
4507         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
4508         a new entry only if needed.
4509         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
4510         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
4511         hashtable lookup.
4512         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
4513         the result array.
4514         (phi_translate): Handle CONSTANTs early.
4515
4516 2010-01-04  Martin Jambor  <mjambor@suse.cz>
4517
4518         PR tree-optimization/42398
4519         * tree-sra.c (struct access): Removed flag grp_different_types.
4520         (dump_access): Do not dump the removed flag.
4521         (sort_and_splice_var_accesses): Do not set the removed flag.
4522         (sra_modify_expr): Check for type compatibility directly.
4523
4524 2010-01-04  Martin Jambor  <mjambor@suse.cz>
4525
4526         PR tree-optimization/42366
4527         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
4528         edges with variable number of parameters.
4529         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
4530         flag instead of asserting it.
4531         (ipa_read_node_info): Read uses_analysis_done flag.
4532
4533 2010-01-04  Richard Guenther  <rguenther@suse.de>
4534
4535         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
4536         iterative_hash_* as intended.
4537         (vn_reference_compute_hash): Likewise.  Simplify hashing
4538         SSA names.
4539         (vn_reference_lookup_2): Likewise.
4540         (vn_nary_op_compute_hash): Likewise.
4541         (vn_phi_compute_hash): Likewise.
4542         (expressions_equal_p): Remove strange code.
4543         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
4544         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
4545         (bitmap_insert_into_set_1): Take value-id as parameter.
4546         (add_to_value): Pass it.
4547         (bitmap_insert_into_set): Likewise.
4548         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
4549
4550 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
4551
4552         PR driver/42442
4553         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
4554         (do_self_spec): For switches with SWITCH_IGNORE set set also
4555         SWITCH_IGNORE_PERMANENTLY.
4556         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
4557         of SWITCH_IGNORE.
4558
4559 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
4560
4561         * lto-streamer-out.c (output_unreferenced_globals): Output the full
4562         tree of an unreferenced global var.
4563
4564 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4565
4566         PR target/42542
4567         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
4568         GTU to GT for V4SI and V2DI.
4569
4570         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
4571         (umin<mode>3): Removed.
4572         (uminv8hi3): New.
4573         (uminv4si3): Likewise.
4574
4575 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4576
4577         PR lto/42581
4578         * collect2.c (main): Turn on trace in collect2 if -v is passed
4579         to gcc with LTO.
4580
4581 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
4582
4583         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
4584         description of expression operand.
4585
4586 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
4587
4588         * configure.ac: Add install-html to target_list for Make-hooks.
4589         * configure: Regenerate.
4590         * fortran/Make-lang.in (F95_HTMLFILES): New.
4591         (fortran.html): Use it.
4592         (fortran.install-html): New.
4593         * Makefile.in (install-html): Add lang.install-html.
4594         * java/Make-lang.in (JAVA_HTMLFILES): New.
4595         (java.html): Use it.
4596         (java.install-html): New.
4597         * objc/Make-lang.in (objc.install-html): New.
4598         * objcp/Make-lang.in (obj-c++.install-html): New.
4599         * cp/Make-lang.in (c++.install-html): New.
4600         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
4601         * lto/Make-lang.in (lto.install-html): New.
4602
4603 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4604
4605         PR lto/42520
4606         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
4607
4608 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
4609
4610         PR rtl-optimization/41862
4611         * store-motion.c (store_killed_in_insn, compute_store_table,
4612         remove_reachable_equiv_notes, replace_store_insn,
4613         build_store_vectors): Ignore all DEBUG_INSNs.
4614
4615 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4616
4617         PR lto/41564
4618         * common.opt: Add dumpdir.
4619
4620         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
4621         isn't specified.
4622         (option_map): Add --dumpdir.
4623
4624         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
4625
4626         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
4627
4628         * opts.c (decode_options): Try dump_dir_name first if
4629         dump_base_name isn't an absolute path.
4630         (common_handle_option): Handle OPT_dumpdir.
4631
4632         * toplev.c (dump_dir_name): New.
4633         (print_switch_values): Also ignore -dumpdir.
4634
4635         * toplev.h (dump_dir_name): New.
4636
4637 2010-01-03  Richard Guenther  <rguenther@suse.de>
4638
4639         PR tree-optimization/42589
4640         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
4641         double-word expansion of bswap32.
4642
4643 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
4644
4645         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
4646         with BLOCK_FOR_INSN.
4647         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
4648         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
4649         noce_process_if_block): Likewise.
4650         * gcse.c (compute_local_properties, insert_expr_in_table,
4651         insert_set_in_table, canon_list_insert, find_avail_set,
4652         pre_insert_copy_insn): Likewise.
4653
4654         * basic-block.h (BLOCK_NUM): Move from here...
4655         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
4656
4657 2010-01-03  Richard Guenther  <rguenther@suse.de>
4658
4659         PR tree-optimization/42438
4660         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
4661         contains_may_not_return_call flag.
4662         (BB_MAY_NOTRETURN): New.
4663         (valid_in_sets): Trapping nary operations are not valid
4664         in blocks that may not return.
4665         (insert_into_preds_of_block): Remove check for trapping expressions.
4666         (compute_avail): Compute also BB_MAY_NOTRETURN.
4667
4668 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
4669
4670         * doc/invoke.texi: Add 2010 to copyright years.
4671
4672 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
4673
4674         * config/sparc/sparc.c: Fix formatting nits.
4675
4676 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
4677             Alexander Monakov  <amonakov@ispras.ru>
4678
4679         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
4680
4681 2010-01-02  Richard Guenther  <rguenther@suse.de>
4682
4683         PR middle-end/42577
4684         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
4685         (simplify_switch_using_ranges): Mark to be removed edges
4686         as non-executable.
4687
4688 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4689
4690         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
4691
4692         * collect2.c (scan_libraries): Add missing argument in call to
4693         scan_prog_file.
4694
4695 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
4696
4697         PR target/42448
4698         * config/alpha/predicates.md (aligned_memory_operand): Return false
4699         for CQImode.
4700         (unaligned_memory_operand): Return true for CQImode.
4701         * config/alpha/alpha.c (get_aligned_mem): Assert that location
4702         doesn not cross aligned SImode word boundary.
4703
4704 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
4705
4706         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
4707         Remove.
4708         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
4709         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
4710
4711 2010-01-02  Richard Guenther  <rguenther@suse.de>
4712
4713         PR lto/41597
4714         * toplev.c (compile_file): Emit LTO marker properly.  Change
4715         it to __gnu_lto_v1.
4716         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
4717
4718 2010-01-01  Richard Guenther  <rguenther@suse.de>
4719
4720         PR debug/42455
4721         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
4722
4723 2010-01-01  Richard Guenther  <rguenther@suse.de>
4724
4725         PR c/42570
4726         * c-decl.c (grokdeclarator): For zero-size arrays force
4727         structural equality checks as layout_type does.
4728
4729 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
4730
4731         * builtins.c: Update copyright to 2010.
4732
4733 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
4734
4735         PR lto/42531
4736         * lto-streamer-out.c (produce_asm): Revert the last change.
4737         (copy_function): Likewise.
4738
4739         * lto-streamer.c (lto_get_section_name): Skip any leading
4740         asterisk in name.
4741
4742 2010-01-01  Richard Guenther  <rguenther@suse.de>
4743
4744         PR middle-end/42559
4745         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
4746         for LABEL_DECLs.
4747
4748 \f
4749 Copyright (C) 2010 Free Software Foundation, Inc.
4750
4751 Copying and distribution of this file, with or without modification,
4752 are permitted in any medium without royalty provided the copyright
4753 notice and this notice are preserved.