OSDN Git Service

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