OSDN Git Service

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