OSDN Git Service

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