OSDN Git Service

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