OSDN Git Service

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