OSDN Git Service

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