OSDN Git Service

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