OSDN Git Service

2010-03-29 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-03-29  Richard Guenther  <rguenther@suse.de>
2
3         PR tree-optimization/43560
4         * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p
5         parameter.
6         (can_sm_ref_p): Treat stores to readonly locations as
7         trapping.
8
9 2010-03-29  Jie Zhang  <jie@codesourcery.com>
10
11         PR 43564
12         * toplev.c (process_options): Set optimization_default_node
13         and optimization_current_node.
14         * opts.c (decode_options): Don't set optimization_default_node
15         and optimization_current_node.
16
17 2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
18
19         * config/rtems.h: Abandon -qrtems_debug.
20
21 2010-03-28  Jan Hubicka  <jh@suse.cz>
22
23         PR tree-optimization/43505
24         * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
25         map should not be copied.
26
27 2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
28
29         PR middle-end/41674
30         * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
31         cdtors, set DECL_PRESERVE_P.
32         * ipa.c (cgraph_externally_visible_p): Return true if declaration
33         should be preseved.
34
35 2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
36
37         PR tree-optimization/43528
38         * stor-layout.c (place_field): Check that constant fits into
39         unsigned HWI when skipping calculation of MS bitfield layout.
40
41 2010-03-27  Jan Hubicka  <jh@suse.cz>
42
43         PR middle-end/43391
44         * varasm.c (make_decl_rtl): Deal with COMMON flag to make
45         notice_global_symbol work.
46
47 2010-03-27  Jakub Jelinek  <jakub@redhat.com>
48
49         * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
50         instead of dwarf2out_decl.
51         (struct var_loc_node): Remove section_label field.
52         (dwarf2out_function_decl): New function.
53         (dwarf2out_var_location): Don't set section_label field.
54         (dwarf2out_begin_function): Don't empty decl_loc_table here.
55
56 2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
57
58         PR tree-optimization/43544
59         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
60         First argument for builtin vectorized function hook is now a
61         tree to be able to distinguish between machine specific and
62         standard builtins.
63         * targhooks.c (default_builtin_vectorized_function): Ditto.
64         * targhooks.h (default_builtin_vectorized_function): Ditto.
65         * target.h (struct gcc_target): Ditto.
66         * tree-vect-stmts.c (vectorizable_function): Ditto.
67         * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
68         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
69         Ditto.
70
71 2010-03-26  Joseph Myers  <joseph@codesourcery.com>
72
73         PR c/43381
74         * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
75         nested binding iff it is a FUNCTION_DECL.
76         (store_parm_decls_newstyle): Pass nested=true to bind for
77         FUNCTION_DECLs amongst parameters.
78
79 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
80
81         * var-tracking.c (vt_expand_loc_callback): Don't run
82         cselib_expand_value_rtx_cb in dummy mode if
83         cselib_dummy_expand_value_rtx_cb returned false.
84
85         * var-tracking.c (emit_note_insn_var_location): For one part
86         notes with offset 0, don't add EXPR_LIST around the location.
87         * dwarf2out.c (loc_descriptor, dw_loc_list_1,
88         add_location_or_const_value_attribute): Adjust for that change.
89
90         PR debug/43540
91         * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
92         into first operand and location into second.
93         (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
94         dw_cfi_oprnd_loc for DW_CFA_expression.
95         (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
96         (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
97         assume first argument is regnum and second argument is location.
98
99 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
100
101         PR target/42113
102         * config/alpha/alpha.md (*cmp_sadd_si): Change mode
103         of scratch register to DImode.  Split to DImode comparison operator.
104         Use SImode subreg of scratch register in the multiplication.
105         (*cmp_sadd_sidi): Ditto.
106         (*cmp_ssub_si): Ditto.
107         (*cmp_ssub_sidi): Ditto.
108
109 2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
110
111         PR target/43524
112         * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
113         Remove invalid assert and wrong comment.
114
115 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
116
117         PR debug/43516
118         * flags.h (final_insns_dump_p): New extern.
119         * final.c (final_insns_dump_p): New variable.
120         (rest_of_clean_state): Set it before -fdump-final-insns=
121         dumping, clear afterwards.
122         * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
123         MEM_ALIAS_SET on MEMs.
124
125 2010-03-26  David S. Miller  <davem@davemloft.net>
126
127         * configure.ac: Fix sparc GOTDATA_OP bug check.
128         * configure: Rebuild.
129
130 2010-03-26  Alan Modra  <amodra@gmail.com>
131
132         * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
133
134 2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
135
136         * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
137         TLS_SECTION_ASM_FLAG.
138
139 2010-03-25  Jakub Jelinek  <jakub@redhat.com>
140
141         PR bootstrap/43511
142         * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
143         Clear first_function_block_is_cold.
144
145         PR c/43385
146         * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
147         argument if the argument is truth_value_p.
148
149 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
150
151         * config/rs6000/constraints.md: Update copyright year for my changes.
152
153         PR target/43484
154         * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
155         used in reg+reg addressing, swap registers.
156
157 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
158
159         PR debug/43293
160         * target.h (struct gcc_target): Add code_end hook.
161         * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
162         if not yet defined.
163         (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
164         * toplev.c (compile_file): Call targetm.asm_out.code_end
165         hook before unwind info/debug info output.
166         * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
167         * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
168         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
169         * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
170         (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
171         * config/i386/i386.c (ix86_file_end): Renamed to...
172         (ix86_code_end): ... this.  Make static.  Don't call
173         file_end_indicate_exec_stack.  Emit unwind info using
174         final_start_function/final_end_function.
175         (darwin_x86_file_end): Remove.
176         (TARGET_ASM_CODE_END): Define.
177         * config/i386/i386.h (TARGET_ASM_FILE_END,
178         NEED_INDICATE_EXEC_STACK): Don't define.
179         * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
180         (TARGET_ASM_FILE_END): Define to darwin_file_end.
181         * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
182         * doc/tm.texi (TARGET_ASM_CODE_END): Document.
183
184         PR target/43498
185         * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
186         at the beginning and final_end_function at the end.
187         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
188
189 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
190
191         * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
192         and Sun as TLS syntax.
193         (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
194         * configure: Regenerate.
195         * config.in: Regenerate.
196         * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
197         (default_elf_asm_named_section): Use it.
198         * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
199         (i386_output_dwarf_dtprel): Likewise.
200         (output_addr_const_extra): Likewise.
201         (output_pic_addr_const): Lowercase @GOTTPOFF.
202         (output_addr_const_extra): Likewise.
203         (output_pic_addr_const): Lowercase @GOTNTPOFF.
204         (output_addr_const_extra): Likewise.
205         (output_pic_addr_const): Lowercase @INDNTPOFF.
206         (output_addr_const_extra): Likewise.
207         (output_pic_addr_const): Lowercase @NTPOFF.
208         (output_addr_const_extra): Likewise.
209         (output_pic_addr_const): Lowercase @TPOFF.
210         (output_addr_const_extra): Likewise.
211         * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
212         (*tls_global_dynamic_64): Likewise.
213         (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
214         (*tls_local_dynamic_base_64): Lowercase @TLSLD.
215
216         * defaults.h (TLS_COMMON_ASM_OP): Provide default.
217         (ASM_OUTPUT_TLS_COMMON): Use it.
218         * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
219
220         PR target/38118
221         * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
222         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
223         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
224         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
225         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
226         (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
227
228 2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
229
230         * config/i386/i386.c (override_options): Don't accept
231         -mtls-dialect=sun any longer.
232         * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
233         * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
234         (*tls_local_dynamic_base_32_sun): Likewise.
235         * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
236
237 2010-03-24  Jakub Jelinek  <jakub@redhat.com>
238
239         PR debug/43508
240         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
241         VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
242
243         PR debug/43479
244         * ira.c (adjust_cleared_regs): New function.
245         (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
246
247         PR debug/19192
248         PR debug/43479
249         * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
250         from gimple_block.
251         * expr.c (expand_expr_real): Restore previous
252         curr_insn_source_location and curr_insn_block after
253         expand_expr_real_1 call.
254         (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
255         instead of expand_expr_real_1.
256
257 2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
258
259         PR rtl-optimization/43413
260         * ira-color.c (setup_allocno_available_regs_num): Count prohibited
261         hard regs too.
262
263 2010-03-22  James E. Wilson  <wilson@codesourcery.com>
264
265         PR target/43348
266         * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
267         call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
268
269 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
270
271         * config/i386/i386.c (ix86_target_string): Add -mfma.
272         Fix a typo in comment.
273
274 2010-03-22  Mike Stump  <mikestump@comcast.net>
275
276         PR target/23071
277         * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
278         Don't overly align based upon packed packed fields.
279
280 2010-03-22  Jason Merrill  <jason@redhat.com>
281
282         * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
283         Use () rather than [], and move before the element type.
284
285 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
286
287         * doc/configfiles.texi (Configuration Files): Removed
288         fixinc/Makefile*, intl/Makefile.*.
289         * doc/makefile.texi: Fixed markup. Abstract from version
290         control system used.
291         (Makefile): Removed obsolete gcc/java/parse.y example.
292         * doc/sourcebuild.texi: Likewise.
293         (Top Level): Added config, gnattools, libdecnumber, libgcc,
294         libgomp, libssp.  Removed fastjar.
295         (Miscellaneous Docs): Clarify location.
296         Added COPYING3, COPYING3.LIB.
297         (Front End Directory): Moved Make-lang.in entry to new subsubsection.
298
299 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
300
301         PR target/38085
302         * config/i386/i386.c (x86_function_profiler)
303         [!NO_PROFILE_COUNTERS]: Fix typo.
304         * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
305         instead of callq.
306
307 2010-03-22  Janis Johnson  <janis187@us.ibm.com>
308             Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
309
310         * doc/sourcebuild.texi (Test Directives): Split into six
311         subsections, with most of the current text in new subsections
312         Directives, Selectors, and Final Actions.
313         (Directives): Split list of test directives into multiple
314         subsubsections.
315         (Selectors): Describe use and syntax of selectors.
316         (Effective-Target Keywords): Describe all existing keywords.
317         (Add Options): Describe features for dg-add-options.
318         (Require Support): Describe variants of dg-require-support.
319         (Final Actions): Describe commands to use in dg-final.
320
321 2010-03-22  Michael Matz  <matz@suse.de>
322
323         PR middle-end/43475
324         * recog.c (validate_replace_rtx_group): Replace also in
325         REG_EQUAL and REG_EQUIV notes.
326
327 2010-03-22  Richard Guenther  <rguenther@suse.de>
328
329         PR tree-optimization/43390
330         * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
331         sure vector extracts are type correct.
332
333 2010-03-22  Richard Guenther  <rguenther@suse.de>
334
335         PR middle-end/40106
336         * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
337         x * sqrt (x) even when optimizing for size if the target
338         has native support for sqrt.
339
340 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
341
342         * varasm.c (make_decl_rtl_for_debug): Also clear
343         flag_mudflap for the duration of make_decl_rtl call.
344
345         PR debug/43443
346         * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
347         locs from preserved VALUEs.
348
349 2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
350
351         PR middle-end/42718
352         * pa.md (movmemsi): Set align to one if zero.
353         (movmemdi): Likewise.
354
355 2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
356
357         PR target/42321
358         * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
359         with their corresponding prologue pushes.
360
361 2010-03-20  Andrew Pinski  <pinskia@gmail.com>
362
363         PR target/43156
364         * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
365         at the begining or end.
366         (spu_expand_epilogue): Likewise.
367
368 2010-03-20  Richard Guenther  <rguenther@suse.de>
369
370         PR rtl-optimization/43438
371         * combine.c (make_extraction): Properly zero-/sign-extend an
372         extraction of the low part of a CONST_INT.  Also handle
373         CONST_DOUBLE.
374
375 2010-03-19  Mike Stump  <mikestump@comcast.net>
376
377         * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
378         * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
379         (override_options): Use SUBTARGET32_DEFAULT_CPU.
380
381 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
382
383         PR c/43211
384         * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
385         an error.
386
387 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
388
389         PR rtl-optimization/42258
390         * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
391         use that may match DEF.
392
393         PR target/40697
394         * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
395         the cost of loading the constant rather than assuming
396         COSTS_N_INSNS (1).
397         * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
398         outer code is AND, do the same tests as the andsi3 expander and
399         return COSTS_N_INSNS (1) if and is cheap.
400
401         * optabs.c (avoid_expensive_constant): Fix formatting.
402
403 2010-03-19  Michael Matz  <matz@suse.de>
404
405         PR c++/43116
406         * attribs.c (decl_attributes): When rebuilding a function pointer
407         type use the same qualifiers as the original pointer type.
408
409 2010-03-19  Martin Jambor  <mjambor@suse.cz>
410
411         * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
412         and is_gimple_ip_invariant_address.
413
414 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
415
416         Revert
417         2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
418
419         * config/arm/arm.c (arm_override_options): Turn off
420         flag_dwarf2_cfi_asm for AAPCS variants.
421
422 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
423
424         PR target/43399
425         * config/arm/arm.c (emit_multi_reg_push): Update comments.
426         Use PRE_MODIFY instead of PRE_DEC.
427         (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
428         (vfp_emit_fstmd): Likewise.
429
430 2010-03-19  Michael Matz  <matz@suse.de>
431
432         PR target/43305
433         * builtins.c (expand_builtin_interclass_mathfn,
434         expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
435         if that fails.
436
437 2010-03-19  Richard Guenther  <rguenther@suse.de>
438
439         PR tree-optimization/43415
440         * tree-ssa-pre.c (phi_translate): Split out worker to ...
441         (phi_translate_1): ... this.
442         (phi_translate): Move all caching here.  Cache all NARY
443         and REFERENCE translations.
444
445 2010-03-19  David S. Miller  <davem@davemloft.net>
446
447         With help from Eric Botcazou.
448         * config/sparc/sparc.c: Include dwarf2out.h.
449         (emit_pic_helper): Delete.
450         (pic_helper_symbol_name): Delete.
451         (pic_helper_emitted_p): Delete.
452         (pic_helper_needed): New.
453         (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
454         (get_pc_thunk_name): New.
455         (load_pic_register): Remove 'delay_pic_helper' arg.  Use
456         get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
457         Set pic_helper_needed to true.  Don't call emit_pic_helper.
458         (sparc_expand_prologue): Update load_pic_register call.
459         (sparc_output_mi_thunk): Likewise.
460         (sparc_file_end): Emit a hidden comdat symbol for the PIC
461         thunk if possible.  Output CFI information as needed.
462
463 2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
464             Jack Howarth <howarth@bromo.med.uc.edu>
465
466         PR target/36399
467         * config/i386/i386.h: Fix ABI on darwin x86-32.
468
469 2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
470
471         * tree.h: Declare make_decl_rtl_for_debug.
472         * varasm.c (make_decl_rtl_for_debug): New.
473         * dwarf2out.c (rtl_for_decl_location): Call it.
474         * cfgexpand.c (expand_debug_expr): Call it.
475
476 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
477
478         PR bootstrap/43399
479         * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
480         mem_mode.
481
482         PR bootstrap/43403
483         * var-tracking.c (vt_init_cfa_base): Do nothing if
484         cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
485
486 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
487
488         PR debug/42873
489         * var-tracking.c (canonicalize_vars_star): New.
490         (dataflow_post_merge_adjust): Use it.
491
492 2010-03-18  Jakub Jelinek  <jakub@redhat.com>
493
494         PR debug/43058
495         * var-tracking.c (non_suitable_const): New function.
496         (add_uses): For DEBUG_INSNs with constants, don't record any
497         value, instead just the constant value itself.
498         (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
499         is not VAR_LOC_UNKNOWN_P, set var to the constant.
500         (emit_notes_in_bb): Likewise.
501         (emit_note_insn_var_location): For onepart variables if
502         cur_loc is a VOIDmode constant, use DECL_MODE.
503
504 2010-03-18  Martin Jambor  <mjambor@suse.cz>
505
506         PR middle-end/42450
507         * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
508         * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
509         all non-clones.  Moved call redirection...
510         (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
511         (cgraph_materialize_all_clones): Dispose of all
512         combined_args_to_skip bitmaps.
513         (verify_cgraph_node): Do not check for edges pointing to wrong
514         nodes in inline clones.
515         * tree-inline.c (copy_bb): Call
516         cgraph_redirect_edge_call_stmt_to_callee.
517         * ipa.c (cgraph_remove_unreachable_nodes): Call
518         cgraph_node_remove_callees even when there are used clones.
519
520 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
521
522         * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
523
524 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
525
526         PR target/43383
527         * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
528         for 32bit.
529
530 2010-03-18  Michael Matz  <matz@suse.de>
531
532         PR middle-end/43419
533         * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
534         into sqrt(x) if we need to preserve signed zeros.
535
536 2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
537             Eric Botcazou  <ebotcazou@adacore.com>
538
539         PR rtl-optimization/43360
540         * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
541         note if we don't know its invariant status.
542
543 2010-03-18  Michael Matz  <matz@suse.de>
544
545         PR tree-optimization/43402
546         * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
547         PHI chains of ssa names registered for update.
548
549 2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
550
551         PR target/42427
552         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
553         non-offsettable and pre_modify update addressing.
554         * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
555         and "2" alternatives "#".
556         (*movdd_softfloat32): Make all alternatives "#";
557         * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
558         (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
559         (*movdf_softfloat32): Make all alternatives "#";
560         (movdi): Use the new DIFD mode iterator to create a common splitter
561         for movdi, movdf and movdd patterns.
562
563 2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
564
565         * common.opt (dumpdir): Remove redundant tab.
566
567 2010-03-17  Martin Jambor  <mjambor@suse.cz>
568
569         PR tree-optimization/43347
570         * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
571         original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
572
573 2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
574
575         PR rtl-optimization/42216
576         * regrename.c (create_new_chain): New function, broken out from...
577         (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
578         appending a use to an empty chain.
579         (build_def_use): Remove previous changes that convert OP_INOUT to
580         OP_OUT operands; instead detect the case where an OP_INOUT operand
581         uses a previously untracked register and create an empty chain for it.
582
583 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
584
585         * doc/extend.texi (Function Attributes): Rewrite unfinished
586         sentence in ms_abi documentation.
587
588 2010-03-17  Alan Modra  <amodra@gmail.com>
589
590         * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
591         * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
592         (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
593         * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
594
595 2010-03-16  Richard Henderson  <rth@redhat.com>
596
597         PR middle-end/43365
598         * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
599         (lower_try_finally): Save and restore eh_seq around the expansion
600         of the try-finally.
601
602 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
603
604         * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
605         statements before splitting block.
606
607 2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
608
609         * doc/sourcebuild.texi (Testsuites): Fix markup.
610         Use pathnames relative to gcc/testsuite.
611         (Test Directives): Move description of how timeout is determined.
612         (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
613         (C Tests): Correct gcc.misc-tests directory.
614         Framework tests now live in gcc.test-framework.
615
616 2010-03-16  Richard Guenther  <rguenther@suse.de>
617
618         PR middle-end/43379
619         * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
620         operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
621
622 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
623             Alexandre Oliva  <aoliva@redhat.com>
624
625         PR tree-optimization/42917
626         * lambda-code.c (remove_iv): Skip debug statements.
627         (lambda_loopnest_to_gcc_loopnest): Likewise.
628         (not_interesting_stmt): Debug statements are not interesting.
629
630 2010-03-16  Jakub Jelinek  <jakub@redhat.com>
631
632         PR debug/43051
633         PR debug/43092
634         * cselib.c (cselib_preserve_constants,
635         cfa_base_preserved_val): New static variables.
636         (preserve_only_constants): New function.
637         (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
638         clear its REG_VALUES.  If cselib_preserve_constants, don't
639         empty the whole hash table, but preserve there VALUEs with constants,
640         cfa_base_preserved_val and cfa_base_preserved_val plus constant.
641         (cselib_preserve_cfa_base_value): New function.
642         (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
643         (cselib_init): Change argument to int bitfield.  Set
644         cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
645         is in it.
646         (cselib_finish): Clear cselib_preserve_constants and
647         cfa_base_preserved_val.
648         * cselib.h (enum cselib_record_what): New enum.
649         (cselib_init): Change argument to int.
650         (cselib_preserve_cfa_base_value): New prototype.
651         * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
652         * dse.c (dse_step1): Likewise.
653         * cfgcleanup.c (thread_jump): Likewise.
654         * sched-deps.c (sched_analyze): Likewise.
655         * gcse.c (local_cprop_pass): Likewise.
656         * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
657         If FN is non-NULL, call the callback always and whenever it returns
658         non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
659         * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
660         * combine.c (propagate_for_debug_subst): Add old_rtx argument,
661         compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
662         * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
663         * var-tracking.c: Include recog.h.
664         (bb_stack_adjust_offset): Remove.
665         (vt_stack_adjustments): Don't call it, instead just gather the
666         adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
667         (adjust_stack_reference): Remove.
668         (compute_cfa_pointer): New function.
669         (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
670         (struct adjust_mem_data): New type.
671         (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
672         functions.
673         (get_address_mode): New function.
674         (replace_expr_with_values): Use it.
675         (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
676         Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
677         (adjust_sets): Remove.
678         (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
679         Use get_address_mode.
680         (get_adjusted_src): Remove.
681         (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
682         MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
683         (add_with_sets): Don't call adjust_sets.
684         (fp_setter, vt_init_cfa_base): New functions.
685         (vt_initialize): Change return type to bool.  Move most of pool etc.
686         initialization to the beginning of the function from end.  Pass
687         CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
688         If !frame_pointer_needed, call vt_stack_adjustment before mos
689         vector is filled, call vt_init_cfa_base if argp/framep has been
690         eliminated to sp.  If frame_pointer_needed and argp/framep has
691         been eliminated to hard frame pointer, set
692         hard_frame_pointer_adjustment and call vt_init_cfa_base after
693         encountering fp setter in the prologue.  For MO_ADJUST, call
694         log_op_type before pusing the op into mos vector, not afterwards.
695         Call adjust_insn before cselib_process_insn/add_with_sets,
696         call cancel_changes (0) afterwards.
697         (variable_tracking_main_1): Adjust for vt_initialize calling
698         vt_stack_adjustments and returning whether it succeeded or not.
699
700 2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
701
702         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
703         debug statements.
704
705 2010-03-15  Jakub Jelinek  <jakub@redhat.com>
706
707         * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
708         has been set.
709         (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
710         drap_reg has not been set.
711
712 2010-03-15  Michael Matz  <matz@suse.de>
713
714         PR middle-end/43300
715         * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
716         use it to expand block copies.
717         (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
718         insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
719         (insert_value_copy_on_edge): Use store_expr for BLKmode values.
720
721 2010-03-15  Richard Guenther  <rguenther@suse.de>
722
723         PR tree-optimization/43367
724         * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
725         elimination check.
726
727 2010-03-15  Richard Guenther  <rguenther@suse.de>
728
729         PR tree-optimization/43317
730         * ipa-struct-reorg.c (create_new_general_access): Update stmt.
731
732 2010-03-15  Martin Jambor  <mjambor@suse.cz>
733
734         PR tree-optimization/43141
735         * tree-sra.c (create_abstract_origin): New function.
736         (modify_function): Call create_abstract_origin.
737
738 2010-03-15  Chris Demetriou  <cgd@google.com>
739
740         * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
741         wasn't copied.
742
743 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
744
745         PR middle-end/43354
746         * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
747         call insert_out_of_ssa_copy for default definitions.
748
749 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
750
751         * graphite-clast-to-gimple.c (my_long_long): Defined.
752         (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
753         * graphite-sese-to-poly.c (my_long_long): Defined.
754         (scop_ivs_can_be_represented): Use it.
755
756 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
757
758         * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
759         graphite-max-bbs-per-function, and loop-block-tile-size.
760         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
761         with "maximum".
762         (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
763
764 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
765
766         * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
767         forward declaration.
768         * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
769         (add_upper_bounds_from_estimated_nit): New.
770         (build_loop_iteration_domains): Use it.
771
772 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
773
774         * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
775
776 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
777
778         PR middle-end/43306
779         * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
780         should be an INTEGER_CST.  Also handle CASE_CONVERT.
781
782 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
783
784         * graphite.c (graphite_initialize): To bound the number of bbs per
785         function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
786         * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
787         * doc/invoke.texi: Document it.
788
789 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
790
791         * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
792         * graphite-sese-to-poly.h (build_poly_scop): Same.
793
794 2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
795
796         * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
797         the number of parameters in the scop.  Use as an upper bound
798         PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
799         * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
800         * doc/invoke.texi: Document it.
801
802 2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
803
804         * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
805         * doc/c-tree.texi: Remove.
806         * doc/generic.texi: Merge c-tree.texi here.
807         * doc/gccint.texi (Trees): Remove menu entry.
808         (c-tree.texi): Remove @include.
809         * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
810         * doc/languages.texi (Reading RTL): Ditto.
811
812 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
813
814         PR target/42869
815         * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
816
817 2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
818
819         PR middle-end/42431
820         * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
821         code added to work around reload clobbering CONST insns.
822
823 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
824
825         * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
826         (cselib_preserve_definitely, cselib_clear_preserve): Remove.
827         (cselib_preserve_only_values): Remove retain argument, don't
828         traverse hash table with cselib_{preserve_definitely,clear_preserve}.
829         * cselib.h (cselib_preserve_only_values): Remove retain argument.
830         * var-tracking.c (micro_operation): Move insn field before union.
831         Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
832         (struct variable_tracking_info_def): Remove n_mos field, change
833         mos into a vector of micro_operations.
834         (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
835         (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
836         compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
837         changing into a vector.
838         (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
839         come before all other uops generated by add_stores.
840         (vt_add_function_parameters): Adjust for cselib_preserve_only_values
841         argument removal.
842         (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
843         a vector.  Run just one pass over the bbs instead of separate counting
844         and computation phase.
845         (vt_finalize): Free VTI (bb)->mos vector instead of array.
846
847         PR debug/43329
848         * tree-inline.c (remap_decls): Put old_var rather than origin_var
849         into *nonlocalized_list vector.
850         * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
851         even if origin is non-NULL.
852         (gen_variable_die): Likewise.
853         (process_scope_var): Don't change origin.
854         (gen_decl_die): Likewise.
855         * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
856         before adding new edges instead of after it, fix moving over
857         debug stmts.
858
859 2010-03-11  David S. Miller  <davem@davemloft.net>
860
861         * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
862         of four.
863         * configure: Rebuild.
864
865 2010-03-11  Martin Jambor  <mjambor@suse.cz>
866
867         PR tree-optimization/43257
868         * tree.c (assign_assembler_name_if_neeeded): New function.
869         (free_lang_data_in_cgraph): Assembler name assignment moved to the
870         above new function.
871         * tree.h (assign_assembler_name_if_neeeded): Declare.
872         * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
873         the function if needed.
874
875 2010-03-11  Chris Demetriou  <cgd@google.com>
876
877         * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
878         include/stdint-gcc.h, and include/stdint.h world-readable.
879
880 2010-03-11  Richard Guenther  <rguenther@suse.de>
881
882         PR tree-optimization/43255
883         * tree-vrp.c (process_assert_insertions_for): Do not insert
884         asserts for trivial conditions.
885
886 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
887
888         PR tree-optimization/43280
889         * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
890         generation.  Move calculation of size out of the if branch.
891         (find_bswap): Modify compare number generation.
892
893 2010-03-11  Richard Guenther  <rguenther@suse.de>
894
895         PR lto/43200
896         * lto-streamer-in.c (maybe_fixup_decls): Simplify.
897         (input_gimple_stmt): Fixup handled component types during
898         operand read.  Also fix up decls in ADDR_EXPRs.
899
900 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
901
902         * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
903         * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
904
905 2010-03-10  Jan Hubicka  <jh@suse.cz>
906
907         PR c/43288
908         * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
909         * varasm.c (get_variable_section): Don't do that here...
910         (make_decl_rtl): ... and here.
911         (do_assemble_alias): Produce decl RTL.
912         (assemble_alias): Likewise.
913
914 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
915
916         PR debug/43290
917         * reg-notes.def (REG_CFA_SET_VDRAP): New note.
918         * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
919         of fde->vdrap_reg.
920         (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
921         (based_loc_descr): Only express drap or vdrap regno based expressions
922         using DW_OP_fbreg when not optimizing.
923         * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
924         make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
925         REG_CFA_SET_VDRAP note.
926
927 2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
928
929         PR tree-optimization/43236
930         * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
931         error in calculation of base address in reverse iteration case.
932         (generate_builtin): Take number of latch executions if the statement
933         is in the latch.
934
935 2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
936
937         PR middle-end/42859
938         * tree-eh.c: Include pointer-set.h.
939         (lower_eh_dispatch): Filter out duplicate case labels and
940         remove the unneeded edge when the label is unused.  Return
941         true when some edges are removed.
942         (execute_lower_eh_dispatch): When any lowering resulted in
943         removing an edge, also delete unreachable blocks.
944
945 2010-03-10  Jakub Jelinek  <jakub@redhat.com>
946
947         PR bootstrap/43287
948         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
949         UNSPEC_MACHOPIC_OFFSET.
950
951 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
952
953         PR target/43294
954         * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
955         (m68k_delegitimize_address): New function.
956
957 2010-03-09  Jakub Jelinek  <jakub@redhat.com>
958
959         PR debug/43299
960         * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
961
962         PR debug/43299
963         * var-tracking.c (adjust_sets): New function.
964         (count_with_sets, add_with_sets): Use it.
965         (get_adjusted_src): New inline function.
966         (add_stores): Use it.
967
968         PR debug/43304
969         * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
970         call cselib_dummy_expand_value_rtx_cb instead of
971         cselib_expand_value_rtx_cb.
972
973         PR debug/43293
974         * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
975         * config/i386/i386.c: Include debug.h and dwarf2out.h.
976         (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
977         and .cfi_endproc around the pic thunks.
978         (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
979         all queued unwind info register saves are saved before the call.
980         For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
981         considered as sp-=4 for unwind info and the pop as sp+=4 which
982         also clobbers dest, but doesn't actually restore it.
983
984         PR debug/43290
985         * config/i386/i386.c (ix86_get_drap_rtx): Don't set
986         RTX_FRAME_RELATED_P.
987
988 2010-03-09  Jie Zhang  <jie@codesourcery.com>
989
990         * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
991         whitespaces in output template.
992
993 2010-03-09  Jie Zhang  <jie@codesourcery.com>
994
995         * ira-lives.c (check_and_make_def_use_conflict): Don't fall
996         out array boundary.
997
998 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
999
1000         * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
1001         builtins.exp in a separate job.
1002
1003 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1004
1005         * graphite-sese-to-poly.c (add_param_constraints): Use
1006         lower_bound_in_type and upper_bound_in_type.
1007
1008 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1009
1010         * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
1011         instead of unsigned_type_node.
1012
1013 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1014             Reza Yazdani  <reza.yazdani@amd.com>
1015
1016         PR middle-end/43065
1017         * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
1018         on pointer type parameters.
1019
1020 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1021
1022         PR middle-end/42644
1023         PR middle-end/42130
1024         * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
1025         handle conversions from pointer to integers.
1026         (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
1027         induction variable, to be able to work with code generated by CLooG.
1028         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
1029         (build_poly_scop): Bail out if we cannot codegen a loop.
1030
1031 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
1032
1033         * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
1034         code generation with gloog_error.
1035
1036 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1037
1038         * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
1039         Call fold_convert on all the returned values.
1040         (expand_scalar_variables_expr): Pass to
1041         expand_scalar_variables_ssa_name the type of the resulting expression.
1042
1043 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1044
1045         * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
1046         ppl_min_for_le_pointset.
1047         Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
1048         * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
1049
1050 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1051
1052         * graphite-dependences.c (map_into_dep_poly): Removed.
1053         (dependence_polyhedron_1): Use combine_context_id_scat.
1054
1055 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1056
1057         * graphite-poly.h (struct poly_scattering): Add layout documentation.
1058         (struct poly_bb): Same.
1059         (combine_context_id_scat): New.
1060
1061 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1062
1063         PR middle-end/42326
1064         * sese.c (name_defined_in_loop_p): Return false for default
1065         definitions.
1066
1067 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1068
1069         * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
1070         and clean up the logic.
1071
1072 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
1073
1074         * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
1075         early return.
1076
1077 2010-03-08  Jakub Jelinek  <jakub@redhat.com>
1078
1079         * var-tracking.c (remove_cselib_value_chains): Define only for
1080         ENABLE_CHECKING.
1081         (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
1082         delete_slot_part, emit_notes_for_differences_1): Don't call
1083         remove_cselib_value_chains here.
1084         (set_slot_part, emit_notes_for_differences_2): Don't call
1085         add_cselib_value_chains here.
1086         (preserved_values): New vector.
1087         (preserve_value): New function.
1088         (add_uses, add_stores, vt_add_function_parameters): Use it
1089         instead of cselib_preserve_value.
1090         (changed_values_stack): New vector.
1091         (check_changed_vars_0): New function.
1092         (check_changed_vars_1, check_changed_vars_2): Use it.
1093         (emit_notes_for_changes): Call set_dv_changed (*, false) on all
1094         changed_values_stack VALUEs.
1095         (vt_emit_notes): For all preserved_values call
1096         add_cselib_value_chains.  If ENABLE_CHECKING call
1097         remove_cselib_value_chains before verifying value_chains is empty.
1098         Initialize and free changed_values_stack.
1099         (vt_initialize): Initialize preserved_values.
1100         (vt_finalize): Free preserved_values.
1101
1102 2010-03-08  Richard Guenther  <rguenther@suse.de>
1103
1104         PR tree-optimization/43269
1105         * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
1106         region detection.
1107
1108 2010-03-08  Martin Jambor  <mjambor@suse.cz>
1109
1110         * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
1111         (ipa_is_param_called): Removed.
1112         * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
1113         (ipa_print_node_params): Do not print the called flag.
1114         (ipa_write_node_info): Do not stream the called flag.
1115         (ipa_read_node_info): Likewise.
1116
1117 2010-03-07  Jakub Jelinek  <jakub@redhat.com>
1118
1119         PR debug/43176
1120         * Makefile.in (var-tracking.o): Depend on pointer-set.h.
1121         * cselib.c (struct expand_value_data): Add dummy field.
1122         (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
1123         dummy to false.
1124         (cselib_dummy_expand_value_rtx_cb): New function.
1125         (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
1126         any rtl.
1127         * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
1128         * var-tracking.c: Include pointer-set.h.
1129         (variable): Change n_var_parts to char from int.  Add
1130         cur_loc_changed and in_changed_variables fields.
1131         (variable_canonicalize): Remove.
1132         (shared_var_p): New inline function.
1133         (unshare_variable): Maintain cur_loc_changed and
1134         in_changed_variables fields.  If var was in changed_variables,
1135         replace it there with new_var.  Just copy cur_loc instead of
1136         resetting it to something else.
1137         (variable_union): Don't recompute cur_loc.  Use shared_var_p.
1138         (dataflow_set_union): Don't call variable_canonicalize.
1139         (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
1140         of their DEBUG_EXPR_TREE_DECLs.
1141         (canonicalize_loc_order_check): Verify that cur_loc is NULL
1142         and in_changed_variables and cur_loc_changed is false.
1143         (variable_merge_over_cur): Clear cur_loc, in_changed_variables
1144         and cur_loc_changed.  Don't update cur_loc here.
1145         (variable_merge_over_src): Don't call variable_canonicalize.
1146         (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
1147         removing loc that is equal to cur_loc, clear cur_loc,
1148         set cur_loc_changed and ensure variable_was_changed is called.
1149         (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
1150         compare pointers in cur_loc check, if it is equal to loc,
1151         clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
1152         (variable_different_p): Remove compare_current_location argument,
1153         don't compare cur_loc.
1154         (dataflow_set_different_1): Adjust variable_different_p caller.
1155         (variable_was_changed): If dv had some var in changed_variables
1156         already, reset in_changed_variables flag for it and propagate
1157         cur_loc_changed over to the new variable.  On empty var
1158         always set cur_loc_changed.  Set in_changed_variables on whatever
1159         var is added to changed_variables.
1160         (set_slot_part): Clear cur_loc_changed and in_changed_variables.
1161         Use shared_var_p.  When removing loc that is equal to cur_loc,
1162         clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
1163         end, don't set it to something else, just call variable_was_changed.
1164         (delete_slot_part): Use shared_var_p.  When cur_loc equals to
1165         loc being removed, clear cur_loc and set cur_loc_changed.
1166         Set cur_loc_changed if all locations have been removed.
1167         (struct expand_loc_callback_data): New type.
1168         (vt_expand_loc_callback): Add dummy mode in which no rtxes are
1169         allocated.  Always create SUBREGs if simplify_subreg failed.
1170         Prefer to use cur_loc, when that fails and still in
1171         changed_variables (and seen first time) recompute it.  Set
1172         cur_loc_changed of variables which had to change cur_loc and
1173         compute elcd->cur_loc_changed if any of the subexpressions used
1174         had to change cur_loc.
1175         (vt_expand_loc): Adjust to pass arguments in
1176         expand_loc_callback_data structure.
1177         (vt_expand_loc_dummy): New function.
1178         (emitted_notes): New variable.
1179         (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
1180         that weren't used for any other decl in current
1181         emit_notes_for_changes call call vt_expand_loc_dummy to update
1182         cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
1183         first loc_chain location if NULL before.  Always use just
1184         cur_loc instead of first loc_chain location.  When cur_loc_changed
1185         is false, when not --enable-checking=rtl just don't emit any note.
1186         When rtl checking, compute the note and assert it is the same
1187         as previous note.  Clear cur_loc_changed and in_changed_variables
1188         at the end before removing from changed_variables.
1189         (check_changed_vars_3): New function.
1190         (emit_notes_for_changes): Traverse changed_vars to call
1191         check_changed_vars_3 on each changed var.
1192         (emit_notes_for_differences_1): Clear cur_loc_changed and
1193         in_changed_variables.  Recompute cur_loc of new_var.
1194         (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
1195         (vt_emit_notes): Initialize and destroy emitted_notes.
1196
1197 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
1198
1199         PR rtl-optimization/42220
1200         * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
1201         Use verify_reg_tracked to determine if we should use OP_OUT rather
1202         than OP_INOUT.
1203         (build_def_use): If we see an in-out operand for a register that we
1204         know nothing about, treat is an output if possible, fail the block if
1205         not.
1206
1207 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1208
1209         PR debug/42897
1210         * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
1211         permanently.
1212
1213 2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
1214
1215         PR debug/42897
1216         * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
1217         uses of relevant DEFs that are dead outside the loop too.
1218
1219 2010-03-06  Alexandre Oliva <aoliva@redhat.com>
1220
1221         * var-tracking.c (dataflow_set_merge): Swap src and src2.
1222         Reverted:
1223         2010-01-13  Jakub Jelinek  <jakub@redhat.com>
1224         PR debug/41371
1225         * var-tracking.c (values_to_unmark): New variable.
1226         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1227         values_to_unmark vector.  Moved body to...
1228         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
1229         instead queue it into values_to_unmark vector.
1230         (vt_find_locations): Free values_to_unmark vector.
1231
1232 2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
1233
1234         * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
1235         (site.exp): Export them when plugins are enabled.
1236
1237 2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
1238
1239         PR middle-end/42326
1240         * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
1241         that contain scevs.
1242         (chrec_fold_multiply): Same.
1243
1244 2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
1245
1246         PR c/43248
1247         * c-decl.c (build_compound_literal): Return early if init is
1248         an error_mark_node.
1249
1250 2010-03-04  Martin Jambor  <mjambor@suse.cz>
1251
1252         PR tree-optimization/43164
1253         PR tree-optimization/43191
1254         * tree-sra.c (type_consists_of_records_p): Reject records with
1255         zero-size bit-fields at the end.
1256
1257 2010-03-04  Mike Stump  <mikestump@comcast.net>
1258
1259         * Makefile.in (TAGS): Remove *.y.
1260
1261 2010-03-04  Richard Guenther  <rguenther@suse.de>
1262
1263         PR tree-optimization/40761
1264         * tree-ssa-pre.c (compute_antic): Walk reverse postorder
1265         in reverse order.
1266         (my_rev_post_order_compute): New function.
1267         (init_pre): Call it.
1268
1269 2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
1270
1271         PR middle-end/43209
1272         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
1273         decrease the cost of an IV candidate when the cost is infinite.
1274
1275 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1276
1277         * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
1278         Use '3DNow!' for the extension of that name, ensure normal space
1279         after the string.
1280         * doc/invoke.texi (i386 and x86-64 Options): Likewise.
1281
1282 2010-03-03  Jeff Law  <law@redhat.com>
1283
1284         * PR middle-end/32693
1285         * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
1286         than gen_rtx_SUBREG.
1287         (extract_bit_field_1): Likewise.
1288
1289 2010-03-03  Janis Johnson  <janis187@us.ibm.com>
1290
1291         * doc/sourcebuild.texi (Test directives): Document that arguments
1292         include-opts and exclude-opts are now optional for dg-skip-if,
1293         dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
1294
1295 2010-03-03  Jason Merrill  <jason@redhat.com>
1296
1297         PR c++/12909
1298         * cgraph.h (varpool_node): Add extra_name field.
1299         * varpool.c (varpool_extra_name_alias): New.
1300         (varpool_assemble_decl): Emit extra name aliases.
1301         (varpool_mark_needed_node): Look past an extra name alias.
1302         * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
1303         * lto-streamer-in.c (lto_input_tree): Read it.
1304         * lto-streamer-out.c (output_unreferenced_globals): Write it.
1305
1306 2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
1307
1308         * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
1309         (sparc*-*-solaris2*): ...this.
1310
1311 2010-03-03  Jakub Jelinek  <jakub@redhat.com>
1312
1313         PR debug/43229
1314         * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
1315         WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
1316         ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
1317         FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
1318
1319         PR debug/43237
1320         * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
1321         fallthrough to default handling, just with want_address 0 instead of 2.
1322         For single element lists, add_AT_loc directly, otherwise create an
1323         artificial variable DIE and stick location list to it.
1324
1325         PR debug/43177
1326         * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
1327         (VAL_EXPR_HAS_REVERSE): Define.
1328         (reverse_op): New function.
1329         (add_stores): For reversible operations add an extra MO_VAL_USE.
1330
1331 2010-03-02  Jason Merrill  <jason@redhat.com>
1332
1333         * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
1334
1335 2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1336
1337         * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
1338         (sparc64-*-linux*): Likewise.
1339         (sparc64-*-solaris2*): Include assembler files before linker ones.
1340         (sparc-*-solaris2*): Simplify and reorder to match previous case.
1341         * config/sparc/gas.h: Delete.
1342         * config/sparc/sol2-64.h: Add copyright notice.
1343         * config/sparc/sol2-gas-bi.h: Likewise.
1344         * config/sparc/sol2-gld.h: Likewise.
1345         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
1346         * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
1347         * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
1348         * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
1349         (sparc_elf_asm_named_section): Rename into...
1350         (sparc_solaris_elf_asm_named_section): ...this.  Always define.
1351
1352 2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
1353
1354         * config/alpha/alpha.c (override_options): Fix -mtune error message.
1355
1356 2010-03-02  Jeff Law  <law@redhat.com>
1357
1358         PR middle-end/42431
1359         * reload1.c (rtx_p, substitute_stack): Declare.
1360         (substitute): Record addresses of changed rtxs.
1361         (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
1362         Restore the original rtx when complete.
1363         (reload): Free subsitute_stack when complete.
1364
1365 2010-03-02  Janis Johnson  <janis187@us.ibm.com>
1366
1367         * doc/gccint.texi (menu): Add Testsuites as a chapter.
1368         * doc/sourcebuild.texi (Testsuites): Move up a level to be a
1369         new chapter.
1370         (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
1371         LTO Testing, gcov Testing, profopt Testing, compat Testing,
1372         Torture Tests): Change from subsection to section.
1373
1374 2010-03-02  Jakub Jelinek  <jakub@redhat.com>
1375             Steven Bosscher  <steven@gcc.gnu.org>
1376
1377         * var-tracking.c (vt_initialize): Scan insns in ebb chunks
1378         instead of bb.
1379
1380 2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
1381
1382         PR middle-end/42640
1383         * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
1384         the assignment from the new induction variable to the assignment
1385         of the value from the original loop PHI function.
1386
1387 2010-03-01  Janis Johnson  <janis187@us.ibm.com>
1388             Daniel Jacobowitz  <dan@codesourcery.com>
1389
1390         * doc/sourcebuild.texi (Test directives): Clarify options to
1391         dg-skip-if.
1392
1393 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1394
1395         * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
1396         Disable cfi directives unless GCC and gas agree on using read-only
1397         .eh_frame sections for 64-bit.
1398         * configure: Regenerate.
1399
1400 2010-03-01  Richard Guenther  <rguenther@suse.de>
1401
1402         PR tree-optimization/43220
1403         * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
1404         BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
1405
1406 2010-03-01  Richard Guenther  <rguenther@suse.de>
1407             Martin Jambor  <mjambor@suse.cz>
1408
1409         PR middle-end/41250
1410         * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
1411         gimplified parameters.
1412
1413 2010-03-01  Christian Bruel  <christian.bruel@st.com>
1414
1415         * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
1416
1417 2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
1418
1419         * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
1420
1421 2010-03-01  Richard Guenther  <rguenther@suse.de>
1422
1423         PR middle-end/43213
1424         * expr.c (expand_assignment): Use the alias-oracle to tell
1425         if the rhs aliases the result decl.
1426
1427 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1428
1429         PR pch/14940
1430         * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
1431         to sol_gt_pch_get_address.
1432         (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
1433         64-bit, SPARC and x86.
1434         (sol_gt_pch_get_address): New function.
1435
1436 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
1437
1438         * toplev.h (inform_n, error_n): Declare.
1439         * diagnostic.c (inform_n, error_n): New function.
1440
1441 2010-03-01  Jakub Jelinek  <jakub@redhat.com>
1442
1443         * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
1444         has no rtl yet when processing local_decls, queue it and recheck
1445         if deferred stack allocation hasn't assigned it rtl.
1446
1447 2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
1448
1449         * config/sh/sh.c (unspec_bbr_uid): New.
1450         (gen_block_redirect): Use it instead of INSN_UID.
1451         (gen_far_branch): Likewise.
1452
1453 2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
1454
1455         * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
1456         it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
1457
1458 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1459
1460         * doc/invoke.texi (Warning Options, RX Options): Fix typos.
1461         (Warning Options): -Wno-conversion-null is valid for
1462         Objective-C++ as well.
1463         * doc/tm.texi (Named Address Spaces): Likewise.
1464         * doc/plugins.texi (Plugins): Replace TABs with spaces.
1465         * doc/tree-ssa.texi (Tree SSA): Likewise.
1466
1467 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1468
1469         PR bootstrap/43202
1470         * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
1471         by default.  Don't set the default arch for
1472         i[34567]86-*-darwin*|x86_64-*-darwin*.
1473
1474 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1475
1476         PR bootstrap/43202
1477         * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
1478         default.  Set the default 32bit/64bit archs with $with_arch
1479         instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
1480
1481 2010-02-27  Richard Guenther  <rguenther@suse.de>
1482
1483         PR tree-optimization/43186
1484         * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
1485         * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
1486         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
1487         unroller iterations.
1488
1489 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1490
1491         * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
1492         required and i[34567]86-*-* targets don't support 64bit ISA.
1493
1494 2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
1495
1496         PR ada/43096
1497         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
1498         the same alias set.
1499
1500 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1501
1502         * config.gcc: Set the default arch at least to Prescott for
1503         i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
1504         if SSE math is enabled.
1505
1506 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1507
1508         * diagnostic.c (diagnostic_initialize): Update.
1509         (diagnostic_report_diagnostic): Test inhibit_notes_p for
1510         informative notes.
1511         * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
1512         (diagnostic_inhibit_notes): New.
1513         * toplev.c (process_options): inhibit notes with -fcompare-debug.
1514
1515 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1516
1517         PR c/20631
1518         * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
1519         * doc/standards.texi: Likewise.
1520         * doc/extend.texi: Likewise.
1521         * doc/trouble.texi: Likewise.
1522         * doc/cppopts.texi: Likewise.
1523         * doc/install.texi: Likewise.
1524         * c.opt (std=c90,std=gnu90): New options.
1525         * c-opts.c (c_common_handle_option): Handle them.
1526
1527 2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1528
1529         PR c/24577
1530         * c-decl.c (undeclared_variable): Use an informative note.
1531
1532 2010-02-26  Richard Guenther  <rguenther@suse.de>
1533
1534         PR tree-optimization/43186
1535         * gimple.h (gimple_fold): Remove.
1536         * gimple.c (gimple_fold): Remove.  Inline into single user ...
1537         * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
1538         Try harder for conditions.
1539
1540 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
1541
1542         PR debug/43190
1543         * function.c (used_types_insert): Don't skip through named pointer
1544         types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
1545         and it is different from the main variant's type.
1546
1547 2010-02-26  Nick Clifton  <nickc@redhat.com>
1548
1549         * config/rx/rx.md (sminsi3): Remove bogus alternative.
1550
1551 2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1552
1553         * config.gcc: Support --with-fpmath=sse for x86.
1554
1555         * config/i386/ssemath.h: New.
1556
1557         * doc/install.texi (--with-fpmath=sse): Documented.
1558
1559 2010-02-26  Richard Guenther  <rguenther@suse.de>
1560
1561         PR tree-optimization/43188
1562         * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
1563         vector types of over-aligned element type.
1564
1565 2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
1566
1567         PR target/43175
1568         * config/i386/i386.c (expand_vec_perm_blend): Use correct
1569         operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
1570
1571 2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
1572
1573         * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
1574
1575 2010-02-26  Jakub Jelinek  <jakub@redhat.com>
1576
1577         * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
1578         * var-tracking.c: Include diagnostic.h.
1579         (debug_dv): New function.
1580         (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
1581
1582         PR debug/43160
1583         * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
1584         (add_value_chain, add_value_chains, remove_value_chain,
1585         remove_value_chains): Handle DEBUG_EXPRs.
1586         (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
1587
1588         PR debug/43161
1589         * regcprop.c (struct queued_debug_insn_change): New type.
1590         (struct value_data_entry): Add debug_insn_changes field.
1591         (struct value_data): Add n_debug_insn_changes field.
1592         (debug_insn_changes_pool): New variable.
1593         (free_debug_insn_changes, apply_debug_insn_changes,
1594         cprop_find_used_regs_1, cprop_find_used_regs): New functions.
1595         (kill_value_one_regno): Call free_debug_insn_changes if needed.
1596         (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
1597         fields.
1598         (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
1599         changes for them.
1600         (copyprop_hardreg_forward_1): Don't call apply_change_group for
1601         DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
1602         changes, call cprop_find_used_regs via note_stores.
1603         (copyprop_hardreg_forward): When copying vd from predecessor
1604         which has any queued DEBUG_INSN changes, make sure the pointers are
1605         cleared.  At the end call df_analyze and then if there are any
1606         DEBUG_INSN changes queued at the end of some basic block for still
1607         live registers, apply them.
1608         (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
1609
1610 2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
1611
1612         * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
1613         (arm*-*-*): Ditto.
1614
1615 2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
1616
1617         * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
1618         targets.  Set the default with_cpu/with_arch from arch/cpu.
1619         Allow x86-64 and native for with_cpu/with_arch.
1620
1621 2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
1622
1623         * ebitmap.c: Change calls to verify_popcount with calls to
1624         sbitmap_verify_popcount.
1625         (ebitmap_clear_bit): Fixed map->cacheindex test and
1626         map>cache update when bit clearing results in an empty
1627         element.
1628
1629 2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
1630
1631         PR target/43154
1632         * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
1633         (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
1634         and support both V2DF and V2DI modes.
1635         (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
1636         support both V2DF and V2DI modes.
1637         (general): Delete trailing whitespace from a few patterns.
1638
1639         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1640         V2DF/V2DI interleave high/low builtins.
1641
1642         * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
1643         new VSX builtins.
1644
1645         * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
1646         interleave high/low functions.
1647
1648 2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
1649
1650         * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
1651         #pragma extern_prefix.
1652
1653 2010-02-25  Jakub Jelinek  <jakub@redhat.com>
1654
1655         PR debug/43166
1656         * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
1657         BLKmode, assert op0 is a MEM and just adjust its mode.
1658
1659         PR debug/43165
1660         * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
1661         if bitpos isn't multiple of mode's bitsize.
1662
1663 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1664
1665         * c.opt (-ftemplate-depth=): New.
1666         (-ftemplate-depth-): Deprecate.
1667         * optc-gen.awk: Handle -ftemplate-depth=.
1668         * opth-gen.awk: Likewise.
1669         * c-opts.c (c_common_handle_option): Likewise.
1670         * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
1671
1672 2010-02-24  Jason Merrill  <jason@redhat.com>
1673
1674         * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
1675
1676 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1677
1678         * cfg.c (alloc_aux_for_block): Remove inline.
1679         (alloc_aux_for_edge): Likewise.
1680
1681 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1682
1683         * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
1684
1685 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1686
1687         * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
1688         * config/i386/sol2-gas.h: New file.
1689         * config.gcc (i[34567]86-*-solaris2*): Use it.
1690
1691 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1692
1693         PR c/43128
1694         * c-typeck.c (ep_convert_and_check): New.
1695         (build_conditional_expr): Use it.
1696         (build_binary_op): Likewise.
1697
1698 2010-02-24  Jakub Jelinek  <jakub@redhat.com>
1699
1700         * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
1701
1702         PR debug/43150
1703         * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
1704         bounds even for -O+.
1705         * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
1706         expr needs to have DECL_NAME set.
1707
1708 2010-02-24  Nick Clifton  <nickc@redhat.com>
1709
1710         * config/mep/mep.c: Include gimple.h.
1711         (mep_function_uses_sp): Delete unused function.
1712         (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
1713         parameters.  Use unsigned integers to count args.  Return a
1714         NULL_RTX instead of an error_mark_node.  Toidy up formatting.
1715
1716 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
1717
1718         PR target/43107
1719         * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
1720         greater or equal to nelt instead of 2 * nelt.
1721         (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
1722         with nelt - 1.
1723
1724 2010-02-23  Jason Merrill  <jason@redhat.com>
1725
1726         PR debug/42800
1727         * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
1728         in cfun->local_decls even if they have register types.
1729
1730         PR c++/42837
1731         * stor-layout.c (place_field): Don't warn about unnecessary
1732         DECL_PACKED if the type is packed.
1733
1734 2010-02-23  Jakub Jelinek  <jakub@redhat.com>
1735
1736         PR target/43139
1737         * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
1738         GOTOFF relocs, even when the base reg isn't pic pointer.
1739
1740 2010-02-23  Michael Matz  <matz@suse.de>
1741
1742         PR debug/43077
1743         * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
1744         (expand_gimple_basic_block): Generate and use debug temps if there
1745         are debug uses left after the last real use of TERed ssa names.
1746         Unlink debug immediate uses when they are expanded.
1747
1748 2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1749
1750         PR 43123
1751         * config/i386/i386.c (override_options): Reorganise to provide
1752         better error messages.
1753
1754 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1755
1756         PR middle-end/43083
1757         * graphite-scop-detection.c (create_single_exit_edge): Move
1758         the call to find_single_exit_edge to....
1759         (create_sese_edges): ...here.  Don't handle multiple edges
1760         exiting the function.
1761         (build_graphite_scops): Don't handle multiple edges
1762         exiting the function.
1763
1764 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1765
1766         PR middle-end/43097
1767         * sese.c (get_rename): Assert that old_name is an SSA_NAME.
1768         (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
1769
1770 2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
1771
1772         PR middle-end/43026
1773         * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
1774
1775 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1776
1777         PR c++/43126
1778         * c-typeck.c (convert_arguments): Print declaration location.
1779         * c-common.c (validate_nargs): Rename as
1780         builtin_function_validate_nargs.
1781         (check_builtin_function_arguments): Update.
1782
1783 2010-02-22  Richard Guenther  <rguenther@suse.de>
1784
1785         PR lto/43045
1786         * tree-inline.c (declare_return_variable): Use the type of
1787         the call stmt lhs if available.
1788
1789 2010-02-22  Duncan Sands  <baldrick@free.fr>
1790
1791         * passes.c (register_pass): Always consider all pass lists when
1792         ref_pass_instance_number is zero.
1793
1794 2010-02-22  Richard Guenther  <rguenther@suse.de>
1795
1796         PR tree-optimization/42749
1797         * tree-tailcall.c (adjust_return_value_with_ops): Drop update
1798         parameter.  Do arithmetic in the original type.
1799         (update_accumulator_with_ops): Likewise.
1800         (adjust_accumulator_values): Adjust.
1801
1802 2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1803
1804         * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
1805         (QI to BLKmode splitter): New splitter.
1806
1807 2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1808
1809         * config/i386/i386.c (initial_ix86_tune_features): Turn on
1810         X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
1811
1812 2010-02-22  Richard Guenther  <rguenther@suse.de>
1813
1814         * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
1815
1816 2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
1817
1818         Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
1819         * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
1820         ($(T)crti.o, $(T)crtn.o): Remove rules.
1821
1822 2010-02-21  Tobias Burnus  <burnus@net-b.de>
1823
1824         PR fortran/35259
1825         * doc/invoke.texi (-fassociative-math): Document that this
1826         option is automatically enabled for Fortran.
1827
1828 2010-02-20  David S. Miller  <davem@davemloft.net>
1829
1830         * configure.ac: Test if linker and assembler properly support
1831         GOTDATA_OP relocations.
1832         * configure: Rebuild.
1833         * config.in: Likewise.
1834         * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
1835         (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
1836         (movsi_high_pic): Likewise.
1837         (movdi_lo_sum_pic): Likewise.
1838         (movdi_high_pic): Likewise.
1839         (movsi_pic_gotdata_op): New pattern.
1840         (movdi_pic_gotdata_op): Likewise.
1841         * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
1842         emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
1843
1844 2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
1845
1846         PR target/43067
1847         * config/i386/sse.md (xop_mulv2div2di3_low): Change type
1848         attribute to ssemul.
1849         (xop_mulv2div2di3_high): Ditto.
1850
1851 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1852
1853         PR c++/35669
1854         * c.opt (Wconversion-null): New option.
1855         * doc/invoke.texi (Wconversion-null): Document.
1856
1857 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1858
1859         * common.opt (Wlarger-than-): Add Undocumented.
1860
1861 2010-02-19  Mike Stump  <mikestump@comcast.net>
1862
1863         * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
1864
1865 2010-02-19  Jason Merrill  <jason@redhat.com>
1866
1867         PR target/40332
1868         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
1869         * configure: Likewise.
1870
1871 2010-02-20  Alan Modra  <amodra@gmail.com>
1872
1873         PR middle-end/42344
1874         * cgraph.h (cgraph_make_decl_local): Declare.
1875         * cgraph.c (cgraph_make_decl_local): New function.
1876         (cgraph_make_node_local): Use it.
1877         * cgraphunit.c (cgraph_function_versioning): Likewise.
1878         * ipa.c (function_and_variable_visibility): Likewise.
1879
1880 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1881
1882         PR bootstrap/43121
1883         * except.c (sjlj_emit_function_enter): Don't call
1884         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
1885         directly.
1886         * rtl.h (add_reg_br_prob_note): Remove prototype.
1887
1888 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1889
1890         PR 41779
1891         * c-common.c (conversion_warning): Remove widening conversions
1892         before checking the conversion of integers to reals.
1893
1894 2010-02-19  Mike Stump  <mikestump@comcast.net>
1895
1896         PR middle-end/43125
1897         * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
1898
1899         PR objc/43061
1900         * cgraphunit.c (process_function_and_variable_attributes): Check
1901         DECL_PRESERVE_P instead of looking up attribute "used".
1902         * ipa-pure-const.c (check_decl): Likewise.
1903         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
1904         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
1905         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
1906         instead of attribute "used".
1907         * config/sol2-c.c (solaris_pragma_init): Likewise.
1908         (solaris_pragma_fini): Likewise.
1909
1910 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1911
1912         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
1913         Use XCNEW instead of xcalloc.
1914         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
1915         XNEW instead of xmalloc.
1916         (get_fields): Use XNEWVEC instead of xmalloc.
1917
1918         PR debug/43084
1919         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
1920         populate vars array.
1921         (create_new_general_access): For debug stmts just reset value.
1922         (get_stmt_accesses): For accesses within debug stmts just record them
1923         using add_access_to_acc_sites instead of preventing the peeling or
1924         counting them as accesses.
1925
1926         PR middle-end/42233
1927         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
1928
1929 2010-02-19  Richard Guenther  <rguenther@suse.de>
1930
1931         PR tree-optimization/42916
1932         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
1933         instructions.
1934
1935 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
1936
1937         * configure.ac: Replace all uses of changequote in macro arguments
1938         with proper quoting.
1939
1940 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1941
1942         PR middle-end/42233
1943         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
1944
1945 2010-02-19  Richard Guenther  <rguenther@suse.de>
1946
1947         PR tree-optimization/42944
1948         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
1949         test for aliasing with errno.
1950
1951 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
1952
1953         PR middle-end/42233
1954         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
1955         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
1956         * dojump.c: Include output.h.
1957         (inv): New inline function.
1958         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
1959         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
1960         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
1961         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
1962         argument, pass it down to other calls.
1963         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
1964         add REG_BR_PROB note to the conditional jump.
1965         * cfgexpand.c (add_reg_br_prob_note): Removed.
1966         (expand_gimple_cond): Don't call it, add the probability
1967         as last argument to jumpif_1/jumpifnot_1.
1968         * Makefile.in (dojump.o): Depend on output.h.
1969         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
1970         callers.
1971         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
1972         * stmt.c (do_jump_if_equal): Likewise.
1973         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
1974         * loop-unswitch.c (compare_and_jump_seq): Likewise.
1975         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
1976         Likewise.
1977         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
1978         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
1979         jumpifnot_1 callers.
1980         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
1981         callers.
1982         (store_expr): Adjust jumpifnot caller.
1983         (store_constructor): Adjust jumpif caller.
1984
1985         PR middle-end/42233
1986         * gimplify.c (gimple_boolify): For __builtin_expect call
1987         gimple_boolify also on its first argument.
1988
1989 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
1990
1991         * configure.ac (gnu-unique-object): Wrap regexps using [] in
1992         changequote block.
1993         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
1994         * configure: Regenerated.
1995
1996 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1997
1998         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
1999         lang_hooks.types_compatible_p instead of comptypes.
2000
2001 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
2002
2003         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
2004         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
2005         if __prefer_thumb__ is defined.
2006
2007 2010-02-18  Martin Jambor  <mjambor@suse.cz>
2008
2009         PR tree-optimization/43066
2010         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
2011         array with zero-sized element type.
2012
2013 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
2014
2015         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
2016         rtx, allocate struct var_loc_node here and return it to the
2017         caller, and only if it is actually needed.
2018         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
2019         move it earlier and return immediately if it returns NULL.
2020
2021 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
2022
2023         * config/sparc/gas.h: New file.  Restore
2024         TARGET_ASM_NAMED_SECTION to its ELF default.
2025         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
2026         check !HAVE_GNU_AS.
2027         * config/sparc/sparc.c (sparc_elf_asm_named_section):
2028         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
2029         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
2030         after sparc/sysv4.h.
2031
2032 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2033
2034         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
2035
2036 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
2037
2038         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
2039         patterns from predicated pattern.
2040
2041 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
2042
2043         PR target/43103
2044         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
2045         for insn mnemonic suffix.
2046
2047 2010-02-17  Richard Guenther  <rguenther@suse.de>
2048
2049         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
2050         to loop PHI nodes.
2051
2052 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
2053
2054         PR debug/42918
2055         * caller-save.c (save_call_clobbered_regs): If BB ends with
2056         a DEBUG_INSN, move any notes in between last real insn and the last
2057         DEBUG_INSN after the last DEBUG_INSN.
2058
2059 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
2060
2061         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
2062         Fix return type.  Fix argument type.  Explain meaning of return value.
2063
2064 2010-02-16  Richard Guenther  <rguenther@suse.de>
2065
2066         PR tree-optimization/41043
2067         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
2068         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
2069         statements ...
2070         (vrp_visit_phi_node): ... but only for loop PHI nodes.
2071
2072 2010-02-16  Ira Rosen <irar@il.ibm.com>
2073
2074         PR tree-optimization/43074
2075         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
2076         * tree-vect-loop.c (vect_analyze_loop_operations): Add
2077         vectorizable cycles in hybrid SLP check.
2078         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
2079
2080 2010-02-16  Richard Guenther  <rguenther@suse.de>
2081
2082         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
2083         (true_dependence): If memrefs_conflict_p computes must-alias
2084         trust it.  Move TBAA check after offset-based disambiguation.
2085         (canon_true_dependence): Likewise.
2086
2087 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
2088
2089         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
2090         * doc/invoke.texi: Document it.
2091         * var-tracking.c: Include toplev.h and params.h.
2092         (vt_find_locations): Return bool indicating success.  Compute
2093         hash sizes unconditionally.  Check new parameter, report.
2094         (variable_tracking_main_1): Check vt_find_locations results and
2095         retry.  Renamed from...
2096         (variable_tracking_main): ... this.  New wrapper to preserve
2097         flag_var_tracking_assignments.
2098         * Makefile.in (var-tracking.o): Adjust dependencies.
2099
2100 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
2101             Jakub Jelinek <jakub@redhat.com>
2102
2103         PR target/42854
2104         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
2105         if weak_import attribute is present.
2106         * config/darwin.c (machopic_select_section): Likewise.
2107
2108 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
2109
2110         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
2111         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
2112         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
2113         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
2114
2115         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
2116
2117         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2118         Fix argument types.
2119
2120         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
2121         Rewrite text to refer to the names.
2122
2123 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
2124
2125         * config/i386/i386-builtin-types.def
2126         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
2127         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
2128         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
2129         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
2130         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
2131         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
2132         IX86_BUILTIN_VPERMIL2PS256.
2133         (MULTI_ARG_4_DF2_DI_I): Defined.
2134         (MULTI_ARG_4_DF2_DI_I1): Defined.
2135         (MULTI_ARG_4_SF2_SI_I): Defined.
2136         (MULTI_ARG_4_SF2_SI_I1): Defined.
2137         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
2138         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
2139         __builtin_ia32_vpermil2ps256.
2140         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2141         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2142         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
2143         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2144         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2145         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
2146         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
2147         CODE_FOR_xop_vpermil2v8sf3.
2148         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
2149         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
2150         * config/i386/xopintrin.h (_mm_permute2_pd): New.
2151         (_mm256_permute2_pd): New.
2152         (_mm_permute2_ps): New.
2153         (_mm256_permute2_ps): New.
2154
2155 2010-02-15  Nick Clifton  <nickc@redhat.com>
2156
2157         * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
2158         boolean parameters.  Use emit_jump_insn when emitting a pop
2159         instruction containing a return insn.
2160         (push): Use 'true' rather than '1' as second parameter to F.
2161         (h8300_expand_prologue): Likewise.
2162         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
2163         (h8300_expand_epilogue): Likewise.
2164
2165 2010-02-15  Richard Guenther  <rguenther@suse.de>
2166
2167         PR middle-end/43068
2168         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
2169         if that is zero.
2170
2171 2010-02-15  Nick Clifton  <nickc@redhat.com>
2172
2173         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
2174         delta.
2175
2176 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
2177
2178         * intl.c (fake_ngettext): New function.
2179         * intl.h (fake_ngettext): Declare.
2180         (ngettext): Define macro.
2181         * collect2.c (notice_translated): New function.
2182         (main): Use notice_translated and ngettext.
2183         * collect2.h (notice_translated): Declare.
2184
2185 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
2186
2187         * reorg.c (delete_computation): Comment fixes.
2188         * caller-save.c (setup_save_areas): Idem.
2189         * sel-sched-dump.c (dump_lv_set): Idem.
2190         * rtl.def: Idem.
2191
2192 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2193
2194         * config/s390/s390.c (s390_sched_init): New function.
2195         (TARGET_SCHED_INIT): Target hook defined.
2196
2197 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
2198             Jack Howarth  <howarth@bromo.med.uc.edu>
2199             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2200
2201         PR target/42982
2202         Partial revert of unintended change in fix for PR41605.
2203         * config/darwin.h: Fix typo.
2204         * config/darwin9.h: Same.
2205
2206 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2207
2208         * c-pch.c (pch_init): Clear v.
2209
2210 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2211
2212         PR middle-end/42930
2213         * graphite-scop-detection.c (graphite_can_represent_scev): Call
2214         graphite_can_represent_init for MULT_EXPR.
2215
2216 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2217
2218         PR middle-end/42914
2219         PR middle-end/42530
2220         * graphite-sese-to-poly.c (remove_phi): New.
2221         (translate_scalar_reduction_to_array): Call remove_phi.
2222
2223 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2224
2225         PR middle-end/42771
2226         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
2227         * graphite-clast-to-gimple.h (gloog): Update declaration.
2228         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
2229         * graphite-poly.h (struct poly_bb): Add missing comments.
2230         (struct scop): Add poly_scop_p field.
2231         (POLY_SCOP_P): New.
2232         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
2233         * graphite.c (graphite_transform_loops): Build the polyhedral
2234         representation for each scop before code generation.
2235         * sese.c (rename_variables_in_operand): Removed.
2236         (rename_variables_in_expr): Return the renamed expression.
2237         (rename_sese_parameters): New.
2238         * sese.h (rename_sese_parameters): Declared.
2239
2240 2010-02-11  Richard Guenther  <rguenther@suse.de>
2241
2242         PR tree-optimization/42998
2243         * tree-ssa-pre.c (create_expression_by_pieces): Treat
2244         POINTER_PLUS_EXPR properly.
2245
2246 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
2247             Changpeng Fang  <changpeng.fang@amd.com>
2248
2249         PR middle-end/40886
2250         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
2251         the cost of an IV candidate when the IV is used in a test against zero.
2252
2253         * gcc.dg/tree-ssa/ivopts-3.c: New.
2254
2255 2010-02-11  Richard Guenther  <rguenther@suse.de>
2256
2257         PR lto/41664
2258         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
2259         pointer-vs-decl case by swapping refs.  Handle some cases
2260         of pointer-vs-decl disambiguations more conservatively.
2261         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
2262         to false after expanding.
2263
2264 2010-02-11  Richard Guenther  <rguenther@suse.de>
2265
2266         PR driver/43021
2267         * gcc.c (process_command): Handle LTO file@offset case more
2268         appropriately.
2269
2270 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
2271
2272         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
2273         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
2274         of DEBUG_INSNs.
2275         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
2276
2277         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
2278         if MEM's mode size isn't DWARF2_ADDR_SIZE.
2279         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
2280         Optimize eq/ne comparisons when both arguments are known to be
2281         zero-extended.
2282         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
2283         Don't mask operands unnecessarily if they are known to be already
2284         zero-extended.
2285
2286 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
2287
2288         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
2289         instead of loop.
2290
2291 2010-02-10  Richard Guenther  <rguenther@suse.de>
2292
2293         PR tree-optimization/43017
2294         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
2295         for wrapping signed arithmetic.
2296
2297 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2298
2299         PR debug/43010
2300         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
2301         if no debug info should be emitted for it.
2302
2303 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
2304
2305         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
2306         note when flag_exceptions is set.
2307
2308 2010-02-10  Duncan Sands  <baldrick@free.fr>
2309
2310         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
2311
2312 2010-02-10  Richard Guenther  <rguenther@suse.de>
2313
2314         PR c/43007
2315         * tree.c (get_unwidened): Handle constants.
2316         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
2317
2318 2010-02-10  Martin Jambor  <mjambor@suse.cz>
2319
2320         PR lto/42985
2321         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
2322         check for variable argument counts independently.
2323
2324 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2325
2326         PR target/42841
2327         * config/sh/sh.c (find_barrier): Increase length for non delayed
2328         conditional branches.
2329
2330 2010-02-10  Christian Bruel  <christian.bruel@st.com>
2331
2332         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
2333
2334 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
2335
2336         * builtins.c (set_builtin_user_assembler_name): Also handle
2337         ffs if int is smaller than word.
2338
2339 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
2340
2341         PR middle-end/42973
2342         * ira-conflicts.c (get_dup): Remove.
2343         (process_reg_shuffles): Add new parameter.  Use it as an
2344         additional guard for copy generation.
2345         (add_insn_allocno_copies): Rewrite.
2346
2347 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
2348
2349         * common.opt (fsched2-use-traces): Preserved for backward
2350         compatibility.
2351         * doc/invoke.texi: Remove the documentation about option
2352         -fsched2-use-traces.
2353         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
2354         flag_sched2_use_traces.
2355         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
2356         the backward compatibility flag section.
2357
2358 2010-02-09  Richard Guenther  <rguenther@suse.de>
2359
2360         PR tree-optimization/43008
2361         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
2362         make HEAP variables initialized from global memory if they
2363         are not known builtin functions.
2364         (find_func_aliases): Adjust.
2365
2366 2010-02-09  Richard Guenther  <rguenther@suse.de>
2367
2368         PR tree-optimization/43000
2369         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
2370         arithmetic manually.
2371
2372 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
2373
2374         PR tree-optimization/42931
2375         * tree-loop-linear.c (try_interchange_loops): Don't call
2376         double_int_mul if estimated_loop_iterations failed.
2377
2378 2010-02-08  Martin Jambor  <mjambor@suse.cz>
2379
2380         PR middle-end/42898
2381         * tree-sra.c (build_accesses_from_assign): Do not mark in
2382         should_scalarize_away_bitmap if stmt has volatile ops.
2383         (sra_modify_assign): Do not process assigns piecemeal if if stmt
2384         has volatile ops.
2385
2386 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
2387
2388         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
2389
2390 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
2391
2392         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
2393         before the pattern.
2394
2395 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
2396
2397         PR middle-end/42946
2398         * df-core.c (df_finish_pass): Change type of saved_flags to int.
2399
2400 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2401
2402         PR middle-end/42988
2403         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
2404         to unknown_dependence.
2405         (graphite_legal_transform_dr): Handle the unknown_dependence.
2406         (graphite_carried_dependence_level_k): Same.
2407
2408 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
2409
2410         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
2411
2412 2010-02-07  Richard Guenther  <rguenther@suse.de>
2413
2414         PR middle-end/42991
2415         * expr.c (get_inner_reference): Always initialize *pbitsize.
2416
2417 2010-02-07  Richard Guenther  <rguenther@suse.de>
2418
2419         PR middle-end/42956
2420         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
2421         new ARRAY_REFs on variable size element or minimal index arrays.
2422         Complete.
2423         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
2424         gimple_fold_indirect_ref.
2425
2426 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
2427
2428         PR target/42957
2429         * arm.c (arm_override_options): Just return if the user has specified
2430         an invalid fpu name.
2431
2432 2010-02-03  Jason Merrill  <jason@redhat.com>
2433
2434         PR c++/42870
2435         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
2436         i386_pe_maybe_record_exported_symbol.
2437
2438 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
2439
2440         PR target/42924
2441         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2442         (pa_delegitimize_address): New function.
2443
2444 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
2445
2446         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
2447         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
2448
2449 2010-02-05  Richard Guenther  <rguenther@suse.de>
2450
2451         PR lto/42762
2452         * lto-streamer-in.c (get_resolution): Deal with references
2453         to undefined functions.
2454
2455 2010-02-05  Richard Guenther  <rguenther@suse.de>
2456
2457         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
2458         (fold_const_aggregate_ref): Likewise.
2459         (ccp_fold_stmt): Substitute loads.
2460         (maybe_fold_reference): Verify types before substituting.
2461         Unshare properly.
2462         (fold_gimple_assign): Unshare properly.
2463         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
2464
2465 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
2466
2467         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
2468         for rs6000_gen_cell_microcode.
2469
2470 2010-02-04  Richard Guenther  <rguenther@suse.de>
2471
2472         PR rtl-optimization/42952
2473         * dse.c (const_or_frame_p): Remove MEM handling.
2474
2475 2010-02-04  Nick Clifton  <nickc@redhat.com>
2476
2477         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
2478         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
2479         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
2480         (mn10300_asm_output_mi_thunk): New function.
2481         (mn10300_can_output_mu_thunk): New function.
2482         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
2483         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
2484         (FUNCTION_ARG): Delete incorrect comment.
2485
2486 2010-02-03  Jason Merrill  <jason@redhat.com>
2487
2488         PR c++/40138
2489         * fold-const.c (operand_equal_p): Handle erroneous types.
2490
2491 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
2492
2493         * config/h8300/h8300.md (can_delay): Fix attibute condition.
2494
2495 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
2496
2497         PR rtl-optimization/42941
2498         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
2499         of xmalloc.
2500
2501 2010-02-03  Jason Merrill  <jason@redhat.com>
2502
2503         PR c++/35652
2504         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
2505
2506 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
2507
2508         PR debug/42896
2509         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
2510         (cselib_reset_table): Renamed from...
2511         (cselib_reset_table_with_next_value): ... this.
2512         (cselib_get_next_uid): Renamed from...
2513         (cselib_get_next_unknown_value): ... this.
2514         * cselib.c (next_uid): Renamed from...
2515         (next_unknown_value): ... this.
2516         (cselib_clear_table): Adjust.
2517         (cselib_reset_table): Adjust.  Renamed from...
2518         (cselib_reset_table_with_next_value): ... this.
2519         (cselib_get_next_uid): Adjust.  Renamed from...
2520         (cselib_get_next_unknown_value): ... this.
2521         (get_value_hash): Use hash.
2522         (cselib_hash_rtx): Likewise.
2523         (new_cselib_val): Adjust.  Set and dump uid.
2524         (cselib_lookup_mem): Pass next_uid as hash.
2525         (cselib_subst_to_values): Likewise.
2526         (cselib_log_lookup): Dump uid.
2527         (cselib_lookup): Pass next_uid as hash.  Adjust.
2528         (cselib_process_insn): Adjust.
2529         (cselib_init): Initialize next_uid.
2530         (cselib_finish): Adjust.
2531         (dump_cselib_table): Likewise.
2532         * dse.c (canon_address): Dump value uid.
2533         * print-rtl.c (print_rtx): Print value uid.
2534         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
2535         (dvuid): New type.
2536         (dv_uid): New function, sort of renamed from...
2537         (dv_htab_hash): ... this, reimplemented in terms of it and...
2538         (dv_uid2hash): ... this.  New.
2539         (variable_htab_eq): Drop excess assertions.
2540         (tie_break_pointers): Removed.
2541         (canon_value_cmp): Compare uids.
2542         (variable_post_merge_New_vals): Print uids.
2543         (vt_add_function_parameters): Adjust.
2544         (vt_initialize): Reset table.  Adjust.
2545
2546 2010-02-03  Richard Guenther  <rguenther@suse.de>
2547
2548         PR tree-optimization/42944
2549         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
2550         (call_may_clobber_ref_p_1): Likewise.  Properly handle
2551         malloc and calloc clobbering errno.
2552
2553 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
2554
2555         * doc/invoke.texi: Fix name of sched1 dump.
2556
2557         * opts.c (decode_options): Set flag_tree_switch_conversion
2558         only conditionally on optimize >= 2.
2559
2560         * gcse.c: Assorted comment fixes in pass description.
2561
2562 2010-02-03  Anthony Green  <green@moxielogic.com>
2563
2564         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
2565         nop padding in order to maintain alignment of storage location of
2566         target function address.
2567         (moxie_trampoline_init): Store target function address at newly
2568         aligned location.
2569         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
2570         to 32.
2571         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
2572
2573 2010-02-03  Richard Guenther  <rguenther@suse.de>
2574
2575         PR middle-end/42927
2576         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
2577
2578 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2579
2580         * config.gcc: Reenable check for obsolete targets.
2581         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
2582         mips-sgi-irix6.[0-4]*.
2583
2584 2010-02-02  Nick Clifton  <nickc@redhat.com>
2585
2586         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
2587         constant size of 4 as being the same as 0.
2588         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
2589         can take values in the range 0..4.
2590
2591 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
2592
2593         PR java/41991
2594         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
2595         as _darwin10_Unwind_FindEnclosingFunction().
2596         * libgcc-libsystem.ver: New.
2597
2598 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
2599
2600         PR target/41399
2601         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
2602         implicitly set registers.
2603
2604 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
2605
2606         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
2607         (arm_override_options): Allow automatic selection of the thread
2608         pointer register if thumb2.
2609         (legitimize_pic_address): Improve code sequences for Thumb2.
2610         (arm_call_tls_get_addr): Likewise.
2611         (legitimize_tls_address): Likewise.
2612         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
2613         (pic_load_addr_32bit): ... this.  New named pattern.
2614         * thumb2.md (pic_load_addr_thumb2): Delete.
2615         (pic_load_dot_plus_four): Delete.
2616         (tls_load_dot_plus_four): New named pattern.
2617
2618 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2619
2620         PR libgomp/29986
2621         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
2622         Document fix for TLS bug.
2623
2624 2010-01-31  Richard Guenther  <rguenther@suse.de>
2625
2626         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
2627         conservatively correct.
2628
2629 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2630
2631         PR target/42850
2632         Revert:
2633         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2634
2635         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2636
2637 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2638
2639         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
2640
2641 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
2642
2643         * config.gcc: Adjust order of makefile fragments for mingw targets.
2644
2645 2010-01-31  Richard Guenther  <rguenther@suse.de>
2646
2647         PR middle-end/42898
2648         * gimplify.c (gimplify_init_constructor): For volatile LHS
2649         initialize a temporary.
2650
2651 2010-01-31  Matthias Klose  <doko@ubuntu.com>
2652
2653         * configure.ac: Fix __stack_chk_fail check for cross builds configured
2654         --with-headers
2655         * configure: Regenerate.
2656
2657 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
2658
2659         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2660         the same alias set and their sizes different constantness.
2661         (aliasing_component_refs_p): Revert 2009-10-24 change.
2662
2663 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2664
2665         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
2666         unused.
2667
2668 2010-01-29  Richard Guenther  <rguenther@suse.de>
2669
2670         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
2671         Assert we successfully updated the call.
2672
2673 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
2674
2675         PR rtl-optimization/42889
2676         * df.h (df_set_bb_dirty_nonlr): New prototype.
2677         * df-core.c (df_set_bb_dirty_nonlr): New function.
2678         * df-scan.c (df_insn_rescan): Call it instead of
2679         df_set_bb_dirty for DEBUG_INSNs.
2680
2681 2010-01-29  Richard Guenther  <rguenther@suse.de>
2682
2683         PR middle-end/37448
2684         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
2685         quadratic behavior in most cases.
2686
2687 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
2688
2689         PR target/42891
2690         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
2691         in the call to gen_x86_movsicc_0_m1.
2692
2693 2010-01-28  Richard Guenther  <rguenther@suse.de>
2694
2695         PR tree-optimization/42871
2696         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
2697
2698 2010-01-28  Richard Guenther  <rguenther@suse.de>
2699
2700         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
2701         into call arguments.
2702
2703 2010-01-28  Richard Guenther  <rguenther@suse.de>
2704
2705         PR middle-end/42883
2706         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
2707         the forwarder if the destination is an EH landing pad.
2708
2709 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
2710
2711         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
2712         block list passed to gimple_duplicate_sese_tail.
2713         (parallelize_loops): Avoid parallelization when the function
2714         has_nonlocal_label.
2715         Avoid parallelization when the preheader is IRREDUCIBLE.
2716         Try to optimize when estimated_loop_iterations_int is unresolved.
2717         Add the loop's location to the dump file.
2718         * tree-cfg.c (add_phi_args_after_redirect): Remove.
2719         (gimple_duplicate_sese_tail): Remove the check for the latch.
2720         Redirect nexits to the exit block.
2721         Remove handling of the incoming edges to the latch.
2722         Redirect the backedge from the copied latch to the exit bb.
2723
2724 2010-01-28  Michael Matz  <matz@suse.de>
2725
2726         PR target/42881
2727         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
2728         Wrap force_reg into a sequence, emit it before user.
2729
2730 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
2731
2732         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
2733         (arm_rev): New.
2734         (arm_legacy_rev): Likewise.
2735         (thumb_legacy_rev): Likewise.
2736
2737 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
2738
2739         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
2740         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
2741         on MEM's address failed, try avoid_constant_pool_reference and
2742         recurse if it returned something different.
2743         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
2744         address, try avoid_constant_pool_reference and recurse if it
2745         returned something different.
2746         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
2747         address and avoid_constant_pool_reference returned something
2748         different, don't set have_address.
2749
2750 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
2751
2752         PR debug/42861
2753         * var-tracking.c (val_store): Add modified argument, obey it.
2754         Adjust callers.
2755         (count_uses): Move down logging of main.
2756         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
2757         don't need resolution.
2758         (emit_notes_in_bb): Likewise.
2759
2760 2010-01-27  Richard Guenther  <rguenther@suse.de>
2761
2762         PR middle-end/42878
2763         * tree-inline.c (remap_decl): Delay remapping of SSA name
2764         default definitions until we need them.
2765
2766 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
2767
2768         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2769         (rs6000_delegitimize_address): New function.
2770
2771         * config/s390/s390.c (s390_delegitimize_address): Call
2772         delegitimize_mem_from_attrs.
2773
2774         PR middle-end/42874
2775         * tree-inline.c (cannot_copy_type_1): Removed.
2776         (copy_forbidden): Don't forbid copying of functions containing
2777         records/unions with variable length fields.
2778
2779 2010-01-27  Christian Bruel  <christian.bruel@st.com>
2780
2781         Revert:
2782         PR target/42841
2783         * config/sh/sh.c (find_barrier): Increase length for non delayed
2784         conditional branches.
2785
2786 2010-01-27  Matthias Klose  <doko@ubuntu.com>
2787
2788         * configure.ac (gnu-unique-object): Fix ldd version check.
2789         * configure: Regenerate.
2790
2791 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2792
2793         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
2794         HAVE_GNU_AS value.
2795         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
2796         Test for HAVE_GNU_AS value.
2797
2798 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2799
2800         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
2801         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
2802         INT64_TYPE): Define.
2803         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
2804         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2805         INT_LEAST64_TYPE): Define.
2806         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
2807         UINT_LEAST64_TYPE): Define.
2808         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
2809         INT_FAST64_TYPE): Define.
2810         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2811         UINT_FAST64_TYPE): Define.
2812         (INTMAX_TYPE, UINTMAX_TYPE): Define.
2813         (INTPTR_TYPE, UINTPTR_TYPE): Define.
2814         (SIG_ATOMIC_TYPE): Define.
2815
2816 2010-01-26  Richard Guenther  <rguenther@suse.de>
2817
2818         * df-scan.c (df_scan_set_bb_info): Remove assert.
2819         (df_insn_rescan_debug_internal): Merge asserts.
2820         (df_install_ref): Likewise.
2821         (df_mark_reg): Use bitmap_set_range.
2822         (df_hard_reg_used_p): Remove assert.
2823         (df_hard_reg_used_count): Likewise.
2824
2825 2010-01-26  Richard Guenther  <rguenther@suse.de>
2826
2827         PR rtl-optimization/42685
2828         * web.c (web_main): Ignore DEBUG_INSNs.
2829
2830 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
2831
2832         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
2833
2834         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
2835         Fix types of fndecl and arglist parameters.
2836
2837 2010-01-26  Richard Guenther  <rguenther@suse.de>
2838
2839         PR middle-end/42806
2840         * tree-eh.c (unsplit_eh): Skip debug insns.
2841
2842 2010-01-26  Richard Guenther  <rguenther@suse.de>
2843
2844         PR tree-optimization/42250
2845         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
2846
2847 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
2848
2849         PR fortran/42866
2850         * omp-low.c (expand_omp_sections): Only use single_pred if
2851         l2_bb is single_pred_p.
2852
2853 2010-01-25  Christian Bruel  <christian.bruel@st.com>
2854
2855         PR target/42841
2856         * config/sh/sh.c (find_barrier): Increase length for non delayed
2857         conditional branches.
2858         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
2859
2860 2010-01-24  David S. Miller  <davem@davemloft.net>
2861
2862         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
2863         define if not using GAS.
2864         * config/sparc/sparc.c (sparc_elf_asm_named_section):
2865         Likewise.  Delete SECTION_MERGE code, which is only applicable
2866         when using GAS.
2867
2868 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
2869
2870         PR c++/42748
2871         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
2872         mangling of va_list in system headers.
2873
2874 2010-01-23  Toon Moene  <toon@moene.org>
2875
2876         * tree-predcom.c (combine_chains): Return NULL, not false.
2877
2878 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
2879
2880         * tree-loop-distribution.c (distribute_loop): Fix declaration and
2881         initialization of variable res to agree with return type.
2882
2883 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
2884
2885         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
2886         * tree-sra.c: Add include of expr.h.
2887
2888 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
2889
2890         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
2891         insert the debug stmt on the single non-EH edge from the stmt.
2892
2893 2010-01-22  Richard Henderson  <rth@redhat.com>
2894
2895         PR tree-opt/42833
2896         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
2897         the RHS until after generate_subtree_copies has insertted its
2898         code before the current statement.
2899
2900 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
2901
2902         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
2903
2904         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
2905
2906 2010-01-21  Martin Jambor  <mjambor@suse.cz>
2907
2908         PR tree-optimization/42585
2909         * tree-sra.c (struct access): New field grp_total_scalarization.
2910         (dump_access): Dump the new field.
2911         (should_scalarize_away_bitmap): New variable.
2912         (cannot_scalarize_away_bitmap): Likewise.
2913         (sra_initialize): Allocate new bitmaps.
2914         (sra_deinitialize): Free new bitmaps.
2915         (create_access_1): New function.
2916         (create_access): Parts moved to create_access_1.
2917         (type_consists_of_records_p): New function.
2918         (completely_scalarize_record): Likewise.
2919         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
2920         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
2921         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
2922         access.
2923         (analyze_all_variable_accesses): Completely scalarize small eligible
2924         records.
2925
2926 2010-01-21  Martin Jambor  <mjambor@suse.cz>
2927
2928         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
2929
2930 2010-01-21  Andrew Haley  <aph@redhat.com>
2931
2932         * gcc.c (process_command): Move lang_specific_driver before
2933         setting cc_libexec_prefix.
2934
2935 2010-01-21  Richard Guenther  <rguenther@suse.de>
2936
2937         PR middle-end/19988
2938         * fold-const.c (negate_expr_p): Pretend only negative
2939         real constants are easily negatable.
2940
2941 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
2942             Jason Merrill  <jason@redhat.com>
2943
2944         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
2945         (TYPE_TRANSPARENT_AGGR): this, for union and record.
2946         * calls.c (initialize argument_information): Handle it.
2947         * c-common.c (handle_transparent_union_attribute): Use new name.
2948         * c-decl.c (finish_struct): Ditto.
2949         * c-typeck.c (type_lists_compatible_p): Ditto.
2950         (convert_for_assignment): Use new name and also handle record.
2951         * function.c (aggregate_value_p): Handle it.
2952         (pass_by_reference): Ditto.
2953         (assign_parm_data_types): Ditto.
2954         * print-tree.c (print_node): Ditto.
2955         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
2956         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
2957         * tree.c (first_field): New fn.
2958
2959 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
2960
2961         PR target/42818
2962         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
2963         even when linking statically, for now.
2964
2965 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
2966
2967         PR debug/42715
2968         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
2969         without a cselib val.
2970         (count_uses): Accept MO_VAL_SET with no val on stores.
2971         (add_stores): Likewise.
2972
2973 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
2974
2975         * var-tracking.c (check_value_val): Add a compile time assertion.
2976         (dv_is_decl_p): Simplify.
2977         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
2978         gcc_assert if ENABLE_CHECKING.
2979
2980 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
2981
2982         PR debug/42782
2983         * var-tracking.c: Include tree-flow.h.
2984         (mem_dies_at_call): New.
2985         (dataflow_set_preserve_mem_locs): Use it.
2986         (dataflow_set_remove_mem_locs): Likewise.
2987         (dump_var): Renamed from dump_variable.  Adjust all callers.
2988         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
2989         * Makefile.in (var-tracking.o): Adjust deps.
2990
2991 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
2992
2993         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
2994
2995 2010-01-20  Richard Guenther  <rguenther@suse.de>
2996
2997         PR tree-optimization/42717
2998         * tree-ssa-dce.c (get_live_post_dom): Remove.
2999         (forward_edge_to_pdom): Take an arbitrary edge to copy
3000         degenerate PHI args from.
3001         (remove_dead_stmt): Use the first post-dominator even if it
3002         does not contain live statements as redirection destination.
3003
3004 2010-01-20  Richard Guenther  <rguenther@suse.de>
3005
3006         * tree-inline.c (estimate_num_insns): Handle EH builtins.
3007
3008 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3009
3010         * sel-sched.c (create_speculation_check): Remove set but not used
3011         variable twin.
3012         (try_transformation_cache): Remove set but not used variable ds.
3013         (calculate_privileged_insns): Remove set but not used variables
3014         cur_insn and min_spec_insn.
3015         (find_best_expr): Remove set but not used variable avail_n.
3016         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
3017         variable e.
3018         * cgraphunit.c (assemble_thunk): Remove set but not used variable
3019         false_label.
3020         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
3021         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
3022         new_scop_exit_edge.
3023
3024 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
3025
3026         PR bootstrap/42786
3027         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
3028         cpu types.  Add support for *-sse3 cpu types.
3029         (x86_64-*-*): Ditto.
3030
3031 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3032
3033         PR middle-end/42803
3034         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
3035         argument, call initializer_constant_valid_p_1 instead of
3036         initializer_constant_valid_p, pass CACHE to it, return NULL
3037         immediately if first call returns NULL.
3038         (initializer_constant_valid_p_1): New function.
3039         (initializer_constant_valid_p): Use it.
3040
3041 2010-01-20  Thomas Quinot  <quinot@adacore.com>
3042
3043         * tree.def (PLACEHOLDER_EXPR): Fix comment.
3044
3045 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
3046
3047         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
3048         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
3049         (loc_list_from_tree): Don't handle unsigned division.  Handle
3050         signed modulo using DW_OP_{over,over,div,mul,minus}.
3051         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
3052         modulo instead of signed.
3053
3054 2010-01-20  DJ Delorie  <dj@redhat.com>
3055
3056         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
3057         (Fpa): Pass it
3058         (h8300_emit_stack_adjustment): Propogate it.
3059         (push): Pass it.
3060         (h8300_expand_prologue): Likewise.
3061         (h8300_expand_epilogue): Likewise.
3062
3063 2010-01-19  Michael Matz  <matz@suse.de>
3064
3065         PR tree-optimization/41783
3066         * tree-data-ref.c (toplevel): Include flags.h.
3067         (dump_data_dependence_relation):  Also dump the inputs if the
3068         result will be unknown.
3069         (split_constant_offset_1): Look through some conversions.
3070         * tree-predcom.c (determine_roots_comp): Restart a new chain if
3071         the offset from last element is too large.
3072         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
3073         (reassociate_to_the_same_stmt): Handle vector registers.
3074         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
3075         (e.g. conversions).
3076         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
3077         wide_prolog_niters argument, emit widening instructions.
3078         (vect_do_peeling_for_alignment): Adjust caller, use widened
3079         variant of the iteration cound.
3080         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
3081
3082 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3083
3084         PR target/38697
3085         * config/arm/neon-testgen.m (emit_automatics): New parameter
3086         features. Adjust for Fixed_return_reg feature.
3087         (test_intrinsic): Call emit_automatics with new feature.
3088         * config/arm/neon.ml: Update copyright years.
3089         (features): New Fixed_return_reg feature.
3090         (ops): Update feature for Vget_low.
3091
3092 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
3093
3094         PR tree-optimization/42719
3095         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
3096         stmt uses.
3097
3098         PR debug/42728
3099         * fwprop.c (all_uses_available_at): Return false if def_set dest
3100         is a REG that is used in def_insn.
3101
3102 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
3103
3104         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
3105
3106         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
3107         Add argument names.
3108
3109         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
3110
3111         * target.h (struct gcc_target) <secondary_reload>: Change type
3112         of last argument to secondary_reload_info *.
3113
3114 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
3115
3116         PR target/42774
3117         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
3118         memory references with unaligned offsets.  Remove CQImode handling.
3119         (unaligned_memory_operand): Return 1 for memory references with
3120         unaligned offsets.  Remove CQImode handling.
3121
3122 2010-01-18  Richard Guenther  <rguenther@suse.de>
3123
3124         PR middle-end/39954
3125         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
3126         builtin calls.
3127
3128 2010-01-18  Richard Guenther  <rguenther@suse.de>
3129
3130         PR tree-optimization/42781
3131         * tree-ssa-structalias.c (find_what_var_points_to): Skip
3132         restrict processing only if the original variable was artificial.
3133
3134 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
3135
3136         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
3137         find number of popped argument bytes.
3138
3139         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
3140         Fix the text that describes the return value for invalid insns.
3141
3142         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
3143
3144         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
3145         Clarify what 'cost of the -dependence' is.  Fix quoting.
3146
3147         * toplev.c (default_get_pch_validity): Rename argument to "sz".
3148         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
3149
3150 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
3151
3152         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
3153         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
3154
3155 2010-01-17  Richard Guenther  <rguenther@suse.de>
3156
3157         PR middle-end/42248
3158         * function.c (split_complex_args): Take a VEC to modify.
3159         (assign_parms_augmented_arg_list): Build a VEC instead of
3160         a chain of PARM_DECLs.
3161         (assign_parms_unsplit_complex): Take a VEC of arguments.
3162         Do not fixup unmodified parms.
3163         (assign_parms): Deal with the VEC.
3164         (gimplify_parameters): Likewise.
3165
3166 2010-01-17  Richard Guenther  <rguenther@suse.de>
3167
3168         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
3169         node existence check.
3170         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
3171         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
3172         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
3173         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
3174         (gimple_execute_on_growing_pred): Likewise.
3175
3176 2010-01-17  Richard Guenther  <rguenther@suse.de>
3177
3178         PR tree-optimization/42773
3179         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
3180         (compute_antic_aux): Likewise.
3181         (compute_partial_antic_aux): Likewise.
3182
3183 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
3184
3185         PR debug/42767
3186         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
3187         and US_TRUNCATE.
3188
3189 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
3190
3191         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
3192         appearance.
3193
3194         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
3195         Fix markup for strict argument.
3196
3197         (TARGET_SCHED_REORDER2): Fix argument types.
3198
3199         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
3200         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
3201
3202         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
3203         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
3204
3205         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
3206         Add argument name.
3207
3208         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
3209         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
3210         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
3211         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
3212         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
3213
3214         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
3215
3216         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
3217
3218         (TARGET_ASM_RELOC_RW_MASK): Add return type.
3219         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
3220
3221         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
3222
3223         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
3224         Use prototype.
3225
3226         (TARGET_ASM_NAMED_SECTION): Fix argument list.
3227
3228         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
3229         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
3230
3231         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
3232
3233         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
3234
3235         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
3236         referring to it.  Fix language.
3237
3238         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
3239
3240         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
3241
3242         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
3243
3244         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
3245
3246         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
3247         '@var{stream}.  Remove stray 'and'.
3248
3249         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
3250
3251         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
3252
3253         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
3254
3255         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
3256         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
3257
3258         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
3259         Fix description of return value.
3260         Rename argument "sz" to "len."
3261
3262         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
3263         Clarify meaning of 'true' return value.
3264
3265         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
3266
3267         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
3268         rep_mode versus mode_rep.
3269
3270         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
3271
3272         (TARGET_BUILTIN_DECL): Fix name.
3273
3274         (TARGET_COMMUTATIVE_P): Fix type of first argument.
3275
3276         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
3277
3278         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
3279
3280         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
3281
3282         (TARGET_RELAXED_ORDERING): Use @deftypevr.
3283
3284         (TARGET_GET_DRAP_RTX): Note that this is a hook.
3285         Clarify language.
3286
3287         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
3288         Rename argument tm_fn to md_fn.
3289
3290         (TARGET_OPTION_PRINT): Fix argument list.
3291
3292 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
3293
3294         PR target/42664
3295         * config/i386/i386.c (ix86_fixup_binary_operands):
3296         Revert FMA4 fixup of operands.
3297
3298 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3299
3300         PR gcc/42525
3301         * Makefile.in (write_entries_to_file, install-plugin):
3302         Use \012 instead of \n with tr.
3303
3304 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
3305
3306         * configure.ac (HAVE_AS_REF): New C macro.
3307         * configure: Regenerate.
3308         * config.in: Likewise.
3309         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
3310         if HAVE_AS_REF.
3311         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
3312         if HAVE_AS_REF.
3313
3314 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
3315
3316         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
3317
3318         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
3319
3320         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
3321
3322         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
3323
3324         (TARGET_IN_SMALL_DATA_P): Fix argument type.
3325
3326         (TARGET_BINDS_LOCAL_P): Fix argument type.
3327
3328         (TARGET_ASM_FILE_END): Use prototype.
3329
3330         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
3331
3332         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
3333
3334         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
3335
3336         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
3337
3338         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
3339         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
3340
3341         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
3342         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
3343
3344         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
3345         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
3346         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
3347         (TARGET_ADDR_SPACE_CONVERT): Likewise.
3348
3349         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
3350
3351         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
3352
3353         (TARGET_INIT_BUILTINS): Use prototype.
3354
3355         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
3356         Put 'const char *' in braces.  Fix parameter types.
3357         (TARGET_INVALID_CONVERSION): Fix parameter types.
3358         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
3359         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
3360
3361         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
3362         Fix argument type.
3363
3364         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
3365
3366         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
3367
3368 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
3369
3370         * doc/tm.texi (TARGET_HELP): Fix return type.
3371
3372         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
3373         in braces.  Fix argument types.
3374
3375         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
3376
3377         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
3378
3379         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
3380
3381         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
3382         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
3383
3384         (TARGET_MANGLE_TYPE): Fix argument types.
3385
3386         (TARGET_IRA_COVER_CLASSES): Use prototype.
3387
3388         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
3389
3390         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
3391
3392         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
3393
3394         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
3395
3396         (TARGET_CALLEE_COPIES): Fix argument types.
3397
3398         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
3399
3400         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
3401
3402         (TARGET_FUNCTION_VALUE): Fix argument types.
3403
3404         (TARGET_RETURN_IN_MSB): Fix argument type.
3405
3406         (TARGET_RETURN_IN_MEMORY): Fix argument types.
3407
3408         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
3409
3410         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
3411
3412         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
3413         agree with return type.
3414
3415         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
3416
3417 2010-01-15  Jing Yu  <jingyu@google.com>
3418
3419         PR rtl-optimization/42691
3420         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
3421         a pseudo to a constant and are merged, and adjust comments.
3422
3423 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3424
3425         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
3426
3427 2010-01-15  Richard Guenther  <rguenther@suse.de>
3428
3429         PR middle-end/42739
3430         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
3431         labels of computed or non-local gotos to the destination.
3432         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
3433         landing pad label is the first label.
3434
3435 2010-01-15  Richard Guenther  <rguenther@suse.de>
3436
3437         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
3438
3439 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3440
3441         PR target/42747
3442         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
3443         to allow generation of the xssqrtdp instruction on power7.
3444         (sqrtdf2_fpr): Ditto.
3445
3446 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3447
3448         PR middle-end/42674
3449         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
3450         functions with noreturn attribute.
3451
3452         PR c++/42608
3453         * varasm.c (declare_weak): Add weak attribute to decl if it
3454         doesn't have one already.
3455         (assemble_external): Only add decls to weak_decls if they also
3456         have weak attribute.
3457
3458 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
3459
3460         * var-tracking.c (var_reg_delete): Don't delete the association
3461         between REGs and values or one-part variables if the register
3462         isn't clobbered.
3463
3464 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3465
3466         PR debug/42657
3467         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
3468         because its first operand is a non-localized variable.
3469
3470 2010-01-14  Martin Jambor  <mjambor@suse.cz>
3471
3472         PR tree-optimization/42706
3473         * tree-sra.c (encountered_recursive_call): New variable.
3474         (encountered_unchangable_recursive_call): Likewise.
3475         (sra_initialize): Initialize both new variables.
3476         (callsite_has_enough_arguments_p): New function.
3477         (scan_function): Call decl and flags check only for IPA-SRA, check
3478         whether there is a recursive call and whether it has enough arguments.
3479         (all_callers_have_enough_arguments_p): New function.
3480         (convert_callers): Look for recursive calls only when
3481         encountered_recursive_call is set.
3482         (ipa_early_sra): Bail out either if
3483         !all_callers_have_enough_arguments_p or
3484         encountered_unchangable_recursive_call.
3485
3486 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3487
3488         * sel-sched.c: Add 2010 to copyright years.
3489         * sel-sched-ir.c: Likewise.
3490         * sel-sched-ir.h: Likewise.
3491
3492 2010-01-14  Martin Jambor  <mjambor@suse.cz>
3493
3494         PR tree-optimization/42714
3495         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
3496         constructors specially.
3497
3498 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3499
3500         * config/i386/drivers-i386.c (detect_caches_intel):
3501         Add l2sizekb parameter and fill in.
3502         (host_detect_local_cpu): Add l2sizekb, fill in.
3503         Add Atom small cache heuristic.
3504
3505 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3506
3507         * config/i386/drivers-i386.c (detect_caches_cpuid4):
3508         Add level3 parameter and fill in.
3509         (detect_caches_intel): Handle level3 cache.
3510
3511 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3512
3513         * config/i386/drivers-i386.c (host_detect_local_cpu):
3514         Fix core duo detection.
3515
3516 2010-01-14  Andi Kleen  <ak@linux.intel.com>
3517
3518         * config/i386/drivers-i386.c (host_detect_local_cpu):
3519         Fix Atom detection.
3520
3521 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3522
3523         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
3524         (rs6000_variable_issue_1): this.  Use...
3525         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
3526
3527 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3528
3529         * sel-sched-ir.c (sel_restore_other_notes): Rename to
3530         sel_restore_notes.  Update all callers.  Call reemit_notes
3531         for all insns.
3532
3533 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3534
3535         PR rtl-optimization/42246
3536         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
3537         loops.
3538
3539 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3540
3541         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
3542         all successors is the same as number of successors in current region.
3543
3544 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3545
3546         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
3547         to rename is not separable.  Otherwise check that its LHS is not NULL.
3548
3549 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3550
3551         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
3552
3553 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3554
3555         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
3556         available registers when failed to discover LHS register class.
3557         Fix indentation.  Update comment.
3558
3559 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3560             Alexander Monakov  <amonakov@ispras.ru>
3561
3562         PR rtl-optimization/42389
3563         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
3564         to can_issue_more.
3565         (advance_state_on_fence): Likewise.
3566         (sel_target_adjust_priority): Print debug output only when
3567         sched_verbose >= 4, not 2.
3568         (get_expr_cost): Do not issue all unique insns on the next cycle.
3569         (fill_insns): Initialize can_issue_more from the value saved
3570         with the fence.
3571         * sel-sched-ir.c (flist_add): New parameter issue_more.
3572         Init FENCE_ISSUE_MORE with it.
3573         (merge_fences): Likewise.
3574         (init_fences): Update call to flist_add.
3575         (add_to_fences, add_clean_fence_to_fences)
3576         (add_dirty_fence_to_fences): Likewise.
3577         (move_fence_to_fences): Update call to merge_fences.
3578         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
3579         sched groups.
3580         * sel-sched-ir.h (struct _fence): New field issue_more.
3581         (FENCE_ISSUE_MORE): New accessor macro.
3582
3583 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3584
3585         PR rtl-optimization/42388
3586         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
3587         that have no predecessors nor successors.  Do not call move_bb_info
3588         for empty blocks outside of current region.
3589
3590 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3591
3592         PR rtl-optimization/42294
3593         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
3594         * sel-sched.c (move_exprs_to_boundary): Transitively add all
3595         originators' originators.
3596
3597 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
3598
3599         PR rtl-optimization/39453
3600         PR rtl-optimization/42246
3601         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
3602         for pipelining_p.
3603         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
3604
3605 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
3606             Alexander Monakov  <amonakov@ispras.ru>
3607
3608         PR middle-end/42245
3609         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
3610         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
3611         argument.  Update all callers.
3612         (tidy_control_flow): ... and here.  Recompute topological order
3613         of basic blocks in region if necessary.
3614         (sel_redirect_edge_and_branch): Change return type.  Return true
3615         if topological order might have been invalidated.
3616         (purge_empty_blocks): Export and move from...
3617         * sel-sched.c (purge_empty_blocks): ... here.
3618         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
3619         (maybe_tidy_empty_bb): Delete prototype.
3620         (purge_empty_blocks): Declare.
3621
3622 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
3623
3624         PR rtl-optimization/42249
3625         * sel-sched.c (try_replace_dest_reg): When chosen register
3626         and original register is the same, do not bail out early, but
3627         still check all original insns for validity of replacing destination
3628         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
3629         in this case.
3630
3631 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
3632
3633         PR c/42721
3634         Port from no-undefined-overflow branch:
3635         2009-03-09  Richard Guenther  <rguenther@suse.de>
3636
3637         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
3638
3639 2010-01-14  Richard Guenther  <rguenther@suse.de>
3640
3641         PR lto/42665
3642         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
3643
3644 2010-01-14  Ira Rosen  <irar@il.ibm.com>
3645
3646         PR tree-optimization/42709
3647         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
3648         as scalar type in creation of constant vector operand.
3649
3650 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3651
3652         PR testsuite/42414
3653         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
3654         (check-parallel-%): Match `testsuite' directory component only
3655         at the end.
3656
3657 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
3658
3659         PR translation/39521
3660         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
3661         strings with _().
3662
3663 2010-01-13  Richard Guenther  <rguenther@suse.de>
3664
3665         PR tree-optimization/42730
3666         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
3667         offset zero.
3668
3669 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
3670
3671         PR target/pr42542
3672         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
3673         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
3674         them signed.
3675
3676 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
3677
3678         * config/bfin/libgcc-bfin.ver: Regenerate based on current
3679         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
3680         ___umulsi3_highpart.
3681
3682         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
3683         rather than schedule_insns if the pass is enabled.
3684
3685 2010-01-13  Martin Jambor  <mjambor@suse.cz>
3686
3687         PR tree-optimization/42704
3688         * tree-sra.c (sra_modify_assign): Do not delete assignments to
3689         SSA_NAMEs.
3690
3691 2010-01-13  Martin Jambor  <mjambor@suse.cz>
3692
3693         PR tree-optimization/42703
3694         * tree-sra.c (analyze_access_subtree): Check that we can build a
3695         reference to the original data within the aggregate.
3696
3697 2010-01-13  Richard Guenther  <rguenther@suse.de>
3698
3699         PR tree-optimization/42705
3700         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
3701
3702 2010-01-13  Richard Guenther  <rguenther@suse.de>
3703
3704         PR middle-end/42716
3705         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
3706
3707 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
3708
3709         PR debug/41371
3710         * var-tracking.c (values_to_unmark): New variable.
3711         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
3712         values_to_unmark vector.  Moved body to...
3713         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
3714         instead queue it into values_to_unmark vector.
3715         (vt_find_locations): Free values_to_unmark vector.
3716
3717 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
3718
3719         * config/s390/s390.c (override_options): Set
3720         default of max-pending-list-length to 256
3721
3722 2010-01-13  Richard Guenther  <rguenther@suse.de>
3723
3724         PR lto/42678
3725         * tree-pass.h (PROP_gimple_lcx): New.
3726         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
3727         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
3728         before the final cleanup_eh.
3729         (dump_properties): Dump PROP_gimple_lcx.
3730         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
3731         (tree_lower_complex_O0): Remove.
3732         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
3733         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
3734         tree_lower_complex, schedule TODO_update_ssa.
3735         * lto-streamer-out.c (output_function): Stream the functions
3736         properties.
3737         * lto-streamer-in.c (input_function): Likewise.
3738         (lto_read_body): Do not override them here.
3739
3740 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
3741
3742         PR c/42708
3743         * c-typeck.c (build_c_cast): Fold value cast to union type before
3744         wrapping it in a CONSTRUCTOR.
3745
3746 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
3747
3748         PR rtl-optimization/42699
3749         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
3750         involved.
3751
3752 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3753
3754         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3755         SUBTARGET_WARN_UNUSED_SPEC): Move ...
3756         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3757         SUBTARGET_WARN_UNUSED_SPEC): ... here
3758         * config/mips/iris5.h (LIBGCC_SPEC): Define.
3759
3760 2010-01-12  Julian Brown  <julian@codesourcery.com>
3761
3762         * config/arm/neon-schedgen.ml (Utils): Don't try to
3763         open missing module.
3764         (find_with_result): New.
3765
3766 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
3767
3768         PR debug/42662
3769         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
3770         sharing when canonicalizing ({lt,ge}u (plus a b) b).
3771
3772         PR tree-optimization/42645
3773         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
3774         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
3775         decl_map, set processing_debug_stmt to -1 and return name without
3776         any remapping.
3777
3778 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
3779
3780         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
3781         binutils version, and reword target configuration description.
3782
3783 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
3784
3785         * config/avr/avr.h (LINKER_NAME): Remove.
3786
3787 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
3788
3789         PR target/42416
3790         * config/rs6000/rs6000.c (rs6000_override_options): On targets
3791         that support VSX, warn for -mno-altivec if vsx is not disabled,
3792         and disable vsx.
3793
3794 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
3795             Shujing Zhao  <pearly.zhao@oracle.com>
3796
3797         PR translation/42469
3798         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
3799         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
3800         character between option name and help text.
3801         * c.opt (imultilib): Likewise.
3802
3803 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
3804
3805         * lto-streamer-out.c (output_unreferenced_globals): Output static
3806         variables.
3807
3808 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
3809
3810         PR rtl-optimization/42621
3811         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
3812         optimizing for size.
3813         (duplicate_computed_gotos): Remove now-redundant check.
3814
3815 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
3816
3817         PR target/37454
3818         * configure.ac: Save and restore LDFLAGS and LIBS
3819         * configure: Regenerate.
3820
3821 2010-01-10  Richard Guenther  <rguenther@suse.de>
3822
3823         PR middle-end/42667
3824         * builtins.c (fold_builtin_strlen): Add type argument and
3825         convert the resulting length to it.
3826         (fold_builtin_1): Adjust.
3827
3828 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3829
3830         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
3831         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
3832         1 insn.
3833         (num_insns_constant_wide): Adjust for that change.
3834
3835 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3836
3837         PR debug/42631
3838         * web.c (union_defs): Add used argument, to combine uses of
3839         uninitialized regs.
3840         (entry_register): Adjust type and tests of used argument.
3841         (web_main): Widen used for new use.  Pass it to union_defs.
3842         * df.h (union_defs): Adjust prototype.
3843
3844 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3845
3846         PR debug/42630
3847         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
3848         uses in new incoming argument.  Free body.
3849         (reset_debug_uses_in_loop): New.
3850         (analyze_insn_to_expand_var): Call the latter if the former found
3851         anything.  Fix whitespace.  Reject invalid dest overlaps before
3852         going through all insns in the loop.
3853
3854 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3855
3856         PR debug/42629
3857         * haifa-sched.c (dying_use_p): Debug insns don't count.
3858
3859 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3860
3861         PR middle-end/42363
3862         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
3863         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
3864         (verify_gimple_call): Reject LHS in noreturn calls.
3865
3866 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3867
3868         PR debug/42604
3869         PR debug/42395
3870         * tree-vect-loop-manip.c (adjust_info): New type.
3871         (adjust_vec): New pointer to vector.
3872         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
3873         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
3874         (slpeel_update_phis_for_duplicate_loop): Use them.
3875         (slpeel_update_phi_nodes_for_guard1): Likewise.
3876         (slpeel_update_phi_nodes_for_guard2): Likewise.
3877         (slpeel_tree_peel_loop_to_edge): Likewise.
3878         (vect_update_ivs_after_vectorizer): Likewise.
3879
3880 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3881
3882         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
3883         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
3884
3885 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
3886
3887         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
3888         bogus uninitialized warning.
3889
3890 2010-01-09  Richard Guenther  <rguenther@suse.de>
3891
3892         PR middle-end/42512
3893         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
3894         the evolution is compatible with the initial condition.
3895
3896 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
3897
3898         * gcc.c (process_command): Update copyright notice dates.
3899         * gcov.c (print_version): Likewise.
3900         * gcov-dump.c (print_version): Likewise.
3901         * mips-tfile.c (main): Likewise.
3902         * mips-tdump.c (main): Likewise.
3903
3904 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
3905
3906         PR target/41885
3907         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
3908         (rotlhi3): Delete.
3909         (rotlhi3_8): Delete.
3910         (rotlsi3): Delete.
3911         (rotlsi3_8): Delete.
3912         (rotlsi3_16): Delete.
3913         (rotlsi3_24): Delete.
3914         (rotl<mode>3): New.
3915         (*rotw<mode>3): New.
3916         (*rotb<mode>3): New.
3917         * config/avr/avr.c (avr_rotate_bytes): New function.
3918         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
3919
3920 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
3921
3922         PR target/37454
3923         * configure.ac: Modify -rdynamic check.
3924         * configure: Regenerate.
3925
3926 2010-01-08  DJ Delorie  <dj@redhat.com>
3927
3928         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
3929         register popping order.
3930
3931 2010-01-08  Richard Guenther  <rguenther@suse.de>
3932
3933         PR lto/42528
3934         * c.opt (fsigned-char): Also let LTO handle this option.
3935         (funsigned-char): Likewise.
3936
3937 2010-01-07  Richard Guenther  <rguenther@suse.de>
3938
3939         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
3940         (gimple_op): Likewise.
3941         (gimple_op_ptr): Likewise.
3942         (gimple_assign_set_lhs): Remove gcc_assert.
3943         (gimple_assign_set_rhs1): Likewise.
3944         (gimple_assign_set_rhs2): Likewise.
3945         (gimple_call_set_lhs): Likewise.
3946         (gimple_call_set_fn): Likewise.
3947         (gimple_call_set_fndecl): Likewise.
3948         (gimple_call_fndecl): Likewise.
3949         (gimple_call_return_type): Likewise.
3950         (gimple_call_set_chain): Likewise.
3951         (gimple_call_num_args): Likewise.
3952         (gimple_call_set_arg): Likewise.
3953         (gimple_cond_set_code): Likewise.
3954         (gimple_cond_set_lhs): Likewise.
3955         (gimple_cond_set_rhs): Likewise.
3956         (gimple_cond_set_true_label): Likewise.
3957         (gimple_cond_set_false_label): Likewise.
3958         (gimple_label_set_label): Likewise.
3959         (gimple_goto_set_dest): Likewise.
3960         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
3961         (gimple_debug_bind_get_value): Likewise.
3962         (gimple_debug_bind_get_value_ptr): Likewise.
3963         (gimple_debug_bind_set_var): Likewise.
3964         (gimple_debug_bind_set_value): Likewise.
3965         (gimple_debug_bind_reset_value): Likewise.
3966         (gimple_debug_bind_has_value_p): Likewise.
3967         (gimple_return_retval_ptr): Remove gcc_assert.
3968         (gimple_return_retval): Likewise.
3969         (gimple_return_set_retval): Likewise.
3970         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
3971         (safe_referenced_var_iterator): Remove.
3972         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
3973         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
3974         (fill_referenced_var_vec): Remove.
3975         (first_readonly_imm_use): Remove redundant gcc_assert.
3976         (phi_arg_index_from_use): Combine gcc_asserts.
3977         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
3978         (first_imm_use_stmt): Remove redundant gcc_assert.
3979         * tree-cfg.c (verify_gimple_call): Verify function and chain
3980         operands.  Verify arguments.
3981         (verify_types_in_gimple_stmt): Verify condition code and labels.
3982
3983 2010-01-07  Richard Guenther  <rguenther@suse.de>
3984
3985         PR tree-optimization/42641
3986         * sese.c (rename_map_elt_info): Use the SSA name version, do
3987         not hash pointers.
3988
3989 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
3990
3991         PR tree-optimization/42625
3992         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
3993         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
3994
3995 2010-01-07  Duncan Sands  <baldrick@free.fr>
3996
3997         * Makefile.in (PLUGIN_HEADERS): Add version.h.
3998
3999 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
4000
4001         PR target/42511
4002         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
4003         note itself is not function_invariant_p.
4004
4005 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
4006
4007         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
4008         Do not add the DF_NOTE problem.
4009         * store-motion.c (execute_rtl_store_motion): Likewise.
4010
4011 2010-01-07  Martin Jambor  <mjambor@suse.cz>
4012
4013         PR tree-optimization/42157
4014         * tree-sra.c (compare_access_positions): Stabilize sort if both
4015         accesses have integer types, return zero immediately if they are the
4016         same.
4017
4018 2010-01-06  Richard Henderson  <rth@redhat.com>
4019
4020         PR middle-end/41883
4021         * haifa-sched.c (add_to_note_list): Merge into ...
4022         (concat_note_lists): ... here, and ...
4023         (unlink_other_notes, rm_other_notes): Merge into...
4024         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
4025         NOTE_INSN_EPILOGUE_BEG.
4026
4027 2010-01-06  Richard Guenther  <rguenther@suse.de>
4028
4029         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
4030         not inline regular functions into always-inline functions.
4031
4032 2010-01-06  Nick Clifton  <nickc@redhat.com>
4033
4034         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
4035         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
4036         used together.
4037         (OVERRIDE_OPTIONS): Delete.
4038         (OPTIMIZATION_OPTIONS): Define.
4039         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
4040         * config/rx/rx.c (rx_handle_option): Issue an error message if
4041         -mcpu=rx200 and -fpu are used together.
4042         (rx_set_optimization_options): New function.  Issue an error
4043         message if an optimization attribute attempts to reset the FPU/
4044         math optimization pairing.
4045         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
4046         * config/rx/rx.opt: Set the default to 32-bit doubles.
4047         * config/rx/t-rx: Add multilibs for -nofpu option.
4048         * doc/invoke.texi: Update documentation of RX options.
4049
4050 2010-01-06  Richard Guenther  <rguenther@suse.de>
4051
4052         * tree-ssa-pre.c (name_to_id): New global.
4053         (alloc_expression_id): Simplify SSA name handling.
4054         (lookup_expression_id): Likewise.
4055         (init_pre): Zero name_to_id.
4056         (fini_pre): Free it.
4057
4058 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
4059
4060         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
4061
4062 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
4063
4064         PR target/42542
4065         * config/i386/sse.md (smaxv2di3): New.
4066         (umaxv2di3): Likewise.
4067         (sminv2di3): Likewise.
4068         (uminv2di3): Likewise.
4069
4070 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
4071
4072         PR target/42564
4073         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
4074         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
4075         (legitimize_tls_address): Likewise.
4076         (sparc_tls_referenced_p): Likewise.
4077         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
4078         and adjust calls to legitimize_pic_address.
4079         (legitimate_constant_p) Use sparc_tls_referenced_p.
4080         (legitimate_pic_operand_p): Likewise.
4081         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
4082         (sparc_tls_symbol_ref_1): Delete.
4083         (sparc_tls_referenced_p): Make static, recognize specific patterns.
4084         (legitimize_tls_address): Make static, handle CONST patterns.
4085         (legitimize_pic_address): Make static, remove unused parameter and
4086         adjust recursive calls.
4087         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
4088         and adjust call to legitimize_pic_address.
4089         (sparc_output_mi_thunk): Likewise.
4090
4091 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
4092             H.J. Lu  <hongjiu.lu@intel.com>
4093
4094         PR target/42542
4095         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
4096         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
4097         operands to make them signed.
4098
4099         Revert:
4100         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4101
4102         PR target/42542
4103         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
4104         GTU to GT for V4SI and V2DI.
4105
4106         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
4107         (umin<mode>3): Removed.
4108         (uminv8hi3): New.
4109         (uminv4si3): Likewise.
4110
4111 2010-01-05  Martin Jambor  <mjambor@suse.cz>
4112
4113         PR tree-optimization/42462
4114         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
4115         current_function_decl to helper functions and macros.
4116
4117 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4118
4119         PR bootstrap/41771
4120         * flags.h: Don't include real.h.
4121         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
4122         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
4123         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
4124         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
4125         * dominance.c: Update copyright.
4126         * gimple.c (walk_gimple_op): Remove inline.
4127         * tree-ssa-reassoc.c: Include real.h.
4128         * Makefile.in (FLAGS_H): Remove $(REAL_H).
4129         (tree-ssa-reassoc.o): Depend on $(REAL_H).
4130
4131 2010-01-05  Nick Clifton  <nickc@redhat.com>
4132
4133         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
4134         register to push into the stack frame when the accumulator has to
4135         be saved during interrupts.
4136
4137 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
4138
4139         * doc/invoke.texi: Remove the documentation about option
4140         -Wunreachable-code.
4141         * common.opt (Wunreachable-code):  Preserved for backward
4142         compatibility.
4143         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
4144         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
4145         the backward compatibility flag section.
4146
4147 2010-01-05  Richard Guenther  <rguenther@suse.de>
4148
4149         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
4150
4151 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
4152
4153         PR other/42611
4154         * cfgexpand.c (expand_one_var): Diagnose too large variables.
4155
4156         PR tree-optimization/42508
4157         * tree-sra.c (convert_callers): Check for recursive call
4158         by comparing cgraph nodes instead of decls.
4159         (modify_function): Call ipa_modify_formal_parameters also
4160         on all same_body aliases.
4161
4162         * cgraphunit.c (cgraph_materialize_all_clones): Compare
4163         cgraph nodes when checking for same_body aliases.
4164
4165 2010-01-05  Richard Guenther  <rguenther@suse.de>
4166
4167         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
4168         allocation and lookup.
4169         (get_or_alloc_expr_for_constant): Likewise.
4170         (phi_translate): Sink allocation.
4171
4172 2010-01-04  Richard Guenther  <rguenther@suse.de>
4173
4174         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
4175         a new entry only if needed.
4176         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
4177         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
4178         hashtable lookup.
4179         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
4180         the result array.
4181         (phi_translate): Handle CONSTANTs early.
4182
4183 2010-01-04  Martin Jambor  <mjambor@suse.cz>
4184
4185         PR tree-optimization/42398
4186         * tree-sra.c (struct access): Removed flag grp_different_types.
4187         (dump_access): Do not dump the removed flag.
4188         (sort_and_splice_var_accesses): Do not set the removed flag.
4189         (sra_modify_expr): Check for type compatibility directly.
4190
4191 2010-01-04  Martin Jambor  <mjambor@suse.cz>
4192
4193         PR tree-optimization/42366
4194         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
4195         edges with variable number of parameters.
4196         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
4197         flag instead of asserting it.
4198         (ipa_read_node_info): Read uses_analysis_done flag.
4199
4200 2010-01-04  Richard Guenther  <rguenther@suse.de>
4201
4202         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
4203         iterative_hash_* as intended.
4204         (vn_reference_compute_hash): Likewise.  Simplify hashing
4205         SSA names.
4206         (vn_reference_lookup_2): Likewise.
4207         (vn_nary_op_compute_hash): Likewise.
4208         (vn_phi_compute_hash): Likewise.
4209         (expressions_equal_p): Remove strange code.
4210         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
4211         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
4212         (bitmap_insert_into_set_1): Take value-id as parameter.
4213         (add_to_value): Pass it.
4214         (bitmap_insert_into_set): Likewise.
4215         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
4216
4217 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
4218
4219         PR driver/42442
4220         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
4221         (do_self_spec): For switches with SWITCH_IGNORE set set also
4222         SWITCH_IGNORE_PERMANENTLY.
4223         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
4224         of SWITCH_IGNORE.
4225
4226 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
4227
4228         * lto-streamer-out.c (output_unreferenced_globals): Output the full
4229         tree of an unreferenced global var.
4230
4231 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4232
4233         PR target/42542
4234         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
4235         GTU to GT for V4SI and V2DI.
4236
4237         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
4238         (umin<mode>3): Removed.
4239         (uminv8hi3): New.
4240         (uminv4si3): Likewise.
4241
4242 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
4243
4244         PR lto/42581
4245         * collect2.c (main): Turn on trace in collect2 if -v is passed
4246         to gcc with LTO.
4247
4248 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
4249
4250         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
4251         description of expression operand.
4252
4253 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
4254
4255         * configure.ac: Add install-html to target_list for Make-hooks.
4256         * configure: Regenerate.
4257         * fortran/Make-lang.in (F95_HTMLFILES): New.
4258         (fortran.html): Use it.
4259         (fortran.install-html): New.
4260         * Makefile.in (install-html): Add lang.install-html.
4261         * java/Make-lang.in (JAVA_HTMLFILES): New.
4262         (java.html): Use it.
4263         (java.install-html): New.
4264         * objc/Make-lang.in (objc.install-html): New.
4265         * objcp/Make-lang.in (obj-c++.install-html): New.
4266         * cp/Make-lang.in (c++.install-html): New.
4267         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
4268         * lto/Make-lang.in (lto.install-html): New.
4269
4270 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4271
4272         PR lto/42520
4273         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
4274
4275 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
4276
4277         PR rtl-optimization/41862
4278         * store-motion.c (store_killed_in_insn, compute_store_table,
4279         remove_reachable_equiv_notes, replace_store_insn,
4280         build_store_vectors): Ignore all DEBUG_INSNs.
4281
4282 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4283
4284         PR lto/41564
4285         * common.opt: Add dumpdir.
4286
4287         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
4288         isn't specified.
4289         (option_map): Add --dumpdir.
4290
4291         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
4292
4293         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
4294
4295         * opts.c (decode_options): Try dump_dir_name first if
4296         dump_base_name isn't an absolute path.
4297         (common_handle_option): Handle OPT_dumpdir.
4298
4299         * toplev.c (dump_dir_name): New.
4300         (print_switch_values): Also ignore -dumpdir.
4301
4302         * toplev.h (dump_dir_name): New.
4303
4304 2010-01-03  Richard Guenther  <rguenther@suse.de>
4305
4306         PR tree-optimization/42589
4307         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
4308         double-word expansion of bswap32.
4309
4310 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
4311
4312         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
4313         with BLOCK_FOR_INSN.
4314         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
4315         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
4316         noce_process_if_block): Likewise.
4317         * gcse.c (compute_local_properties, insert_expr_in_table,
4318         insert_set_in_table, canon_list_insert, find_avail_set,
4319         pre_insert_copy_insn): Likewise.
4320
4321         * basic-block.h (BLOCK_NUM): Move from here...
4322         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
4323
4324 2010-01-03  Richard Guenther  <rguenther@suse.de>
4325
4326         PR tree-optimization/42438
4327         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
4328         contains_may_not_return_call flag.
4329         (BB_MAY_NOTRETURN): New.
4330         (valid_in_sets): Trapping nary operations are not valid
4331         in blocks that may not return.
4332         (insert_into_preds_of_block): Remove check for trapping expressions.
4333         (compute_avail): Compute also BB_MAY_NOTRETURN.
4334
4335 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
4336
4337         * doc/invoke.texi: Add 2010 to copyright years.
4338
4339 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
4340
4341         * config/sparc/sparc.c: Fix formatting nits.
4342
4343 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
4344             Alexander Monakov  <amonakov@ispras.ru>
4345
4346         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
4347
4348 2010-01-02  Richard Guenther  <rguenther@suse.de>
4349
4350         PR middle-end/42577
4351         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
4352         (simplify_switch_using_ranges): Mark to be removed edges
4353         as non-executable.
4354
4355 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4356
4357         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
4358
4359         * collect2.c (scan_libraries): Add missing argument in call to
4360         scan_prog_file.
4361
4362 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
4363
4364         PR target/42448
4365         * config/alpha/predicates.md (aligned_memory_operand): Return false
4366         for CQImode.
4367         (unaligned_memory_operand): Return true for CQImode.
4368         * config/alpha/alpha.c (get_aligned_mem): Assert that location
4369         doesn not cross aligned SImode word boundary.
4370
4371 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
4372
4373         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
4374         Remove.
4375         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
4376         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
4377
4378 2010-01-02  Richard Guenther  <rguenther@suse.de>
4379
4380         PR lto/41597
4381         * toplev.c (compile_file): Emit LTO marker properly.  Change
4382         it to __gnu_lto_v1.
4383         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
4384
4385 2010-01-01  Richard Guenther  <rguenther@suse.de>
4386
4387         PR debug/42455
4388         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
4389
4390 2010-01-01  Richard Guenther  <rguenther@suse.de>
4391
4392         PR c/42570
4393         * c-decl.c (grokdeclarator): For zero-size arrays force
4394         structural equality checks as layout_type does.
4395
4396 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
4397
4398         * builtins.c: Update copyright to 2010.
4399
4400 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
4401
4402         PR lto/42531
4403         * lto-streamer-out.c (produce_asm): Revert the last change.
4404         (copy_function): Likewise.
4405
4406         * lto-streamer.c (lto_get_section_name): Skip any leading
4407         asterisk in name.
4408
4409 2010-01-01  Richard Guenther  <rguenther@suse.de>
4410
4411         PR middle-end/42559
4412         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
4413         for LABEL_DECLs.
4414
4415 \f
4416 Copyright (C) 2010 Free Software Foundation, Inc.
4417
4418 Copying and distribution of this file, with or without modification,
4419 are permitted in any medium without royalty provided the copyright
4420 notice and this notice are preserved.