OSDN Git Service

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