OSDN Git Service

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