OSDN Git Service

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