OSDN Git Service

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