OSDN Git Service

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