OSDN Git Service

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