OSDN Git Service

* ChangeLog: Fix whitespace.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2
3         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
4
5 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
6
7         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
8         patterns from predicated pattern.
9
10 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
11
12         PR target/43103
13         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
14         for insn mnemonic suffix.
15
16 2010-02-17  Richard Guenther  <rguenther@suse.de>
17
18         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
19         to loop PHI nodes.
20
21 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
22
23         PR debug/42918
24         * caller-save.c (save_call_clobbered_regs): If BB ends with
25         a DEBUG_INSN, move any notes in between last real insn and the last
26         DEBUG_INSN after the last DEBUG_INSN.
27
28 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
29
30         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
31         Fix return type.  Fix argument type.  Explain meaning of return value.
32
33 2010-02-16  Richard Guenther  <rguenther@suse.de>
34
35         PR tree-optimization/41043
36         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
37         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
38         statements ...
39         (vrp_visit_phi_node): ... but only for loop PHI nodes.
40
41 2010-02-16  Ira Rosen <irar@il.ibm.com>
42
43         PR tree-optimization/43074
44         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
45         * tree-vect-loop.c (vect_analyze_loop_operations): Add
46         vectorizable cycles in hybrid SLP check.
47         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
48
49 2010-02-16  Richard Guenther  <rguenther@suse.de>
50
51         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
52         (true_dependence): If memrefs_conflict_p computes must-alias
53         trust it.  Move TBAA check after offset-based disambiguation.
54         (canon_true_dependence): Likewise.
55
56 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
57
58         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
59         * doc/invoke.texi: Document it.
60         * var-tracking.c: Include toplev.h and params.h.
61         (vt_find_locations): Return bool indicating success.  Compute
62         hash sizes unconditionally.  Check new parameter, report.
63         (variable_tracking_main_1): Check vt_find_locations results and
64         retry.  Renamed from...
65         (variable_tracking_main): ... this.  New wrapper to preserve
66         flag_var_tracking_assignments.
67         * Makefile.in (var-tracking.o): Adjust dependencies.
68
69 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
70             Jakub Jelinek <jakub@redhat.com>
71
72         PR target/42854
73         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
74         if weak_import attribute is present.
75         * config/darwin.c (machopic_select_section): Likewise.
76
77 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
78
79         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
80         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
81         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
82         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
83
84         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
85
86         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
87         Fix argument types.
88
89         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
90         Rewrite text to refer to the names.
91
92 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
93
94         * config/i386/i386-builtin-types.def
95         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
96         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
97         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
98         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
99         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
100         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
101         IX86_BUILTIN_VPERMIL2PS256.
102         (MULTI_ARG_4_DF2_DI_I): Defined.
103         (MULTI_ARG_4_DF2_DI_I1): Defined.
104         (MULTI_ARG_4_SF2_SI_I): Defined.
105         (MULTI_ARG_4_SF2_SI_I1): Defined.
106         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
107         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
108         __builtin_ia32_vpermil2ps256.
109         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
110         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
111         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
112         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
113         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
114         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
115         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
116         CODE_FOR_xop_vpermil2v8sf3.
117         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
118         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
119         * config/i386/xopintrin.h (_mm_permute2_pd): New.
120         (_mm256_permute2_pd): New.
121         (_mm_permute2_ps): New.
122         (_mm256_permute2_ps): New.
123
124 2010-02-15  Nick Clifton  <nickc@redhat.com>
125
126         * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
127         boolean parameters.  Use emit_jump_insn when emitting a pop
128         instruction containing a return insn.
129         (push): Use 'true' rather than '1' as second parameter to F.
130         (h8300_expand_prologue): Likewise.
131         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
132         (h8300_expand_epilogue): Likewise.
133
134 2010-02-15  Richard Guenther  <rguenther@suse.de>
135
136         PR middle-end/43068
137         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
138         if that is zero.
139
140 2010-02-15  Nick Clifton  <nickc@redhat.com>
141
142         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
143         delta.
144
145 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
146
147         * intl.c (fake_ngettext): New function.
148         * intl.h (fake_ngettext): Declare.
149         (ngettext): Define macro.
150         * collect2.c (notice_translated): New function.
151         (main): Use notice_translated and ngettext.
152         * collect2.h (notice_translated): Declare.
153
154 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
155
156         * reorg.c (delete_computation): Comment fixes.
157         * caller-save.c (setup_save_areas): Idem.
158         * sel-sched-dump.c (dump_lv_set): Idem.
159         * rtl.def: Idem.
160
161 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
162
163         * config/s390/s390.c (s390_sched_init): New function.
164         (TARGET_SCHED_INIT): Target hook defined.
165
166 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
167             Jack Howarth  <howarth@bromo.med.uc.edu>
168             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
169
170         PR target/42982
171         Partial revert of unintended change in fix for PR41605.
172         * config/darwin.h: Fix typo.
173         * config/darwin9.h: Same.
174
175 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
176
177         * c-pch.c (pch_init): Clear v.
178
179 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
180
181         PR middle-end/42930
182         * graphite-scop-detection.c (graphite_can_represent_scev): Call
183         graphite_can_represent_init for MULT_EXPR.
184
185 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
186
187         PR middle-end/42914
188         PR middle-end/42530
189         * graphite-sese-to-poly.c (remove_phi): New.
190         (translate_scalar_reduction_to_array): Call remove_phi.
191
192 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
193
194         PR middle-end/42771
195         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
196         * graphite-clast-to-gimple.h (gloog): Update declaration.
197         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
198         * graphite-poly.h (struct poly_bb): Add missing comments.
199         (struct scop): Add poly_scop_p field.
200         (POLY_SCOP_P): New.
201         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
202         * graphite.c (graphite_transform_loops): Build the polyhedral
203         representation for each scop before code generation.
204         * sese.c (rename_variables_in_operand): Removed.
205         (rename_variables_in_expr): Return the renamed expression.
206         (rename_sese_parameters): New.
207         * sese.h (rename_sese_parameters): Declared.
208
209 2010-02-11  Richard Guenther  <rguenther@suse.de>
210
211         PR tree-optimization/42998
212         * tree-ssa-pre.c (create_expression_by_pieces): Treat
213         POINTER_PLUS_EXPR properly.
214
215 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
216             Changpeng Fang  <changpeng.fang@amd.com>
217
218         PR middle-end/40886
219         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
220         the cost of an IV candidate when the IV is used in a test against zero.
221
222         * gcc.dg/tree-ssa/ivopts-3.c: New.
223
224 2010-02-11  Richard Guenther  <rguenther@suse.de>
225
226         PR lto/41664
227         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
228         pointer-vs-decl case by swapping refs.  Handle some cases
229         of pointer-vs-decl disambiguations more conservatively.
230         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
231         to false after expanding.
232
233 2010-02-11  Richard Guenther  <rguenther@suse.de>
234
235         PR driver/43021
236         * gcc.c (process_command): Handle LTO file@offset case more
237         appropriately.
238
239 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
240
241         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
242         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
243         of DEBUG_INSNs.
244         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
245
246         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
247         if MEM's mode size isn't DWARF2_ADDR_SIZE.
248         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
249         Optimize eq/ne comparisons when both arguments are known to be
250         zero-extended.
251         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
252         Don't mask operands unnecessarily if they are known to be already
253         zero-extended.
254
255 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
256
257         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
258         instead of loop.
259
260 2010-02-10  Richard Guenther  <rguenther@suse.de>
261
262         PR tree-optimization/43017
263         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
264         for wrapping signed arithmetic.
265
266 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
267
268         PR debug/43010
269         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
270         if no debug info should be emitted for it.
271
272 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
273
274         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
275         note when flag_exceptions is set.
276
277 2010-02-10  Duncan Sands  <baldrick@free.fr>
278
279         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
280
281 2010-02-10  Richard Guenther  <rguenther@suse.de>
282
283         PR c/43007
284         * tree.c (get_unwidened): Handle constants.
285         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
286
287 2010-02-10  Martin Jambor  <mjambor@suse.cz>
288
289         PR lto/42985
290         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
291         check for variable argument counts independently.
292
293 2010-02-10  Christian Bruel  <christian.bruel@st.com>
294
295         PR target/42841
296         * config/sh/sh.c (find_barrier): Increase length for non delayed
297         conditional branches.
298
299 2010-02-10  Christian Bruel  <christian.bruel@st.com>
300
301         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
302
303 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
304
305         * builtins.c (set_builtin_user_assembler_name): Also handle
306         ffs if int is smaller than word.
307
308 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
309
310         PR middle-end/42973
311         * ira-conflicts.c (get_dup): Remove.
312         (process_reg_shuffles): Add new parameter.  Use it as an
313         additional guard for copy generation.
314         (add_insn_allocno_copies): Rewrite.
315
316 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
317
318         * common.opt (fsched2-use-traces): Preserved for backward
319         compatibility.
320         * doc/invoke.texi: Remove the documentation about option
321         -fsched2-use-traces.
322         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
323         flag_sched2_use_traces.
324         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
325         the backward compatibility flag section.
326
327 2010-02-09  Richard Guenther  <rguenther@suse.de>
328
329         PR tree-optimization/43008
330         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
331         make HEAP variables initialized from global memory if they
332         are not known builtin functions.
333         (find_func_aliases): Adjust.
334
335 2010-02-09  Richard Guenther  <rguenther@suse.de>
336
337         PR tree-optimization/43000
338         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
339         arithmetic manually.
340
341 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
342
343         PR tree-optimization/42931
344         * tree-loop-linear.c (try_interchange_loops): Don't call
345         double_int_mul if estimated_loop_iterations failed.
346
347 2010-02-08  Martin Jambor  <mjambor@suse.cz>
348
349         PR middle-end/42898
350         * tree-sra.c (build_accesses_from_assign): Do not mark in
351         should_scalarize_away_bitmap if stmt has volatile ops.
352         (sra_modify_assign): Do not process assigns piecemeal if if stmt
353         has volatile ops.
354
355 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
356
357         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
358
359 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
360
361         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
362         before the pattern.
363
364 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
365
366         PR middle-end/42946
367         * df-core.c (df_finish_pass): Change type of saved_flags to int.
368
369 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
370
371         PR middle-end/42988
372         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
373         to unknown_dependence.
374         (graphite_legal_transform_dr): Handle the unknown_dependence.
375         (graphite_carried_dependence_level_k): Same.
376
377 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
378
379         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
380
381 2010-02-07  Richard Guenther  <rguenther@suse.de>
382
383         PR middle-end/42991
384         * expr.c (get_inner_reference): Always initialize *pbitsize.
385
386 2010-02-07  Richard Guenther  <rguenther@suse.de>
387
388         PR middle-end/42956
389         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
390         new ARRAY_REFs on variable size element or minimal index arrays.
391         Complete.
392         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
393         gimple_fold_indirect_ref.
394
395 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
396
397         PR target/42957
398         * arm.c (arm_override_options): Just return if the user has specified
399         an invalid fpu name.
400
401 2010-02-03  Jason Merrill  <jason@redhat.com>
402
403         PR c++/42870
404         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
405         i386_pe_maybe_record_exported_symbol.
406
407 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
408
409         PR target/42924
410         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
411         (pa_delegitimize_address): New function.
412
413 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
414
415         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
416         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
417
418 2010-02-05  Richard Guenther  <rguenther@suse.de>
419
420         PR lto/42762
421         * lto-streamer-in.c (get_resolution): Deal with references
422         to undefined functions.
423
424 2010-02-05  Richard Guenther  <rguenther@suse.de>
425
426         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
427         (fold_const_aggregate_ref): Likewise.
428         (ccp_fold_stmt): Substitute loads.
429         (maybe_fold_reference): Verify types before substituting.
430         Unshare properly.
431         (fold_gimple_assign): Unshare properly.
432         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
433
434 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
435
436         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
437         for rs6000_gen_cell_microcode.
438
439 2010-02-04  Richard Guenther  <rguenther@suse.de>
440
441         PR rtl-optimization/42952
442         * dse.c (const_or_frame_p): Remove MEM handling.
443
444 2010-02-04  Nick Clifton  <nickc@redhat.com>
445
446         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
447         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
448         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
449         (mn10300_asm_output_mi_thunk): New function.
450         (mn10300_can_output_mu_thunk): New function.
451         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
452         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
453         (FUNCTION_ARG): Delete incorrect comment.
454
455 2010-02-03  Jason Merrill  <jason@redhat.com>
456
457         PR c++/40138
458         * fold-const.c (operand_equal_p): Handle erroneous types.
459
460 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
461
462         * config/h8300/h8300.md (can_delay): Fix attibute condition.
463
464 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
465
466         PR rtl-optimization/42941
467         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
468         of xmalloc.
469
470 2010-02-03  Jason Merrill  <jason@redhat.com>
471
472         PR c++/35652
473         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
474
475 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
476
477         PR debug/42896
478         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to
479         hash.
480         (cselib_reset_table): Renamed from...
481         (cselib_reset_table_with_next_value): ... this.
482         (cselib_get_next_uid): Renamed from...
483         (cselib_get_next_unknown_value): ... this.
484         * cselib.c (next_uid): Renamed from...
485         (next_unknown_value): ... this.
486         (cselib_clear_table): Adjust.
487         (cselib_reset_table): Adjust.  Renamed from...
488         (cselib_reset_table_with_next_value): ... this.
489         (cselib_get_next_uid): Adjust.  Renamed from...
490         (cselib_get_next_unknown_value): ... this.
491         (get_value_hash): Use hash.
492         (cselib_hash_rtx): Likewise.
493         (new_cselib_val): Adjust.  Set and dump uid.
494         (cselib_lookup_mem): Pass next_uid as hash.
495         (cselib_subst_to_values): Likewise.
496         (cselib_log_lookup): Dump uid.
497         (cselib_lookup): Pass next_uid as hash.  Adjust.
498         (cselib_process_insn): Adjust.
499         (cselib_init): Initialize next_uid.
500         (cselib_finish): Adjust.
501         (dump_cselib_table): Likewise.
502         * dse.c (canon_address): Dump value uid.
503         * print-rtl.c (print_rtx): Print value uid.
504         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
505         (dvuid): New type.
506         (dv_uid): New function, sort of renamed from...
507         (dv_htab_hash): ... this, reimplemented in terms of it and...
508         (dv_uid2hash): ... this.  New.
509         (variable_htab_eq): Drop excess assertions.
510         (tie_break_pointers): Removed.
511         (canon_value_cmp): Compare uids.
512         (variable_post_merge_New_vals): Print uids.
513         (vt_add_function_parameters): Adjust.
514         (vt_initialize): Reset table.  Adjust.
515
516 2010-02-03  Richard Guenther  <rguenther@suse.de>
517
518         PR tree-optimization/42944
519         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
520         (call_may_clobber_ref_p_1): Likewise.  Properly handle
521         malloc and calloc clobbering errno.
522
523 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
524
525         * doc/invoke.texi: Fix name of sched1 dump.
526
527         * opts.c (decode_options): Set flag_tree_switch_conversion
528         only conditionally on optimize >= 2.
529
530         * gcse.c: Assorted comment fixes in pass description.
531
532 2010-02-03  Anthony Green  <green@moxielogic.com>
533
534         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
535         nop padding in order to maintain alignment of storage location of
536         target function address.
537         (moxie_trampoline_init): Store target function address at newly
538         aligned location.
539         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
540         to 32.
541         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
542
543 2010-02-03  Richard Guenther  <rguenther@suse.de>
544
545         PR middle-end/42927
546         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
547
548 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
549
550         * config.gcc: Reenable check for obsolete targets.
551         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
552         mips-sgi-irix6.[0-4]*.
553
554 2010-02-02  Nick Clifton  <nickc@redhat.com>
555
556         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
557         constant size of 4 as being the same as 0.
558         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
559         can take values in the range 0..4.
560
561 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
562
563         PR java/41991
564         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
565         as _darwin10_Unwind_FindEnclosingFunction().
566         * libgcc-libsystem.ver: New.
567
568 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
569
570         PR target/41399
571         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
572         implicitly set registers.
573
574 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
575
576         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
577         (arm_override_options): Allow automatic selection of the thread
578         pointer register if thumb2.
579         (legitimize_pic_address): Improve code sequences for Thumb2.
580         (arm_call_tls_get_addr): Likewise.
581         (legitimize_tls_address): Likewise.
582         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
583         (pic_load_addr_32bit): ... this.  New named pattern.
584         * thumb2.md (pic_load_addr_thumb2): Delete.
585         (pic_load_dot_plus_four): Delete.
586         (tls_load_dot_plus_four): New named pattern.
587
588 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
589
590         PR libgomp/29986
591         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
592         Document fix for TLS bug.
593
594 2010-01-31  Richard Guenther  <rguenther@suse.de>
595
596         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
597         conservatively correct.
598
599 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
600
601         PR target/42850
602         Revert:
603         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
604
605         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
606
607 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
608
609         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
610
611 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
612
613         * config.gcc: Adjust order of makefile fragments for mingw targets.
614
615 2010-01-31  Richard Guenther  <rguenther@suse.de>
616
617         PR middle-end/42898
618         * gimplify.c (gimplify_init_constructor): For volatile LHS
619         initialize a temporary.
620
621 2010-01-31  Matthias Klose  <doko@ubuntu.com>
622
623         * configure.ac: Fix __stack_chk_fail check for cross builds configured
624         --with-headers
625         * configure: Regenerate.
626
627 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
628
629         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
630         the same alias set and their sizes different constantness.
631         (aliasing_component_refs_p): Revert 2009-10-24 change.
632
633 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
634
635         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
636         unused.
637
638 2010-01-29  Richard Guenther  <rguenther@suse.de>
639
640         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
641         Assert we successfully updated the call.
642
643 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
644
645         PR rtl-optimization/42889
646         * df.h (df_set_bb_dirty_nonlr): New prototype.
647         * df-core.c (df_set_bb_dirty_nonlr): New function.
648         * df-scan.c (df_insn_rescan): Call it instead of
649         df_set_bb_dirty for DEBUG_INSNs.
650
651 2010-01-29  Richard Guenther  <rguenther@suse.de>
652
653         PR middle-end/37448
654         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
655         quadratic behavior in most cases.
656
657 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
658
659         PR target/42891
660         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
661         in the call to gen_x86_movsicc_0_m1.
662
663 2010-01-28  Richard Guenther  <rguenther@suse.de>
664
665         PR tree-optimization/42871
666         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
667
668 2010-01-28  Richard Guenther  <rguenther@suse.de>
669
670         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
671         into call arguments.
672
673 2010-01-28  Richard Guenther  <rguenther@suse.de>
674
675         PR middle-end/42883
676         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
677         the forwarder if the destination is an EH landing pad.
678
679 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
680
681         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
682         block list passed to gimple_duplicate_sese_tail.
683         (parallelize_loops): Avoid parallelization when the function
684         has_nonlocal_label.
685         Avoid parallelization when the preheader is IRREDUCIBLE.
686         Try to optimize when estimated_loop_iterations_int is unresolved.
687         Add the loop's location to the dump file.
688         * tree-cfg.c (add_phi_args_after_redirect): Remove.
689         (gimple_duplicate_sese_tail): Remove the check for the latch.
690         Redirect nexits to the exit block.
691         Remove handling of the incoming edges to the latch.
692         Redirect the backedge from the copied latch to the exit bb.
693
694 2010-01-28  Michael Matz  <matz@suse.de>
695
696         PR target/42881
697         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
698         Wrap force_reg into a sequence, emit it before user.
699
700 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
701
702         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
703         (arm_rev): New.
704         (arm_legacy_rev): Likewise.
705         (thumb_legacy_rev): Likewise.
706
707 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
708
709         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
710         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
711         on MEM's address failed, try avoid_constant_pool_reference and
712         recurse if it returned something different.
713         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
714         address, try avoid_constant_pool_reference and recurse if it
715         returned something different.
716         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
717         address and avoid_constant_pool_reference returned something
718         different, don't set have_address.
719
720 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
721
722         PR debug/42861
723         * var-tracking.c (val_store): Add modified argument, obey it.
724         Adjust callers.
725         (count_uses): Move down logging of main.
726         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
727         don't need resolution.
728         (emit_notes_in_bb): Likewise.
729
730 2010-01-27  Richard Guenther  <rguenther@suse.de>
731
732         PR middle-end/42878
733         * tree-inline.c (remap_decl): Delay remapping of SSA name
734         default definitions until we need them.
735
736 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
737
738         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
739         (rs6000_delegitimize_address): New function.
740
741         * config/s390/s390.c (s390_delegitimize_address): Call
742         delegitimize_mem_from_attrs.
743
744         PR middle-end/42874
745         * tree-inline.c (cannot_copy_type_1): Removed.
746         (copy_forbidden): Don't forbid copying of functions containing
747         records/unions with variable length fields.
748
749 2010-01-27  Christian Bruel  <christian.bruel@st.com>
750
751         Revert:
752         PR target/42841
753         * config/sh/sh.c (find_barrier): Increase length for non delayed
754         conditional branches.
755
756 2010-01-27  Matthias Klose  <doko@ubuntu.com>
757
758         * configure.ac (gnu-unique-object): Fix ldd version check.
759         * configure: Regenerate.
760
761 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
762
763         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
764         HAVE_GNU_AS value.
765         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
766         Test for HAVE_GNU_AS value.
767
768 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
769
770         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
771         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
772         INT64_TYPE): Define.
773         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
774         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
775         INT_LEAST64_TYPE): Define.
776         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
777         UINT_LEAST64_TYPE): Define.
778         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
779         INT_FAST64_TYPE): Define.
780         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
781         UINT_FAST64_TYPE): Define.
782         (INTMAX_TYPE, UINTMAX_TYPE): Define.
783         (INTPTR_TYPE, UINTPTR_TYPE): Define.
784         (SIG_ATOMIC_TYPE): Define.
785
786 2010-01-26  Richard Guenther  <rguenther@suse.de>
787
788         * df-scan.c (df_scan_set_bb_info): Remove assert.
789         (df_insn_rescan_debug_internal): Merge asserts.
790         (df_install_ref): Likewise.
791         (df_mark_reg): Use bitmap_set_range.
792         (df_hard_reg_used_p): Remove assert.
793         (df_hard_reg_used_count): Likewise.
794
795 2010-01-26  Richard Guenther  <rguenther@suse.de>
796
797         PR rtl-optimization/42685
798         * web.c (web_main): Ignore DEBUG_INSNs.
799
800 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
801
802         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
803
804         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
805         Fix types of fndecl and arglist parameters.
806
807 2010-01-26  Richard Guenther  <rguenther@suse.de>
808
809         PR middle-end/42806
810         * tree-eh.c (unsplit_eh): Skip debug insns.
811
812 2010-01-26  Richard Guenther  <rguenther@suse.de>
813
814         PR tree-optimization/42250
815         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
816
817 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
818
819         PR fortran/42866
820         * omp-low.c (expand_omp_sections): Only use single_pred if
821         l2_bb is single_pred_p.
822
823 2010-01-25  Christian Bruel  <christian.bruel@st.com>
824
825         PR target/42841
826         * config/sh/sh.c (find_barrier): Increase length for non delayed
827         conditional branches.
828         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
829
830 2010-01-24  David S. Miller  <davem@davemloft.net>
831
832         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
833         define if not using GAS.
834         * config/sparc/sparc.c (sparc_elf_asm_named_section):
835         Likewise.  Delete SECTION_MERGE code, which is only applicable
836         when using GAS.
837
838 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
839
840         PR c++/42748
841         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
842         mangling of va_list in system headers.
843
844 2010-01-23  Toon Moene  <toon@moene.org>
845
846         * tree-predcom.c (combine_chains): Return NULL, not false.
847
848 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
849
850         * tree-loop-distribution.c (distribute_loop): Fix declaration and
851         initialization of variable res to agree with return type.
852
853 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
854
855         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
856         * tree-sra.c: Add include of expr.h.
857
858 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
859
860         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
861         insert the debug stmt on the single non-EH edge from the stmt.
862
863 2010-01-22  Richard Henderson  <rth@redhat.com>
864
865         PR tree-opt/42833
866         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
867         the RHS until after generate_subtree_copies has insertted its
868         code before the current statement.
869
870 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
871
872         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
873
874         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
875
876 2010-01-21  Martin Jambor  <mjambor@suse.cz>
877
878         PR tree-optimization/42585
879         * tree-sra.c (struct access): New field grp_total_scalarization.
880         (dump_access): Dump the new field.
881         (should_scalarize_away_bitmap): New variable.
882         (cannot_scalarize_away_bitmap): Likewise.
883         (sra_initialize): Allocate new bitmaps.
884         (sra_deinitialize): Free new bitmaps.
885         (create_access_1): New function.
886         (create_access): Parts moved to create_access_1.
887         (type_consists_of_records_p): New function.
888         (completely_scalarize_record): Likewise.
889         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
890         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
891         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
892         access.
893         (analyze_all_variable_accesses): Completely scalarize small eligible
894         records.
895
896 2010-01-21  Martin Jambor  <mjambor@suse.cz>
897
898         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
899
900 2010-01-21  Andrew Haley  <aph@redhat.com>
901
902         * gcc.c (process_command): Move lang_specific_driver before
903         setting cc_libexec_prefix.
904
905 2010-01-21  Richard Guenther  <rguenther@suse.de>
906
907         PR middle-end/19988
908         * fold-const.c (negate_expr_p): Pretend only negative
909         real constants are easily negatable.
910
911 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
912             Jason Merrill  <jason@redhat.com>
913
914         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
915         (TYPE_TRANSPARENT_AGGR): this, for union and record.
916         * calls.c (initialize argument_information): Handle it.
917         * c-common.c (handle_transparent_union_attribute): Use new name.
918         * c-decl.c (finish_struct): Ditto.
919         * c-typeck.c (type_lists_compatible_p): Ditto.
920         (convert_for_assignment): Use new name and also handle record.
921         * function.c (aggregate_value_p): Handle it.
922         (pass_by_reference): Ditto.
923         (assign_parm_data_types): Ditto.
924         * print-tree.c (print_node): Ditto.
925         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
926         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
927         * tree.c (first_field): New fn.
928
929 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
930
931         PR target/42818
932         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
933         even when linking statically, for now.
934
935 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
936
937         PR debug/42715
938         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
939         without a cselib val.
940         (count_uses): Accept MO_VAL_SET with no val on stores.
941         (add_stores): Likewise.
942
943 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
944
945         * var-tracking.c (check_value_val): Add a compile time assertion.
946         (dv_is_decl_p): Simplify.
947         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
948         gcc_assert if ENABLE_CHECKING.
949
950 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
951
952         PR debug/42782
953         * var-tracking.c: Include tree-flow.h.
954         (mem_dies_at_call): New.
955         (dataflow_set_preserve_mem_locs): Use it.
956         (dataflow_set_remove_mem_locs): Likewise.
957         (dump_var): Renamed from dump_variable.  Adjust all callers.
958         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
959         * Makefile.in (var-tracking.o): Adjust deps.
960
961 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
962
963         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
964
965 2010-01-20  Richard Guenther  <rguenther@suse.de>
966
967         PR tree-optimization/42717
968         * tree-ssa-dce.c (get_live_post_dom): Remove.
969         (forward_edge_to_pdom): Take an arbitrary edge to copy
970         degenerate PHI args from.
971         (remove_dead_stmt): Use the first post-dominator even if it
972         does not contain live statements as redirection destination.
973
974 2010-01-20  Richard Guenther  <rguenther@suse.de>
975
976         * tree-inline.c (estimate_num_insns): Handle EH builtins.
977
978 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
979
980         * sel-sched.c (create_speculation_check): Remove set but not used
981         variable twin.
982         (try_transformation_cache): Remove set but not used variable ds.
983         (calculate_privileged_insns): Remove set but not used variables
984         cur_insn and min_spec_insn.
985         (find_best_expr): Remove set but not used variable avail_n.
986         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
987         variable e.
988         * cgraphunit.c (assemble_thunk): Remove set but not used variable
989         false_label.
990         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
991         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
992         new_scop_exit_edge.
993
994 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
995
996         PR bootstrap/42786
997         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
998         cpu types.  Add support for *-sse3 cpu types.
999         (x86_64-*-*): Ditto.
1000
1001 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
1002
1003         PR middle-end/42803
1004         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
1005         argument, call initializer_constant_valid_p_1 instead of
1006         initializer_constant_valid_p, pass CACHE to it, return NULL
1007         immediately if first call returns NULL.
1008         (initializer_constant_valid_p_1): New function.
1009         (initializer_constant_valid_p): Use it.
1010
1011 2010-01-20  Thomas Quinot  <quinot@adacore.com>
1012
1013         * tree.def (PLACEHOLDER_EXPR): Fix comment.
1014
1015 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
1016
1017         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
1018         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
1019         (loc_list_from_tree): Don't handle unsigned division.  Handle
1020         signed modulo using DW_OP_{over,over,div,mul,minus}.
1021         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
1022         modulo instead of signed.
1023
1024 2010-01-20  DJ Delorie  <dj@redhat.com>
1025
1026         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
1027         (Fpa): Pass it
1028         (h8300_emit_stack_adjustment): Propogate it.
1029         (push): Pass it.
1030         (h8300_expand_prologue): Likewise.
1031         (h8300_expand_epilogue): Likewise.
1032
1033 2010-01-19  Michael Matz  <matz@suse.de>
1034
1035         PR tree-optimization/41783
1036         * tree-data-ref.c (toplevel): Include flags.h.
1037         (dump_data_dependence_relation):  Also dump the inputs if the
1038         result will be unknown.
1039         (split_constant_offset_1): Look through some conversions.
1040         * tree-predcom.c (determine_roots_comp): Restart a new chain if
1041         the offset from last element is too large.
1042         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
1043         (reassociate_to_the_same_stmt): Handle vector registers.
1044         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
1045         (e.g. conversions).
1046         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
1047         wide_prolog_niters argument, emit widening instructions.
1048         (vect_do_peeling_for_alignment): Adjust caller, use widened
1049         variant of the iteration cound.
1050         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
1051
1052 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1053
1054         PR target/38697
1055         * config/arm/neon-testgen.m (emit_automatics): New parameter
1056         features. Adjust for Fixed_return_reg feature.
1057         (test_intrinsic): Call emit_automatics with new feature.
1058         * config/arm/neon.ml: Update copyright years.
1059         (features): New Fixed_return_reg feature.
1060         (ops): Update feature for Vget_low.
1061
1062 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
1063
1064         PR tree-optimization/42719
1065         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
1066         stmt uses.
1067
1068         PR debug/42728
1069         * fwprop.c (all_uses_available_at): Return false if def_set dest
1070         is a REG that is used in def_insn.
1071
1072 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
1073
1074         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
1075
1076         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
1077         Add argument names.
1078
1079         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
1080
1081         * target.h (struct gcc_target) <secondary_reload>: Change type
1082         of last argument to secondary_reload_info *.
1083
1084 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
1085
1086         PR target/42774
1087         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
1088         memory references with unaligned offsets.  Remove CQImode handling.
1089         (unaligned_memory_operand): Return 1 for memory references with
1090         unaligned offsets.  Remove CQImode handling.
1091
1092 2010-01-18  Richard Guenther  <rguenther@suse.de>
1093
1094         PR middle-end/39954
1095         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
1096         builtin calls.
1097
1098 2010-01-18  Richard Guenther  <rguenther@suse.de>
1099
1100         PR tree-optimization/42781
1101         * tree-ssa-structalias.c (find_what_var_points_to): Skip
1102         restrict processing only if the original variable was artificial.
1103
1104 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
1105
1106         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
1107         find number of popped argument bytes.
1108
1109         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
1110         Fix the text that describes the return value for invalid insns.
1111
1112         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
1113
1114         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
1115         Clarify what 'cost of the -dependence' is.  Fix quoting.
1116
1117         * toplev.c (default_get_pch_validity): Rename argument to "sz".
1118         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
1119
1120 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
1121
1122         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
1123         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
1124
1125 2010-01-17  Richard Guenther  <rguenther@suse.de>
1126
1127         PR middle-end/42248
1128         * function.c (split_complex_args): Take a VEC to modify.
1129         (assign_parms_augmented_arg_list): Build a VEC instead of
1130         a chain of PARM_DECLs.
1131         (assign_parms_unsplit_complex): Take a VEC of arguments.
1132         Do not fixup unmodified parms.
1133         (assign_parms): Deal with the VEC.
1134         (gimplify_parameters): Likewise.
1135
1136 2010-01-17  Richard Guenther  <rguenther@suse.de>
1137
1138         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
1139         node existence check.
1140         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
1141         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
1142         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
1143         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
1144         (gimple_execute_on_growing_pred): Likewise.
1145
1146 2010-01-17  Richard Guenther  <rguenther@suse.de>
1147
1148         PR tree-optimization/42773
1149         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
1150         (compute_antic_aux): Likewise.
1151         (compute_partial_antic_aux): Likewise.
1152
1153 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
1154
1155         PR debug/42767
1156         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
1157         and US_TRUNCATE.
1158
1159 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
1160
1161         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
1162         appearance.
1163
1164         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
1165         Fix markup for strict argument.
1166
1167         (TARGET_SCHED_REORDER2): Fix argument types.
1168
1169         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
1170         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
1171
1172         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
1173         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
1174
1175         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
1176         Add argument name.
1177
1178         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
1179         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
1180         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
1181         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
1182         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
1183
1184         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
1185
1186         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
1187
1188         (TARGET_ASM_RELOC_RW_MASK): Add return type.
1189         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
1190
1191         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
1192
1193         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
1194         Use prototype.
1195
1196         (TARGET_ASM_NAMED_SECTION): Fix argument list.
1197
1198         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
1199         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
1200
1201         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
1202
1203         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
1204
1205         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
1206         referring to it.  Fix language.
1207
1208         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
1209
1210         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
1211
1212         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
1213
1214         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
1215
1216         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
1217         '@var{stream}.  Remove stray 'and'.
1218
1219         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
1220
1221         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
1222
1223         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
1224
1225         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
1226         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
1227
1228         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
1229         Fix description of return value.
1230         Rename argument "sz" to "len."
1231
1232         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
1233         Clarify meaning of 'true' return value.
1234
1235         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
1236
1237         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
1238         rep_mode versus mode_rep.
1239
1240         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
1241
1242         (TARGET_BUILTIN_DECL): Fix name.
1243
1244         (TARGET_COMMUTATIVE_P): Fix type of first argument.
1245
1246         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
1247
1248         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
1249
1250         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
1251
1252         (TARGET_RELAXED_ORDERING): Use @deftypevr.
1253
1254         (TARGET_GET_DRAP_RTX): Note that this is a hook.
1255         Clarify language.
1256
1257         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
1258         Rename argument tm_fn to md_fn.
1259
1260         (TARGET_OPTION_PRINT): Fix argument list.
1261
1262 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
1263
1264         PR target/42664
1265         * config/i386/i386.c (ix86_fixup_binary_operands):
1266         Revert FMA4 fixup of operands.
1267
1268 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1269
1270         PR gcc/42525
1271         * Makefile.in (write_entries_to_file, install-plugin):
1272         Use \012 instead of \n with tr.
1273
1274 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
1275
1276         * configure.ac (HAVE_AS_REF): New C macro.
1277         * configure: Regenerate.
1278         * config.in: Likewise.
1279         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
1280         if HAVE_AS_REF.
1281         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
1282         if HAVE_AS_REF.
1283
1284 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
1285
1286         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
1287
1288         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
1289
1290         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
1291
1292         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
1293
1294         (TARGET_IN_SMALL_DATA_P): Fix argument type.
1295
1296         (TARGET_BINDS_LOCAL_P): Fix argument type.
1297
1298         (TARGET_ASM_FILE_END): Use prototype.
1299
1300         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
1301
1302         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
1303
1304         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
1305
1306         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
1307
1308         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
1309         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
1310
1311         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
1312         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
1313
1314         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
1315         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
1316         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
1317         (TARGET_ADDR_SPACE_CONVERT): Likewise.
1318
1319         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
1320
1321         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
1322
1323         (TARGET_INIT_BUILTINS): Use prototype.
1324
1325         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
1326         Put 'const char *' in braces.  Fix parameter types.
1327         (TARGET_INVALID_CONVERSION): Fix parameter types.
1328         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
1329         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
1330
1331         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
1332         Fix argument type.
1333
1334         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
1335
1336         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
1337
1338 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
1339
1340         * doc/tm.texi (TARGET_HELP): Fix return type.
1341
1342         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
1343         in braces.  Fix argument types.
1344
1345         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
1346
1347         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
1348
1349         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
1350
1351         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
1352         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
1353
1354         (TARGET_MANGLE_TYPE): Fix argument types.
1355
1356         (TARGET_IRA_COVER_CLASSES): Use prototype.
1357
1358         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
1359
1360         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
1361
1362         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
1363
1364         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
1365
1366         (TARGET_CALLEE_COPIES): Fix argument types.
1367
1368         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
1369
1370         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
1371
1372         (TARGET_FUNCTION_VALUE): Fix argument types.
1373
1374         (TARGET_RETURN_IN_MSB): Fix argument type.
1375
1376         (TARGET_RETURN_IN_MEMORY): Fix argument types.
1377
1378         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
1379
1380         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
1381
1382         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
1383         agree with return type.
1384
1385         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
1386
1387 2010-01-15  Jing Yu  <jingyu@google.com>
1388
1389         PR rtl-optimization/42691
1390         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
1391         a pseudo to a constant and are merged, and adjust comments.
1392
1393 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
1394
1395         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
1396
1397 2010-01-15  Richard Guenther  <rguenther@suse.de>
1398
1399         PR middle-end/42739
1400         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
1401         labels of computed or non-local gotos to the destination.
1402         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
1403         landing pad label is the first label.
1404
1405 2010-01-15  Richard Guenther  <rguenther@suse.de>
1406
1407         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
1408
1409 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
1410
1411         PR target/42747
1412         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
1413         to allow generation of the xssqrtdp instruction on power7.
1414         (sqrtdf2_fpr): Ditto.
1415
1416 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1417
1418         PR middle-end/42674
1419         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
1420         functions with noreturn attribute.
1421
1422         PR c++/42608
1423         * varasm.c (declare_weak): Add weak attribute to decl if it
1424         doesn't have one already.
1425         (assemble_external): Only add decls to weak_decls if they also
1426         have weak attribute.
1427
1428 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
1429
1430         * var-tracking.c (var_reg_delete): Don't delete the association
1431         between REGs and values or one-part variables if the register
1432         isn't clobbered.
1433
1434 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1435
1436         PR debug/42657
1437         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
1438         because its first operand is a non-localized variable.
1439
1440 2010-01-14  Martin Jambor  <mjambor@suse.cz>
1441
1442         PR tree-optimization/42706
1443         * tree-sra.c (encountered_recursive_call): New variable.
1444         (encountered_unchangable_recursive_call): Likewise.
1445         (sra_initialize): Initialize both new variables.
1446         (callsite_has_enough_arguments_p): New function.
1447         (scan_function): Call decl and flags check only for IPA-SRA, check
1448         whether there is a recursive call and whether it has enough arguments.
1449         (all_callers_have_enough_arguments_p): New function.
1450         (convert_callers): Look for recursive calls only when
1451         encountered_recursive_call is set.
1452         (ipa_early_sra): Bail out either if
1453         !all_callers_have_enough_arguments_p or
1454         encountered_unchangable_recursive_call.
1455
1456 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1457
1458         * sel-sched.c: Add 2010 to copyright years.
1459         * sel-sched-ir.c: Likewise.
1460         * sel-sched-ir.h: Likewise.
1461
1462 2010-01-14  Martin Jambor  <mjambor@suse.cz>
1463
1464         PR tree-optimization/42714
1465         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
1466         constructors specially.
1467
1468 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1469
1470         * config/i386/drivers-i386.c (detect_caches_intel):
1471         Add l2sizekb parameter and fill in.
1472         (host_detect_local_cpu): Add l2sizekb, fill in.
1473         Add Atom small cache heuristic.
1474
1475 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1476
1477         * config/i386/drivers-i386.c (detect_caches_cpuid4):
1478         Add level3 parameter and fill in.
1479         (detect_caches_intel): Handle level3 cache.
1480
1481 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1482
1483         * config/i386/drivers-i386.c (host_detect_local_cpu):
1484         Fix core duo detection.
1485
1486 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1487
1488         * config/i386/drivers-i386.c (host_detect_local_cpu):
1489         Fix Atom detection.
1490
1491 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1492
1493         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
1494         (rs6000_variable_issue_1): this.  Use...
1495         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
1496
1497 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1498
1499         * sel-sched-ir.c (sel_restore_other_notes): Rename to
1500         sel_restore_notes.  Update all callers.  Call reemit_notes
1501         for all insns.
1502
1503 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1504
1505         PR rtl-optimization/42246
1506         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
1507         loops.
1508
1509 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1510
1511         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
1512         all successors is the same as number of successors in current region.
1513
1514 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1515
1516         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
1517         to rename is not separable.  Otherwise check that its LHS is not NULL.
1518
1519 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1520
1521         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
1522
1523 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1524
1525         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
1526         available registers when failed to discover LHS register class.
1527         Fix indentation.  Update comment.
1528
1529 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1530             Alexander Monakov  <amonakov@ispras.ru>
1531
1532         PR rtl-optimization/42389
1533         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
1534         to can_issue_more.
1535         (advance_state_on_fence): Likewise.
1536         (sel_target_adjust_priority): Print debug output only when
1537         sched_verbose >= 4, not 2.
1538         (get_expr_cost): Do not issue all unique insns on the next cycle.
1539         (fill_insns): Initialize can_issue_more from the value saved
1540         with the fence.
1541         * sel-sched-ir.c (flist_add): New parameter issue_more.
1542         Init FENCE_ISSUE_MORE with it.
1543         (merge_fences): Likewise.
1544         (init_fences): Update call to flist_add.
1545         (add_to_fences, add_clean_fence_to_fences)
1546         (add_dirty_fence_to_fences): Likewise.
1547         (move_fence_to_fences): Update call to merge_fences.
1548         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
1549         sched groups.
1550         * sel-sched-ir.h (struct _fence): New field issue_more.
1551         (FENCE_ISSUE_MORE): New accessor macro.
1552
1553 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1554
1555         PR rtl-optimization/42388
1556         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
1557         that have no predecessors nor successors.  Do not call move_bb_info
1558         for empty blocks outside of current region.
1559
1560 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1561
1562         PR rtl-optimization/42294
1563         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
1564         * sel-sched.c (move_exprs_to_boundary): Transitively add all
1565         originators' originators.
1566
1567 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1568
1569         PR rtl-optimization/39453
1570         PR rtl-optimization/42246
1571         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
1572         for pipelining_p.
1573         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
1574
1575 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1576             Alexander Monakov  <amonakov@ispras.ru>
1577
1578         PR middle-end/42245
1579         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
1580         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
1581         argument.  Update all callers.
1582         (tidy_control_flow): ... and here.  Recompute topological order
1583         of basic blocks in region if necessary.
1584         (sel_redirect_edge_and_branch): Change return type.  Return true
1585         if topological order might have been invalidated.
1586         (purge_empty_blocks): Export and move from...
1587         * sel-sched.c (purge_empty_blocks): ... here.
1588         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
1589         (maybe_tidy_empty_bb): Delete prototype.
1590         (purge_empty_blocks): Declare.
1591
1592 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
1593
1594         PR rtl-optimization/42249
1595         * sel-sched.c (try_replace_dest_reg): When chosen register
1596         and original register is the same, do not bail out early, but
1597         still check all original insns for validity of replacing destination
1598         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
1599         in this case.
1600
1601 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1602
1603         PR c/42721
1604         Port from no-undefined-overflow branch:
1605         2009-03-09  Richard Guenther  <rguenther@suse.de>
1606
1607         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
1608
1609 2010-01-14  Richard Guenther  <rguenther@suse.de>
1610
1611         PR lto/42665
1612         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
1613
1614 2010-01-14  Ira Rosen  <irar@il.ibm.com>
1615
1616         PR tree-optimization/42709
1617         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
1618         as scalar type in creation of constant vector operand.
1619
1620 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1621
1622         PR testsuite/42414
1623         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
1624         (check-parallel-%): Match `testsuite' directory component only
1625         at the end.
1626
1627 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
1628
1629         PR translation/39521
1630         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
1631         strings with _().
1632
1633 2010-01-13  Richard Guenther  <rguenther@suse.de>
1634
1635         PR tree-optimization/42730
1636         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
1637         offset zero.
1638
1639 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
1640
1641         PR target/pr42542
1642         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
1643         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
1644         them signed.
1645
1646 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
1647
1648         * config/bfin/libgcc-bfin.ver: Regenerate based on current
1649         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
1650         ___umulsi3_highpart.
1651
1652         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
1653         rather than schedule_insns if the pass is enabled.
1654
1655 2010-01-13  Martin Jambor  <mjambor@suse.cz>
1656
1657         PR tree-optimization/42704
1658         * tree-sra.c (sra_modify_assign): Do not delete assignments to
1659         SSA_NAMEs.
1660
1661 2010-01-13  Martin Jambor  <mjambor@suse.cz>
1662
1663         PR tree-optimization/42703
1664         * tree-sra.c (analyze_access_subtree): Check that we can build a
1665         reference to the original data within the aggregate.
1666
1667 2010-01-13  Richard Guenther  <rguenther@suse.de>
1668
1669         PR tree-optimization/42705
1670         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1671
1672 2010-01-13  Richard Guenther  <rguenther@suse.de>
1673
1674         PR middle-end/42716
1675         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
1676
1677 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
1678
1679         PR debug/41371
1680         * var-tracking.c (values_to_unmark): New variable.
1681         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1682         values_to_unmark vector.  Moved body to...
1683         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
1684         instead queue it into values_to_unmark vector.
1685         (vt_find_locations): Free values_to_unmark vector.
1686
1687 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
1688
1689         * config/s390/s390.c (override_options): Set
1690         default of max-pending-list-length to 256
1691
1692 2010-01-13  Richard Guenther  <rguenther@suse.de>
1693
1694         PR lto/42678
1695         * tree-pass.h (PROP_gimple_lcx): New.
1696         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
1697         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
1698         before the final cleanup_eh.
1699         (dump_properties): Dump PROP_gimple_lcx.
1700         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
1701         (tree_lower_complex_O0): Remove.
1702         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
1703         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
1704         tree_lower_complex, schedule TODO_update_ssa.
1705         * lto-streamer-out.c (output_function): Stream the functions
1706         properties.
1707         * lto-streamer-in.c (input_function): Likewise.
1708         (lto_read_body): Do not override them here.
1709
1710 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
1711
1712         PR c/42708
1713         * c-typeck.c (build_c_cast): Fold value cast to union type before
1714         wrapping it in a CONSTRUCTOR.
1715
1716 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
1717
1718         PR rtl-optimization/42699
1719         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
1720         involved.
1721
1722 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1723
1724         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
1725         SUBTARGET_WARN_UNUSED_SPEC): Move ...
1726         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
1727         SUBTARGET_WARN_UNUSED_SPEC): ... here
1728         * config/mips/iris5.h (LIBGCC_SPEC): Define.
1729
1730 2010-01-12  Julian Brown  <julian@codesourcery.com>
1731
1732         * config/arm/neon-schedgen.ml (Utils): Don't try to
1733         open missing module.
1734         (find_with_result): New.
1735
1736 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
1737
1738         PR debug/42662
1739         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
1740         sharing when canonicalizing ({lt,ge}u (plus a b) b).
1741
1742         PR tree-optimization/42645
1743         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
1744         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
1745         decl_map, set processing_debug_stmt to -1 and return name without
1746         any remapping.
1747
1748 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
1749
1750         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
1751         binutils version, and reword target configuration description.
1752
1753 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
1754
1755         * config/avr/avr.h (LINKER_NAME): Remove.
1756
1757 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
1758
1759         PR target/42416
1760         * config/rs6000/rs6000.c (rs6000_override_options): On targets
1761         that support VSX, warn for -mno-altivec if vsx is not disabled,
1762         and disable vsx.
1763
1764 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
1765             Shujing Zhao  <pearly.zhao@oracle.com>
1766
1767         PR translation/42469
1768         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
1769         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
1770         character between option name and help text.
1771         * c.opt (imultilib): Likewise.
1772
1773 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
1774
1775         * lto-streamer-out.c (output_unreferenced_globals): Output static
1776         variables.
1777
1778 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
1779
1780         PR rtl-optimization/42621
1781         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
1782         optimizing for size.
1783         (duplicate_computed_gotos): Remove now-redundant check.
1784
1785 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
1786
1787         PR target/37454
1788         * configure.ac: Save and restore LDFLAGS and LIBS
1789         * configure: Regenerate.
1790
1791 2010-01-10  Richard Guenther  <rguenther@suse.de>
1792
1793         PR middle-end/42667
1794         * builtins.c (fold_builtin_strlen): Add type argument and
1795         convert the resulting length to it.
1796         (fold_builtin_1): Adjust.
1797
1798 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
1799
1800         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
1801         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
1802         1 insn.
1803         (num_insns_constant_wide): Adjust for that change.
1804
1805 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1806
1807         PR debug/42631
1808         * web.c (union_defs): Add used argument, to combine uses of
1809         uninitialized regs.
1810         (entry_register): Adjust type and tests of used argument.
1811         (web_main): Widen used for new use.  Pass it to union_defs.
1812         * df.h (union_defs): Adjust prototype.
1813
1814 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1815
1816         PR debug/42630
1817         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
1818         uses in new incoming argument.  Free body.
1819         (reset_debug_uses_in_loop): New.
1820         (analyze_insn_to_expand_var): Call the latter if the former found
1821         anything.  Fix whitespace.  Reject invalid dest overlaps before
1822         going through all insns in the loop.
1823
1824 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1825
1826         PR debug/42629
1827         * haifa-sched.c (dying_use_p): Debug insns don't count.
1828
1829 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1830
1831         PR middle-end/42363
1832         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
1833         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
1834         (verify_gimple_call): Reject LHS in noreturn calls.
1835
1836 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1837
1838         PR debug/42604
1839         PR debug/42395
1840         * tree-vect-loop-manip.c (adjust_info): New type.
1841         (adjust_vec): New pointer to vector.
1842         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
1843         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
1844         (slpeel_update_phis_for_duplicate_loop): Use them.
1845         (slpeel_update_phi_nodes_for_guard1): Likewise.
1846         (slpeel_update_phi_nodes_for_guard2): Likewise.
1847         (slpeel_tree_peel_loop_to_edge): Likewise.
1848         (vect_update_ivs_after_vectorizer): Likewise.
1849
1850 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1851
1852         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
1853         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
1854
1855 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1856
1857         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
1858         bogus uninitialized warning.
1859
1860 2010-01-09  Richard Guenther  <rguenther@suse.de>
1861
1862         PR middle-end/42512
1863         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
1864         the evolution is compatible with the initial condition.
1865
1866 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
1867
1868         * gcc.c (process_command): Update copyright notice dates.
1869         * gcov.c (print_version): Likewise.
1870         * gcov-dump.c (print_version): Likewise.
1871         * mips-tfile.c (main): Likewise.
1872         * mips-tdump.c (main): Likewise.
1873
1874 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
1875
1876         PR target/41885
1877         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
1878         (rotlhi3): Delete.
1879         (rotlhi3_8): Delete.
1880         (rotlsi3): Delete.
1881         (rotlsi3_8): Delete.
1882         (rotlsi3_16): Delete.
1883         (rotlsi3_24): Delete.
1884         (rotl<mode>3): New.
1885         (*rotw<mode>3): New.
1886         (*rotb<mode>3): New.
1887         * config/avr/avr.c (avr_rotate_bytes): New function.
1888         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
1889
1890 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
1891
1892         PR target/37454
1893         * configure.ac: Modify -rdynamic check.
1894         * configure: Regenerate.
1895
1896 2010-01-08  DJ Delorie  <dj@redhat.com>
1897
1898         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
1899         register popping order.
1900
1901 2010-01-08  Richard Guenther  <rguenther@suse.de>
1902
1903         PR lto/42528
1904         * c.opt (fsigned-char): Also let LTO handle this option.
1905         (funsigned-char): Likewise.
1906
1907 2010-01-07  Richard Guenther  <rguenther@suse.de>
1908
1909         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
1910         (gimple_op): Likewise.
1911         (gimple_op_ptr): Likewise.
1912         (gimple_assign_set_lhs): Remove gcc_assert.
1913         (gimple_assign_set_rhs1): Likewise.
1914         (gimple_assign_set_rhs2): Likewise.
1915         (gimple_call_set_lhs): Likewise.
1916         (gimple_call_set_fn): Likewise.
1917         (gimple_call_set_fndecl): Likewise.
1918         (gimple_call_fndecl): Likewise.
1919         (gimple_call_return_type): Likewise.
1920         (gimple_call_set_chain): Likewise.
1921         (gimple_call_num_args): Likewise.
1922         (gimple_call_set_arg): Likewise.
1923         (gimple_cond_set_code): Likewise.
1924         (gimple_cond_set_lhs): Likewise.
1925         (gimple_cond_set_rhs): Likewise.
1926         (gimple_cond_set_true_label): Likewise.
1927         (gimple_cond_set_false_label): Likewise.
1928         (gimple_label_set_label): Likewise.
1929         (gimple_goto_set_dest): Likewise.
1930         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
1931         (gimple_debug_bind_get_value): Likewise.
1932         (gimple_debug_bind_get_value_ptr): Likewise.
1933         (gimple_debug_bind_set_var): Likewise.
1934         (gimple_debug_bind_set_value): Likewise.
1935         (gimple_debug_bind_reset_value): Likewise.
1936         (gimple_debug_bind_has_value_p): Likewise.
1937         (gimple_return_retval_ptr): Remove gcc_assert.
1938         (gimple_return_retval): Likewise.
1939         (gimple_return_set_retval): Likewise.
1940         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
1941         (safe_referenced_var_iterator): Remove.
1942         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
1943         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
1944         (fill_referenced_var_vec): Remove.
1945         (first_readonly_imm_use): Remove redundant gcc_assert.
1946         (phi_arg_index_from_use): Combine gcc_asserts.
1947         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
1948         (first_imm_use_stmt): Remove redundant gcc_assert.
1949         * tree-cfg.c (verify_gimple_call): Verify function and chain
1950         operands.  Verify arguments.
1951         (verify_types_in_gimple_stmt): Verify condition code and labels.
1952
1953 2010-01-07  Richard Guenther  <rguenther@suse.de>
1954
1955         PR tree-optimization/42641
1956         * sese.c (rename_map_elt_info): Use the SSA name version, do
1957         not hash pointers.
1958
1959 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
1960
1961         PR tree-optimization/42625
1962         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
1963         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
1964
1965 2010-01-07  Duncan Sands  <baldrick@free.fr>
1966
1967         * Makefile.in (PLUGIN_HEADERS): Add version.h.
1968
1969 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
1970
1971         PR target/42511
1972         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
1973         note itself is not function_invariant_p.
1974
1975 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
1976
1977         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
1978         Do not add the DF_NOTE problem.
1979         * store-motion.c (execute_rtl_store_motion): Likewise.
1980
1981 2010-01-07  Martin Jambor  <mjambor@suse.cz>
1982
1983         PR tree-optimization/42157
1984         * tree-sra.c (compare_access_positions): Stabilize sort if both
1985         accesses have integer types, return zero immediately if they are the
1986         same.
1987
1988 2010-01-06  Richard Henderson  <rth@redhat.com>
1989
1990         PR middle-end/41883
1991         * haifa-sched.c (add_to_note_list): Merge into ...
1992         (concat_note_lists): ... here, and ...
1993         (unlink_other_notes, rm_other_notes): Merge into...
1994         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
1995         NOTE_INSN_EPILOGUE_BEG.
1996
1997 2010-01-06  Richard Guenther  <rguenther@suse.de>
1998
1999         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
2000         not inline regular functions into always-inline functions.
2001
2002 2010-01-06  Nick Clifton  <nickc@redhat.com>
2003
2004         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
2005         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
2006         used together.
2007         (OVERRIDE_OPTIONS): Delete.
2008         (OPTIMIZATION_OPTIONS): Define.
2009         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
2010         * config/rx/rx.c (rx_handle_option): Issue an error message if
2011         -mcpu=rx200 and -fpu are used together.
2012         (rx_set_optimization_options): New function.  Issue an error
2013         message if an optimization attribute attempts to reset the FPU/
2014         math optimization pairing.
2015         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
2016         * config/rx/rx.opt: Set the default to 32-bit doubles.
2017         * config/rx/t-rx: Add multilibs for -nofpu option.
2018         * doc/invoke.texi: Update documentation of RX options.
2019
2020 2010-01-06  Richard Guenther  <rguenther@suse.de>
2021
2022         * tree-ssa-pre.c (name_to_id): New global.
2023         (alloc_expression_id): Simplify SSA name handling.
2024         (lookup_expression_id): Likewise.
2025         (init_pre): Zero name_to_id.
2026         (fini_pre): Free it.
2027
2028 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
2029
2030         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
2031
2032 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
2033
2034         PR target/42542
2035         * config/i386/sse.md (smaxv2di3): New.
2036         (umaxv2di3): Likewise.
2037         (sminv2di3): Likewise.
2038         (uminv2di3): Likewise.
2039
2040 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
2041
2042         PR target/42564
2043         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
2044         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
2045         (legitimize_tls_address): Likewise.
2046         (sparc_tls_referenced_p): Likewise.
2047         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
2048         and adjust calls to legitimize_pic_address.
2049         (legitimate_constant_p) Use sparc_tls_referenced_p.
2050         (legitimate_pic_operand_p): Likewise.
2051         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
2052         (sparc_tls_symbol_ref_1): Delete.
2053         (sparc_tls_referenced_p): Make static, recognize specific patterns.
2054         (legitimize_tls_address): Make static, handle CONST patterns.
2055         (legitimize_pic_address): Make static, remove unused parameter and
2056         adjust recursive calls.
2057         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
2058         and adjust call to legitimize_pic_address.
2059         (sparc_output_mi_thunk): Likewise.
2060
2061 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
2062             H.J. Lu  <hongjiu.lu@intel.com>
2063
2064         PR target/42542
2065         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
2066         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
2067         operands to make them signed.
2068
2069         Revert:
2070         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2071
2072         PR target/42542
2073         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
2074         GTU to GT for V4SI and V2DI.
2075
2076         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
2077         (umin<mode>3): Removed.
2078         (uminv8hi3): New.
2079         (uminv4si3): Likewise.
2080
2081 2010-01-05  Martin Jambor  <mjambor@suse.cz>
2082
2083         PR tree-optimization/42462
2084         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
2085         current_function_decl to helper functions and macros.
2086
2087 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2088
2089         PR bootstrap/41771
2090         * flags.h: Don't include real.h.
2091         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
2092         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
2093         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
2094         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
2095         * dominance.c: Update copyright.
2096         * gimple.c (walk_gimple_op): Remove inline.
2097         * tree-ssa-reassoc.c: Include real.h.
2098         * Makefile.in (FLAGS_H): Remove $(REAL_H).
2099         (tree-ssa-reassoc.o): Depend on $(REAL_H).
2100
2101 2010-01-05  Nick Clifton  <nickc@redhat.com>
2102
2103         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
2104         register to push into the stack frame when the accumulator has to
2105         be saved during interrupts.
2106
2107 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
2108
2109         * doc/invoke.texi: Remove the documentation about option
2110         -Wunreachable-code.
2111         * common.opt (Wunreachable-code):  Preserved for backward
2112         compatibility.
2113         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
2114         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
2115         the backward compatibility flag section.
2116
2117 2010-01-05  Richard Guenther  <rguenther@suse.de>
2118
2119         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
2120
2121 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
2122
2123         PR other/42611
2124         * cfgexpand.c (expand_one_var): Diagnose too large variables.
2125
2126         PR tree-optimization/42508
2127         * tree-sra.c (convert_callers): Check for recursive call
2128         by comparing cgraph nodes instead of decls.
2129         (modify_function): Call ipa_modify_formal_parameters also
2130         on all same_body aliases.
2131
2132         * cgraphunit.c (cgraph_materialize_all_clones): Compare
2133         cgraph nodes when checking for same_body aliases.
2134
2135 2010-01-05  Richard Guenther  <rguenther@suse.de>
2136
2137         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
2138         allocation and lookup.
2139         (get_or_alloc_expr_for_constant): Likewise.
2140         (phi_translate): Sink allocation.
2141
2142 2010-01-04  Richard Guenther  <rguenther@suse.de>
2143
2144         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
2145         a new entry only if needed.
2146         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
2147         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
2148         hashtable lookup.
2149         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
2150         the result array.
2151         (phi_translate): Handle CONSTANTs early.
2152
2153 2010-01-04  Martin Jambor  <mjambor@suse.cz>
2154
2155         PR tree-optimization/42398
2156         * tree-sra.c (struct access): Removed flag grp_different_types.
2157         (dump_access): Do not dump the removed flag.
2158         (sort_and_splice_var_accesses): Do not set the removed flag.
2159         (sra_modify_expr): Check for type compatibility directly.
2160
2161 2010-01-04  Martin Jambor  <mjambor@suse.cz>
2162
2163         PR tree-optimization/42366
2164         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
2165         edges with variable number of parameters.
2166         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
2167         flag instead of asserting it.
2168         (ipa_read_node_info): Read uses_analysis_done flag.
2169
2170 2010-01-04  Richard Guenther  <rguenther@suse.de>
2171
2172         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
2173         iterative_hash_* as intended.
2174         (vn_reference_compute_hash): Likewise.  Simplify hashing
2175         SSA names.
2176         (vn_reference_lookup_2): Likewise.
2177         (vn_nary_op_compute_hash): Likewise.
2178         (vn_phi_compute_hash): Likewise.
2179         (expressions_equal_p): Remove strange code.
2180         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
2181         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
2182         (bitmap_insert_into_set_1): Take value-id as parameter.
2183         (add_to_value): Pass it.
2184         (bitmap_insert_into_set): Likewise.
2185         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
2186
2187 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
2188
2189         PR driver/42442
2190         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
2191         (do_self_spec): For switches with SWITCH_IGNORE set set also
2192         SWITCH_IGNORE_PERMANENTLY.
2193         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
2194         of SWITCH_IGNORE.
2195
2196 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
2197
2198         * lto-streamer-out.c (output_unreferenced_globals): Output the full
2199         tree of an unreferenced global var.
2200
2201 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2202
2203         PR target/42542
2204         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
2205         GTU to GT for V4SI and V2DI.
2206
2207         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
2208         (umin<mode>3): Removed.
2209         (uminv8hi3): New.
2210         (uminv4si3): Likewise.
2211
2212 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2213
2214         PR lto/42581
2215         * collect2.c (main): Turn on trace in collect2 if -v is passed
2216         to gcc with LTO.
2217
2218 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
2219
2220         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
2221         description of expression operand.
2222
2223 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
2224
2225         * configure.ac: Add install-html to target_list for Make-hooks.
2226         * configure: Regenerate.
2227         * fortran/Make-lang.in (F95_HTMLFILES): New.
2228         (fortran.html): Use it.
2229         (fortran.install-html): New.
2230         * Makefile.in (install-html): Add lang.install-html.
2231         * java/Make-lang.in (JAVA_HTMLFILES): New.
2232         (java.html): Use it.
2233         (java.install-html): New.
2234         * objc/Make-lang.in (objc.install-html): New.
2235         * objcp/Make-lang.in (obj-c++.install-html): New.
2236         * cp/Make-lang.in (c++.install-html): New.
2237         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
2238         * lto/Make-lang.in (lto.install-html): New.
2239
2240 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
2241
2242         PR lto/42520
2243         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
2244
2245 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
2246
2247         PR rtl-optimization/41862
2248         * store-motion.c (store_killed_in_insn, compute_store_table,
2249         remove_reachable_equiv_notes, replace_store_insn,
2250         build_store_vectors): Ignore all DEBUG_INSNs.
2251
2252 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
2253
2254         PR lto/41564
2255         * common.opt: Add dumpdir.
2256
2257         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
2258         isn't specified.
2259         (option_map): Add --dumpdir.
2260
2261         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
2262
2263         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
2264
2265         * opts.c (decode_options): Try dump_dir_name first if
2266         dump_base_name isn't an absolute path.
2267         (common_handle_option): Handle OPT_dumpdir.
2268
2269         * toplev.c (dump_dir_name): New.
2270         (print_switch_values): Also ignore -dumpdir.
2271
2272         * toplev.h (dump_dir_name): New.
2273
2274 2010-01-03  Richard Guenther  <rguenther@suse.de>
2275
2276         PR tree-optimization/42589
2277         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
2278         double-word expansion of bswap32.
2279
2280 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
2281
2282         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
2283         with BLOCK_FOR_INSN.
2284         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
2285         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
2286         noce_process_if_block): Likewise.
2287         * gcse.c (compute_local_properties, insert_expr_in_table,
2288         insert_set_in_table, canon_list_insert, find_avail_set,
2289         pre_insert_copy_insn): Likewise.
2290
2291         * basic-block.h (BLOCK_NUM): Move from here...
2292         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
2293
2294 2010-01-03  Richard Guenther  <rguenther@suse.de>
2295
2296         PR tree-optimization/42438
2297         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
2298         contains_may_not_return_call flag.
2299         (BB_MAY_NOTRETURN): New.
2300         (valid_in_sets): Trapping nary operations are not valid
2301         in blocks that may not return.
2302         (insert_into_preds_of_block): Remove check for trapping expressions.
2303         (compute_avail): Compute also BB_MAY_NOTRETURN.
2304
2305 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
2306
2307         * doc/invoke.texi: Add 2010 to copyright years.
2308
2309 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
2310
2311         * config/sparc/sparc.c: Fix formatting nits.
2312
2313 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
2314             Alexander Monakov  <amonakov@ispras.ru>
2315
2316         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
2317
2318 2010-01-02  Richard Guenther  <rguenther@suse.de>
2319
2320         PR middle-end/42577
2321         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
2322         (simplify_switch_using_ranges): Mark to be removed edges
2323         as non-executable.
2324
2325 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2326
2327         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2328
2329         * collect2.c (scan_libraries): Add missing argument in call to
2330         scan_prog_file.
2331
2332 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
2333
2334         PR target/42448
2335         * config/alpha/predicates.md (aligned_memory_operand): Return false
2336         for CQImode.
2337         (unaligned_memory_operand): Return true for CQImode.
2338         * config/alpha/alpha.c (get_aligned_mem): Assert that location
2339         doesn not cross aligned SImode word boundary.
2340
2341 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
2342
2343         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
2344         Remove.
2345         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
2346         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
2347
2348 2010-01-02  Richard Guenther  <rguenther@suse.de>
2349
2350         PR lto/41597
2351         * toplev.c (compile_file): Emit LTO marker properly.  Change
2352         it to __gnu_lto_v1.
2353         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
2354
2355 2010-01-01  Richard Guenther  <rguenther@suse.de>
2356
2357         PR debug/42455
2358         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
2359
2360 2010-01-01  Richard Guenther  <rguenther@suse.de>
2361
2362         PR c/42570
2363         * c-decl.c (grokdeclarator): For zero-size arrays force
2364         structural equality checks as layout_type does.
2365
2366 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
2367
2368         * builtins.c: Update copyright to 2010.
2369
2370 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
2371
2372         PR lto/42531
2373         * lto-streamer-out.c (produce_asm): Revert the last change.
2374         (copy_function): Likewise.
2375
2376         * lto-streamer.c (lto_get_section_name): Skip any leading
2377         asterisk in name.
2378
2379 2010-01-01  Richard Guenther  <rguenther@suse.de>
2380
2381         PR middle-end/42559
2382         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
2383         for LABEL_DECLs.
2384
2385 \f
2386 Copyright (C) 2010 Free Software Foundation, Inc.
2387
2388 Copying and distribution of this file, with or without modification,
2389 are permitted in any medium without royalty provided the copyright
2390 notice and this notice are preserved.