OSDN Git Service

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