1 2010-03-27 Jan Hubicka <jh@suse.cz>
4 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
5 notice_global_symbol work.
7 2010-03-27 Jakub Jelinek <jakub@redhat.com>
9 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
10 instead of dwarf2out_decl.
11 (struct var_loc_node): Remove section_label field.
12 (dwarf2out_function_decl): New function.
13 (dwarf2out_var_location): Don't set section_label field.
14 (dwarf2out_begin_function): Don't empty decl_loc_table here.
16 2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
18 PR tree-optimization/43544
19 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
20 First argument for builtin vectorized function hook is now a
21 tree to be able to distinguish between machine specific and
23 * targhooks.c (default_builtin_vectorized_function): Ditto.
24 * targhooks.h (default_builtin_vectorized_function): Ditto.
25 * target.h (struct gcc_target): Ditto.
26 * tree-vect-stmts.c (vectorizable_function): Ditto.
27 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
28 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
31 2010-03-26 Joseph Myers <joseph@codesourcery.com>
34 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
35 nested binding iff it is a FUNCTION_DECL.
36 (store_parm_decls_newstyle): Pass nested=true to bind for
37 FUNCTION_DECLs amongst parameters.
39 2010-03-26 Jakub Jelinek <jakub@redhat.com>
41 * var-tracking.c (vt_expand_loc_callback): Don't run
42 cselib_expand_value_rtx_cb in dummy mode if
43 cselib_dummy_expand_value_rtx_cb returned false.
45 * var-tracking.c (emit_note_insn_var_location): For one part
46 notes with offset 0, don't add EXPR_LIST around the location.
47 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
48 add_location_or_const_value_attribute): Adjust for that change.
51 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
52 into first operand and location into second.
53 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
54 dw_cfi_oprnd_loc for DW_CFA_expression.
55 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
56 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
57 assume first argument is regnum and second argument is location.
59 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
62 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
63 of scratch register to DImode. Split to DImode comparison operator.
64 Use SImode subreg of scratch register in the multiplication.
65 (*cmp_sadd_sidi): Ditto.
66 (*cmp_ssub_si): Ditto.
67 (*cmp_ssub_sidi): Ditto.
69 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
72 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
73 Remove invalid assert and wrong comment.
75 2010-03-26 Jakub Jelinek <jakub@redhat.com>
78 * flags.h (final_insns_dump_p): New extern.
79 * final.c (final_insns_dump_p): New variable.
80 (rest_of_clean_state): Set it before -fdump-final-insns=
81 dumping, clear afterwards.
82 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
83 MEM_ALIAS_SET on MEMs.
85 2010-03-26 David S. Miller <davem@davemloft.net>
87 * configure.ac: Fix sparc GOTDATA_OP bug check.
90 2010-03-26 Alan Modra <amodra@gmail.com>
92 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
94 2010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
96 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
99 2010-03-25 Jakub Jelinek <jakub@redhat.com>
102 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
103 Clear first_function_block_is_cold.
106 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
107 argument if the argument is truth_value_p.
109 2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
111 * config/rs6000/constraints.md: Update copyright year for my changes.
114 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
115 used in reg+reg addressing, swap registers.
117 2010-03-24 Jakub Jelinek <jakub@redhat.com>
120 * target.h (struct gcc_target): Add code_end hook.
121 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
123 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
124 * toplev.c (compile_file): Call targetm.asm_out.code_end
125 hook before unwind info/debug info output.
126 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
127 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
128 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
129 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
130 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
131 * config/i386/i386.c (ix86_file_end): Renamed to...
132 (ix86_code_end): ... this. Make static. Don't call
133 file_end_indicate_exec_stack. Emit unwind info using
134 final_start_function/final_end_function.
135 (darwin_x86_file_end): Remove.
136 (TARGET_ASM_CODE_END): Define.
137 * config/i386/i386.h (TARGET_ASM_FILE_END,
138 NEED_INDICATE_EXEC_STACK): Don't define.
139 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
140 (TARGET_ASM_FILE_END): Define to darwin_file_end.
141 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
142 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
145 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
146 at the beginning and final_end_function at the end.
147 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
149 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
151 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
152 and Sun as TLS syntax.
153 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
154 * configure: Regenerate.
155 * config.in: Regenerate.
156 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
157 (default_elf_asm_named_section): Use it.
158 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
159 (i386_output_dwarf_dtprel): Likewise.
160 (output_addr_const_extra): Likewise.
161 (output_pic_addr_const): Lowercase @GOTTPOFF.
162 (output_addr_const_extra): Likewise.
163 (output_pic_addr_const): Lowercase @GOTNTPOFF.
164 (output_addr_const_extra): Likewise.
165 (output_pic_addr_const): Lowercase @INDNTPOFF.
166 (output_addr_const_extra): Likewise.
167 (output_pic_addr_const): Lowercase @NTPOFF.
168 (output_addr_const_extra): Likewise.
169 (output_pic_addr_const): Lowercase @TPOFF.
170 (output_addr_const_extra): Likewise.
171 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
172 (*tls_global_dynamic_64): Likewise.
173 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
174 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
176 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
177 (ASM_OUTPUT_TLS_COMMON): Use it.
178 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
181 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
182 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
183 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
184 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
185 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
186 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
188 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
190 * config/i386/i386.c (override_options): Don't accept
191 -mtls-dialect=sun any longer.
192 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
193 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
194 (*tls_local_dynamic_base_32_sun): Likewise.
195 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
197 2010-03-24 Jakub Jelinek <jakub@redhat.com>
200 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
201 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
204 * ira.c (adjust_cleared_regs): New function.
205 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
209 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
211 * expr.c (expand_expr_real): Restore previous
212 curr_insn_source_location and curr_insn_block after
213 expand_expr_real_1 call.
214 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
215 instead of expand_expr_real_1.
217 2010-03-23 Vladimir Makarov <vmakarov@redhat.com>
219 PR rtl-optimization/43413
220 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
223 2010-03-22 James E. Wilson <wilson@codesourcery.com>
226 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
227 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
229 2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
231 * config/i386/i386.c (ix86_target_string): Add -mfma.
232 Fix a typo in comment.
234 2010-03-22 Mike Stump <mikestump@comcast.net>
237 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
238 Don't overly align based upon packed packed fields.
240 2010-03-22 Jason Merrill <jason@redhat.com>
242 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
243 Use () rather than [], and move before the element type.
245 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
247 * doc/configfiles.texi (Configuration Files): Removed
248 fixinc/Makefile*, intl/Makefile.*.
249 * doc/makefile.texi: Fixed markup. Abstract from version
251 (Makefile): Removed obsolete gcc/java/parse.y example.
252 * doc/sourcebuild.texi: Likewise.
253 (Top Level): Added config, gnattools, libdecnumber, libgcc,
254 libgomp, libssp. Removed fastjar.
255 (Miscellaneous Docs): Clarify location.
256 Added COPYING3, COPYING3.LIB.
257 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
259 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
262 * config/i386/i386.c (x86_function_profiler)
263 [!NO_PROFILE_COUNTERS]: Fix typo.
264 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
267 2010-03-22 Janis Johnson <janis187@us.ibm.com>
268 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
270 * doc/sourcebuild.texi (Test Directives): Split into six
271 subsections, with most of the current text in new subsections
272 Directives, Selectors, and Final Actions.
273 (Directives): Split list of test directives into multiple
275 (Selectors): Describe use and syntax of selectors.
276 (Effective-Target Keywords): Describe all existing keywords.
277 (Add Options): Describe features for dg-add-options.
278 (Require Support): Describe variants of dg-require-support.
279 (Final Actions): Describe commands to use in dg-final.
281 2010-03-22 Michael Matz <matz@suse.de>
284 * recog.c (validate_replace_rtx_group): Replace also in
285 REG_EQUAL and REG_EQUIV notes.
287 2010-03-22 Richard Guenther <rguenther@suse.de>
289 PR tree-optimization/43390
290 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
291 sure vector extracts are type correct.
293 2010-03-22 Richard Guenther <rguenther@suse.de>
296 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
297 x * sqrt (x) even when optimizing for size if the target
298 has native support for sqrt.
300 2010-03-22 Jakub Jelinek <jakub@redhat.com>
302 * varasm.c (make_decl_rtl_for_debug): Also clear
303 flag_mudflap for the duration of make_decl_rtl call.
306 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
307 locs from preserved VALUEs.
309 2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
312 * pa.md (movmemsi): Set align to one if zero.
313 (movmemdi): Likewise.
315 2010-03-21 Richard Earnshaw <rearnsha@arm.com>
318 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
319 with their corresponding prologue pushes.
321 2010-03-20 Andrew Pinski <pinskia@gmail.com>
324 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
325 at the begining or end.
326 (spu_expand_epilogue): Likewise.
328 2010-03-20 Richard Guenther <rguenther@suse.de>
330 PR rtl-optimization/43438
331 * combine.c (make_extraction): Properly zero-/sign-extend an
332 extraction of the low part of a CONST_INT. Also handle
335 2010-03-19 Mike Stump <mikestump@comcast.net>
337 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
338 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
339 (override_options): Use SUBTARGET32_DEFAULT_CPU.
341 2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
344 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
347 2010-03-19 Bernd Schmidt <bernd.schmidt@codesourcery.com>
349 PR rtl-optimization/42258
350 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
351 use that may match DEF.
354 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
355 the cost of loading the constant rather than assuming
357 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
358 outer code is AND, do the same tests as the andsi3 expander and
359 return COSTS_N_INSNS (1) if and is cheap.
361 * optabs.c (avoid_expensive_constant): Fix formatting.
363 2010-03-19 Michael Matz <matz@suse.de>
366 * attribs.c (decl_attributes): When rebuilding a function pointer
367 type use the same qualifiers as the original pointer type.
369 2010-03-19 Martin Jambor <mjambor@suse.cz>
371 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
372 and is_gimple_ip_invariant_address.
374 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
377 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
379 * config/arm/arm.c (arm_override_options): Turn off
380 flag_dwarf2_cfi_asm for AAPCS variants.
382 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
385 * config/arm/arm.c (emit_multi_reg_push): Update comments.
386 Use PRE_MODIFY instead of PRE_DEC.
387 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
388 (vfp_emit_fstmd): Likewise.
390 2010-03-19 Michael Matz <matz@suse.de>
393 * builtins.c (expand_builtin_interclass_mathfn,
394 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
397 2010-03-19 Richard Guenther <rguenther@suse.de>
399 PR tree-optimization/43415
400 * tree-ssa-pre.c (phi_translate): Split out worker to ...
401 (phi_translate_1): ... this.
402 (phi_translate): Move all caching here. Cache all NARY
403 and REFERENCE translations.
405 2010-03-19 David S. Miller <davem@davemloft.net>
407 With help from Eric Botcazou.
408 * config/sparc/sparc.c: Include dwarf2out.h.
409 (emit_pic_helper): Delete.
410 (pic_helper_symbol_name): Delete.
411 (pic_helper_emitted_p): Delete.
412 (pic_helper_needed): New.
413 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
414 (get_pc_thunk_name): New.
415 (load_pic_register): Remove 'delay_pic_helper' arg. Use
416 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
417 Set pic_helper_needed to true. Don't call emit_pic_helper.
418 (sparc_expand_prologue): Update load_pic_register call.
419 (sparc_output_mi_thunk): Likewise.
420 (sparc_file_end): Emit a hidden comdat symbol for the PIC
421 thunk if possible. Output CFI information as needed.
423 2010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
424 Jack Howarth <howarth@bromo.med.uc.edu>
427 * config/i386/i386.h: Fix ABI on darwin x86-32.
429 2010-03-18 Aldy Hernandez <aldyh@redhat.com>
431 * tree.h: Declare make_decl_rtl_for_debug.
432 * varasm.c (make_decl_rtl_for_debug): New.
433 * dwarf2out.c (rtl_for_decl_location): Call it.
434 * cfgexpand.c (expand_debug_expr): Call it.
436 2010-03-18 Jakub Jelinek <jakub@redhat.com>
439 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
443 * var-tracking.c (vt_init_cfa_base): Do nothing if
444 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
446 2010-03-18 Alexandre Oliva <aoliva@redhat.com>
449 * var-tracking.c (canonicalize_vars_star): New.
450 (dataflow_post_merge_adjust): Use it.
452 2010-03-18 Jakub Jelinek <jakub@redhat.com>
455 * var-tracking.c (non_suitable_const): New function.
456 (add_uses): For DEBUG_INSNs with constants, don't record any
457 value, instead just the constant value itself.
458 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
459 is not VAR_LOC_UNKNOWN_P, set var to the constant.
460 (emit_notes_in_bb): Likewise.
461 (emit_note_insn_var_location): For onepart variables if
462 cur_loc is a VOIDmode constant, use DECL_MODE.
464 2010-03-18 Martin Jambor <mjambor@suse.cz>
467 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
468 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
469 all non-clones. Moved call redirection...
470 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
471 (cgraph_materialize_all_clones): Dispose of all
472 combined_args_to_skip bitmaps.
473 (verify_cgraph_node): Do not check for edges pointing to wrong
474 nodes in inline clones.
475 * tree-inline.c (copy_bb): Call
476 cgraph_redirect_edge_call_stmt_to_callee.
477 * ipa.c (cgraph_remove_unreachable_nodes): Call
478 cgraph_node_remove_callees even when there are used clones.
480 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
482 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
484 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
487 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
490 2010-03-18 Michael Matz <matz@suse.de>
493 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
494 into sqrt(x) if we need to preserve signed zeros.
496 2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
497 Eric Botcazou <ebotcazou@adacore.com>
499 PR rtl-optimization/43360
500 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
501 note if we don't know its invariant status.
503 2010-03-18 Michael Matz <matz@suse.de>
505 PR tree-optimization/43402
506 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
507 PHI chains of ssa names registered for update.
509 2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
512 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
513 non-offsettable and pre_modify update addressing.
514 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
515 and "2" alternatives "#".
516 (*movdd_softfloat32): Make all alternatives "#";
517 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
518 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
519 (*movdf_softfloat32): Make all alternatives "#";
520 (movdi): Use the new DIFD mode iterator to create a common splitter
521 for movdi, movdf and movdd patterns.
523 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
525 * common.opt (dumpdir): Remove redundant tab.
527 2010-03-17 Martin Jambor <mjambor@suse.cz>
529 PR tree-optimization/43347
530 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
531 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
533 2010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
535 PR rtl-optimization/42216
536 * regrename.c (create_new_chain): New function, broken out from...
537 (scan_rtx_reg): ... here. Call it. Handle the case where we are
538 appending a use to an empty chain.
539 (build_def_use): Remove previous changes that convert OP_INOUT to
540 OP_OUT operands; instead detect the case where an OP_INOUT operand
541 uses a previously untracked register and create an empty chain for it.
543 2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
545 * doc/extend.texi (Function Attributes): Rewrite unfinished
546 sentence in ms_abi documentation.
548 2010-03-17 Alan Modra <amodra@gmail.com>
550 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
551 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
552 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
553 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
555 2010-03-16 Richard Henderson <rth@redhat.com>
558 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
559 (lower_try_finally): Save and restore eh_seq around the expansion
562 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
564 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
565 statements before splitting block.
567 2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
569 * doc/sourcebuild.texi (Testsuites): Fix markup.
570 Use pathnames relative to gcc/testsuite.
571 (Test Directives): Move description of how timeout is determined.
572 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
573 (C Tests): Correct gcc.misc-tests directory.
574 Framework tests now live in gcc.test-framework.
576 2010-03-16 Richard Guenther <rguenther@suse.de>
579 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
580 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
582 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
583 Alexandre Oliva <aoliva@redhat.com>
585 PR tree-optimization/42917
586 * lambda-code.c (remove_iv): Skip debug statements.
587 (lambda_loopnest_to_gcc_loopnest): Likewise.
588 (not_interesting_stmt): Debug statements are not interesting.
590 2010-03-16 Jakub Jelinek <jakub@redhat.com>
594 * cselib.c (cselib_preserve_constants,
595 cfa_base_preserved_val): New static variables.
596 (preserve_only_constants): New function.
597 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
598 clear its REG_VALUES. If cselib_preserve_constants, don't
599 empty the whole hash table, but preserve there VALUEs with constants,
600 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
601 (cselib_preserve_cfa_base_value): New function.
602 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
603 (cselib_init): Change argument to int bitfield. Set
604 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
606 (cselib_finish): Clear cselib_preserve_constants and
607 cfa_base_preserved_val.
608 * cselib.h (enum cselib_record_what): New enum.
609 (cselib_init): Change argument to int.
610 (cselib_preserve_cfa_base_value): New prototype.
611 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
612 * dse.c (dse_step1): Likewise.
613 * cfgcleanup.c (thread_jump): Likewise.
614 * sched-deps.c (sched_analyze): Likewise.
615 * gcse.c (local_cprop_pass): Likewise.
616 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
617 If FN is non-NULL, call the callback always and whenever it returns
618 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
619 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
620 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
621 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
622 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
623 * var-tracking.c: Include recog.h.
624 (bb_stack_adjust_offset): Remove.
625 (vt_stack_adjustments): Don't call it, instead just gather the
626 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
627 (adjust_stack_reference): Remove.
628 (compute_cfa_pointer): New function.
629 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
630 (struct adjust_mem_data): New type.
631 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
633 (get_address_mode): New function.
634 (replace_expr_with_values): Use it.
635 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
636 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
637 (adjust_sets): Remove.
638 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
639 Use get_address_mode.
640 (get_adjusted_src): Remove.
641 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
642 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
643 (add_with_sets): Don't call adjust_sets.
644 (fp_setter, vt_init_cfa_base): New functions.
645 (vt_initialize): Change return type to bool. Move most of pool etc.
646 initialization to the beginning of the function from end. Pass
647 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
648 If !frame_pointer_needed, call vt_stack_adjustment before mos
649 vector is filled, call vt_init_cfa_base if argp/framep has been
650 eliminated to sp. If frame_pointer_needed and argp/framep has
651 been eliminated to hard frame pointer, set
652 hard_frame_pointer_adjustment and call vt_init_cfa_base after
653 encountering fp setter in the prologue. For MO_ADJUST, call
654 log_op_type before pusing the op into mos vector, not afterwards.
655 Call adjust_insn before cselib_process_insn/add_with_sets,
656 call cancel_changes (0) afterwards.
657 (variable_tracking_main_1): Adjust for vt_initialize calling
658 vt_stack_adjustments and returning whether it succeeded or not.
660 2010-03-15 Aldy Hernandez <aldyh@redhat.com>
662 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
665 2010-03-15 Jakub Jelinek <jakub@redhat.com>
667 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
669 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
670 drap_reg has not been set.
672 2010-03-15 Michael Matz <matz@suse.de>
675 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
676 use it to expand block copies.
677 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
678 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
679 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
681 2010-03-15 Richard Guenther <rguenther@suse.de>
683 PR tree-optimization/43367
684 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
687 2010-03-15 Richard Guenther <rguenther@suse.de>
689 PR tree-optimization/43317
690 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
692 2010-03-15 Martin Jambor <mjambor@suse.cz>
694 PR tree-optimization/43141
695 * tree-sra.c (create_abstract_origin): New function.
696 (modify_function): Call create_abstract_origin.
698 2010-03-15 Chris Demetriou <cgd@google.com>
700 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
703 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
706 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
707 call insert_out_of_ssa_copy for default definitions.
709 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
711 * graphite-clast-to-gimple.c (my_long_long): Defined.
712 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
713 * graphite-sese-to-poly.c (my_long_long): Defined.
714 (scop_ivs_can_be_represented): Use it.
716 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
718 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
719 graphite-max-bbs-per-function, and loop-block-tile-size.
720 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
722 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
724 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
726 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
728 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
729 (add_upper_bounds_from_estimated_nit): New.
730 (build_loop_iteration_domains): Use it.
732 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
734 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
736 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
739 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
740 should be an INTEGER_CST. Also handle CASE_CONVERT.
742 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
744 * graphite.c (graphite_initialize): To bound the number of bbs per
745 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
746 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
747 * doc/invoke.texi: Document it.
749 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
751 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
752 * graphite-sese-to-poly.h (build_poly_scop): Same.
754 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
756 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
757 the number of parameters in the scop. Use as an upper bound
758 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
759 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
760 * doc/invoke.texi: Document it.
762 2010-03-13 Jerry Quinn <jlquinn@optonline.net>
764 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
765 * doc/c-tree.texi: Remove.
766 * doc/generic.texi: Merge c-tree.texi here.
767 * doc/gccint.texi (Trees): Remove menu entry.
768 (c-tree.texi): Remove @include.
769 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
770 * doc/languages.texi (Reading RTL): Ditto.
772 2010-03-12 Steve Ellcey <sje@cup.hp.com>
775 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
777 2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
780 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
781 code added to work around reload clobbering CONST insns.
783 2010-03-12 Jakub Jelinek <jakub@redhat.com>
785 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
786 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
787 (cselib_preserve_only_values): Remove retain argument, don't
788 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
789 * cselib.h (cselib_preserve_only_values): Remove retain argument.
790 * var-tracking.c (micro_operation): Move insn field before union.
791 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
792 (struct variable_tracking_info_def): Remove n_mos field, change
793 mos into a vector of micro_operations.
794 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
795 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
796 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
797 changing into a vector.
798 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
799 come before all other uops generated by add_stores.
800 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
802 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
803 a vector. Run just one pass over the bbs instead of separate counting
804 and computation phase.
805 (vt_finalize): Free VTI (bb)->mos vector instead of array.
808 * tree-inline.c (remap_decls): Put old_var rather than origin_var
809 into *nonlocalized_list vector.
810 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
811 even if origin is non-NULL.
812 (gen_variable_die): Likewise.
813 (process_scope_var): Don't change origin.
814 (gen_decl_die): Likewise.
815 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
816 before adding new edges instead of after it, fix moving over
819 2010-03-11 David S. Miller <davem@davemloft.net>
821 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
823 * configure: Rebuild.
825 2010-03-11 Martin Jambor <mjambor@suse.cz>
827 PR tree-optimization/43257
828 * tree.c (assign_assembler_name_if_neeeded): New function.
829 (free_lang_data_in_cgraph): Assembler name assignment moved to the
831 * tree.h (assign_assembler_name_if_neeeded): Declare.
832 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
833 the function if needed.
835 2010-03-11 Chris Demetriou <cgd@google.com>
837 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
838 include/stdint-gcc.h, and include/stdint.h world-readable.
840 2010-03-11 Richard Guenther <rguenther@suse.de>
842 PR tree-optimization/43255
843 * tree-vrp.c (process_assert_insertions_for): Do not insert
844 asserts for trivial conditions.
846 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
848 PR tree-optimization/43280
849 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
850 generation. Move calculation of size out of the if branch.
851 (find_bswap): Modify compare number generation.
853 2010-03-11 Richard Guenther <rguenther@suse.de>
856 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
857 (input_gimple_stmt): Fixup handled component types during
858 operand read. Also fix up decls in ADDR_EXPRs.
860 2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
862 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
863 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
865 2010-03-10 Jan Hubicka <jh@suse.cz>
868 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
869 * varasm.c (get_variable_section): Don't do that here...
870 (make_decl_rtl): ... and here.
871 (do_assemble_alias): Produce decl RTL.
872 (assemble_alias): Likewise.
874 2010-03-10 Jakub Jelinek <jakub@redhat.com>
877 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
878 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
880 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
881 (based_loc_descr): Only express drap or vdrap regno based expressions
882 using DW_OP_fbreg when not optimizing.
883 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
884 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
885 REG_CFA_SET_VDRAP note.
887 2010-03-10 Alexander Monakov <amonakov@ispras.ru>
889 PR tree-optimization/43236
890 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
891 error in calculation of base address in reverse iteration case.
892 (generate_builtin): Take number of latch executions if the statement
895 2010-03-10 Andrey Belevantsev <abel@ispras.ru>
898 * tree-eh.c: Include pointer-set.h.
899 (lower_eh_dispatch): Filter out duplicate case labels and
900 remove the unneeded edge when the label is unused. Return
901 true when some edges are removed.
902 (execute_lower_eh_dispatch): When any lowering resulted in
903 removing an edge, also delete unreachable blocks.
905 2010-03-10 Jakub Jelinek <jakub@redhat.com>
908 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
909 UNSPEC_MACHOPIC_OFFSET.
911 2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
914 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
915 (m68k_delegitimize_address): New function.
917 2010-03-09 Jakub Jelinek <jakub@redhat.com>
920 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
923 * var-tracking.c (adjust_sets): New function.
924 (count_with_sets, add_with_sets): Use it.
925 (get_adjusted_src): New inline function.
926 (add_stores): Use it.
929 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
930 call cselib_dummy_expand_value_rtx_cb instead of
931 cselib_expand_value_rtx_cb.
934 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
935 * config/i386/i386.c: Include debug.h and dwarf2out.h.
936 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
937 and .cfi_endproc around the pic thunks.
938 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
939 all queued unwind info register saves are saved before the call.
940 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
941 considered as sp-=4 for unwind info and the pop as sp+=4 which
942 also clobbers dest, but doesn't actually restore it.
945 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
948 2010-03-09 Jie Zhang <jie@codesourcery.com>
950 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
951 whitespaces in output template.
953 2010-03-09 Jie Zhang <jie@codesourcery.com>
955 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
958 2010-03-08 Jakub Jelinek <jakub@redhat.com>
960 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
961 builtins.exp in a separate job.
963 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
965 * graphite-sese-to-poly.c (add_param_constraints): Use
966 lower_bound_in_type and upper_bound_in_type.
968 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
970 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
971 instead of unsigned_type_node.
973 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
974 Reza Yazdani <reza.yazdani@amd.com>
977 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
978 on pointer type parameters.
980 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
984 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
985 handle conversions from pointer to integers.
986 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
987 induction variable, to be able to work with code generated by CLooG.
988 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
989 (build_poly_scop): Bail out if we cannot codegen a loop.
991 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
993 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
994 code generation with gloog_error.
996 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
998 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
999 Call fold_convert on all the returned values.
1000 (expand_scalar_variables_expr): Pass to
1001 expand_scalar_variables_ssa_name the type of the resulting expression.
1003 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
1005 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
1006 ppl_min_for_le_pointset.
1007 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
1008 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
1010 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
1012 * graphite-dependences.c (map_into_dep_poly): Removed.
1013 (dependence_polyhedron_1): Use combine_context_id_scat.
1015 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
1017 * graphite-poly.h (struct poly_scattering): Add layout documentation.
1018 (struct poly_bb): Same.
1019 (combine_context_id_scat): New.
1021 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
1024 * sese.c (name_defined_in_loop_p): Return false for default
1027 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
1029 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
1030 and clean up the logic.
1032 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
1034 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
1037 2010-03-08 Jakub Jelinek <jakub@redhat.com>
1039 * var-tracking.c (remove_cselib_value_chains): Define only for
1041 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
1042 delete_slot_part, emit_notes_for_differences_1): Don't call
1043 remove_cselib_value_chains here.
1044 (set_slot_part, emit_notes_for_differences_2): Don't call
1045 add_cselib_value_chains here.
1046 (preserved_values): New vector.
1047 (preserve_value): New function.
1048 (add_uses, add_stores, vt_add_function_parameters): Use it
1049 instead of cselib_preserve_value.
1050 (changed_values_stack): New vector.
1051 (check_changed_vars_0): New function.
1052 (check_changed_vars_1, check_changed_vars_2): Use it.
1053 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
1054 changed_values_stack VALUEs.
1055 (vt_emit_notes): For all preserved_values call
1056 add_cselib_value_chains. If ENABLE_CHECKING call
1057 remove_cselib_value_chains before verifying value_chains is empty.
1058 Initialize and free changed_values_stack.
1059 (vt_initialize): Initialize preserved_values.
1060 (vt_finalize): Free preserved_values.
1062 2010-03-08 Richard Guenther <rguenther@suse.de>
1064 PR tree-optimization/43269
1065 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
1068 2010-03-08 Martin Jambor <mjambor@suse.cz>
1070 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
1071 (ipa_is_param_called): Removed.
1072 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
1073 (ipa_print_node_params): Do not print the called flag.
1074 (ipa_write_node_info): Do not stream the called flag.
1075 (ipa_read_node_info): Likewise.
1077 2010-03-07 Jakub Jelinek <jakub@redhat.com>
1080 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
1081 * cselib.c (struct expand_value_data): Add dummy field.
1082 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
1084 (cselib_dummy_expand_value_rtx_cb): New function.
1085 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
1087 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
1088 * var-tracking.c: Include pointer-set.h.
1089 (variable): Change n_var_parts to char from int. Add
1090 cur_loc_changed and in_changed_variables fields.
1091 (variable_canonicalize): Remove.
1092 (shared_var_p): New inline function.
1093 (unshare_variable): Maintain cur_loc_changed and
1094 in_changed_variables fields. If var was in changed_variables,
1095 replace it there with new_var. Just copy cur_loc instead of
1096 resetting it to something else.
1097 (variable_union): Don't recompute cur_loc. Use shared_var_p.
1098 (dataflow_set_union): Don't call variable_canonicalize.
1099 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
1100 of their DEBUG_EXPR_TREE_DECLs.
1101 (canonicalize_loc_order_check): Verify that cur_loc is NULL
1102 and in_changed_variables and cur_loc_changed is false.
1103 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
1104 and cur_loc_changed. Don't update cur_loc here.
1105 (variable_merge_over_src): Don't call variable_canonicalize.
1106 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
1107 removing loc that is equal to cur_loc, clear cur_loc,
1108 set cur_loc_changed and ensure variable_was_changed is called.
1109 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
1110 compare pointers in cur_loc check, if it is equal to loc,
1111 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
1112 (variable_different_p): Remove compare_current_location argument,
1113 don't compare cur_loc.
1114 (dataflow_set_different_1): Adjust variable_different_p caller.
1115 (variable_was_changed): If dv had some var in changed_variables
1116 already, reset in_changed_variables flag for it and propagate
1117 cur_loc_changed over to the new variable. On empty var
1118 always set cur_loc_changed. Set in_changed_variables on whatever
1119 var is added to changed_variables.
1120 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
1121 Use shared_var_p. When removing loc that is equal to cur_loc,
1122 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
1123 end, don't set it to something else, just call variable_was_changed.
1124 (delete_slot_part): Use shared_var_p. When cur_loc equals to
1125 loc being removed, clear cur_loc and set cur_loc_changed.
1126 Set cur_loc_changed if all locations have been removed.
1127 (struct expand_loc_callback_data): New type.
1128 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
1129 allocated. Always create SUBREGs if simplify_subreg failed.
1130 Prefer to use cur_loc, when that fails and still in
1131 changed_variables (and seen first time) recompute it. Set
1132 cur_loc_changed of variables which had to change cur_loc and
1133 compute elcd->cur_loc_changed if any of the subexpressions used
1134 had to change cur_loc.
1135 (vt_expand_loc): Adjust to pass arguments in
1136 expand_loc_callback_data structure.
1137 (vt_expand_loc_dummy): New function.
1138 (emitted_notes): New variable.
1139 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
1140 that weren't used for any other decl in current
1141 emit_notes_for_changes call call vt_expand_loc_dummy to update
1142 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
1143 first loc_chain location if NULL before. Always use just
1144 cur_loc instead of first loc_chain location. When cur_loc_changed
1145 is false, when not --enable-checking=rtl just don't emit any note.
1146 When rtl checking, compute the note and assert it is the same
1147 as previous note. Clear cur_loc_changed and in_changed_variables
1148 at the end before removing from changed_variables.
1149 (check_changed_vars_3): New function.
1150 (emit_notes_for_changes): Traverse changed_vars to call
1151 check_changed_vars_3 on each changed var.
1152 (emit_notes_for_differences_1): Clear cur_loc_changed and
1153 in_changed_variables. Recompute cur_loc of new_var.
1154 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
1155 (vt_emit_notes): Initialize and destroy emitted_notes.
1157 2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
1159 PR rtl-optimization/42220
1160 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
1161 Use verify_reg_tracked to determine if we should use OP_OUT rather
1163 (build_def_use): If we see an in-out operand for a register that we
1164 know nothing about, treat is an output if possible, fail the block if
1167 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
1170 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
1173 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
1176 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
1177 uses of relevant DEFs that are dead outside the loop too.
1179 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
1181 * var-tracking.c (dataflow_set_merge): Swap src and src2.
1183 2010-01-13 Jakub Jelinek <jakub@redhat.com>
1185 * var-tracking.c (values_to_unmark): New variable.
1186 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1187 values_to_unmark vector. Moved body to...
1188 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
1189 instead queue it into values_to_unmark vector.
1190 (vt_find_locations): Free values_to_unmark vector.
1192 2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
1194 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
1195 (site.exp): Export them when plugins are enabled.
1197 2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
1200 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
1202 (chrec_fold_multiply): Same.
1204 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
1207 * c-decl.c (build_compound_literal): Return early if init is
1210 2010-03-04 Martin Jambor <mjambor@suse.cz>
1212 PR tree-optimization/43164
1213 PR tree-optimization/43191
1214 * tree-sra.c (type_consists_of_records_p): Reject records with
1215 zero-size bit-fields at the end.
1217 2010-03-04 Mike Stump <mikestump@comcast.net>
1219 * Makefile.in (TAGS): Remove *.y.
1221 2010-03-04 Richard Guenther <rguenther@suse.de>
1223 PR tree-optimization/40761
1224 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
1226 (my_rev_post_order_compute): New function.
1227 (init_pre): Call it.
1229 2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
1232 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
1233 decrease the cost of an IV candidate when the cost is infinite.
1235 2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1237 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
1238 Use '3DNow!' for the extension of that name, ensure normal space
1240 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
1242 2010-03-03 Jeff Law <law@redhat.com>
1244 * PR middle-end/32693
1245 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
1246 than gen_rtx_SUBREG.
1247 (extract_bit_field_1): Likewise.
1249 2010-03-03 Janis Johnson <janis187@us.ibm.com>
1251 * doc/sourcebuild.texi (Test directives): Document that arguments
1252 include-opts and exclude-opts are now optional for dg-skip-if,
1253 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
1255 2010-03-03 Jason Merrill <jason@redhat.com>
1258 * cgraph.h (varpool_node): Add extra_name field.
1259 * varpool.c (varpool_extra_name_alias): New.
1260 (varpool_assemble_decl): Emit extra name aliases.
1261 (varpool_mark_needed_node): Look past an extra name alias.
1262 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
1263 * lto-streamer-in.c (lto_input_tree): Read it.
1264 * lto-streamer-out.c (output_unreferenced_globals): Write it.
1266 2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
1268 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
1269 (sparc*-*-solaris2*): ...this.
1271 2010-03-03 Jakub Jelinek <jakub@redhat.com>
1274 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
1275 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
1276 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
1277 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
1280 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
1281 fallthrough to default handling, just with want_address 0 instead of 2.
1282 For single element lists, add_AT_loc directly, otherwise create an
1283 artificial variable DIE and stick location list to it.
1286 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
1287 (VAL_EXPR_HAS_REVERSE): Define.
1288 (reverse_op): New function.
1289 (add_stores): For reversible operations add an extra MO_VAL_USE.
1291 2010-03-02 Jason Merrill <jason@redhat.com>
1293 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
1295 2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
1297 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
1298 (sparc64-*-linux*): Likewise.
1299 (sparc64-*-solaris2*): Include assembler files before linker ones.
1300 (sparc-*-solaris2*): Simplify and reorder to match previous case.
1301 * config/sparc/gas.h: Delete.
1302 * config/sparc/sol2-64.h: Add copyright notice.
1303 * config/sparc/sol2-gas-bi.h: Likewise.
1304 * config/sparc/sol2-gld.h: Likewise.
1305 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
1306 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
1307 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
1308 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
1309 (sparc_elf_asm_named_section): Rename into...
1310 (sparc_solaris_elf_asm_named_section): ...this. Always define.
1312 2010-03-02 Uros Bizjak <ubizjak@gmail.com>
1314 * config/alpha/alpha.c (override_options): Fix -mtune error message.
1316 2010-03-02 Jeff Law <law@redhat.com>
1319 * reload1.c (rtx_p, substitute_stack): Declare.
1320 (substitute): Record addresses of changed rtxs.
1321 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
1322 Restore the original rtx when complete.
1323 (reload): Free subsitute_stack when complete.
1325 2010-03-02 Janis Johnson <janis187@us.ibm.com>
1327 * doc/gccint.texi (menu): Add Testsuites as a chapter.
1328 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
1330 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
1331 LTO Testing, gcov Testing, profopt Testing, compat Testing,
1332 Torture Tests): Change from subsection to section.
1334 2010-03-02 Jakub Jelinek <jakub@redhat.com>
1335 Steven Bosscher <steven@gcc.gnu.org>
1337 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
1340 2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
1343 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
1344 the assignment from the new induction variable to the assignment
1345 of the value from the original loop PHI function.
1347 2010-03-01 Janis Johnson <janis187@us.ibm.com>
1348 Daniel Jacobowitz <dan@codesourcery.com>
1350 * doc/sourcebuild.texi (Test directives): Clarify options to
1353 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1355 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
1356 Disable cfi directives unless GCC and gas agree on using read-only
1357 .eh_frame sections for 64-bit.
1358 * configure: Regenerate.
1360 2010-03-01 Richard Guenther <rguenther@suse.de>
1362 PR tree-optimization/43220
1363 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
1364 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
1366 2010-03-01 Richard Guenther <rguenther@suse.de>
1367 Martin Jambor <mjambor@suse.cz>
1370 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
1371 gimplified parameters.
1373 2010-03-01 Christian Bruel <christian.bruel@st.com>
1375 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
1377 2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
1379 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
1381 2010-03-01 Richard Guenther <rguenther@suse.de>
1384 * expr.c (expand_assignment): Use the alias-oracle to tell
1385 if the rhs aliases the result decl.
1387 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1390 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
1391 to sol_gt_pch_get_address.
1392 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
1393 64-bit, SPARC and x86.
1394 (sol_gt_pch_get_address): New function.
1396 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
1398 * toplev.h (inform_n, error_n): Declare.
1399 * diagnostic.c (inform_n, error_n): New function.
1401 2010-03-01 Jakub Jelinek <jakub@redhat.com>
1403 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
1404 has no rtl yet when processing local_decls, queue it and recheck
1405 if deferred stack allocation hasn't assigned it rtl.
1407 2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
1409 * config/sh/sh.c (unspec_bbr_uid): New.
1410 (gen_block_redirect): Use it instead of INSN_UID.
1411 (gen_far_branch): Likewise.
1413 2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
1415 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
1416 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
1418 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1420 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
1421 (Warning Options): -Wno-conversion-null is valid for
1422 Objective-C++ as well.
1423 * doc/tm.texi (Named Address Spaces): Likewise.
1424 * doc/plugins.texi (Plugins): Replace TABs with spaces.
1425 * doc/tree-ssa.texi (Tree SSA): Likewise.
1427 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
1430 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
1431 by default. Don't set the default arch for
1432 i[34567]86-*-darwin*|x86_64-*-darwin*.
1434 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
1437 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
1438 default. Set the default 32bit/64bit archs with $with_arch
1439 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
1441 2010-02-27 Richard Guenther <rguenther@suse.de>
1443 PR tree-optimization/43186
1444 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
1445 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
1446 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
1447 unroller iterations.
1449 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
1451 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
1452 required and i[34567]86-*-* targets don't support 64bit ISA.
1454 2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
1457 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
1460 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
1462 * config.gcc: Set the default arch at least to Prescott for
1463 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
1464 if SSE math is enabled.
1466 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1468 * diagnostic.c (diagnostic_initialize): Update.
1469 (diagnostic_report_diagnostic): Test inhibit_notes_p for
1471 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
1472 (diagnostic_inhibit_notes): New.
1473 * toplev.c (process_options): inhibit notes with -fcompare-debug.
1475 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1478 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
1479 * doc/standards.texi: Likewise.
1480 * doc/extend.texi: Likewise.
1481 * doc/trouble.texi: Likewise.
1482 * doc/cppopts.texi: Likewise.
1483 * doc/install.texi: Likewise.
1484 * c.opt (std=c90,std=gnu90): New options.
1485 * c-opts.c (c_common_handle_option): Handle them.
1487 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1490 * c-decl.c (undeclared_variable): Use an informative note.
1492 2010-02-26 Richard Guenther <rguenther@suse.de>
1494 PR tree-optimization/43186
1495 * gimple.h (gimple_fold): Remove.
1496 * gimple.c (gimple_fold): Remove. Inline into single user ...
1497 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
1498 Try harder for conditions.
1500 2010-02-26 Jakub Jelinek <jakub@redhat.com>
1503 * function.c (used_types_insert): Don't skip through named pointer
1504 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
1505 and it is different from the main variant's type.
1507 2010-02-26 Nick Clifton <nickc@redhat.com>
1509 * config/rx/rx.md (sminsi3): Remove bogus alternative.
1511 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
1513 * config.gcc: Support --with-fpmath=sse for x86.
1515 * config/i386/ssemath.h: New.
1517 * doc/install.texi (--with-fpmath=sse): Documented.
1519 2010-02-26 Richard Guenther <rguenther@suse.de>
1521 PR tree-optimization/43188
1522 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
1523 vector types of over-aligned element type.
1525 2010-02-26 Uros Bizjak <ubizjak@gmail.com>
1528 * config/i386/i386.c (expand_vec_perm_blend): Use correct
1529 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
1531 2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
1533 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
1535 2010-02-26 Jakub Jelinek <jakub@redhat.com>
1537 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
1538 * var-tracking.c: Include diagnostic.h.
1539 (debug_dv): New function.
1540 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
1543 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
1544 (add_value_chain, add_value_chains, remove_value_chain,
1545 remove_value_chains): Handle DEBUG_EXPRs.
1546 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
1549 * regcprop.c (struct queued_debug_insn_change): New type.
1550 (struct value_data_entry): Add debug_insn_changes field.
1551 (struct value_data): Add n_debug_insn_changes field.
1552 (debug_insn_changes_pool): New variable.
1553 (free_debug_insn_changes, apply_debug_insn_changes,
1554 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
1555 (kill_value_one_regno): Call free_debug_insn_changes if needed.
1556 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
1558 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
1560 (copyprop_hardreg_forward_1): Don't call apply_change_group for
1561 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
1562 changes, call cprop_find_used_regs via note_stores.
1563 (copyprop_hardreg_forward): When copying vd from predecessor
1564 which has any queued DEBUG_INSN changes, make sure the pointers are
1565 cleared. At the end call df_analyze and then if there are any
1566 DEBUG_INSN changes queued at the end of some basic block for still
1567 live registers, apply them.
1568 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
1570 2010-02-25 Uros Bizjak <ubizjak@gmail.com>
1572 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
1575 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
1577 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
1578 targets. Set the default with_cpu/with_arch from arch/cpu.
1579 Allow x86-64 and native for with_cpu/with_arch.
1581 2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
1583 * ebitmap.c: Change calls to verify_popcount with calls to
1584 sbitmap_verify_popcount.
1585 (ebitmap_clear_bit): Fixed map->cacheindex test and
1586 map>cache update when bit clearing results in an empty
1589 2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
1592 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
1593 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
1594 and support both V2DF and V2DI modes.
1595 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
1596 support both V2DF and V2DI modes.
1597 (general): Delete trailing whitespace from a few patterns.
1599 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1600 V2DF/V2DI interleave high/low builtins.
1602 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
1605 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
1606 interleave high/low functions.
1608 2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
1610 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
1611 #pragma extern_prefix.
1613 2010-02-25 Jakub Jelinek <jakub@redhat.com>
1616 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
1617 BLKmode, assert op0 is a MEM and just adjust its mode.
1620 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
1621 if bitpos isn't multiple of mode's bitsize.
1623 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1625 * c.opt (-ftemplate-depth=): New.
1626 (-ftemplate-depth-): Deprecate.
1627 * optc-gen.awk: Handle -ftemplate-depth=.
1628 * opth-gen.awk: Likewise.
1629 * c-opts.c (c_common_handle_option): Likewise.
1630 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
1632 2010-02-24 Jason Merrill <jason@redhat.com>
1634 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
1636 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1638 * cfg.c (alloc_aux_for_block): Remove inline.
1639 (alloc_aux_for_edge): Likewise.
1641 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1643 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
1645 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1647 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
1648 * config/i386/sol2-gas.h: New file.
1649 * config.gcc (i[34567]86-*-solaris2*): Use it.
1651 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1654 * c-typeck.c (ep_convert_and_check): New.
1655 (build_conditional_expr): Use it.
1656 (build_binary_op): Likewise.
1658 2010-02-24 Jakub Jelinek <jakub@redhat.com>
1660 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
1663 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
1664 bounds even for -O+.
1665 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
1666 expr needs to have DECL_NAME set.
1668 2010-02-24 Nick Clifton <nickc@redhat.com>
1670 * config/mep/mep.c: Include gimple.h.
1671 (mep_function_uses_sp): Delete unused function.
1672 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
1673 parameters. Use unsigned integers to count args. Return a
1674 NULL_RTX instead of an error_mark_node. Toidy up formatting.
1676 2010-02-23 Jakub Jelinek <jakub@redhat.com>
1679 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
1680 greater or equal to nelt instead of 2 * nelt.
1681 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
1684 2010-02-23 Jason Merrill <jason@redhat.com>
1687 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
1688 in cfun->local_decls even if they have register types.
1691 * stor-layout.c (place_field): Don't warn about unnecessary
1692 DECL_PACKED if the type is packed.
1694 2010-02-23 Jakub Jelinek <jakub@redhat.com>
1697 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
1698 GOTOFF relocs, even when the base reg isn't pic pointer.
1700 2010-02-23 Michael Matz <matz@suse.de>
1703 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
1704 (expand_gimple_basic_block): Generate and use debug temps if there
1705 are debug uses left after the last real use of TERed ssa names.
1706 Unlink debug immediate uses when they are expanded.
1708 2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1711 * config/i386/i386.c (override_options): Reorganise to provide
1712 better error messages.
1714 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
1717 * graphite-scop-detection.c (create_single_exit_edge): Move
1718 the call to find_single_exit_edge to....
1719 (create_sese_edges): ...here. Don't handle multiple edges
1720 exiting the function.
1721 (build_graphite_scops): Don't handle multiple edges
1722 exiting the function.
1724 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
1727 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
1728 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
1730 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
1733 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
1735 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1738 * c-typeck.c (convert_arguments): Print declaration location.
1739 * c-common.c (validate_nargs): Rename as
1740 builtin_function_validate_nargs.
1741 (check_builtin_function_arguments): Update.
1743 2010-02-22 Richard Guenther <rguenther@suse.de>
1746 * tree-inline.c (declare_return_variable): Use the type of
1747 the call stmt lhs if available.
1749 2010-02-22 Duncan Sands <baldrick@free.fr>
1751 * passes.c (register_pass): Always consider all pass lists when
1752 ref_pass_instance_number is zero.
1754 2010-02-22 Richard Guenther <rguenther@suse.de>
1756 PR tree-optimization/42749
1757 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
1758 parameter. Do arithmetic in the original type.
1759 (update_accumulator_with_ops): Likewise.
1760 (adjust_accumulator_values): Adjust.
1762 2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1764 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
1765 (QI to BLKmode splitter): New splitter.
1767 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
1769 * config/i386/i386.c (initial_ix86_tune_features): Turn on
1770 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
1772 2010-02-22 Richard Guenther <rguenther@suse.de>
1774 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
1776 2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
1778 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
1779 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
1780 ($(T)crti.o, $(T)crtn.o): Remove rules.
1782 2010-02-21 Tobias Burnus <burnus@net-b.de>
1785 * doc/invoke.texi (-fassociative-math): Document that this
1786 option is automatically enabled for Fortran.
1788 2010-02-20 David S. Miller <davem@davemloft.net>
1790 * configure.ac: Test if linker and assembler properly support
1791 GOTDATA_OP relocations.
1792 * configure: Rebuild.
1793 * config.in: Likewise.
1794 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
1795 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
1796 (movsi_high_pic): Likewise.
1797 (movdi_lo_sum_pic): Likewise.
1798 (movdi_high_pic): Likewise.
1799 (movsi_pic_gotdata_op): New pattern.
1800 (movdi_pic_gotdata_op): Likewise.
1801 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
1802 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
1804 2010-02-20 Uros Bizjak <ubizjak@gmail.com>
1807 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
1808 attribute to ssemul.
1809 (xop_mulv2div2di3_high): Ditto.
1811 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1814 * c.opt (Wconversion-null): New option.
1815 * doc/invoke.texi (Wconversion-null): Document.
1817 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1819 * common.opt (Wlarger-than-): Add Undocumented.
1821 2010-02-19 Mike Stump <mikestump@comcast.net>
1823 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
1825 2010-02-19 Jason Merrill <jason@redhat.com>
1828 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
1829 * configure: Likewise.
1831 2010-02-20 Alan Modra <amodra@gmail.com>
1834 * cgraph.h (cgraph_make_decl_local): Declare.
1835 * cgraph.c (cgraph_make_decl_local): New function.
1836 (cgraph_make_node_local): Use it.
1837 * cgraphunit.c (cgraph_function_versioning): Likewise.
1838 * ipa.c (function_and_variable_visibility): Likewise.
1840 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1843 * except.c (sjlj_emit_function_enter): Don't call
1844 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
1846 * rtl.h (add_reg_br_prob_note): Remove prototype.
1848 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1851 * c-common.c (conversion_warning): Remove widening conversions
1852 before checking the conversion of integers to reals.
1854 2010-02-19 Mike Stump <mikestump@comcast.net>
1857 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
1860 * cgraphunit.c (process_function_and_variable_attributes): Check
1861 DECL_PRESERVE_P instead of looking up attribute "used".
1862 * ipa-pure-const.c (check_decl): Likewise.
1863 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
1864 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
1865 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
1866 instead of attribute "used".
1867 * config/sol2-c.c (solaris_pragma_init): Likewise.
1868 (solaris_pragma_fini): Likewise.
1870 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1872 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
1873 Use XCNEW instead of xcalloc.
1874 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
1875 XNEW instead of xmalloc.
1876 (get_fields): Use XNEWVEC instead of xmalloc.
1879 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
1880 populate vars array.
1881 (create_new_general_access): For debug stmts just reset value.
1882 (get_stmt_accesses): For accesses within debug stmts just record them
1883 using add_access_to_acc_sites instead of preventing the peeling or
1884 counting them as accesses.
1887 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
1889 2010-02-19 Richard Guenther <rguenther@suse.de>
1891 PR tree-optimization/42916
1892 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
1895 2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
1897 * configure.ac: Replace all uses of changequote in macro arguments
1898 with proper quoting.
1900 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1903 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
1905 2010-02-19 Richard Guenther <rguenther@suse.de>
1907 PR tree-optimization/42944
1908 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
1909 test for aliasing with errno.
1911 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1914 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
1915 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
1916 * dojump.c: Include output.h.
1917 (inv): New inline function.
1918 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
1919 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
1920 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
1921 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
1922 argument, pass it down to other calls.
1923 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
1924 add REG_BR_PROB note to the conditional jump.
1925 * cfgexpand.c (add_reg_br_prob_note): Removed.
1926 (expand_gimple_cond): Don't call it, add the probability
1927 as last argument to jumpif_1/jumpifnot_1.
1928 * Makefile.in (dojump.o): Depend on output.h.
1929 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
1931 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
1932 * stmt.c (do_jump_if_equal): Likewise.
1933 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
1934 * loop-unswitch.c (compare_and_jump_seq): Likewise.
1935 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
1937 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
1938 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
1939 jumpifnot_1 callers.
1940 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
1942 (store_expr): Adjust jumpifnot caller.
1943 (store_constructor): Adjust jumpif caller.
1946 * gimplify.c (gimple_boolify): For __builtin_expect call
1947 gimple_boolify also on its first argument.
1949 2010-02-18 Uros Bizjak <ubizjak@gmail.com>
1951 * configure.ac (gnu-unique-object): Wrap regexps using [] in
1953 (__stack_chk_fail): Ditto. Remove quadrigraphs.
1954 * configure: Regenerated.
1956 2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1958 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
1959 lang_hooks.types_compatible_p instead of comptypes.
1961 2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
1963 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
1964 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
1965 if __prefer_thumb__ is defined.
1967 2010-02-18 Martin Jambor <mjambor@suse.cz>
1969 PR tree-optimization/43066
1970 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
1971 array with zero-sized element type.
1973 2010-02-18 Jakub Jelinek <jakub@redhat.com>
1975 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
1976 rtx, allocate struct var_loc_node here and return it to the
1977 caller, and only if it is actually needed.
1978 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
1979 move it earlier and return immediately if it returns NULL.
1981 2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
1983 * config/sparc/gas.h: New file. Restore
1984 TARGET_ASM_NAMED_SECTION to its ELF default.
1985 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
1987 * config/sparc/sparc.c (sparc_elf_asm_named_section):
1988 Likewise. Add ATTRIBUTE_UNUSED to prototype.
1989 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
1990 after sparc/sysv4.h.
1992 2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
1994 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
1996 2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
1998 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
1999 patterns from predicated pattern.
2001 2010-02-17 Uros Bizjak <ubizjak@gmail.com>
2004 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
2005 for insn mnemonic suffix.
2007 2010-02-17 Richard Guenther <rguenther@suse.de>
2009 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
2012 2010-02-17 Jakub Jelinek <jakub@redhat.com>
2015 * caller-save.c (save_call_clobbered_regs): If BB ends with
2016 a DEBUG_INSN, move any notes in between last real insn and the last
2017 DEBUG_INSN after the last DEBUG_INSN.
2019 2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
2021 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
2022 Fix return type. Fix argument type. Explain meaning of return value.
2024 2010-02-16 Richard Guenther <rguenther@suse.de>
2026 PR tree-optimization/41043
2027 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
2028 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
2030 (vrp_visit_phi_node): ... but only for loop PHI nodes.
2032 2010-02-16 Ira Rosen <irar@il.ibm.com>
2034 PR tree-optimization/43074
2035 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
2036 * tree-vect-loop.c (vect_analyze_loop_operations): Add
2037 vectorizable cycles in hybrid SLP check.
2038 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
2040 2010-02-16 Richard Guenther <rguenther@suse.de>
2042 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
2043 (true_dependence): If memrefs_conflict_p computes must-alias
2044 trust it. Move TBAA check after offset-based disambiguation.
2045 (canon_true_dependence): Likewise.
2047 2010-02-16 Alexandre Oliva <aoliva@redhat.com>
2049 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
2050 * doc/invoke.texi: Document it.
2051 * var-tracking.c: Include toplev.h and params.h.
2052 (vt_find_locations): Return bool indicating success. Compute
2053 hash sizes unconditionally. Check new parameter, report.
2054 (variable_tracking_main_1): Check vt_find_locations results and
2055 retry. Renamed from...
2056 (variable_tracking_main): ... this. New wrapper to preserve
2057 flag_var_tracking_assignments.
2058 * Makefile.in (var-tracking.o): Adjust dependencies.
2060 2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
2061 Jakub Jelinek <jakub@redhat.com>
2064 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
2065 if weak_import attribute is present.
2066 * config/darwin.c (machopic_select_section): Likewise.
2068 2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
2070 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
2071 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
2072 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
2073 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
2075 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
2077 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
2080 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
2081 Rewrite text to refer to the names.
2083 2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
2085 * config/i386/i386-builtin-types.def
2086 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
2087 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
2088 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
2089 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
2090 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
2091 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
2092 IX86_BUILTIN_VPERMIL2PS256.
2093 (MULTI_ARG_4_DF2_DI_I): Defined.
2094 (MULTI_ARG_4_DF2_DI_I1): Defined.
2095 (MULTI_ARG_4_SF2_SI_I): Defined.
2096 (MULTI_ARG_4_SF2_SI_I1): Defined.
2097 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
2098 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
2099 __builtin_ia32_vpermil2ps256.
2100 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2101 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2102 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
2103 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
2104 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
2105 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
2106 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
2107 CODE_FOR_xop_vpermil2v8sf3.
2108 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
2109 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
2110 * config/i386/xopintrin.h (_mm_permute2_pd): New.
2111 (_mm256_permute2_pd): New.
2112 (_mm_permute2_ps): New.
2113 (_mm256_permute2_ps): New.
2115 2010-02-15 Nick Clifton <nickc@redhat.com>
2117 * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
2118 boolean parameters. Use emit_jump_insn when emitting a pop
2119 instruction containing a return insn.
2120 (push): Use 'true' rather than '1' as second parameter to F.
2121 (h8300_expand_prologue): Likewise.
2122 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
2123 (h8300_expand_epilogue): Likewise.
2125 2010-02-15 Richard Guenther <rguenther@suse.de>
2128 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
2131 2010-02-15 Nick Clifton <nickc@redhat.com>
2133 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
2136 2010-02-14 Marco Poletti <poletti.marco@gmail.com>
2138 * intl.c (fake_ngettext): New function.
2139 * intl.h (fake_ngettext): Declare.
2140 (ngettext): Define macro.
2141 * collect2.c (notice_translated): New function.
2142 (main): Use notice_translated and ngettext.
2143 * collect2.h (notice_translated): Declare.
2145 2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
2147 * reorg.c (delete_computation): Comment fixes.
2148 * caller-save.c (setup_save_areas): Idem.
2149 * sel-sched-dump.c (dump_lv_set): Idem.
2152 2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2154 * config/s390/s390.c (s390_sched_init): New function.
2155 (TARGET_SCHED_INIT): Target hook defined.
2157 2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
2158 Jack Howarth <howarth@bromo.med.uc.edu>
2159 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2162 Partial revert of unintended change in fix for PR41605.
2163 * config/darwin.h: Fix typo.
2164 * config/darwin9.h: Same.
2166 2010-02-11 Jakub Jelinek <jakub@redhat.com>
2168 * c-pch.c (pch_init): Clear v.
2170 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
2173 * graphite-scop-detection.c (graphite_can_represent_scev): Call
2174 graphite_can_represent_init for MULT_EXPR.
2176 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
2180 * graphite-sese-to-poly.c (remove_phi): New.
2181 (translate_scalar_reduction_to_array): Call remove_phi.
2183 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
2186 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
2187 * graphite-clast-to-gimple.h (gloog): Update declaration.
2188 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
2189 * graphite-poly.h (struct poly_bb): Add missing comments.
2190 (struct scop): Add poly_scop_p field.
2192 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
2193 * graphite.c (graphite_transform_loops): Build the polyhedral
2194 representation for each scop before code generation.
2195 * sese.c (rename_variables_in_operand): Removed.
2196 (rename_variables_in_expr): Return the renamed expression.
2197 (rename_sese_parameters): New.
2198 * sese.h (rename_sese_parameters): Declared.
2200 2010-02-11 Richard Guenther <rguenther@suse.de>
2202 PR tree-optimization/42998
2203 * tree-ssa-pre.c (create_expression_by_pieces): Treat
2204 POINTER_PLUS_EXPR properly.
2206 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
2207 Changpeng Fang <changpeng.fang@amd.com>
2210 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
2211 the cost of an IV candidate when the IV is used in a test against zero.
2213 * gcc.dg/tree-ssa/ivopts-3.c: New.
2215 2010-02-11 Richard Guenther <rguenther@suse.de>
2218 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
2219 pointer-vs-decl case by swapping refs. Handle some cases
2220 of pointer-vs-decl disambiguations more conservatively.
2221 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
2222 to false after expanding.
2224 2010-02-11 Richard Guenther <rguenther@suse.de>
2227 * gcc.c (process_command): Handle LTO file@offset case more
2230 2010-02-11 Jakub Jelinek <jakub@redhat.com>
2232 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
2233 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
2235 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
2237 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
2238 if MEM's mode size isn't DWARF2_ADDR_SIZE.
2239 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
2240 Optimize eq/ne comparisons when both arguments are known to be
2242 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
2243 Don't mask operands unnecessarily if they are known to be already
2246 2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
2248 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
2251 2010-02-10 Richard Guenther <rguenther@suse.de>
2253 PR tree-optimization/43017
2254 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
2255 for wrapping signed arithmetic.
2257 2010-02-10 Jakub Jelinek <jakub@redhat.com>
2260 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
2261 if no debug info should be emitted for it.
2263 2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
2265 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
2266 note when flag_exceptions is set.
2268 2010-02-10 Duncan Sands <baldrick@free.fr>
2270 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
2272 2010-02-10 Richard Guenther <rguenther@suse.de>
2275 * tree.c (get_unwidened): Handle constants.
2276 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
2278 2010-02-10 Martin Jambor <mjambor@suse.cz>
2281 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
2282 check for variable argument counts independently.
2284 2010-02-10 Christian Bruel <christian.bruel@st.com>
2287 * config/sh/sh.c (find_barrier): Increase length for non delayed
2288 conditional branches.
2290 2010-02-10 Christian Bruel <christian.bruel@st.com>
2292 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
2294 2010-02-10 Jakub Jelinek <jakub@redhat.com>
2296 * builtins.c (set_builtin_user_assembler_name): Also handle
2297 ffs if int is smaller than word.
2299 2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
2302 * ira-conflicts.c (get_dup): Remove.
2303 (process_reg_shuffles): Add new parameter. Use it as an
2304 additional guard for copy generation.
2305 (add_insn_allocno_copies): Rewrite.
2307 2010-02-09 Alexander Monakov <amonakov@ispras.ru>
2309 * common.opt (fsched2-use-traces): Preserved for backward
2311 * doc/invoke.texi: Remove the documentation about option
2312 -fsched2-use-traces.
2313 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
2314 flag_sched2_use_traces.
2315 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
2316 the backward compatibility flag section.
2318 2010-02-09 Richard Guenther <rguenther@suse.de>
2320 PR tree-optimization/43008
2321 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
2322 make HEAP variables initialized from global memory if they
2323 are not known builtin functions.
2324 (find_func_aliases): Adjust.
2326 2010-02-09 Richard Guenther <rguenther@suse.de>
2328 PR tree-optimization/43000
2329 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
2330 arithmetic manually.
2332 2010-02-08 Jakub Jelinek <jakub@redhat.com>
2334 PR tree-optimization/42931
2335 * tree-loop-linear.c (try_interchange_loops): Don't call
2336 double_int_mul if estimated_loop_iterations failed.
2338 2010-02-08 Martin Jambor <mjambor@suse.cz>
2341 * tree-sra.c (build_accesses_from_assign): Do not mark in
2342 should_scalarize_away_bitmap if stmt has volatile ops.
2343 (sra_modify_assign): Do not process assigns piecemeal if if stmt
2346 2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
2348 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
2350 2010-02-07 Adam Nemet <adambnmet@gmail.com>
2352 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
2355 2010-02-07 Andrew Pinski <pinskia@gmail.com>
2358 * df-core.c (df_finish_pass): Change type of saved_flags to int.
2360 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
2363 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
2364 to unknown_dependence.
2365 (graphite_legal_transform_dr): Handle the unknown_dependence.
2366 (graphite_carried_dependence_level_k): Same.
2368 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
2370 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
2372 2010-02-07 Richard Guenther <rguenther@suse.de>
2375 * expr.c (get_inner_reference): Always initialize *pbitsize.
2377 2010-02-07 Richard Guenther <rguenther@suse.de>
2380 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
2381 new ARRAY_REFs on variable size element or minimal index arrays.
2383 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
2384 gimple_fold_indirect_ref.
2386 2010-02-06 Richard Earnshaw <rearnsha@arm.com>
2389 * arm.c (arm_override_options): Just return if the user has specified
2390 an invalid fpu name.
2392 2010-02-03 Jason Merrill <jason@redhat.com>
2395 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
2396 i386_pe_maybe_record_exported_symbol.
2398 2010-02-05 Steve Ellcey <sje@cup.hp.com>
2401 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2402 (pa_delegitimize_address): New function.
2404 2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
2406 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
2407 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
2409 2010-02-05 Richard Guenther <rguenther@suse.de>
2412 * lto-streamer-in.c (get_resolution): Deal with references
2413 to undefined functions.
2415 2010-02-05 Richard Guenther <rguenther@suse.de>
2417 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
2418 (fold_const_aggregate_ref): Likewise.
2419 (ccp_fold_stmt): Substitute loads.
2420 (maybe_fold_reference): Verify types before substituting.
2422 (fold_gimple_assign): Unshare properly.
2423 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
2425 2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
2427 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
2428 for rs6000_gen_cell_microcode.
2430 2010-02-04 Richard Guenther <rguenther@suse.de>
2432 PR rtl-optimization/42952
2433 * dse.c (const_or_frame_p): Remove MEM handling.
2435 2010-02-04 Nick Clifton <nickc@redhat.com>
2437 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
2438 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
2439 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
2440 (mn10300_asm_output_mi_thunk): New function.
2441 (mn10300_can_output_mu_thunk): New function.
2442 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
2443 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
2444 (FUNCTION_ARG): Delete incorrect comment.
2446 2010-02-03 Jason Merrill <jason@redhat.com>
2449 * fold-const.c (operand_equal_p): Handle erroneous types.
2451 2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
2453 * config/h8300/h8300.md (can_delay): Fix attibute condition.
2455 2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
2457 PR rtl-optimization/42941
2458 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
2461 2010-02-03 Jason Merrill <jason@redhat.com>
2464 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
2466 2010-02-03 Alexandre Oliva <aoliva@redhat.com>
2469 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
2470 (cselib_reset_table): Renamed from...
2471 (cselib_reset_table_with_next_value): ... this.
2472 (cselib_get_next_uid): Renamed from...
2473 (cselib_get_next_unknown_value): ... this.
2474 * cselib.c (next_uid): Renamed from...
2475 (next_unknown_value): ... this.
2476 (cselib_clear_table): Adjust.
2477 (cselib_reset_table): Adjust. Renamed from...
2478 (cselib_reset_table_with_next_value): ... this.
2479 (cselib_get_next_uid): Adjust. Renamed from...
2480 (cselib_get_next_unknown_value): ... this.
2481 (get_value_hash): Use hash.
2482 (cselib_hash_rtx): Likewise.
2483 (new_cselib_val): Adjust. Set and dump uid.
2484 (cselib_lookup_mem): Pass next_uid as hash.
2485 (cselib_subst_to_values): Likewise.
2486 (cselib_log_lookup): Dump uid.
2487 (cselib_lookup): Pass next_uid as hash. Adjust.
2488 (cselib_process_insn): Adjust.
2489 (cselib_init): Initialize next_uid.
2490 (cselib_finish): Adjust.
2491 (dump_cselib_table): Likewise.
2492 * dse.c (canon_address): Dump value uid.
2493 * print-rtl.c (print_rtx): Print value uid.
2494 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
2496 (dv_uid): New function, sort of renamed from...
2497 (dv_htab_hash): ... this, reimplemented in terms of it and...
2498 (dv_uid2hash): ... this. New.
2499 (variable_htab_eq): Drop excess assertions.
2500 (tie_break_pointers): Removed.
2501 (canon_value_cmp): Compare uids.
2502 (variable_post_merge_New_vals): Print uids.
2503 (vt_add_function_parameters): Adjust.
2504 (vt_initialize): Reset table. Adjust.
2506 2010-02-03 Richard Guenther <rguenther@suse.de>
2508 PR tree-optimization/42944
2509 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
2510 (call_may_clobber_ref_p_1): Likewise. Properly handle
2511 malloc and calloc clobbering errno.
2513 2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
2515 * doc/invoke.texi: Fix name of sched1 dump.
2517 * opts.c (decode_options): Set flag_tree_switch_conversion
2518 only conditionally on optimize >= 2.
2520 * gcse.c: Assorted comment fixes in pass description.
2522 2010-02-03 Anthony Green <green@moxielogic.com>
2524 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
2525 nop padding in order to maintain alignment of storage location of
2526 target function address.
2527 (moxie_trampoline_init): Store target function address at newly
2529 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
2531 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
2533 2010-02-03 Richard Guenther <rguenther@suse.de>
2536 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
2538 2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2540 * config.gcc: Reenable check for obsolete targets.
2541 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
2542 mips-sgi-irix6.[0-4]*.
2544 2010-02-02 Nick Clifton <nickc@redhat.com>
2546 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
2547 constant size of 4 as being the same as 0.
2548 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
2549 can take values in the range 0..4.
2551 2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
2554 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
2555 as _darwin10_Unwind_FindEnclosingFunction().
2556 * libgcc-libsystem.ver: New.
2558 2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
2561 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
2562 implicitly set registers.
2564 2010-02-01 Richard Earnshaw <rearnsha@arm.com>
2566 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
2567 (arm_override_options): Allow automatic selection of the thread
2568 pointer register if thumb2.
2569 (legitimize_pic_address): Improve code sequences for Thumb2.
2570 (arm_call_tls_get_addr): Likewise.
2571 (legitimize_tls_address): Likewise.
2572 * arm.md (pic_load_addr_arm): Delete. Replace with ...
2573 (pic_load_addr_32bit): ... this. New named pattern.
2574 * thumb2.md (pic_load_addr_thumb2): Delete.
2575 (pic_load_dot_plus_four): Delete.
2576 (tls_load_dot_plus_four): New named pattern.
2578 2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2581 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
2582 Document fix for TLS bug.
2584 2010-01-31 Richard Guenther <rguenther@suse.de>
2586 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
2587 conservatively correct.
2589 2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2593 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2595 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2597 2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2599 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
2601 2010-01-31 Kai Tietz <kai.tietz@onevision.com>
2603 * config.gcc: Adjust order of makefile fragments for mingw targets.
2605 2010-01-31 Richard Guenther <rguenther@suse.de>
2608 * gimplify.c (gimplify_init_constructor): For volatile LHS
2609 initialize a temporary.
2611 2010-01-31 Matthias Klose <doko@ubuntu.com>
2613 * configure.ac: Fix __stack_chk_fail check for cross builds configured
2615 * configure: Regenerate.
2617 2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
2619 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2620 the same alias set and their sizes different constantness.
2621 (aliasing_component_refs_p): Revert 2009-10-24 change.
2623 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2625 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
2628 2010-01-29 Richard Guenther <rguenther@suse.de>
2630 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
2631 Assert we successfully updated the call.
2633 2010-01-29 Jakub Jelinek <jakub@redhat.com>
2635 PR rtl-optimization/42889
2636 * df.h (df_set_bb_dirty_nonlr): New prototype.
2637 * df-core.c (df_set_bb_dirty_nonlr): New function.
2638 * df-scan.c (df_insn_rescan): Call it instead of
2639 df_set_bb_dirty for DEBUG_INSNs.
2641 2010-01-29 Richard Guenther <rguenther@suse.de>
2644 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
2645 quadratic behavior in most cases.
2647 2010-01-28 Uros Bizjak <ubizjak@gmail.com>
2650 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
2651 in the call to gen_x86_movsicc_0_m1.
2653 2010-01-28 Richard Guenther <rguenther@suse.de>
2655 PR tree-optimization/42871
2656 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
2658 2010-01-28 Richard Guenther <rguenther@suse.de>
2660 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
2661 into call arguments.
2663 2010-01-28 Richard Guenther <rguenther@suse.de>
2666 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
2667 the forwarder if the destination is an EH landing pad.
2669 2010-01-28 Razya Ladelsky <razya@il.ibm.com>
2671 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
2672 block list passed to gimple_duplicate_sese_tail.
2673 (parallelize_loops): Avoid parallelization when the function
2675 Avoid parallelization when the preheader is IRREDUCIBLE.
2676 Try to optimize when estimated_loop_iterations_int is unresolved.
2677 Add the loop's location to the dump file.
2678 * tree-cfg.c (add_phi_args_after_redirect): Remove.
2679 (gimple_duplicate_sese_tail): Remove the check for the latch.
2680 Redirect nexits to the exit block.
2681 Remove handling of the incoming edges to the latch.
2682 Redirect the backedge from the copied latch to the exit bb.
2684 2010-01-28 Michael Matz <matz@suse.de>
2687 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
2688 Wrap force_reg into a sequence, emit it before user.
2690 2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
2692 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
2694 (arm_legacy_rev): Likewise.
2695 (thumb_legacy_rev): Likewise.
2697 2010-01-27 Jakub Jelinek <jakub@redhat.com>
2699 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
2700 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
2701 on MEM's address failed, try avoid_constant_pool_reference and
2702 recurse if it returned something different.
2703 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
2704 address, try avoid_constant_pool_reference and recurse if it
2705 returned something different.
2706 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
2707 address and avoid_constant_pool_reference returned something
2708 different, don't set have_address.
2710 2010-01-27 Alexandre Oliva <aoliva@redhat.com>
2713 * var-tracking.c (val_store): Add modified argument, obey it.
2715 (count_uses): Move down logging of main.
2716 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
2717 don't need resolution.
2718 (emit_notes_in_bb): Likewise.
2720 2010-01-27 Richard Guenther <rguenther@suse.de>
2723 * tree-inline.c (remap_decl): Delay remapping of SSA name
2724 default definitions until we need them.
2726 2010-01-27 Jakub Jelinek <jakub@redhat.com>
2728 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2729 (rs6000_delegitimize_address): New function.
2731 * config/s390/s390.c (s390_delegitimize_address): Call
2732 delegitimize_mem_from_attrs.
2735 * tree-inline.c (cannot_copy_type_1): Removed.
2736 (copy_forbidden): Don't forbid copying of functions containing
2737 records/unions with variable length fields.
2739 2010-01-27 Christian Bruel <christian.bruel@st.com>
2743 * config/sh/sh.c (find_barrier): Increase length for non delayed
2744 conditional branches.
2746 2010-01-27 Matthias Klose <doko@ubuntu.com>
2748 * configure.ac (gnu-unique-object): Fix ldd version check.
2749 * configure: Regenerate.
2751 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2753 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
2755 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
2756 Test for HAVE_GNU_AS value.
2758 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2760 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
2761 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
2762 INT64_TYPE): Define.
2763 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
2764 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2765 INT_LEAST64_TYPE): Define.
2766 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
2767 UINT_LEAST64_TYPE): Define.
2768 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
2769 INT_FAST64_TYPE): Define.
2770 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2771 UINT_FAST64_TYPE): Define.
2772 (INTMAX_TYPE, UINTMAX_TYPE): Define.
2773 (INTPTR_TYPE, UINTPTR_TYPE): Define.
2774 (SIG_ATOMIC_TYPE): Define.
2776 2010-01-26 Richard Guenther <rguenther@suse.de>
2778 * df-scan.c (df_scan_set_bb_info): Remove assert.
2779 (df_insn_rescan_debug_internal): Merge asserts.
2780 (df_install_ref): Likewise.
2781 (df_mark_reg): Use bitmap_set_range.
2782 (df_hard_reg_used_p): Remove assert.
2783 (df_hard_reg_used_count): Likewise.
2785 2010-01-26 Richard Guenther <rguenther@suse.de>
2787 PR rtl-optimization/42685
2788 * web.c (web_main): Ignore DEBUG_INSNs.
2790 2010-01-26 Joern Rennecke <amylaar@spamcop.net>
2792 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
2794 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
2795 Fix types of fndecl and arglist parameters.
2797 2010-01-26 Richard Guenther <rguenther@suse.de>
2800 * tree-eh.c (unsplit_eh): Skip debug insns.
2802 2010-01-26 Richard Guenther <rguenther@suse.de>
2804 PR tree-optimization/42250
2805 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
2807 2010-01-26 Jakub Jelinek <jakub@redhat.com>
2810 * omp-low.c (expand_omp_sections): Only use single_pred if
2811 l2_bb is single_pred_p.
2813 2010-01-25 Christian Bruel <christian.bruel@st.com>
2816 * config/sh/sh.c (find_barrier): Increase length for non delayed
2817 conditional branches.
2818 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
2820 2010-01-24 David S. Miller <davem@davemloft.net>
2822 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
2823 define if not using GAS.
2824 * config/sparc/sparc.c (sparc_elf_asm_named_section):
2825 Likewise. Delete SECTION_MERGE code, which is only applicable
2828 2010-01-24 Mark Mitchell <mark@codesourcery.com>
2831 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
2832 mangling of va_list in system headers.
2834 2010-01-23 Toon Moene <toon@moene.org>
2836 * tree-predcom.c (combine_chains): Return NULL, not false.
2838 2010-01-23 Joern Rennecke <amylaar@spamcop.net>
2840 * tree-loop-distribution.c (distribute_loop): Fix declaration and
2841 initialization of variable res to agree with return type.
2843 2010-01-22 Steve Ellcey <sje@cup.hp.com>
2845 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
2846 * tree-sra.c: Add include of expr.h.
2848 2010-01-22 Jakub Jelinek <jakub@redhat.com>
2850 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
2851 insert the debug stmt on the single non-EH edge from the stmt.
2853 2010-01-22 Richard Henderson <rth@redhat.com>
2856 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
2857 the RHS until after generate_subtree_copies has insertted its
2858 code before the current statement.
2860 2010-01-22 Joern Rennecke <amylaar@spamcop.net>
2862 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
2864 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
2866 2010-01-21 Martin Jambor <mjambor@suse.cz>
2868 PR tree-optimization/42585
2869 * tree-sra.c (struct access): New field grp_total_scalarization.
2870 (dump_access): Dump the new field.
2871 (should_scalarize_away_bitmap): New variable.
2872 (cannot_scalarize_away_bitmap): Likewise.
2873 (sra_initialize): Allocate new bitmaps.
2874 (sra_deinitialize): Free new bitmaps.
2875 (create_access_1): New function.
2876 (create_access): Parts moved to create_access_1.
2877 (type_consists_of_records_p): New function.
2878 (completely_scalarize_record): Likewise.
2879 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
2880 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
2881 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
2883 (analyze_all_variable_accesses): Completely scalarize small eligible
2886 2010-01-21 Martin Jambor <mjambor@suse.cz>
2888 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
2890 2010-01-21 Andrew Haley <aph@redhat.com>
2892 * gcc.c (process_command): Move lang_specific_driver before
2893 setting cc_libexec_prefix.
2895 2010-01-21 Richard Guenther <rguenther@suse.de>
2898 * fold-const.c (negate_expr_p): Pretend only negative
2899 real constants are easily negatable.
2901 2010-01-20 Janis Johnson <janis187@us.ibm.com>
2902 Jason Merrill <jason@redhat.com>
2904 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
2905 (TYPE_TRANSPARENT_AGGR): this, for union and record.
2906 * calls.c (initialize argument_information): Handle it.
2907 * c-common.c (handle_transparent_union_attribute): Use new name.
2908 * c-decl.c (finish_struct): Ditto.
2909 * c-typeck.c (type_lists_compatible_p): Ditto.
2910 (convert_for_assignment): Use new name and also handle record.
2911 * function.c (aggregate_value_p): Handle it.
2912 (pass_by_reference): Ditto.
2913 (assign_parm_data_types): Ditto.
2914 * print-tree.c (print_node): Ditto.
2915 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
2916 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
2917 * tree.c (first_field): New fn.
2919 2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
2922 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
2923 even when linking statically, for now.
2925 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
2928 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
2929 without a cselib val.
2930 (count_uses): Accept MO_VAL_SET with no val on stores.
2931 (add_stores): Likewise.
2933 2010-01-20 Jakub Jelinek <jakub@redhat.com>
2935 * var-tracking.c (check_value_val): Add a compile time assertion.
2936 (dv_is_decl_p): Simplify.
2937 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
2938 gcc_assert if ENABLE_CHECKING.
2940 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
2943 * var-tracking.c: Include tree-flow.h.
2944 (mem_dies_at_call): New.
2945 (dataflow_set_preserve_mem_locs): Use it.
2946 (dataflow_set_remove_mem_locs): Likewise.
2947 (dump_var): Renamed from dump_variable. Adjust all callers.
2948 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
2949 * Makefile.in (var-tracking.o): Adjust deps.
2951 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
2953 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
2955 2010-01-20 Richard Guenther <rguenther@suse.de>
2957 PR tree-optimization/42717
2958 * tree-ssa-dce.c (get_live_post_dom): Remove.
2959 (forward_edge_to_pdom): Take an arbitrary edge to copy
2960 degenerate PHI args from.
2961 (remove_dead_stmt): Use the first post-dominator even if it
2962 does not contain live statements as redirection destination.
2964 2010-01-20 Richard Guenther <rguenther@suse.de>
2966 * tree-inline.c (estimate_num_insns): Handle EH builtins.
2968 2010-01-20 Jakub Jelinek <jakub@redhat.com>
2970 * sel-sched.c (create_speculation_check): Remove set but not used
2972 (try_transformation_cache): Remove set but not used variable ds.
2973 (calculate_privileged_insns): Remove set but not used variables
2974 cur_insn and min_spec_insn.
2975 (find_best_expr): Remove set but not used variable avail_n.
2976 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
2978 * cgraphunit.c (assemble_thunk): Remove set but not used variable
2980 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
2981 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
2984 2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
2987 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
2988 cpu types. Add support for *-sse3 cpu types.
2989 (x86_64-*-*): Ditto.
2991 2010-01-20 Jakub Jelinek <jakub@redhat.com>
2994 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
2995 argument, call initializer_constant_valid_p_1 instead of
2996 initializer_constant_valid_p, pass CACHE to it, return NULL
2997 immediately if first call returns NULL.
2998 (initializer_constant_valid_p_1): New function.
2999 (initializer_constant_valid_p): Use it.
3001 2010-01-20 Thomas Quinot <quinot@adacore.com>
3003 * tree.def (PLACEHOLDER_EXPR): Fix comment.
3005 2010-01-20 Jakub Jelinek <jakub@redhat.com>
3007 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
3008 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
3009 (loc_list_from_tree): Don't handle unsigned division. Handle
3010 signed modulo using DW_OP_{over,over,div,mul,minus}.
3011 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
3012 modulo instead of signed.
3014 2010-01-20 DJ Delorie <dj@redhat.com>
3016 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
3018 (h8300_emit_stack_adjustment): Propogate it.
3020 (h8300_expand_prologue): Likewise.
3021 (h8300_expand_epilogue): Likewise.
3023 2010-01-19 Michael Matz <matz@suse.de>
3025 PR tree-optimization/41783
3026 * tree-data-ref.c (toplevel): Include flags.h.
3027 (dump_data_dependence_relation): Also dump the inputs if the
3028 result will be unknown.
3029 (split_constant_offset_1): Look through some conversions.
3030 * tree-predcom.c (determine_roots_comp): Restart a new chain if
3031 the offset from last element is too large.
3032 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
3033 (reassociate_to_the_same_stmt): Handle vector registers.
3034 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
3036 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
3037 wide_prolog_niters argument, emit widening instructions.
3038 (vect_do_peeling_for_alignment): Adjust caller, use widened
3039 variant of the iteration cound.
3040 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
3042 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3045 * config/arm/neon-testgen.m (emit_automatics): New parameter
3046 features. Adjust for Fixed_return_reg feature.
3047 (test_intrinsic): Call emit_automatics with new feature.
3048 * config/arm/neon.ml: Update copyright years.
3049 (features): New Fixed_return_reg feature.
3050 (ops): Update feature for Vget_low.
3052 2010-01-19 Jakub Jelinek <jakub@redhat.com>
3054 PR tree-optimization/42719
3055 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
3059 * fwprop.c (all_uses_available_at): Return false if def_set dest
3060 is a REG that is used in def_insn.
3062 2010-01-19 Joern Rennecke <amylaar@spamcop.net>
3064 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
3066 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
3069 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
3071 * target.h (struct gcc_target) <secondary_reload>: Change type
3072 of last argument to secondary_reload_info *.
3074 2010-01-18 Uros Bizjak <ubizjak@gmail.com>
3077 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
3078 memory references with unaligned offsets. Remove CQImode handling.
3079 (unaligned_memory_operand): Return 1 for memory references with
3080 unaligned offsets. Remove CQImode handling.
3082 2010-01-18 Richard Guenther <rguenther@suse.de>
3085 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
3088 2010-01-18 Richard Guenther <rguenther@suse.de>
3090 PR tree-optimization/42781
3091 * tree-ssa-structalias.c (find_what_var_points_to): Skip
3092 restrict processing only if the original variable was artificial.
3094 2010-01-18 Joern Rennecke <amylaar@spamcop.net>
3096 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
3097 find number of popped argument bytes.
3099 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
3100 Fix the text that describes the return value for invalid insns.
3102 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
3104 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
3105 Clarify what 'cost of the -dependence' is. Fix quoting.
3107 * toplev.c (default_get_pch_validity): Rename argument to "sz".
3108 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
3110 2010-01-17 Jakub Jelinek <jakub@redhat.com>
3112 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
3113 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
3115 2010-01-17 Richard Guenther <rguenther@suse.de>
3118 * function.c (split_complex_args): Take a VEC to modify.
3119 (assign_parms_augmented_arg_list): Build a VEC instead of
3120 a chain of PARM_DECLs.
3121 (assign_parms_unsplit_complex): Take a VEC of arguments.
3122 Do not fixup unmodified parms.
3123 (assign_parms): Deal with the VEC.
3124 (gimplify_parameters): Likewise.
3126 2010-01-17 Richard Guenther <rguenther@suse.de>
3128 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
3129 node existence check.
3130 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
3131 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
3132 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
3133 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
3134 (gimple_execute_on_growing_pred): Likewise.
3136 2010-01-17 Richard Guenther <rguenther@suse.de>
3138 PR tree-optimization/42773
3139 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
3140 (compute_antic_aux): Likewise.
3141 (compute_partial_antic_aux): Likewise.
3143 2010-01-17 Jie Zhang <jie.zhang@analog.com>
3146 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
3149 2010-01-17 Joern Rennecke <amylaar@spamcop.net>
3151 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
3154 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
3155 Fix markup for strict argument.
3157 (TARGET_SCHED_REORDER2): Fix argument types.
3159 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
3160 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
3162 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
3163 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
3165 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
3168 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
3169 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
3170 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
3171 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
3172 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
3174 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
3176 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
3178 (TARGET_ASM_RELOC_RW_MASK): Add return type.
3179 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
3181 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
3183 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
3186 (TARGET_ASM_NAMED_SECTION): Fix argument list.
3188 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
3189 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
3191 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
3193 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
3195 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
3196 referring to it. Fix language.
3198 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
3200 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
3202 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
3204 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
3206 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
3207 '@var{stream}. Remove stray 'and'.
3209 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
3211 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
3213 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
3215 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
3216 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
3218 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
3219 Fix description of return value.
3220 Rename argument "sz" to "len."
3222 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
3223 Clarify meaning of 'true' return value.
3225 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
3227 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
3228 rep_mode versus mode_rep.
3230 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
3232 (TARGET_BUILTIN_DECL): Fix name.
3234 (TARGET_COMMUTATIVE_P): Fix type of first argument.
3236 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
3238 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
3240 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
3242 (TARGET_RELAXED_ORDERING): Use @deftypevr.
3244 (TARGET_GET_DRAP_RTX): Note that this is a hook.
3247 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
3248 Rename argument tm_fn to md_fn.
3250 (TARGET_OPTION_PRINT): Fix argument list.
3252 2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
3255 * config/i386/i386.c (ix86_fixup_binary_operands):
3256 Revert FMA4 fixup of operands.
3258 2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3261 * Makefile.in (write_entries_to_file, install-plugin):
3262 Use \012 instead of \n with tr.
3264 2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
3266 * configure.ac (HAVE_AS_REF): New C macro.
3267 * configure: Regenerate.
3268 * config.in: Likewise.
3269 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
3271 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
3274 2010-01-16 Joern Rennecke <amylaar@spamcop.net>
3276 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
3278 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
3280 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
3282 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
3284 (TARGET_IN_SMALL_DATA_P): Fix argument type.
3286 (TARGET_BINDS_LOCAL_P): Fix argument type.
3288 (TARGET_ASM_FILE_END): Use prototype.
3290 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
3292 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
3294 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
3296 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
3298 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
3299 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
3301 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
3302 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
3304 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
3305 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
3306 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
3307 (TARGET_ADDR_SPACE_CONVERT): Likewise.
3309 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
3311 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
3313 (TARGET_INIT_BUILTINS): Use prototype.
3315 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
3316 Put 'const char *' in braces. Fix parameter types.
3317 (TARGET_INVALID_CONVERSION): Fix parameter types.
3318 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
3319 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
3321 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
3324 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
3326 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
3328 2010-01-15 Joern Rennecke <amylaar@spamcop.net>
3330 * doc/tm.texi (TARGET_HELP): Fix return type.
3332 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
3333 in braces. Fix argument types.
3335 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
3337 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
3339 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
3341 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
3342 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
3344 (TARGET_MANGLE_TYPE): Fix argument types.
3346 (TARGET_IRA_COVER_CLASSES): Use prototype.
3348 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
3350 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
3352 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
3354 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
3356 (TARGET_CALLEE_COPIES): Fix argument types.
3358 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
3360 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
3362 (TARGET_FUNCTION_VALUE): Fix argument types.
3364 (TARGET_RETURN_IN_MSB): Fix argument type.
3366 (TARGET_RETURN_IN_MEMORY): Fix argument types.
3368 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
3370 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
3372 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
3373 agree with return type.
3375 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
3377 2010-01-15 Jing Yu <jingyu@google.com>
3379 PR rtl-optimization/42691
3380 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
3381 a pseudo to a constant and are merged, and adjust comments.
3383 2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
3385 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
3387 2010-01-15 Richard Guenther <rguenther@suse.de>
3390 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
3391 labels of computed or non-local gotos to the destination.
3392 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
3393 landing pad label is the first label.
3395 2010-01-15 Richard Guenther <rguenther@suse.de>
3397 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
3399 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3402 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
3403 to allow generation of the xssqrtdp instruction on power7.
3404 (sqrtdf2_fpr): Ditto.
3406 2010-01-14 Jakub Jelinek <jakub@redhat.com>
3409 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
3410 functions with noreturn attribute.
3413 * varasm.c (declare_weak): Add weak attribute to decl if it
3414 doesn't have one already.
3415 (assemble_external): Only add decls to weak_decls if they also
3416 have weak attribute.
3418 2010-01-14 Alexandre Oliva <aoliva@redhat.com>
3420 * var-tracking.c (var_reg_delete): Don't delete the association
3421 between REGs and values or one-part variables if the register
3424 2010-01-14 Jakub Jelinek <jakub@redhat.com>
3427 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
3428 because its first operand is a non-localized variable.
3430 2010-01-14 Martin Jambor <mjambor@suse.cz>
3432 PR tree-optimization/42706
3433 * tree-sra.c (encountered_recursive_call): New variable.
3434 (encountered_unchangable_recursive_call): Likewise.
3435 (sra_initialize): Initialize both new variables.
3436 (callsite_has_enough_arguments_p): New function.
3437 (scan_function): Call decl and flags check only for IPA-SRA, check
3438 whether there is a recursive call and whether it has enough arguments.
3439 (all_callers_have_enough_arguments_p): New function.
3440 (convert_callers): Look for recursive calls only when
3441 encountered_recursive_call is set.
3442 (ipa_early_sra): Bail out either if
3443 !all_callers_have_enough_arguments_p or
3444 encountered_unchangable_recursive_call.
3446 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
3448 * sel-sched.c: Add 2010 to copyright years.
3449 * sel-sched-ir.c: Likewise.
3450 * sel-sched-ir.h: Likewise.
3452 2010-01-14 Martin Jambor <mjambor@suse.cz>
3454 PR tree-optimization/42714
3455 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
3456 constructors specially.
3458 2010-01-14 Andi Kleen <ak@linux.intel.com>
3460 * config/i386/drivers-i386.c (detect_caches_intel):
3461 Add l2sizekb parameter and fill in.
3462 (host_detect_local_cpu): Add l2sizekb, fill in.
3463 Add Atom small cache heuristic.
3465 2010-01-14 Andi Kleen <ak@linux.intel.com>
3467 * config/i386/drivers-i386.c (detect_caches_cpuid4):
3468 Add level3 parameter and fill in.
3469 (detect_caches_intel): Handle level3 cache.
3471 2010-01-14 Andi Kleen <ak@linux.intel.com>
3473 * config/i386/drivers-i386.c (host_detect_local_cpu):
3474 Fix core duo detection.
3476 2010-01-14 Andi Kleen <ak@linux.intel.com>
3478 * config/i386/drivers-i386.c (host_detect_local_cpu):
3481 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
3483 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
3484 (rs6000_variable_issue_1): this. Use...
3485 (rs6000_variable_issue): here. Reimplement. Print debug info.
3487 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
3489 * sel-sched-ir.c (sel_restore_other_notes): Rename to
3490 sel_restore_notes. Update all callers. Call reemit_notes
3493 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
3495 PR rtl-optimization/42246
3496 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
3499 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
3501 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
3502 all successors is the same as number of successors in current region.
3504 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
3506 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
3507 to rename is not separable. Otherwise check that its LHS is not NULL.
3509 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
3511 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
3513 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
3515 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
3516 available registers when failed to discover LHS register class.