]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
s390.md (movqi): Fix typo ('*' -> '#').
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
b247e88a
AK
12010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2
3 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
4
ec4be2f4
DS
52010-05-28 Dodji Seketeli <dodji@redhat.com>
6
7 revert fix for PR c++/44188
8 * c-common.c (is_typedef_decl): Revert the moving of this
9 definition ...
10 * tree.c (is_typedef_decl): ... here.
11 (typdef_variant_p): Revert the moving of this definition
12 here from gcc/cp/tree.c.
13 * c-common.h (is_typedef_decl): Revert the moving of this
14 declaration ...
15 * tree.h (is_typedef_decl): ... here.
16 (typedef_variant_p): Revert the moving of this declaration here
17 from gcc/cp/cp-tree.h
18 * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
19 (gen_tagged_type_die): Revert the splitting out of ...
20 (gen_type_die_with_usage): ... this function. Revert the anonymous
21 tagged type handling.
22 (gen_typedef_die): Revert emitting DW_TAG_typedef for
23 typedefs naming anonymous tagged types.
24
25
3fe7b63c
SB
262010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
27
28 * config/rs6000/rs6000-modes.def (PSImode): Delete.
29
f6b5d695
SB
302010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
31
32 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
33 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
34 throughout.
35 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
36 "xer" to "ca".
37 Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
38 XER_REGS to CA_REGS throughout.
39 * config/rs6000/rs6000.h: Same.
40 (ADDITIONAL_REGISTER_NAMES): Add "xer".
41 * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document
42 that mode_iterator "P" is the size for arithmetic carries as well.
43 * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
44
47027bf3
JJ
452010-05-28 Jakub Jelinek <jakub@redhat.com>
46
47 PR bootstrap/44255
48 * combine.c (struct rtx_subst_pair): Define unconditionally.
49 (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC,
50 copy_rtx pair->to instead of cleanup_auto_inc_dec it.
51 Call make_compound_operation on pair->to.
52 (propagate_for_debug): Don't call make_compound_operation here.
53 Always use simplify_replace_fn_rtx.
54
552010-05-27 Sterling Augustine <sterling@tensilica.com>
1b408ba1
SA
56
57 * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
58 * config/xtensa/xtensa.c (override_options): Check
59 TARGET_FORCE_NO_PIC and set flag_pic.
60 * config/xtensa/xtensa.opt: Document -mforce-no-pic
61
622010-05-27 Kai Tietz <kai.tietz@onevision.com>
63
64 PR bootstrap/44299
65 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
66 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
67
682010-05-27 Joseph Myers <joseph@codesourcery.com>
69
70 * diagnostic-core.h: New. Contents moved from diagnostic.h and
71 toplev.h.
72 * diagnostic.c: Don't include toplev.h.
73 (progname): Define. Moved from toplev.c.
74 (seen_error): New function.
75 * diagnostic.h: Include diagnostic-core.h.
76 (diagnostic_t, emit_diagnostic): Don't declare here.
77 * toplev.c (progname): Move to toplev.c.
78 (emit_debug_global_declarations, compile_file, finalize,
79 do_compile, toplev_main): Use seen_error.
80 * toplev.h: Include diagnostic-core.h.
81 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
82 internal_error, warning, warning_at, error, error_n, error_at,
83 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
84 verbatim, fnotice, progname): Move to diagnostic-core.h.
85 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
86 (expand_builtin_expect): Use seen_error.
87 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
88 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
89 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
90 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
91 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
92 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
93 errorcount for errors.
94 * c-opts.c (c_common_finish): Use seen_error.
95 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
96 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
97 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
98 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
99 (get_coverage_counts): Use seen_error.
100 * dwarf2out.c (dwarf2out_finish): Use seen_error.
101 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
102 gimplify_body): Use seen_error.
103 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
104 * ipa-pure-const.c (gate_pure_const): Use seen_error.
105 * ipa-reference.c (gate_reference): Use seen_error.
106 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
107 * lambda-code.c: Include diagnostic-core.h instead of
108 diagnostic.h.
109 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
110 * lto-compress.c: Include diagnostic-core.h instead of
111 diagnostic.h.
112 * lto-section-in.c: Include diagnostic-core.h instead of
113 diagnostic.h.
114 * lto-streamer-out.c: Include diagnostic-core.h instead of
115 diagnostic.h.
116 * lto-streamer.c: Include diagnostic-core.h instead of
117 diagnostic.h.
118 (gate_lto_out): Use seen_error.
119 * matrix-reorg.c: Include diagnostic-core.h instead of
120 diagnostic.h.
121 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
122 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
123 (gate_expand_omp, lower_omp_1): Use seen_error.
124 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
125 (rest_of_decl_compilation, rest_of_type_compilation,
126 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
127 * tree-cfg.c (label_to_block_fn): Use seen_error.
128 * tree-inline.c (optimize_inline_calls): Use seen_error.
129 * tree-mudflap.c (mudflap_finish_file): Use
130 seen_error.
131 * tree-optimize.c (gate_all_optimizations,
132 gate_all_early_local_passes, gate_all_early_optimizations): Use
133 seen_error.
134 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
135 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
136 (varpool_remove_unreferenced_decls,
137 varpool_assemble_pending_decls): Use seen_error.
138 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
139 (TOPLEV_H, DIAGNOSTIC_H): Update.
140 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
141 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
142 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
143 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
144 coverage.o, lambda-code.o): Update dependencies.
145
1462010-05-25 Dodji Seketeli <dodji@redhat.com>
147
148 PR c++/44188
149 * c-common.c (is_typedef_decl): Move this definition ...
150 * tree.c (is_typedef_decl): ... here.
151 (typdef_variant_p): Move definition here from gcc/cp/tree.c.
152 * c-common.h (is_typedef_decl): Move this declaration ...
153 * tree.h (is_typedef_decl): ... here.
154 (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
155 * dwarf2out.c (is_naming_typedef_decl): New function.
156 (gen_tagged_type_die): Split out of ...
157 (gen_type_die_with_usage): ... this function. When an anonymous
158 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
159 is emitted for the typedef.
160 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
161 anonymous tagged types.
162
1632010-05-27 Jason Merrill <jason@redhat.com>
164
165 * print-tree.c (debug_vec_tree): New fn.
166 (print_vec_tree): New fn.
167 * tree.h: Declare them.
168 * gdbinit.in (pvt): New command.
169
170 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
171
172 * gdbinit.in (pdd): New command.
173
1742010-05-27 Jan Hubicka <jh@suse.cz>
175
176 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
177 (update_caller_keys): Return early if there are no callers;
178 only update fibheap when decresing the key.
179 (update_callee_keys): Avoid recursion.
180 (decide_inlining_of_small_functions): When badness does not match;
181 re-insert into fibheap.
182
1832010-05-27 Steven Bosscher <steven@gcc.gnu.org>
184
185 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
186 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
187 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
188 (ALL_HOST_OBJS): Now a union of the above two.
189 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
190 all files in ALL_HOST_FRONTEND_OBJS.
191 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
192
193 * c-common.c: Pretend to be a backend file by undefining
194 IN_GCC_FRONTEND (still need rtl.h here).
195
1962010-05-27 Jan Hubicka <jh@suse.cz>
197
198 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
199 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
200
2012010-05-27 Jan Hubicka <jh@suse.cz>
202
203 * sched-ebb.c: Rename struct deps to struct deps_desc.
204 * ddg.c: Likewise.
205 * sel-sched-ir.c: Likewise.
206 * sched-deps.c: Likewise.
207 * sched-int.h: Likewise.
208 * sched-rgn.c: Likewise.
209
2102010-05-27 Jon Beniston <jon@beniston.com>
211
212 PR 43726
213 * config/lm32/lm32.h: Remove definition of
214 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
215
2162010-05-27 Eric Botcazou <ebotcazou@adacore.com>
217
218 PR lto/44230
219 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
220
2212010-05-27 Richard Guenther <rguenther@suse.de>
222
223 PR tree-optimization/44284
224 * tree-vect-stmts.c (vectorizable_assignment): Handle
225 sign-changing conversions as simple copy.
226
2272010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
228
229 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
230 Bionic C library.
231 (__gthread_active_p): Check for pthread_create if compiling against
232 Bionic C library.
233
2342010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
235
236 Support compilation for Android platform. Reimplement -mandroid.
237
238 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
239 (*android*): Set ANDROID_DEFAULT.
240 (arm*-*-linux*): Include linux-android.h.
241 (arm*-*-eabi*): Don't include previous -mandroid implementation.
242 * config/arm/eabi.h: Remove, move Android-specific parts ...
243 * config/linux-android.h: ... here. New file.
244 * config/arm/eabi.opt: Rename to ...
245 * config/linux-android.opt: ... this.
246 (mandroid): Allow -mno-android option. Initialize based on
247 ANDROID_DEFAULT.
248 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
249 Move logic to corresponding LINUX_TARGET_* macros.
250 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
251 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
252 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
253 Android definitions.
254 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
255 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
256 Document.
257
2582010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
259
260 Add support for Bionic C library
261
262 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
263 macro.
264 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
265 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
266
267 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
268 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
269 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
270 to support multiple C libraries. Handle Bionic.
271 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
272 (BIONIC_DYNAMIC_LINKER64): Define.
273 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
274 Update.
275 (TARGET_HAS_SINCOS): Enable for Bionic.
276
277 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
278 the last option specified on command line take effect.
279 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
280 (mbionic): New.
281 (mglibc, muclibc): Update.
282
283 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
284 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
285 DEFAULT_LIBC.
286
287 * doc/invoke.texi (-mglibc, -muclibc): Update.
288 (-mbionic): Document.
289
2902010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
291
292 * c-common.h (c_register_addr_space): Add prototype.
293 (ADDR_SPACE_KEYWORD): Remove.
294 * c-common.c (c_register_addr_space): New function.
295 (c_addr_space_name): Reimplement.
296 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
297
298 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
299 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
300
301 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
302 Remove TARGET_ADDR_SPACE_KEYWORDS.
303
3042010-05-27 Joseph Myers <joseph@codesourcery.com>
305
306 * input.c: New file.
307 * input.h (main_input_filename): Move declaration to toplev.h.
308 * toplev.c (input_location, line_table): Move to input.c
309 * toplev.h (main_input_filename): Move declaration from input.h.
310 * tree.c (expand_location): Move to input.c.
311 * Makefile.in (OBJS-common): Add input.o.
312 (input.o): Add dependencies.
313
3142010-05-27 Richard Guenther <rguenther@suse.de>
315
316 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
317 for non-existant files.
318 (fork_execute): Mark args_name file as deleted.
319
0bc25dd0
KT
3202010-05-27 Kai Tietz <kai.tietz@onevision.com>
321
1b408ba1
SA
322 PR bootstrp/44287
323 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
324 (narrow_signed_type): Likewise.
325
3262010-05-26 Jan Hubicka <jh@suse.cz>
327
328 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
329 edge only when checking is enabled; check using former_clone_of;
330 check inline clones too.
331 (cgraph_materialize_clone): Record former_clone_of pointer.
332 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
333 combining redirections; dump args_to_skip bitmap
334 (cgraph_materialize_all_clones): Do no redirection here.
335 * ipa-inline.c (inline_transform): Do redirection here.
336 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
337 cheking only).
338
3392010-05-26 Steven Bosscher <steven@gcc.gnu.org>
340
341 * config/avr/avr-c.c: Do not include regs.h.
342 Include cpplib.h for cpp_define and tree.h for c-common.h.
343 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
344 * config/avr/t-avr: Fix dependencies for avr-c.o.
345
3462010-05-26 Steven Bosscher <steven@gcc.gnu.org>
347
348 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
349 string instead of SYMBOL_REF rtx.
350 * rtl.h (set_stack_check_libfunc): Move prototype from here...
351 * libfuncs.h: ...to here. Adjust for explow.c change.
352
3532010-05-26 Joseph Myers <joseph@codesourcery.com>
354
355 * pretty-print.c: Don't include ggc.h.
356 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
357 (identifier_to_locale): Use them for allocation.
358 * pretty-print.h (identifier_to_locale_alloc,
359 identifier_to_locale_free): Declare.
360 * toplev.c (alloc_for_identifier_to_locale): New.
361 (general_init): Set identifier_to_locale_alloc and
362 identifier_to_locale_free.
363 * Makefile.in (pretty-print.o): Update dependencies.
364
3652010-05-26 Eric Botcazou <ebotcazou@adacore.com>
366
367 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
368 pointer types if they have different alignment or mode.
369
3702010-05-26 Anatoly Sokolov <aesok@post.ru>
371
372 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
373 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
374 * config/sparc/sparc-protos.h (function_value): Remove declaration.
375 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
376 sparc_function_value_regno_p): New functions.
377 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
378 TARGET_FUNCTION_VALUE_REGNO_P): Define.
379 (function_value): Rename to...
380 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
381 argument to 'outgoing'.
382 (function_arg_record_value, function_arg_union_value,
383 function_arg_vector_value): Update comment.
384
3852010-05-26 Eric Botcazou <ebotcazou@adacore.com>
386
387 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
388 (fde_needed_for_eh_p): New predicate.
389 (output_call_frame_info): Use it throughout to decide whether FDEs
390 are needed for EH purpose.
391 (dwarf2out_begin_prologue): Reorder assignments.
392
3932010-05-26 Sebastian Pop <sebastian.pop@amd.com>
394
395 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
396 special case loop->header.
397 (is_predicated): New.
398 (if_convertible_loop_p): Call it.
399
4002010-05-26 Sebastian Pop <sebastian.pop@amd.com>
401
402 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
403 iterator in parameter. Do not generate code during the analysis.
404 (tree_if_convert_cond_stmt): Removed.
405 (tree_if_convert_stmt): Removed.
406 (predicate_bbs): New.
407 (if_convertible_loop_p): Call predicate_bbs.
408 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
409 now contains all the analysis part.
410
4112010-05-26 Sebastian Pop <sebastian.pop@amd.com>
412
413 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
414 statements in the analysis part.
415 (tree_if_convert_stmt): Update comment.
416 (remove_conditions_and_labels): New.
417 (combine_blocks): Call remove_conditions_and_labels.
418 (tree_if_conversion): Update comment.
419
4202010-05-26 Sebastian Pop <sebastian.pop@amd.com>
421
422 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
423 than 2 predecessors or more than 2 successors.
424
4252010-05-26 Sebastian Pop <sebastian.pop@amd.com>
426
427 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
428 of loops in which the data dependence analysis fails.
429
4302010-05-26 Sebastian Pop <sebastian.pop@amd.com>
431
432 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
433 CDI_POST_DOMINATORS.
434 (tree_if_conversion): Same.
435
4362010-05-26 Sebastian Pop <sebastian.pop@amd.com>
437
438 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
439
4402010-05-26 Sebastian Pop <sebastian.pop@amd.com>
441
442 * tree-if-conv.c: Update copyright years. Fix comments.
443 Fix indentation.
444
4452010-05-26 Kai Tietz <kai.tietz@onevision.com>
446
447 * builtin-types.def (BT_INT128): New primitive type.
448 (BT_UINT128): Likewise.
449 * c-common.c (c_common_r): Add __int128 keyword.
450 (c_common_type_for_size): Handle __int128.
451 (c_common_type_for_mode): Likewise.
452 (c_common_signed_or_unsigned_type): Likewise.
453 (c_common_nodes_and_builtins): Add builtin type
454 if target supports 128-bit integer scalar.
455 * c-common.h (enum rid): Add RID_INT128.
456 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
457 if target supports 128-bit integer scalar.
458 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
459 (finish_declspecs): Likewise.
460 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
461 (c_token_starts_declspecs): Likewise.
462 (c_parser_declspecs): Likewise.
463 (c_parser_attributes): Likewise.
464 (c_parser_objc_selector): Likewise.
465 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
466 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
467 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
468 * tree.c (make_or_reuse_type): Likewise.
469 (make_unsigned_type): Likewise.
470 (build_common_tree_nodes_2): Likewise.
471 * tree.h (enum integer_type_kind): Add itk_int128 and
472 itk_unsigned_int128.
473 (int128_integer_type_node): New define.
474 (int128_unsigned_type_node): New define.
475 * doc/extend.texi: Add documentation about __int128 type.
476
4772010-05-26 Richard Guenther <rguenther@suse.de>
478
479 * tree-ssa-sccvn.c (copy_nary): Adjust.
480 (copy_phis): Rename to ...
481 (copy_phi): ... this. Adjust.
482 (copy_references): Rename to ...
483 (copy_reference): ... this. Adjust.
484 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
485 result into the valid table.
486
4872010-05-26 Steven Bosscher <steven@gcc.gnu.org>
488
489 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
490 insn-config.h, insn-codes.h, recog.h, and optabs.h.
491
4922010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
493
494 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
495
4962010-05-26 Richard Guenther <rguenther@suse.de>
497
498 * opts.c (common_handle_option): Handle OPT_Ofast.
499
5002010-05-26 Joseph Myers <joseph@codesourcery.com>
501
502 * diagnostic.c: Don't include opts.h.
503 (permissive_error_option): Define.
504 (diagnostic_initialize): Take n_opts parameter. Allocate memory
505 for classify_diagnostic. Don't use memset for
506 classify_diagnostic. Initialize new and recently added fields.
507 (diagnostic_classify_diagnostic): Use context->n_opts instead of
508 N_OPTS.
509 (diagnostic_report_diagnostic): Pass context parameter to
510 diagnostic_report_warnings_p. Use option_enabled and option_name
511 hooks from context.
512 (emit_diagnostic): Use permissive_error_option.
513 (permerror): Likewise.
514 * diagnostic.h: Don't include options.h.
515 (struct diagnostic_context): Add n_opts, opt_permissive,
516 inhibit_warnings, warn_system_headers, option_enabled and
517 option_name fields. Change classify_diagnostic to a pointer.
518 * opts-diagnostic.h: New file.
519 * opts.c: Include opts-diagnostic.h.
520 (common_handle_option): Set global_dc fields for -Wfatal-errors,
521 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
522 (option_name): New function.
523 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
524 (c_common_handle_option): Set global_dc->permissive for
525 -fpermissive.
526 * c-common.c (c_cpp_error): Save and restore
527 global_dc->warn_system_headers, not variable warn_system_headers.
528 * toplev.c: Include opts-diagnostic.h.
529 (general_init): Update call to diagnostic_initialize. Set
530 global_dc->show_column, global_dc->option_enabled and
531 global_dc->option_name.
532 (process_options): Don't set global_dc fields here.
533 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
534 (diagnostic.o, opts.o, toplev.o): Update dependencies.
535
5362010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
537
538 * config/picochip/picochip.md (movsi): Split a movsi from a
539 const after reload.
540
5412010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
542
543 * ggc-zone.c: Update copyright year.
544 (poison_region): Mark memory for Valgrind as undefined before
545 memset () call and inaccessible afterwards.
546 (ggc_pch_total_size): Change type of i to int.
547
5482010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
549
550 * ggc-common.c (ggc_free_overhead): Allow empty slot.
551
5522010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
553
554 * ggc-common.c: Update copyright year.
555 (ggc_rlimit_bound): Remove prototype. Compile only if
556 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
557 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
558 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
559 (ggc_min_heapsize_heuristic): Likewise.
560
5612010-05-26 Richard Guenther <rguenther@suse.de>
562
563 PR rtl-optimization/44164
564 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
565 no-common access-path disambiguation.
566 (indirect_ref_may_alias_decl_p): Adjust.
567 (indirect_refs_may_alias_p): Likewise.
568 (refs_may_alias_p_1): Likewise.
569
5702010-05-26 Steven Bosscher <steven@gcc.gnu.org>
571
572 * c-typeck.c: Do not include expr.h.
573
5742010-05-26 Steven Bosscher <steven@gcc.gnu.org>
575
576 * rtl.h (decl_default_tls_model): Move prototype from here...
577 * output.h: ...to here.
578 * c-decl.c: Do not include rtl.h.
579 * c-pragma.c: Likewise.
580 * c-parser.c: Likewise.
581 * c-gimplify.c: Likewise. And also not hard-reg-set.
582 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
583 FIXME note for it. Add a FIXME note for expr.h.
584 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
585 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
586 defined.
587
5882010-05-26 Jakub Jelinek <jakub@redhat.com>
589
590 PR target/44199
591 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
592 or total_size is larger than red zone size for non-V4 ABI, emit a
593 stack_tie resp. frame_tie insn before stack pointer restore.
594 * config/rs6000/rs6000.md (frame_tie): New insn.
595
5962010-05-25 Eric Botcazou <ebotcazou@adacore.com>
597
598 * function.h (struct function): Add can_throw_non_call_exceptions bit.
599 * lto-streamer-in.c (input_function): Stream it in.
600 * lto-streamer-out.c (output_function): Stream it out.
601 * function.c (allocate_struct_function): Set it.
602 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
603 for flag_non_call_exceptions.
604 * cfgbuild.c (control_flow_insn_p): Likewise.
605 (make_edges): Likewise.
606 * cfgexpand.c (expand_stack_alignment): Likewise.
607 * combine.c (distribute_notes): Likewise.
608 * cse.c (cse_extended_basic_block): Likewise.
609 * except.c (insn_could_throw_p): Likewise.
610 * gcse.c (simple_mem): Likewise.
611 * ipa-pure-const.c (check_call): Likewise.
612 (check_stmt ): Likewise.
613 * lower-subreg.c (lower-subreg.c): Likewise.
614 * optabs.c (emit_libcall_block): Likewise.
615 (prepare_cmp_insn): Likewise.
616 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
617 * postreload.c (rest_of_handle_postreload): Likewise.
618 * reload1.c (reload_as_needed): Likewise.
619 (emit_input_reload_insns): Likewise.
620 (emit_output_reload_insns): Likewise.
621 (fixup_abnormal_edges): Likewise.
622 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
623 * store-motion.c (find_moveable_store): Likewise.
624 * tree-eh.c (stmt_could_throw_p): Likewise.
625 (tree_could_throw_p): Likewise.
626 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
627 * config/arm/arm.c (arm_expand_prologue): Likewise.
628 (thumb1_expand_prologue): Likewise.
629 * config/rx/rx.md (cbranchsf4): Likewise.
630 (cmpsf): Likewise.
631 * config/s390/s390.c (s390_emit_prologue): Likewise.
632 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
633 (inline_forbidden_into_p): New predicate.
634 (expand_call_inline): Use it to forbid inlining.
635 (tree_can_inline_p): Likewise.
636
6372010-05-25 Steven Bosscher <steven@gcc.gnu.org>
638
639 * config/i386/i386-c.c: Do not include rtl.h.
640 * config/i386/t-i386: Update dependencies.
641
6422010-05-25 Steven Bosscher <steven@gcc.gnu.org>
643
644 * attribs.c: Do not include rtl.h.
645 * Makefile.in: Update dependencies.
646
6472010-05-25 Anatoly Sokolov <aesok@post.ru>
648
649 * double-int.h (double_int_and): New.
650 * combine.c (try_combine): Clean up, use double_int_* and
651 immed_double_int_const functions.
652
6532010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
654
655 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
656 stderr to /dev/null instead of grep -q.
657 * configure: Regenerate.
658
6592010-05-25 Steven Bosscher <steven@gcc.gnu.org>
660
661 * Makefile.in (EXCEPT_H): Fix typo.
662
6632010-05-25 Vladimir Makarov <vmakarov@redhat.com>
664
665 * ira-build.c (update_conflict_hard_reg_costs): New.
666 (ira_build): Call update_conflict_hard_reg_costs.
667
6682010-05-25 Jakub Jelinek <jakub@redhat.com>
669
670 PR debug/41371
671 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
672 ENABLE_CHECKING.
673 (intersect_loc_chains): Walk the s2var's loc_chain together
674 with s1node chain as long as the locations are equal, don't
675 call find_loc_in_1pdv in that case.
676
677 PR debug/42801
678 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
679 (copy_bind_expr): ... instead of here.
680 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
681 if the block hasn't been remapped.
682 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
683 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
684
6852010-05-25 Richard Guenther <rguenther@suse.de>
686
687 PR middle-end/44069
688 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
689 out-of-bounds array accesses.
690
6912010-05-25 Richard Guenther <rguenther@suse.de>
692
693 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
694 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
695 (run_gcc): Re-organize to make cleanup easier.
696
6972010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
698
699 * config/s390/s390.c (optimization_options): Fix and move the
700 flag_prefetch_loop_arrays override ...
701 (override_options): ... here.
702
7032010-05-25 Joseph Myers <joseph@codesourcery.com>
704
705 * diagnostic.c: Don't include plugin.h.
706 (diagnostic_report_diagnostic): Don't handle plugins specially
707 here. Pass context to internal_error callback.
708 * diagnostic.h (struct diagnostic_context): Add context parameter
709 to internal_error callback.
710 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
711 * plugin.h (struct diagnostic_context): Declare.
712 (warn_if_plugins, plugins_internal_error_function): Declare.
713 * toplev.c (general_init): Set global_dc->internal_error.
714 * Makefile.in (diagnostic.o): Update dependencies.
715
7162010-05-25 Iain Sandoe <iains@gcc.gnu.org>
717
718 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
719 * config/rs6000/t-darwin64: New.
720 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
721 build crt2.
722
7232010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
724
725 PR 44203
726 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
727 match the original (and intended) behaviour before r159557. This
728 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
729 in two ways.
730
7312010-05-25 Richard Guenther <rguenther@suse.de>
732
733 * doc/invoke.texi: Document -Ofast.
734 * target.h (struct gcc_target): Add handle_ofast.
735 * target-def.h (TARGET_HANDLE_OFAST): Add.
736 (TARGET_INITIALIZER): Adjust.
737 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
738 * common.opt (Ofast): Add.
739
7402010-05-25 Paolo Bonzini <bonzini@gnu.org>
741
742 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
743 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
744
7452010-05-25 Paolo Bonzini <bonzini@gnu.org>
746
747 PR target/43610
748 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
749 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
750 false_rtx. Use false_rtx to compute the correct *ptest for reversed
751 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
752
7532010-05-25 Jakub Jelinek <jakub@redhat.com>
754
755 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
756 DW_OP_minus with negated offset instead of DW_OP_plus.
757 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
758
7592010-05-25 Wei Guozhi <carrot@google.com>
760
761 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
762 tst instruction and a new alternative.
763 * config/arm/constraints.md (Pu): New constraint.
764
7652010-05-24 Sebastian Pop <sebastian.pop@amd.com>
766
767 * function.c (assign_stack_local_1): Initialize variable
768 to avoid warning when bootstrapping at -O3.
769
7702010-05-24 Steven Bosscher <steven@gcc.gnu.org>
771
772 * configure.ac (all_lang_makefiles): Remove everything related to it.
773 * configure: Regenerate.
774 * Makefile.in: Fix reference to ada Make-lang.in.
775 Remove support for LANG_MAKEFILES.
776
7772010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
778 Sandra Loosemore <sandra@codesourcery.com>
779
780 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
781 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
782 description. Add arm_neon_fp16_ok.
783 (Add Options): Add arm_neon and arm_neon_fp16.
784
7852010-05-24 Joseph Myers <joseph@codesourcery.com>
786
787 * diagnostic.c: Don't include flags.h.
788 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
789 context parameters. Check flags in the context passed as a parameter.
790 (diagnostic_build_prefix): Add context parameter. Check
791 show_column flag in context.
792 (diagnostic_action_after_output): Check fatal_errors flag in context.
793 (diagnostic_report_current_module): Check show_column flag in context.
794 (default_diagnostic_starter): Update call to
795 diagnostic_build_prefix.
796 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
797 (emit_diagnostic): Pass context to permissive_error_kind.
798 (permerror): Pass context to permissive_error_kind.
799 * diagnostic.h (struct diagnostic_context): Add show_column,
800 pedantic_errors, permissive and fatal_errors fields.
801 (diagnostic_build_prefix): Update prototype.
802 * langhooks.c
803 * toplev.c (process_options): Set flags in global_dc from
804 flag_show_column, flag_pedantic_errors, flag_permissive,
805 flag_fatal_errors.
806 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
807 to diagnostic_build_prefix.
808 * Makefile.in (diagnostic.o): Update dependencies.
809
8102010-05-24 H.J. Lu <hongjiu.lu@intel.com>
811
812 * config/i386/ia32intrin.h (__crc32q): Define only if
813 __SSE4_2__ is defined.
814
8152010-05-24 Iain Sandoe <iains@gcc.gnu.org>
816
817 PR target/44132
818 PR middle-end/43602
819 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
820 DECL_VISIBILITY_SPECIFIED.
821 (emutls_decl): Set DECL_PRESERVE_P and copy
822 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
823 (emutls_finalize_control_var): New callback.
824 (emutls_finish): Finalize emutls control variables.
825 * toplev.c (compile_file): Move the call to emutls_finish ()
826 before varpool_assemble_pending_decls ().
827
8282010-05-24 Daniel Gutson <dgutson@codesourcery.com>
829
830 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
831 added to the preprocessor condition.
832
8332010-05-24 Paul Brook <paul@codesourcery.com>
834
835 * gengtype-lex.l: Add HARD_REG_SET.
836 * expr.c (expand_expr_real_1): Record writes to hard registers.
837 * function.c (rtl_data): Add asm_clobbers.
838 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
839 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
840 Use crtl->asm_clobbers.
841
8422010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
843
844 * doc/makefile.texi (Makefile): Mention stages 'profile'
845 and 'feedback' for profiledbootstrap.
846
8472010-05-23 H.J. Lu <hongjiu.lu@intel.com>
848
849 PR target/44245
850 * config/i386/i386.c (def_builtin): Properly check
851 OPTION_MASK_ISA_64BIT.
852
8532010-05-23 Joseph Myers <joseph@codesourcery.com>
854
855 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
856 typedefs with different but compatible types. Allow duplicate
857 typedefs with the same type except for pedantic non-C1X, but give
858 warning for variably modified types.
859 * c-typeck.c (tagged_types_tu_compatible_p,
860 function_types_compatible_p, type_lists_compatible_p,
861 comptypes_internal): Add parameter different_types_p; set
862 *different_types_p for different but compatible types. All
863 callers changed.
864 (comptypes_check_different_types): New.
865 * c-tree.h (comptypes_check_different_types): Declare.
866
8672010-05-23 Steven Bosscher <steven@gcc.gnu.org>
868
869 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
870 * jump.c: Include basic-block.h.
871 * profile.c: Likewise.
872 * tree-profile.c: Likewise.
873 * coverage.c: Likewise.
874 * basic-block.h (optimize_function_for_size_p): Move to function.h.
875 (optimize_function_for_speed_p): Likewise.
876 * function.h (optimize_function_for_size_p,
877 optimize_function_for_speed_p): Moved here from basic-block.h.
878 * Makefile.in: Update dependencies.
879
8802010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
881
882 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
883 before calling make; allow override through $MAKE.
884 * doc/invoke.texi (Optimize Options): Document override.
885
8862010-05-23 Anatoly Sokolov <aesok@post.ru>
887
888 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
889 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
890 (rs6000_mode_dependent_address_ptr): Make static.
891 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
892 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
893 Remove.
894
8952010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
896
897 PR target/43869
898 * config/i386/i386.c: Make sure that the correct regparm is passed.
899
9002010-05-23 Steven Bosscher <steven@gcc.gnu.org>
901
902 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
903 * sbitmap.c: ...to here to internalize sbitmap element access.
904 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
905 Explain why basic-block.h is included.
906 * function.h: Include tm.h for CUMULATIVE_ARGS.
907 * Makefile.in: Update dependencies.
908
9092010-05-22 Steven Bosscher <steven@gcc.gnu.org>
910
911 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
912 New core types.
913 * sbitmap.h (struct sbitmap_def): Do not typedef here.
914 * sbitmap.c: Include sbitmap.h.
915 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
916 hard-reg-set.h. Split everything related to regsets out from here...
917 * regset.h: ...to here. New file.
918 * df.h: Include regset.h and sbitmap.h.
919 * tree-flow.h: Likewise.
920 * cfgloop.h: Likewise.
921 * except.h: Do not include sbitmap.h. Include hashtab.h.
922 * cgraph.h: Include vec.h and function.h.
923 * reload.h (struct insn_chain): Change types of live_throughout
924 and dead_or_set from regset_head to bitmap_head.
925 (compute_use_by_pseudos): Be defined also if regset.h is not included.
926 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
927 spilled_regs from regset_head to bitmap_head to avoid dependency
928 in regset.h.
929 * sel-sched-ir.h: Include regset.h.
930 * reload.c: Include df.h before reload.h.
931 * caller-save.c: Likewise.
932 * reload1.c: Likewise.
933 * ira.c: Likewise.
934 (mark_elimination): Update type of r to bitmap, consistent with
935 DF_LR_IN.
936 * dominance.c: Include bitmap.h.
937 * modulo-sched.c: Include df.h.
938 * cfganal.c: Include bitmap.h and sbitmap.h.
939 * cfgbuild.c: Include sbitmap.h.
940 * lcm.c: Include sbitmap.h.
941 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
942 * domwalk.c: Include sbitmap.h, exclude ggc.h.
943 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
944 * cselib.c: Include bitmap.h.
945 * tree-optimize.c: Include regset.h.
946 * stmt.c: Include bitmap.h.
947 * Makefile.in: Update dependencies.
948
9492010-05-22 Jan Hubicka <jh@suse.cz>
950
951 * cgraph.h (struct varpool_node): Add same_comdat_group.
952 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
953 pointer.
954 (output_varpool): Update call of lto_output_varpool_node.
955 (input_varpool): Read same_comdat_group pointer.
956 (input_varpool_1): Fixup same_comdat_group pointer.
957 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
958 group is needed, all are.
959 * varpool.c (varpool_remove_node): Remove node from same comdat group
960 linklist too.
961 (varpool_analyze_pending_decls): Walk same comdat groups.
962
9632010-05-22 Steven Bosscher <steven@gcc.gnu.org>
964
965 * rtl.h (union rtunion_def): Remove rt_bit member.
966 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
967 * print-rtl (print_rtx): Do not print the member.
968 * gengtype.c (adjust_field_rtx_def): Do not handle it.
969 * gengenrtl.c (type_from_format): Likewise.
970 (accessor_from_format): Likewise.
971
9722010-05-22 Joseph Myers <joseph@codesourcery.com>
973
974 * dbgcnt.c: Include toplev.h instead of errors.h.
975 * ira-emit.c: Don't include errors.h.
976 * ira.c: Include toplev.h instead of errors.h.
977 * lto-compress.c: Include toplev.h instead of errors.h.
978 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
979 ira.o, dbgcnt.o): Update dependencies.
980
9812010-05-22 Richard Guenther <rguenther@suse.de>
982
983 * gimple.c (gimple_types_compatible_p): Check type qualifications
984 before merging pointer to complete and pointer to incomplete type.
985 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
986 we use our own resolution algorithm. The gold linker plugin
987 doesn't do the job we want it to do here.
988
9892010-05-22 Anatoly Sokolov <aesok@post.ru>
990
991 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
992 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
993 (sparc_mode_dependent_address_p): New function.
994
9952010-05-21 Steven Bosscher <steven@gcc.gnu.org>
996
997 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
998
999 * timevar.c: Do not include any core headers.
1000 (timevar_print): De-i18n-ize.
1001 (print_time): Likewise.
1002 * timevar.h (timevar_push, timevar_pop): Make inline functions.
1003
10042010-05-21 Joseph Myers <joseph@codesourcery.com>
1005
1006 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
1007 langhooks-def.h.
1008 (diagnostic_initialize): Initialize x_data not last_function.
1009 (diagnostic_report_current_function): Move to tree-diagnostic.c.
1010 (default_diagnostic_starter): Call
1011 diagnostic_report_current_module not
1012 diagnostic_report_current_function.
1013 (diagnostic_report_diagnostic): Initialize x_data not
1014 abstract_origin.
1015 (verbatim): Likewise.
1016 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
1017 x_data.
1018 (struct diagnostic_context): Change last_function to x_data.
1019 (diagnostic_auxiliary_data): Replace with
1020 diagnostic_context_auxiliary_data and
1021 diagnostic_info_auxiliary_data.
1022 (diagnostic_last_function_changed, diagnostic_set_last_function,
1023 diagnostic_report_current_function): Move to tree-diagnostic.h.
1024 (print_declaration, dump_generic_node, print_generic_stmt,
1025 print_generic_stmt_indented, print_generic_expr,
1026 print_generic_decl, debug_c_tree, dump_omp_clauses,
1027 print_call_name, debug_generic_expr, debug_generic_stmt,
1028 debug_tree_chain, default_tree_printer): Move to
1029 tree-pretty-print.h.
1030 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
1031 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
1032 gimple-pretty-print.h.
1033 * pretty-print.c: Don't include tree.h
1034 (pp_base_format): Don't handle %K here.
1035 (pp_base_tree_identifier): Move to tree-pretty-print.c.
1036 * pretty-print.h (text_info): Change abstract_origin to x_data.
1037 (pp_tree_identifier, pp_unsupported_tree,
1038 pp_base_tree_identifier): Move to tree-pretty-print.h.
1039 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
1040 tree-pretty-print.h: New files.
1041 * tree-pretty-print.c: Include tree-pretty-print.h.
1042 (percent_K_format): New. Moved from pretty-print.c.
1043 (pp_base_tree_identifier): Move from pretty-print.c.
1044 * c-objc-common.c: Include tree-pretty-print.h.
1045 (c_tree_printer): Handle %K here.
1046 * langhooks.c: Include tree-diagnostic.h.
1047 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
1048 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
1049 (default_tree_printer): Handle %K using percent_K_format.
1050 (general_init): Use default_tree_diagnostic_starter.
1051 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
1052 (free_lang_data): Use default_tree_diagnostic_starter.
1053 * c-pretty-print.c: Include tree-pretty-print.h.
1054 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1055 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1056 * dwarf2out.c: Include tree-pretty-print.h.
1057 * except.c: Include tree-pretty-print.h.
1058 * gimple-pretty-print.c: Include tree-pretty-print.h and
1059 gimple-pretty-print.h.
1060 * gimplify.c: Include tree-pretty-print.h.
1061 * graphite-poly.c: Include tree-pretty-print.h and
1062 gimple-pretty-print.h.
1063 * ipa-cp.c: Include tree-pretty-print.h.
1064 * ipa-inline.c: Include gimple-pretty-print.h.
1065 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1066 * ipa-pure-const.c: Include gimple-pretty-print.h.
1067 * ipa-struct-reorg.c: Include tree-pretty-print.h and
1068 gimple-pretty-print.h.
1069 * ipa-type-escape.c: Include tree-pretty-print.h.
1070 * print-rtl.c: Include tree-pretty-print.h.
1071 * print-tree.c: Include gimple-pretty-print.h.
1072 * sese.c: Include tree-pretty-print.h.
1073 * tree-affine.c: Include tree-pretty-print.h.
1074 * tree-browser.c: Include tree-pretty-print.h.
1075 * tree-call-cdce.c: Include gimple-pretty-print.h.
1076 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1077 * tree-chrec.c: Include tree-pretty-print.h.
1078 * tree-data-ref.c: Include tree-pretty-print.h and
1079 gimple-pretty-print.h.
1080 * tree-dfa.c: Include tree-pretty-print.h.
1081 * tree-if-conv.c: Include tree-pretty-print.h and
1082 gimple-pretty-print.h.
1083 * tree-inline.c: Include tree-pretty-print.h.
1084 * tree-into-ssa.c: Include tree-pretty-print.h and
1085 gimple-pretty-print.h.
1086 * tree-nrv.c: Include tree-pretty-print.h.
1087 * tree-object-size.c: Include tree-pretty-print.h and
1088 gimple-pretty-print.h.
1089 * tree-outof-ssa.c: Include tree-pretty-print.h and
1090 gimple-pretty-print.h.
1091 * tree-parloops.c: Include tree-pretty-print.h and
1092 gimple-pretty-print.h.
1093 * tree-predcom.c: Include tree-pretty-print.h and
1094 gimple-pretty-print.h.
1095 * tree-scalar-evolution.c: Include tree-pretty-print.h and
1096 gimple-pretty-print.h.
1097 * tree-sra.c: Include tree-pretty-print.h.
1098 * tree-ssa-address.c: Include tree-pretty-print.h.
1099 * tree-ssa-alias.c: Include tree-pretty-print.h.
1100 * tree-ssa-ccp.c: Include tree-pretty-print.h and
1101 gimple-pretty-print.h.
1102 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
1103 * tree-ssa-copy.c: Include tree-pretty-print.h and
1104 gimple-pretty-print.h.
1105 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
1106 * tree-ssa-dce.c: Include tree-pretty-print.h and
1107 gimple-pretty-print.h.
1108 * tree-ssa-dom.c: Include tree-pretty-print.h and
1109 gimple-pretty-print.h.
1110 * tree-ssa-dse.c: Include gimple-pretty-print.h.
1111 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
1112 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
1113 * tree-ssa-live.c: Include tree-pretty-print.h and
1114 gimple-pretty-print.h.
1115 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
1116 gimple-pretty-print.h.
1117 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
1118 gimple-pretty-print.h.
1119 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
1120 gimple-pretty-print.h.
1121 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
1122 gimple-pretty-print.h.
1123 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
1124 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
1125 * tree-ssa-operands.c: Include tree-pretty-print.h and
1126 gimple-pretty-print.h.
1127 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
1128 gimple-pretty-print.h.
1129 * tree-ssa-pre.c: Include tree-pretty-print.h and
1130 gimple-pretty-print.h.
1131 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
1132 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
1133 gimple-pretty-print.h.
1134 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
1135 gimple-pretty-print.h.
1136 * tree-ssa-sink.c: Include gimple-pretty-print.h.
1137 * tree-ssa-ter.c: Include tree-pretty-print.h and
1138 gimple-pretty-print.h.
1139 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
1140 * tree-ssa.c: Include tree-pretty-print.h and
1141 gimple-pretty-print.h.
1142 * tree-stdarg.c: Include gimple-pretty-print.h.
1143 * tree-switch-conversion.c: Include gimple-pretty-print.h.
1144 * tree-tailcall.c: Include tree-pretty-print.h and
1145 gimple-pretty-print.h.
1146 * tree-vect-data-refs.c: Include tree-pretty-print.h and
1147 gimple-pretty-print.h.
1148 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
1149 gimple-pretty-print.h.
1150 * tree-vect-loop.c: Include tree-pretty-print.h and
1151 gimple-pretty-print.h.
1152 * tree-vect-patterns.c: Include gimple-pretty-print.h.
1153 * tree-vect-slp.c: Include tree-pretty-print.h and
1154 gimple-pretty-print.h.
1155 * tree-vect-stmts.c: Include tree-pretty-print.h and
1156 gimple-pretty-print.h.
1157 * tree-vectorizer.c: Include tree-pretty-print.h.
1158 * tree-vrp.c: Include tree-pretty-print.h and
1159 gimple-pretty-print.h.
1160 * value-prof.c: Include tree-pretty-print.h and
1161 gimple-pretty-print.h.
1162 * var-tracking.c: Include tree-pretty-print.h.
1163 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
1164 (tree-diagnostic.o): New dependencies.
1165 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
1166 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
1167 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
1168 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
1169 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
1170 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
1171 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
1172 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
1173 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
1174 tree-ssa-address.o, tree-ssa-loop-niter.o,
1175 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
1176 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
1177 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
1178 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
1179 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
1180 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
1181 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
1182 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
1183 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
1184 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
1185 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
1186 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
1187 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
1188 tree-switch-conversion.o, var-tracking.o, value-prof.o,
1189 cfgexpand.o, pretty-print.o): Update dependencies.
1190
11912010-05-22 Andreas Tobler <andreast@fgznet.ch>
1192
1193 * tree-ssa-structalias.c: Remove tm_p.h from include.
1194
11952010-05-21 Jeff Law <law@redhat.com>
1196
1197 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
1198
11992010-05-21 Jason Merrill <jason@redhat.com>
1200
1201 * tree-eh.c (cleanup_is_dead_in): New.
1202 (lower_try_finally): Don't generate a dead cleanup region.
1203 (lower_cleanup): Likewise.
1204
12052010-05-21 Jakub Jelinek <jakub@redhat.com>
1206
1207 PR debug/44223
1208 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
1209 unchain each use from the cyclic next_regno_use chain first.
1210
12112010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1212
1213 * real: Do not include gmp.h, mpfr.h, and mpc.h.
1214 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
1215 (real_value_negate, real_value_abs): New prototypes.
1216 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
1217 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
1218 new include file for interface between MPFR and REAL_VALUE_TYPE.
1219 * real.c: Include realmpfr.h.
1220 (real_arithmetic2): Remove legacy function.
1221 (real_value_negate): New.
1222 (real_value_abs): New.
1223 (mfpr_from_real, real_from_mpfr): Move from here...
1224 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
1225 * builtins.c: Include realmpfr.h.
1226 * fold-const.c: Include realmpfr.h.
1227 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
1228 (fold_negate_const): Likewise.
1229 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
1230 * toplev.c: Include realmpfr.h.
1231 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
1232 and real_value_negate.
1233 * fixed-value.c (check_real_for_fixed_mode): Likewise.
1234 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
1235 (vfp3_const_double_index): Likewise.
1236 (arm_print_operand): Likewise.
1237 * Makefile.in: Update dependencies.
1238
12392010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1240
1241 * config/s390/s390.c (override_options): Increase the default
1242 of max-completely-peel-times.
1243
12442010-05-21 Julian Brown <julian@codesourcery.com>
1245 Mark Mitchell <mark@codesourcery.com>
1246
1247 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
1248 sibling calls for Thumb-1.
1249 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
1250 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
1251 Thumb-2.
1252 (*call_insn, *call_value_insn): Don't use for Thumb-2.
1253 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
1254 for Thumb-2.
1255 (return): New expander.
1256 (*arm_return): New name for ARM return insn.
1257 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
1258
12592010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
1260
1261 * config.gcc (sparc64-*-rtems*): New target.
1262
12632010-05-21 Nathan Froyd <froydnj@codesourcery.com>
1264
1265 * tree.c (build_function_decl_skip_args): Fix grammar.
1266 (build_function_type_list_1): Fix typos, adjust formatting.
1267
12682010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1269
1270 * tree.h: Include real.h and fixed-value.h as basic datatypes.
1271 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
1272 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
1273 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
1274 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
1275 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
1276 tree-pretty-print.c, tree-loop-distribution.c,
1277 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
1278 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
1279 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
1280 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
1281 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
1282 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
1283 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
1284 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
1285 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
1286 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
1287 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
1288 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
1289 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
1290 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
1291 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
1292 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
1293 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
1294 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
1295 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
1296 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
1297 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
1298 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
1299 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
1300 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
1301 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
1302 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
1303 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
1304 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
1305 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
1306 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
1307 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
1308 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
1309 config/score/score7.c, config/score/score.c, config/arm/arm.c,
1310 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
1311 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
1312 config/bfin/bfin.c: Clean up redundant includes.
1313 * Makefile.in: Update accordingly.
1314
13152010-05-21 Nathan Froyd <froydnj@codesourcery.com>
1316
1317 PR middle-end/44204
1318 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
1319 statement has no arguments.
1320
13212010-05-21 Kai Tietz <kai.tietz@onevision.com>
1322
1323 PR/44139
1324 * varasm.c (emutls_decl): Merge attributes to new decl.
1325
13262010-05-21 Eric Botcazou <ebotcazou@adacore.com>
1327
1328 PR middle-end/44101
1329 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
1330 around the uniquized constructor if its type requires a conversion.
1331
13322010-05-21 Jakub Jelinek <jakub@redhat.com>
1333
1334 PR debug/44205
1335 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
1336 at -O0 goto_locus of any of the incoming edges differs from
1337 goto_locus of outgoing edge, or gimple_location of any of the
1338 labels differs.
1339
13402009-09-14 Vladimir Makarov <vmakarov@redhat.com>
1341
1342 * ira.c (ira_non_ordered_class_hard_regs): Define.
1343 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
1344 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
1345 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
1346 cost of unaligned hard regs when allocating multi-reg pseudos.
1347
13482010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
1349
1350 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
1351 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
1352 for TARGET_NO_FLOAT.
1353 * config/mips/mips.c (mips_file_start): Expand conditional expression
1354 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
1355 (mips_override_options): Move -mno-float override -msoft-float and
1356 -mhard-float.
1357 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
1358 Condition(TARGET_SUPPORTS_NO_FLOAT).
1359 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
1360 __mips_no_float here.
1361 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
1362 (TARGET_SUPPORTS_NO_FLOAT): Define.
1363 * config/mips/sdemtk.opt: Delete.
1364
13652010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
1366
1367 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
1368
13692010-05-20 Uros Bizjak <ubizjak@gmail.com>
1370
1371 PR target/43733
1372 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
1373 * configure: Regenerate.
1374 * config.in: Regenerate.
1375 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
1376 instead of sahf only for 64bit targets.
1377
13782010-05-20 Jakub Jelinek <jakub@redhat.com>
1379
1380 PR debug/44178
1381 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
1382 setup_ref_regs for DEBUG_INSNs.
1383
13842010-05-20 Jan Hubicka <jh@suse.cz>
1385
1386 PR middle-end/44197
1387 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
1388
13892010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1390
1391 PR bootstrap/43870
1392 * df-scan.c (df_ref_compare): Stabilize sort.
1393
13942010-05-20 Jakub Jelinek <jakub@redhat.com>
1395
1396 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
1397 argument. Don't use DW_OP_piece if offset is non-zero,
1398 put offset into second DW_OP_bit_piece argument.
1399 (dw_sra_loc_expr): Adjust callers. For memory expressions
1400 compute offset.
1401
14022010-05-20 Hans-Peter Nilsson <hp@axis.com>
1403
1404 PR target/44202
1405 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
1406 settings for 16-bit-constant "addo" alternative.
1407
14082010-05-19 James E. Wilson <wilson@codesourcery.com>
1409
1410 * config/mips/mips-dsp.md (add<DSPV:mode>3,
1411 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
1412
1413 PR target/43764
1414 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
1415 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
1416 Use it.
1417
14182010-05-19 Joseph Myers <joseph@codesourcery.com>
1419
1420 * diagnostic.c (FLOAT, FFS): Don't undefine.
1421 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
1422 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
1423 include ordering.
1424
14252010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
1426
1427 * combine.c (propagate_for_debug): Call make_compound_operation
1428 on the source value.
1429 (try_combine): When implementing a split chosen by find_split_point,
1430 either copy i2src or set it to null. Assert that i2src is not null
1431 before substituting into CALL_INSN_FUNCTION_USAGE.
1432
14332010-05-19 Anatoly Sokolov <aesok@post.ru>
1434
1435 * double-int.h (double_int_ior): New function.
1436 * tree.h (build_int_cst_wide_type): Remove.
1437 * tree.c (build_int_cst_wide_type): Remove.
1438 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
1439 of build_int_cst_wide_type.
1440 * stor-layout.c (set_sizetype): (Ditto.).
1441 * dojump.c (do_jump): Use build_int_cstu instead of
1442 build_int_cst_wide_type.
1443
14442010-05-19 Eric Botcazou <ebotcazou@adacore.com>
1445
1446 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
1447 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
1448 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
1449 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
1450 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
1451 propagate the 'data' argument to copy_tree_r.
1452 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
1453 Propagate 'data' argument to walk_tree.
1454 (copy_if_shared): New function.
1455 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
1456 (unmark_visited): New function.
1457 (unshare_body): Call copy_if_shared instead of doing it manually.
1458 (unvisit_body): Call unmark_visited instead of doing it manually.
1459
14602010-05-19 Nathan Froyd <froydnj@codesourcery.com>
1461
1462 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
1463 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
1464 * hooks.c: Likewise.
1465 * target-def.h (TARGET_FOLD_BUILTIN): Define to
1466 hook_tree_tree_int_treep_bool_null.
1467 * target.h (struct gcc_target): Update signature of fold_builtin
1468 field.
1469 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
1470 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
1471 instead of the call expression.
1472 (fold_builtin_call_array): Pass n and argarray directly.
1473 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
1474 consing a list.
1475 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
1476 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
1477 `i' and use it in place of `arity'.
1478 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
1479 Dereference `args' directly.
1480 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
1481
14822010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1483
1484 * doc/sourcebuild.texi (Effective-Target Keywords): Document
1485 3dnow, sse3, sse2.
1486 (Directives): Document optional dg-require-effective-target
1487 selector.
1488
14892010-05-19 Richard Guenther <rguenther@suse.de>
1490
1491 PR lto/44196
1492 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
1493
14942010-05-19 Richard Guenther <rguenther@suse.de>
1495
1496 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
1497 * common.opt (fwhopr=): New.
1498 * opts.c (common_handle_option): Handle OPT_fwhopr.
1499 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
1500 * collect2.c (main): Match -fwhopr*.
1501 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
1502 Execute ltrans stage in parallel when jobs is bigger than 1.
1503
15042010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1505
1506 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
1507 pentiumpro on Solaris 8/x86 with Sun as.
1508 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
1509 hidden alias bug.
1510 (gcc_cv_as_ix86_quad): Check for .quad directive.
1511 * configure: Regenerate.
1512 * config.in: Regenerate.
1513 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
1514
15152010-05-19 Martin Jambor <mjambor@suse.cz>
1516
1517 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
1518 also for indirect edges. Actual printing moved...
1519 (ipa_print_node_jump_functions_for_edge): ...here.
1520 (ipa_compute_jump_functions): Renamed to
1521 ipa_compute_jump_functions_for_edge and made static.
1522 (ipa_compute_jump_functions): New function.
1523 (make_edge_direct_to_target): Check if the number of arguments on
1524 the newly direct edge is the same as the number of parametrs of
1525 the callee.
1526 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
1527 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
1528 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
1529 analysis functions unconditionally, call the new
1530 ipa_analyze_params_uses on the node instead of every edge.
1531
15322010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
1533
1534 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
1535 to tree.
1536 (dump_mem_ref): Adopt debug code to handle a tree as step. This
1537 also checks for a constant int vs. non-constant but
1538 loop-invariant steps.
1539 (find_or_create_group): Change the sort algorithm to only consider
1540 steps that are constant ints.
1541 (idx_analyze_ref): Adopt code to handle a tree instead of a
1542 HOST_WIDE_INT for step.
1543 (gather_memory_references_ref): Handle tree instead of int and be
1544 prepared to see a NULL_TREE.
1545 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
1546 prefetches if the step cannot be calculated at compile time.
1547 (issue_prefetch_ref): Issue prefetches for non-constant but
1548 loop-invariant steps.
1549
15502010-05-18 Nathan Froyd <froydnj@codesourcery.com>
1551
1552 Revert:
1553 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
1554
1555 * tree.h (build_call_list): Remove.
1556 * tree.c (build_call_list): Remove.
1557
15582010-05-18 Nathan Froyd <froydnj@codesourcery.com>
1559
1560 * tree.h (build_call_list): Remove.
1561 * tree.c (build_call_list): Remove.
1562
15632010-05-18 Jan Hubicka <jh@suse.cz>
1564
1565 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
1566
15672010-05-18 Vladimir Makarov <vmakarov@redhat.com>
1568
1569 PR rtl-optimization/43332
1570 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
1571
15722010-05-18 Anatoly Sokolov <aesok@post.ru>
1573
1574 * tree.h (build_int_cstu): Implement as static inline.
1575 * tree.c (build_int_cstu): Remove function.
1576 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
1577 sign extended.
1578
15792010-05-18 Richard Guenther <rguenther@suse.de>
1580
1581 PR lto/44143
1582 * lto-wrapper.c (verbose): New variable. Initialize from -v.
1583 (debug): Initialize from -save-temps.
1584 (collect_execute): Print command-line when verbose.
1585 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
1586 for ltrans invocation. Produce -dumpbase flag again.
1587 (process_args): Remove.
1588 (main): Simplify.
1589 * collect2.c (maybe_run_lto_and_relink): Only pass object
1590 files to lto-wrapper.
1591 * gcc.c (LINK_COMMAND_SPEC): Likewise.
1592
15932010-05-18 Jan Hubicka <jh@suse.cz>
1594
1595 * opts.c (decode_options): Do not disable whopr at ipa_cp.
1596 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
1597
15982010-05-18 Steven Bosscher <steven@gcc.gnu.org>
1599
1600 PR lto/44184
1601 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
1602 in a GIMPLE_ASM.
1603 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
1604 in a GIMPLE_ASM.
1605
16062010-05-18 Jakub Jelinek <jakub@redhat.com>
1607
1608 PR debug/41371
1609 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
1610 rtx_equal_p inline.
1611
16122010-05-18 Steven Bosscher <steven@gcc.gnu.org>
1613
1614 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
1615 lto-macho as lto_binary_reader.
1616
1617 * darwin.c (darwin_asm_named_section): Do not add assembler comment
1618 after .section directive; just print it before the directive instead.
1619
16202010-05-17 Jan Hubicka <jh@suse.cz>
1621
1622 * cgraph.c (cgraph_create_virtual_clone): Only check
1623 versionable_function_p when not in wpa and checking is enabled.
1624 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
1625 there are no more functions to materialize.
1626
16272010-05-17 Jan Hubicka <jh@suse.cz>
1628
1629 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
1630 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
1631 New functions.
1632 (output_cgraph): Call output_cgraph_opt_summary.
1633 (input_cgrpah): Call input_cgraph_opt_summary.
1634 (output_cgraph_opt_summary_p, output_node_opt_summary,
1635 input_node_opt_summary, input_cgraph_opt_section): New functions.
1636 * lto-section-in.c (lto_section_name): Add cgraphopt.
1637 * tree-inline.c (tree_function_versioning): Handle parm_num.
1638 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
1639 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
1640
16412010-05-17 Changpeng Fang <changpeng.fang@amd.com>
1642
1643 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
1644 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
1645 the insn to prefetch ratio heuristic to loops with known trip count.
1646
16472010-05-17 Changpeng Fang <changpeng.fang@amd.com>
1648
1649 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
1650 (schedule_prefetches): Do not generate a prefetch if the unroll factor
1651 is far from what is required by the prefetch.
1652
16532010-05-17 Jan Hubicka <jh@suse.cz>
1654
1655 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
1656 (ipcp_estimate_growth): Likewise.
1657 (ipcp_const_param_count): Likewise.
1658 (ipcp_insert_stage): Likewise.
1659 * ipa-prop.c (visit_load_for_mod_analysis): New function.
1660 (visit_store_addr_for_mod_analysis): Set used flag.
1661 (ipa_detect_param_modifications): Set used flag for SSE params;
1662 update use of walk_stmt_load_store_addr_ops.
1663 (ipa_print_node_params): Print used flag.
1664 (ipa_write_node_info): Stream used flag.
1665 (ipa_read_node_info): Likewise.
1666 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
1667 (ipa_is_param_used): New function.
1668 (lto_ipa_fixup_call_notes): Remove unused declaration.
1669
16702010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1671
1672 PR target/44074
1673 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
1674 * configure: Regenerate.
1675 * config.in: Regenerate.
1676 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
1677 !HAVE_AS_IX86_REP_LOCK_PREFIX.
1678 Don't emit whitespace.
1679 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
1680 (*rep_movsi): Likewise.
1681 (*rep_movsi_rex64): Likewise.
1682 (*rep_movqi): Likewise.
1683 (*rep_movqi_rex64): Likewise.
1684 (*rep_stosdi_rex64): Likewise.
1685 (*rep_stossi): Likewise.
1686 (*rep_stossi_rex64): Likewise.
1687 (*rep_stosqi): Likewise.
1688 (*rep_stosqi_rex64): Likewise.
1689 (*cmpstrnqi_nz_1): Use {%;} after repz.
1690 (*cmpstrnqi_nz_rex_1): Likewise.
1691 (*cmpstrnqi_1): Likewise.
1692 (*cmpstrnqi_rex_1): Likewise.
1693 (*strlenqi_1): Use {%;} after repnz.
1694 (*strlenqi_rex_1): Likewise.
1695 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
1696 (*sync_compare_and_swap<mode>): Likewise.
1697 (sync_double_compare_and_swap<mode>): Likewise.
1698 (*sync_double_compare_and_swapdi_pic): Likewise.
1699 (sync_old_add<mode>): Likewise.
1700 (sync_add<mode>): Likewise.
1701 (sync_sub<mode>): Likewise.
1702 (sync_<code><mode>): Likewise.
1703
17042010-05-17 Martin Jambor <mjambor@suse.cz>
1705
1706 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
1707 otr_token and polymorphic.
1708 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
1709 (cgraph_clone_edge): Copy the above fields.
1710 * tree.c (get_binfo_at_offset): New function.
1711 * tree.h (get_binfo_at_offset): Declare.
1712 * ipa-prop.h (enum jump_func_type): Added known_type jump function
1713 type, reordered items, updated comments.
1714 (union jump_func_value): Added base_type field, reordered fields.
1715 (enum ipa_lattice_type): Moved down in the file.
1716 (struct ipa_param_descriptor): New field polymorphic.
1717 (ipa_is_param_polymorphic): New function.
1718 * ipa-prop.c: Include gimple.h and gimple-fold.h.
1719 (ipa_print_node_jump_functions): Print known type jump functions.
1720 (compute_complex_pass_through): Renamed to...
1721 (compute_complex_assign_jump_func): this.
1722 (compute_complex_ancestor_jump_func): New function.
1723 (compute_known_type_jump_func): Likewise.
1724 (compute_scalar_jump_functions): Create known type and complex ancestor
1725 jump functions.
1726 (ipa_note_param_call): New parameter polymorphic, set the corresponding
1727 flag in the call note accordingly.
1728 (ipa_analyze_call_uses): Renamed to...
1729 (ipa_analyze_indirect_call_uses): this. New parameter target, define
1730 variable var only in the block where it is used.
1731 (ipa_analyze_virtual_call_uses): New function.
1732 (ipa_analyze_call_uses): Likewise.
1733 (combine_known_type_and_ancestor_jfs): Likewise.
1734 (update_jump_functions_after_inlining): Implemented handling of a
1735 number of new jump function types combination.
1736 (print_edge_addition_message): Removed.
1737 (make_edge_direct_to_target): New function.
1738 (try_make_edge_direct_simple_call): Likewise.
1739 (try_make_edge_direct_virtual_call): Likewise.
1740 (update_call_notes_after_inlining): Renamed to...
1741 (update_indirect_edges_after_inlining): this. Moved edge creation for
1742 indirect calls to try_make_edge_direct_simple_call, also calls
1743 try_make_edge_direct_virtual_call for virtual calls.
1744 (ipa_print_node_params): Changed the header message.
1745 (ipa_write_jump_function): Stream also known type jump functions.
1746 (ipa_read_jump_function): Likewise.
1747 (ipa_write_indirect_edge_info): Stream new fields in
1748 cgraph_indirect_call_info.
1749 (ipa_read_indirect_edge_info): Likewise.
1750 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
1751 GIMPLE_FOLD_H.
1752
17532010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1754
1755 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
1756
17572010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1758
1759 * tree.h (CALL_EXPR_ARGS): Delete.
1760 (call_expr_arglist): Delete.
1761 * tree.c (call_expr_arglist): Delete.
1762 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
1763 targetm.fold_builtin.
1764 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
1765 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
1766 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
1767 arglist parameter. Use CALL_EXPR_ARG.
1768 (picochip_expand_builtin_3op): Likewise.
1769 (picochip_expand_builtin_2opvoid): Likewise.
1770 (picochip_expand_array_get): Likewise.
1771 (picochip_expand_array_put): Likewise.
1772 (picochip_expand_array_testport): Likewise.
1773 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
1774 rather than arglist.
1775 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
1776 CALL_EXPR_ARGS.
1777 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
1778 than TREE_VALUE and TREE_CHAIN.
1779 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
1780 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
1781 the arglist.
1782
17832010-05-17 Jakub Jelinek <jakub@redhat.com>
1784
1785 PR bootstrap/42347
1786 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
1787 to have no fallthru edge.
1788
1789 PR middle-end/44102
1790 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
1791 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
1792 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
1793 add BARRIER after previous bb if needed.
1794
17952010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1796
1797 * tree.c (build_function_type_list_1): Remove bogus assert condition.
1798
17992010-05-17 Alan Modra <amodra@gmail.com>
1800
1801 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
1802 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
1803 with copy_reg rtx param.
1804 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
1805 Correct cases where code for ABI_V4 did not initialise the reg
1806 used to access frame. Also leave frame_reg_rtx as sp for large
1807 frames that save no regs.
1808
18092010-05-17 Martin Jambor <mjambor@suse.cz>
1810
1811 PR middle-end/44133
1812 * tree-sra.c (create_access_replacement): New parameter rename, mark
1813 the replaement for renaming only when it is true.
1814 (get_access_replacement): Pass true in the rename parameter of
1815 create_access_replacement.
1816 (get_unrenamed_access_replacement): New function.
1817 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
1818 replacement declaration from it.
1819
18202010-05-17 Bernd Schmidt <bernds@codesourcery.com>
1821
1822 * function.c (try_fit_stack_local, add_frame_space): New static
1823 functions.
1824 (assign_stack_local_1): Use them. Look for opportunities to use
1825 space previously wasted on alignment.
1826 * function.h (struct frame_space): New.
1827 (struct rtl_data): Add FRAME_SPACE_LIST member.
1828 * reload1.c (something_was_spilled): New static variable.
1829 (alter_reg): Set it.
1830 (reload): Test it in addition to testing if the frame size changed.
1831
18322010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
1833
1834 * config/s390/s390.c: Define sane prefetch settings and activate
1835 flag_prefetch_loop_arrays on -O3.
1836 * config/s390/s390.h: Declare that read can use write prefetch.
1837
18382010-05-17 Jakub Jelinek <jakub@redhat.com>
1839
1840 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
1841 build.
1842
18432010-05-16 Jan Hubicka <jh@suse.cz>
1844
1845 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
1846 function body; do not check stdarg field of struct function.
1847
18482010-05-16 Jan Hubicka <jh@suse.cz>
1849
1850 * cgraph.c (dump_cgraph_node): Dump versionable flag.
1851 * cgraph.h (cgraph_local_info): Add versionable flag.
1852 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
1853 (ipcp_versionable_function_p): Use it.
1854 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
1855 versionable flag.
1856
18572010-05-16 Jan Hubicka <jh@suse.cz>
1858
1859 * cgraph.c (cgraph_clone_node): Take decl argument and insert
1860 clone into hash when it is different from orig.
1861 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
1862 * cgraph.h (cgraph_clone_node): Update prototype.
1863 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
1864 (lto_cgraph_encoder_delete): Delete body map.
1865 (lto_cgraph_encoder_size): Move to header.
1866 (lto_cgraph_encoder_encode_body_p,
1867 lto_set_cgraph_encoder_encode_body): New.
1868 (lto_output_node): Do not take written_decls argument; output clone_of
1869 pointer.
1870 (add_node_to): Add include_body_argument; call
1871 lto_set_cgraph_encoder_encode_body on master of the clone.
1872 (add_references): Update use of add_node_to.
1873 (compute_ltrans_boundary): Likewise.
1874 (output_cgraph): Do not create written_decls bitmap.
1875 (input_node): Take nodes argument; stream in clone_of correctly.
1876 (input_cgraph_1): Update use of input_node.
1877 * lto-streamer-out.c (lto_output): Use encoder info to decide
1878 what bodies to output.
1879 * ipa-inline.c (cgraph_clone_inlined_nodes,
1880 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
1881 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
1882 (lto_cgraph_encoder_size): Define here.
1883 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
1884 Declare.
1885
18862010-05-16 Richard Guenther <rguenther@suse.de>
1887
1888 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
1889 -fipa-type-escape.
1890 * ipa-type-escape.c (gate_type_escape_vars): Run when
1891 -fipa-struct-reorg runs.
1892 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
1893 * common.opt (fipa-type-escape): Remove.
1894
18952010-05-16 Eric Botcazou <ebotcazou@adacore.com>
1896
1897 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
1898 (decode_options): Likewise.
1899 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
1900
19012010-05-16 Jan Hubicka <jh@suse.cz>
1902
1903 * ipa.c (function_and_variable_visibility): Also bring local all
1904 aliases.
1905
19062010-05-16 Richard Guenther <rguenther@suse.de>
1907
1908 * alias.c (nonoverlapping_memrefs_p): Remove use of
1909 IPA type-escape information.
1910
19112010-05-16 Joseph Myers <joseph@codesourcery.com>
1912
1913 * c-common.c (c_common_reswords): Add _Static_assert for C.
1914 * c-parser.c (c_token_starts_declaration,
1915 c_parser_next_token_starts_declaration,
1916 c_parser_static_assert_declaration_no_semi,
1917 c_parser_static_assert_declaration): New.
1918 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
1919 Handle static assertions if static_assert_ok.
1920 (c_parser_external_declaration, c_parser_declaration_or_fndef,
1921 c_parser_compound_statement_nostart, c_parser_label,
1922 c_parser_for_statement, c_parser_objc_methodprotolist,
1923 c_parser_omp_for_loop): All callers of
1924 c_parser_declaration_or_fndef changed.
1925 (c_parser_struct_declaration): Handle static assertions.
1926 (c_parser_compound_statement_nostart): Use
1927 c_parser_next_token_starts_declaration and
1928 c_token_starts_declaration to detect start of declarations.
1929 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
1930 Likewise.
1931
19322010-05-16 Anatoly Sokolov <aesok@post.ru>
1933
1934 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
1935 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1936 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1937 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1938 (mmix_function_outgoing_value): Rename to...
1939 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
1940 (mmix_function_value_regno_p): Make static.
1941 (mmix_libcall_value): New function.
1942 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
1943 mmix_function_value_regno_p): Remove declaration.
1944
19452010-05-16 Eric Botcazou <ebotcazou@adacore.com>
1946
1947 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
1948 BUILT_IN_ALLOCA if stack checking is enabled.
1949
19502010-05-16 Richard Guenther <rguenther@suse.de>
1951
1952 * var-tracking.c (vars_copy_1): Inline ...
1953 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
1954 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
1955 (variable_merge_over_cur): Adjust. Merge asserts.
1956 (variable_merge_over_src): Likewise.
1957 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
1958 (variable_post_merge_new_vals): Merge asserts.
1959 (variable_post_merge_perm_vals): Likewise.
1960 (find_mem_expr_in_1pdv): Likewise.
1961 (dataflow_set_different_value): Remove.
1962 (onepart_variable_different_p): Merge asserts.
1963 (variable_different_p): Likewise.
1964 (dataflow_set_different_1): Inline ...
1965 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
1966 (emit_notes_for_differences_1): Merge asserts.
1967
19682010-05-16 Richard Guenther <rguenther@suse.de>
1969
1970 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
1971 * optabs.c (libfunc_decl_hash): Likewise.
1972 * varasm.c (emutls_decl): Likewise.
1973
19742010-05-16 Steven Bosscher <steven@gcc.gnu.org>
1975
1976 * c-decl.c: Don't include gimple.h.
1977 (merge_decls): Do not copy gimple_body.
1978
19792010-05-15 Jason Merrill <jason@redhat.com>
1980
1981 * c.opt: Add -fnothrow-opt.
1982
19832010-05-15 Jan Hubicka <jh@suse.cz>
1984
1985 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
1986 analyzed.
1987 * passes.c (ipa_write_summaries): Write all analyzed nodes.
1988
19892010-05-15 Steven Bosscher <steven@gcc.gnu.org>
1990
1991 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
1992 * Makefile.in: Add it.
1993 Fix all other Makefile dependencies for changes below.
1994 * tree.h: Include it instead of defining VEC primitives here.
1995 * gimple.h: Likewise.
1996 * rtl.h: Likewise.
1997 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
1998 * except.h: Include vecir.h, break dependence on tree.h.
1999
2000 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
2001 Move from here...
2002 * tree-iterator.c: ...to here.
2003 * tree-iterator.h: Fix file introduction comment. Add extern markers.
2004
2005 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
2006 tm_p.h.
2007 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
2008 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
2009 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
2010 tree-mudflap.h, and target.h.
2011 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
2012 predict.h, tree-inline.h, gimple.h, and langhooks.h.
2013 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
2014 Add FIXME for why gimple.h is still included (should be unnecessary
2015 since GCC 4.5 gimplification unit-at-a-time).
2016 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
2017 * c-pragma.c: Add FIXME for why function.h needs to be included just
2018 for cfun, at front-end level.
2019 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
2020 Do not include ggc.h, but include vecprim.h for VEC(char).
2021 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
2022 Explain why target.h is included.
2023 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
2024 Explain why gimple.h is included.
2025 * c-ppoutput.c: Do not include tm.h.
2026 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
2027 * c-parses.c: Explain why rtl.h is included, and that this (and only
2028 this) is also why tm.h must be included.
2029 Do not include except.h.
2030 * c-lang.c: Do not include ggc.h.
2031
20322010-05-15 Uros Bizjak <ubizjak@gmail.com>
2033
2034 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
2035
20362010-05-15 Joseph Myers <joseph@codesourcery.com>
2037
2038 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
2039 unions by default if those structs and unions have no tags. Do
2040 not condition anonymous struct and unions handling on flag_iso.
2041 Allow anonymous structs and unions for C1X.
2042 (finish_struct): Do not diagnose lack of named fields when
2043 anonymous structs and unions present for C1X. Accept flexible
2044 array members in structure with anonymous structs or unions but no
2045 directly named fields.
2046 * doc/extend.texi (Unnamed Fields): Update.
2047
20482010-05-15 Eric Botcazou <ebotcazou@adacore.com>
2049
2050 * gimple.h (compare_field_offset): Rename into...
2051 (gimple_compare_field_offset): ...this.
2052 * gimple.c (compare_field_offset): Rename into...
2053 (gimple_compare_field_offset): ...this. Compare the full access if
2054 the offset is self-referential.
2055 (gimple_types_compatible_p): Adjust for above renaming.
2056 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
2057 DECL_NONADDRESSABLE_P flag of fields before merging them.
2058
20592010-05-15 Nathan Froyd <froydnj@codesourcery.com>
2060
2061 * tree.h (ctor_to_list): Delete.
2062 * tree.c (ctor_to_list): Delete.
2063
20642010-05-15 Jan Hubicka <jh@suse.cz>
2065
2066 * ipa-reference.c: Include toplev.h
2067 (is_proper_for_analysis): Only add to all_module_statics
2068 if it is allocated.
2069 (write_node_summary_p, stream_out_bitmap,
2070 ipa_reference_write_optimization_summary,
2071 ipa_reference_read_optimization_summary): New.
2072 (struct ipa_opt_pass_d pass_ipa_reference): Add
2073 optimization summary streaming.
2074 * lto-cgraph.c (referenced_from_this_partition_p,
2075 reachable_from_this_partition_p): New functions.
2076 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
2077 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
2078 * opts.c (decode_options): Enable ipa_reference.
2079 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
2080 * lto-streamer.h (referenced_from_this_partition_p,
2081 reachable_from_this_partition_p): Declare.
2082
20832010-05-15 Richard Guenther <rguenther@suse.de>
2084
2085 PR tree-optimization/44038
2086 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
2087 taking the address of a V_C_E of a constant.
2088
20892010-05-14 Jan Hubicka <jh@suse.cz>
2090
2091 * tree.h (memory_identifier_string): Remove.
2092 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
2093 (ipa_reference_global_vars_info_d): Remove statics_not_read and
2094 statics_not_written.
2095 (ipa_reference_optimization_summary_d): New structure.
2096 (ipa_reference_optimization_summary_t): New type and vector.
2097 (ipa_reference_vars_info_d): Embedd structures instead of using
2098 pointers.
2099 (reference_vars_to_consider): Remove out of GGC space.
2100 (module_statics_escape): Remove.
2101 (global_info_obstack): Rename to ...
2102 (optimization_summary_obstack): ... this one.
2103 (initialization_status_t): Remove.
2104 (memory_identifier_string): Remove.
2105 (get_reference_vars_info): Fix indenting.
2106 (set_reference_vars_info): Likewise.
2107 (get_reference_optimization_summary): New.
2108 (set_reference_optimization_summary): New.
2109 (get_global_reference_vars_info): Remove.
2110 (ipa_reference_get_read_global): Remove.
2111 (ipa_reference_get_written_global): Remove.
2112 (ipa_reference_get_not_read_global): Update.
2113 (ipa_reference_get_not_written_global): Update.
2114 (is_proper_for_analysis): Outlaw addressable.
2115 (propagate_bits): Update for new datastructures.
2116 (analyze_variable): Remove.
2117 (init_function_info): Update for new datastructures.
2118 (clean_function_local_data): Remove.
2119 (clean_function): Remove.
2120 (copy_global_bitmap): Use optimizations_summary_obstack.
2121 (duplicate_node_data): Duplicate optimization summary only.
2122 (remove_node_data): Remove optimization summary only.
2123 (generate_summary): Do not analyze variables; do not compute
2124 module_statics_escape; do not prune solutions by it.
2125 (read_write_all_from_decl): Fix typos in comments.
2126 (propagate): Doscover readonly and nonaddressable first;
2127 update for new datastructures; share global bitmaps.
2128 * ipa-reference.h (ipa_reference_get_read_global,
2129 ipa_reference_get_written_global): Remove.
2130 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
2131 * Makefile.in: Remove ipa-refereference from GT files.
2132
21332010-05-14 Jakub Jelinek <jakub@redhat.com>
2134
2135 PR debug/44112
2136 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
2137 for all SYMBOL_REF_DECLs.
2138
21392010-05-14 Jan Hubicka <jh@suse.cz>
2140
2141 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
2142 (varpool_all_refs_explicit_p): New inline function.
2143 * ipa-reference.c: Update comment.
2144 (module_statics_written): Remove.
2145 (get_static_decl): Remove.
2146 (ipa_init): Do not initialize module_statics_written.
2147 (analyze_function): Likewise.
2148 (generate_summary): Likewise; do not compute module_statics_readonly
2149 and do not update variable flags.
2150 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
2151 * ipa.c: Inlucde flags.h
2152 (cgraph_local_node_p): New.
2153 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
2154 promote functions to local.
2155 (ipa_discover_readonly_nonaddressable_vars): New function.
2156 (function_and_variable_visibility): Use cgraph_local_node_p.
2157 * varpool.c (varpool_finalize_decl): Set force_output for
2158 DECL_PRESERVE_P vars.
2159
21602010-05-14 Jan Hubicka <jh@suse.cz>
2161
2162 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
2163
21642010-05-14 Richard Guenther <rguenther@suse.de>
2165
2166 PR tree-optimization/44119
2167 * tree-ssa-pre.c (eliminate): Properly mark replacement of
2168 a PHI node necessary.
2169
21702010-05-14 Eric Botcazou <ebotcazou@adacore.com>
2171
2172 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
2173
21742010-05-14 Jason Merrill <jason@redhat.com>
2175
2176 PR c++/44127
2177 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
2178 (gimple_call_set_nothrow): New.
2179 * gimple.c (gimple_build_call_from_tree): Call it.
2180 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
2181
2182 PR c++/44127
2183 * gimplify.c (gimplify_seq_add_stmt): No longer static.
2184 * gimple.h: Declare it.
2185 * gimple.c (gimple_build_eh_filter): No ops.
2186
21872010-05-14 Jan Hubicka <jh@suse.cz>
2188
2189 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
2190 nodes already in queue.
2191 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
2192 re-enqueueing node.
2193
21942010-05-14 Jakub Jelinek <jakub@redhat.com>
2195
2196 PR debug/44136
2197 * cfgexpand.c (expand_debug_expr): If non-memory op0
2198 has BLKmode, return NULL.
2199
22002010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
2201
2202 * config.gcc: Add support for --with-cpu option for bdver1.
2203 * config/i386/i386.h (TARGET_BDVER1): New macro.
2204 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
2205 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
2206 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
2207 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
2208 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
2209 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
2210 (processor_type): Add PROCESSOR_BDVER1.
2211 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
2212 processor_type in config/i386/i386.h.
2213 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
2214 movaps <reg, reg> instead of movapd <reg, reg> when replacing
2215 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
2216 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
2217 to emit packed xor instead of packed double/packed integer
2218 xor for SSE and AVX when moving a zero value.
2219 * config/i386/sse.md: Add check for
2220 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
2221 movapd/movdqa for SSE and AVX.
2222 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
2223 single logical operations i.e and, or and xor instead of packed double
2224 logical operations for SSE and AVX.
2225 * config/i386/i386-c.c (ix86_target_macros_internal):
2226 Add PROCESSOR_BDVER1.
2227 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
2228 (has_fma4, has_xop): New.
2229 * config/i386/i386.c (bdver1_cost): New variable.
2230 (m_BDVER1): New macro.
2231 (m_AMD_MULTIPLE): Add m_BDVER1.
2232 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
2233 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
2234 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
2235 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
2236 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
2237 x86_tune_sse_partial_reg_dependency,
2238 x86_tune_sse_unaligned_load_optimal,
2239 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
2240 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
2241 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
2242 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
2243 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
2244 Enable/disable for bdver1.
2245 (processor_target_table): Add bdver1_cost.
2246 (cpu_names): Add bdver1.
2247 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
2248 processor_alias_table.
2249 (ix86_expand_vector_move_misalign): Change.
2250 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
2251 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
2252 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
2253 of movupd/movdqu for SSE and AVX.
2254 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
2255 (ix86_tune_adjust_cost): Add code for bdver1.
2256 (standard_sse_constant_opcode): Add check for
2257 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
2258 of packed double xor for SSE and AVX.
2259
22602010-05-14 Pat Haugen <pthaugen@us.ibm.com>
2261
2262 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
2263 result to unsigned.
2264
22652010-05-14 Tristan Gingold <gingold@adacore.com>
2266
2267 * toplev.c (default_debug_hooks): Remove this variable.
2268 (process_options): Remove assignments to default_debug_hooks.
2269
22702010-05-14 Martin Jambor <mjambor@suse.cz>
2271
2272 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
2273 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
2274 * langhooks.h (struct lang_hooks_for_decls): Removed field
2275 fold_obj_type_ref.
2276 * tree.c (free_lang_data): Remove assignment to
2277 lang_hooks.fold_obj_type_ref.
2278 * tree.def (OBJ_TYPE_REF): Update comment.
2279
22802010-05-14 Richard Guenther <rguenther@suse.de>
2281
2282 PR tree-optimization/44124
2283 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
2284
22852010-05-14 Alan Modra <amodra@gmail.com>
2286
2287 PR target/44075
2288 * config/rs6000/rs6000.c (struct machine_function): Reorder
2289 fields for better packing. Add lr_save_state.
2290 (rs6000_ra_ever_killed): Return lr_save_state if set.
2291 (rs6000_emit_eh_reg_restore): Set lr_save_state.
2292
22932010-05-13 Jan Hubicka <jh@suse.cz>
2294
2295 * varpool.c (decide_is_variable_needed): Drop code checking
2296 TREE_SYMBOL_REFERENCED.
2297
22982010-05-13 Jan Hubicka <jh@suse.cz>
2299
2300 * final.c (output_addr_const): Do not call mark_decl_referenced.
2301 * cgraphunit.c (process_function_and_variable_attributes): Use
2302 mark_needed_node dirrectly.
2303 (assemble_thunk): Do not call mark_decl_referenced.
2304
23052010-05-13 Anatoly Sokolov <aesok@post.ru>
2306
2307 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
2308
23092010-05-13 Jeff Law <law@redhat.com>
2310
2311 * ira-conflicts.c (print_allocno_conflicts): New function broken out
2312 from...
2313 (print_conflicts): Call print_allocno_conflicts.
2314
23152010-05-13 Jakub Jelinek <jakub@redhat.com>
2316
2317 PR debug/44104
2318 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
2319 if it is NULL.
2320
23212010-05-13 Kai Tietz <kai.tietz@onevision.com>
2322
2323 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
2324 t-mingw-w64 or t-mingw-w32 for multilib configuration.
2325 * config/i386/t-mingw-w32: New.
2326 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
2327
23282010-05-13 Martin Jambor <mjambor@suse.cz>
2329
2330 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
2331 gimple-fold.c).
2332 * gimple-fold.c (get_base_binfo_for_type): New function.
2333 (gimple_get_relevant_ref_binfo): Likewise.
2334 (gimple_fold_obj_type_ref_known_binfo): Likewise.
2335 (gimple_fold_obj_type_ref): Likewise.
2336 (fold_gimple_call): Simplify condition for folding virtual calls
2337 and call gimple_fold_obj_type_ref.
2338 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
2339 (gimple_fold_obj_type_ref_known_binfo): Likewise.
2340
23412010-05-13 Andreas Schwab <schwab@linux-m68k.org>
2342
2343 * config/rs6000/rs6000-protos.h
2344 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
2345 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
2346 (rs6000_debug_mode_dependent_address)
2347 (rs6000_mode_dependent_address_ptr): Likewise.
2348
23492010-05-13 Jakub Jelinek <jakub@redhat.com>
2350
2351 PR debug/43983
2352 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
2353 by SRA.
2354 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
2355 * tree-sra.c (create_access_replacement): Call unshare_expr before
2356 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
2357 * dwarf2out.c: Include tree-flow.h.
2358 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
2359 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
2360 Handle DW_OP_bit_piece.
2361 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
2362 construct_piece_list, adjust_piece_list): New functions.
2363 (add_var_loc_to_decl): Handle SRA optimized variables.
2364 Adjust for var_loc_note to loc field renaming.
2365 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
2366 in VAR_LOCATION note.
2367 (new_loc_descr_op_bit_piece): New function.
2368 (dw_sra_loc_expr): New function.
2369 (dw_loc_list): Use it. Don't handle the last range after the
2370 loop, handle it inside of the loop. Adjust for var_loc_note
2371 to loc field renaming.
2372 (add_location_or_const_value_attribute): Only special case
2373 single entry loc lists if loc is NOTE_P. Adjust for
2374 var_loc_note to loc field renaming.
2375 (dwarf2out_var_location): Don't set newloc->var_loc_note
2376 and newloc->next here.
2377
23782010-05-12 Jan Hubicka <jh@suse.cz>
2379
2380 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
2381 flag.
2382 * cgraph.h (cgraph_only_called_directly_p,
2383 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
2384 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
2385 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
2386 (assemble
2387 * ipa.c (cgraph_remove_unreachable_nodes): Use
2388 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
2389 flags.
2390 * tree-inline.c (copy_bb): Check address_taken flag.
2391 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
2392 externally_visible flag.
2393
23942010-05-12 Jason Merrill <jason@redhat.com>
2395
2396 PR bootstrap/44048
2397 PR target/44099
2398 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
2399 * sdbout.c (plain_type_1): Likewise.
2400 * dwarf2out.c (is_base_type): Likewise.
2401 (gen_type_die_with_usage): Likewise. Generate
2402 DW_TAG_unspecified_type for any LANG_TYPE.
2403
24042010-05-12 Jan Hubicka <jh@suse.cz>
2405
2406 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
2407 indrect edges too.
2408 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
2409 (cgraph_clone_edge): Update.
2410 (cgraph_node_remove_callees): Remove indirect calls too.
2411 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
2412 (cgraph_create_indirect_edge): Update prototype.
2413 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
2414 is_proper_for_analysis.
2415 (add_new_function, visited_nodes, function_insertion_hook_holder,
2416 get_local_reference_vars_info, mark_address_taken, mark_address,
2417 mark_load, mark_store, check_asm_memory_clobber, check_call,
2418 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
2419 (ipa_init): Do not initialize visited_nodes;
2420 function_insertion_hook_holder.
2421 (analyze_variable): Rewrite.
2422 (analyze_function): Rewrite.
2423 (copy_local_bitmap): Remove.
2424 (duplicate_node_dat): Do not duplicate local info.
2425 (generate_summary): Simplify to only walk cgraph.
2426 (write_node_summary_p, ipa_reference_write_summary,
2427 ipa_reference_read_summary): Remove.
2428 (propagate): Do not remove function insertion;
2429 generate summary.
2430 (pass_ipa_reference): NULLify summary handling fields.
2431 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
2432 (input_edge): Input ecf_flags.
2433 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
2434 (update_indirect_edges_after_inlining): Ignore edges with unknown
2435 param.
2436
24372010-05-12 Sriraman Tallam <tmsriram@google.com>
2438
2439 * implicit-zee.c: New file.
2440 * tree-pass.h (pass_implicit_zee): Declare.
2441 * passes.c (init_optimization_passes): Add zee pass.
2442 * common.opt (fzee): New flag.
2443 * timevar.def (TV_ZEE): Define.
2444 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
2445 and beyond.
2446 * Makefile.in (implicit-zee.o): Add new build file.
2447
24482010-05-12 Kazu Hirata <kazu@codesourcery.com>
2449 Nathan Froyd <froydnj@codesourcery.com>
2450
2451 * c-common.c (sync_resolve_params): Remove write-only variable.
2452
24532010-05-12 Anatoly Sokolov <aesok@post.ru>
2454
2455 * target.h (struct gcc_target): Add mode_dependent_address_p field.
2456 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
2457 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
2458 * targhooks.c (default_mode_dependent_address_p): New function.
2459 * targhooks.h (default_mode_dependent_address_p): Declare function.
2460 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
2461 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
2462 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
2463 target hook. Change return type to bool.
2464 * recog.h (mode_dependent_address_p): Change return type to bool.
2465
24662010-05-12 Kazu Hirata <kazu@codesourcery.com>
2467 Nathan Froyd <froydnj@codesourcery.com>
2468
2469 * tree-mudflap.c (build_function_type_0, build_function_type_1,
2470 build_function_type_2, build_function_type_3): Remove.
2471 (mudflap_init): Use build_function_type_list.
2472
24732010-05-12 Kazu Hirata <kazu@codesourcery.com>
2474 Nathan Froyd <froydnj@codesourcery.com>
2475
2476 * coverage.c (build_fn_info_value): Call build_constructor instead of
2477 build_constructor_from_list.
2478 (build_ctr_info_value): Likewise.
2479 (build_gcov_info): Likewise.
2480
24812010-05-12 Nathan Froyd <froydnj@codesourcery.com>
2482
2483 * tree.c (build_constructor): Compute TREE_CONSTANT for the
2484 resultant constructor.
2485 (build_constructor_single): Don't set TREE_CONSTANT.
2486 (build_constructor_from_list): Don't compute TREE_CONSTANT.
2487
24882010-05-12 Jan Hubicka <jh@suse.cz>
2489
2490 * cgraph.h (struct varpool_node): Add aux.
2491 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
2492 * varpool.c (varpool_remove_node): Do not remove initializer.
2493 (varpool_reset_queue): Export.
2494 (varpool_finalize_decl): Volatile vars are forced to be output.
2495 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
2496 replaced decl.
2497 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
2498 process_references, varpool_can_remove_if_no_refs): New functions.
2499 (cgraph_remove_unreachable_nodes): Handle variables too.
2500
25012010-05-12 H.J. Lu <hongjiu.lu@intel.com>
2502
2503 PR target/44088
2504 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
2505
25062010-05-12 Jakub Jelinek <jakub@redhat.com>
2507
2508 PR middle-end/44085
2509 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
2510 change value of ORT_TASK.
2511 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
2512 (omp_notice_threadprivate_variable): New function.
2513 (omp_notice_variable): Call it for threadprivate variables.
2514 If enclosing ctx is a task, print enclosing task rather than
2515 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
2516 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
2517 if task has untied clause.
2518
2519 PR debug/42278
2520 * dwarf2out.c (base_type_die): Don't add name attribute here.
2521 (modified_type_die): Instead of sizetype use
2522 its underlying original type. If a DW_TAG_base_type doesn't
2523 have name added, add __unknown__.
2524 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
2525 always call force_type_die instead.
2526
25272010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
2528
2529 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
2530 for __stack_chk_guard.
2531
25322010-05-11 Jakub Jelinek <jakub@redhat.com>
2533
2534 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
2535 don't call start_source_file debug hook here...
2536 (finish_options): ... but here, after outputting predefined and
2537 command line defines and undefs.
2538
2539 PR middle-end/44071
2540 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
2541 no fallthru edge.
2542 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
2543 optimizing away empty bb with no successors, move over its
2544 footer chain to fallthru predecessor.
2545 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
2546 (rtl_split_edge): For asm goto call patch_jump_insn even if
2547 splitting fallthru edge.
2548
2549 PR c++/44059
2550 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
2551 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
2552 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
2553 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
2554 on DW.ref.* decls.
2555
2556 PR c++/44062
2557 * c-parser.c (c_parser_expression): Mark LHS of a comma
2558 expression as read if it is a decl, handled component or
2559 COMPOUND_EXPR with that on the RHS.
2560 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
2561 if it is a decl or handled component.
2562
25632010-05-11 Jan Hubicka <jh@suse.cz>
2564
2565 * lto-symtab.c (lto_symtab_free): New function.
2566 * lto-streamer.h (lto_symtab_free): Declare.
2567
25682010-05-11 Jan Hubicka <jh@suse.cz>
2569
2570 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
2571 that if function is needed it is reachable.
2572 (lto_output_node): See if it the function is reachable or referenced.
2573 (output_cgraph): Update call of lto_output_node.
2574 * lto-streamer.h (reachable_from_other_partition_p): Declare.
2575
25762010-05-11 Jan Hubicka <jh@suse.cz>
2577
2578 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
2579 Mark as used.
2580
25812010-05-11 Jan Hubicka <jh@suse.cz>
2582
2583 PR tree-optimize/44063
2584 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
2585 queue.
2586 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
2587 limits.
2588 (estimate_function_body_sizes): Compute sizes even when disregarding.
2589
25902010-05-11 Kai Tietz <kai.tietz@onevision.com>
2591
2592 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
2593
25942010-05-11 Jan Hubicka <jh@suse.cz>
2595
2596 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
2597 into every boundary.
2598
25992010-05-11 Jan Hubicka <jh@suse.cz>
2600
2601 * matrix-reorg.c (matrix_reorg): Rebuild edges.
2602
26032010-05-11 Jan Hubicka <jh@suse.cz>
2604
2605 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
2606 lto_streamer_cache_delete): Put nodes into heap.
2607 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
2608 heap.
2609
26102010-05-11 Jan Hubicka <jh@suse.cz>
2611
2612 * cgraphbuild.c (cgraph_rebuild_references): New.
2613 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
2614 out extern inlines.
2615 * cgraph.h (cgraph_rebuild_references): Declare.
2616 * tree-inline.c (tree_function_versioning): Use it.
2617 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
2618
26192010-05-11 Jan Hubicka <jh@suse.cz>
2620
2621 * cgraph.c: Include ipa-utils.h
2622 (cgraph_create_virtual_clone): Update references.
2623 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
2624
26252010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
2626
2627 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
2628 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
2629 cache size.
2630
26312010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
2632
2633 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
2634
26352010-05-11 Jakub Jelinek <jakub@redhat.com>
2636
2637 * gcc.c (execute): For -### don't quote arguments that
2638 contain just alphanumerics and _/-. characters.
2639 * doc/invoke.texi: Document that change for -###.
2640
2641 PR debug/44023
2642 * df-problems.c (struct dead_debug): Add to_rescan field.
2643 (dead_debug_init): Clear to_rescan field.
2644 (dead_debug_finish): Rescan all debug insns in to_rescan
2645 bitmap and free the bitmap.
2646 (dead_debug_insert_before): Instead of rescanning debug insns
2647 immediately queue their rescanning until dead_debug_finish.
2648 (df_note_bb_compute): After dead_debug_add do continue instead
2649 of break.
2650
26512010-05-10 Jakub Jelinek <jakub@redhat.com>
2652
2653 PR debug/44028
2654 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
2655 clear also INSN_REG_USE_LIST.
2656
26572010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2658
2659 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
2660
26612010-05-10 Jan Hubicka <jh@suse.cz>
2662
2663 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
2664 commited change.
2665
26662010-05-10 Jan Hubicka <jh@suse.cz>
2667
2668 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
2669 Allocate encoders.
2670 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
2671 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
2672 (lto_streamer_cache_create): Init alloc pool.
2673 (lto_streamer_cache_delete): Free alloc pool.
2674 * lto-streamer.h: Include alloc pool.
2675 (lto_streamer_cache_d): Use alloc pool.
2676 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
2677
26782010-05-10 Jan Hubicka <jh@suse.cz>
2679
2680 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
2681 * cgraphbuild.c: Include except.h
2682 (record_type_list, record_eh_tables): New function.
2683 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
2684
26852010-05-10 Jan Hubicka <jh@suse.cz>
2686
2687 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
2688 __frame_dummy_init_array_entry, force_to_data): Attribute as used
2689 rather than unused.
2690
26912010-05-10 Michael Matz <matz@suse.de>
2692
2693 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
2694 (can_reassociate_p): Use FLOAT_TYPE_P.
2695 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
2696 (vect_force_simple_reduction): ... this.
2697 * tree-parloops.c (gather_scalar_reductions): Use
2698 vect_force_simple_reduction.
2699 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
2700 vect_is_simple_reduction, add modify argument, if true rewrite
2701 "a-b" into "a+(-b)".
2702 (vect_is_simple_reduction, vect_force_simple_reduction): New
2703 functions.
2704 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
2705
27062010-05-10 H.J. Lu <hongjiu.lu@intel.com>
2707 Vladimir Makarov <vmakarov@redhat.com>
2708
2709 PR rtl-optimization/44012
2710 * ira-build.c (remove_unnecessary_allocnos): Nullify
2711 regno_allocno_map of the removed allocno.
2712
27132010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2714
2715 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
2716 to /dev/null.
2717 * configure: Regenerate.
2718
27192010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2720
2721 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
2722 unused.
2723 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
2724 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
2725 support in Sun ld.
2726 * configure: Regenerate.
2727
27282010-05-10 Richard Guenther <rguenther@suse.de>
2729
2730 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
2731 marked if the entry identifier is marked.
2732
27332010-05-10 Richard Guenther <rguenther@suse.de>
2734
2735 * c-common.c (struct c_common_attributes): Add fnspec attribute.
2736 (handle_fnspec_attribute): New function.
2737 * gimple.h (gimple_call_return_flags): Declare.
2738 (gimple_call_arg_flags): Likewise.
2739 * gimple.c (gimple_call_arg_flags): New function.
2740 (gimple_call_return_flags): Likewise.
2741 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
2742 New argument flags.
2743 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
2744 return value flags.
2745 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
2746 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
2747 main work to ...
2748 (make_heapvar_for): ... this new function.
2749 (handle_rhs_call): Handle fnspec attribute argument specifiers.
2750 (handle_lhs_call): Likewise.
2751 (find_func_aliases): Adjust.
2752
27532010-05-10 Richard Guenther <rguenther@suse.de>
2754
2755 PR tree-optimization/44050
2756 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
2757
27582010-05-10 Wei Guozhi <carrot@google.com>
2759
2760 PR target/42879
2761 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
2762
27632010-05-09 Joseph Myers <joseph@codesourcery.com>
2764
2765 PR c/10676
2766 * c-typeck.c (lookup_field): Take a type directly. Update
2767 recursive calls.
2768 (build_component_ref): Update call to lookup_field.
2769 (set_init_label): Use lookup_field to find initialized field.
2770 Handle returned list of fields like a sequence of designators.
2771
27722010-05-09 Richard Guenther <rguenther@suse.de>
2773
2774 PR middle-end/44024
2775 * fold-const.c (tree_single_nonzero_warnv_p): Properly
2776 handle &FUNCTION_DECL.
2777
27782010-05-09 Joseph Myers <joseph@codesourcery.com>
2779
2780 PR c/4784
2781 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
2782 structures and unions recursively.
2783 (detect_field_duplicates): Move duplicate detection with a hash to
2784 detect_field_duplicates_hash. Always use a hash if anonymous
2785 structures or unions are present.
2786 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
2787 give errors.
2788
27892010-05-09 H.J. Lu <hongjiu.lu@intel.com>
2790
2791 PR target/44046
2792 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
2793 detect Atom, Core 2 and Core i7.
2794
27952010-05-09 Richard Guenther <rguenther@suse.de>
2796
2797 * gcc.c (store_arg): Handle temporary file deletion for
2798 joined arguments.
2799
28002010-05-09 Richard Guenther <rguenther@suse.de>
2801
2802 PR middle-end/44043
2803 * ipa-inline.c (estimate_function_body_sizes): Return after
2804 disregarding inline limits.
2805
28062010-05-09 Richard Guenther <rguenther@suse.de>
2807
2808 * gcc.c (store_arg): Revert last change.
2809
28102010-05-08 Sandra Loosemore <sandra@codesourcery.com>
2811
2812 PR middle-end/28685
2813 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
2814 (optimize_ops_list): Call it.
2815
28162010-05-08 Richard Guenther <rguenther@suse.de>
2817
2818 PR tree-optimization/44030
2819 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
2820 NECESSARY flag if we propagate from a inserted expression.
2821
28222010-05-08 Eric Botcazou <ebotcazou@adacore.com>
2823
2824 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
2825 domain types as equal if they are both PLACEHOLDER_EXPRs.
2826
28272010-05-08 Richard Guenther <rguenther@suse.de>
2828
2829 * lto-wrapper.c (run_gcc): Remove linker output from
2830 command line for LTRANS invocation.
2831
28322010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2833
2834 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
2835 lto-macho as lto_binary_reader.
2836 * target.h (struct gcc_target): New hooks lto_start and lto_end.
2837 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
2838 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
2839 in lto_start and lto_end calls.
2840 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
2841 magic numbers.
2842 (scan_prog_file): Update is_elf_or_coff call.
2843 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
2844
2845 * collect2.c (main): Fix enum comparison.
2846
2847 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
2848 Add prototypes.
2849 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
2850 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
2851 and TARGET_ASM_LTO_END.
2852 * darwin.c: Include obstack.h and lto-streamer.h.
2853 (lto_section_names_offset, lto_section_names_obstack,
2854 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
2855 global variables.
2856 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
2857 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
2858 to a temporary file.
2859 (darwin_asm_lto_end): New function. Restore asm_out_file.
2860 (darwin_asm_named_section): For LTO sections, replace the name with
2861 the offset of the section name in a string table, and build this
2862 table.
2863 (darwin_file_start): Initialize global vars for LTO support.
2864 (darwin_file_end): If output to asm_out_file was redirected, append it
2865 to the proper asm_out_file here. Add the section names section.
2866
28672010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2868
2869 * c-pragma.c (pending_weak_d, pending_weak): New.
2870 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
2871 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
2872 handle_pragma_weak): Update the uses of pending_weaks.
2873
28742010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2875
2876 PR documentation/44016
2877 * doc/standards.texi (Standards): Link to unversioned
2878 cxx0x_status.html page.
2879
28802010-05-07 Iain Sandoe <iains@gcc.gnu.org>
2881
2882 PR target/43708
2883 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
2884 in addition to TREE_USED, to avoid "set but unused" warnings.
2885
28862010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2887
2888 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
2889 (is_loop_prefetching_profitable): Do not insert prefetches
2890 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
2891 times the prefetch ahead distance.
2892
28932010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2894
2895 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
2896 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
2897 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
2898 the unroll_factor.
2899
29002010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2901
2902 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
2903 a diagnostic info when the insn-to-mem ratio is too small.
2904
29052010-05-07 Richard Guenther <rguenther@suse.de>
2906
2907 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
2908 the linker plugin.
2909 (store_arg): Queue temp_filename for deletion instead of
2910 the whole argument.
2911
29122010-05-07 Richard Guenther <rguenther@suse.de>
2913
2914 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
2915 (run_gcc): Handle LTRANS phase invocation.
2916 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
2917
29182010-05-07 Jakub Jelinek <jakub@redhat.com>
2919
2920 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
2921 this is also meaningful on PARM_DECLs and RESULT_DECLs.
2922
29232010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2924
2925 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
2926
29272010-05-07 Richard Guenther <rguenther@suse.de>
2928
2929 PR tree-optimization/44020
2930 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
2931 code when PRE is not yet initialized.
2932
29332010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2934
2935 * config/mips/dbxmdebug.h: Remove.
2936 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
2937
29382010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
2939
2940 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
2941 with null pointer and also warn about ordered comparison of zero with
2942 pointer if -Wextra.
2943
29442010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2945
2946 * graphite-blocking.c
2947 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
2948 * graphite-clast-to-gimple.c
2949 (clast_to_gcc_expression): Same.
2950 (precision_for_value): Same.
2951 (precision_for_interval): Same.
2952 (gcc_type_for_interval): Same.
2953 (graphite_create_new_guard): Same.
2954 (compute_bounds_for_level): Same.
2955 (graphite_create_new_loop_guard): Same.
2956 * graphite-interchange.c
2957 (build_linearized_memory_access): Same.
2958 (pdr_stride_in_loop): Same.
2959 (memory_strides_in_loop_1): Same.
2960 (memory_strides_in_loop): Same.
2961 (extend_scattering): Same.
2962 (psct_scattering_dim_for_loop_depth): Same.
2963 (pbb_number_of_iterations): Same.
2964 * graphite-poly.h
2965 (debug_iteration_domains): Same.
2966 * graphite-ppl.c
2967 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
2968 (ppl_set_inhomogeneous_gmp): Same.
2969 (ppl_strip_loop): Same.
2970 (ppl_lexico_compare_linear_expressions): Same.
2971 (ppl_read_polyhedron_matrix): Same.
2972 (ppl_max_for_le_pointset): Same.
2973 * graphite-ppl.h
2974 (ppl_read_polyhedron_matrix): Same.
2975 (tree_int_to_gmp): Same.
2976 (gmp_cst_to_tree): Same.
2977 (ppl_set_inhomogeneous): Same.
2978 (ppl_set_inhomogeneous_tree): Same.
2979 (ppl_set_coef): Same.
2980 (ppl_set_coef_tree): Same.
2981 * graphite-sese-to-poly.c
2982 (build_pbb_scattering_polyhedrons): Same.
2983 (build_scop_scattering): Same.
2984 (scan_tree_for_params_right_scev): Same.
2985 (scan_tree_for_params): Same.
2986 (find_params_in_bb): Same.
2987 (find_scop_parameters): Same.
2988 (add_upper_bounds_from_estimated_nit): Same.
2989 (build_loop_iteration_domains): Same.
2990 (add_condition_to_domain): Same.
2991 (pdr_add_memory_accesses): Same.
2992
29932010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2994
2995 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
2996 CLooG's value_* macros to their respective mpz_* counterparts.
2997 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
2998 (graphite_create_new_loop_guard): Same.
2999 * graphite-interchange.c (build_linearized_memory_access): Same.
3000 (pdr_stride_in_loop): Same.
3001 (memory_strides_in_loop_1): Same.
3002 (1st_interchange_profitable_p): Same.
3003 * graphite-poly.c (extend_scattering): Same.
3004 (psct_scattering_dim_for_loop_depth): Same.
3005 (pbb_number_of_iterations): Same.
3006 (pbb_number_of_iterations_at_time): Same.
3007 * graphite-poly.h (new_1st_loop): Same.
3008 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
3009 (oppose_constraint): Same.
3010 (insert_constraint_into_matrix): Same.
3011 (ppl_set_inhomogeneous_gmp): Same.
3012 (ppl_set_coef_gmp): Same.
3013 (ppl_strip_loop): Same.
3014 (ppl_lexico_compare_linear_expressions): Same.
3015 (ppl_max_for_le_pointset): Same.
3016 (ppl_min_for_le_pointset): Same.
3017 (ppl_build_realtion): Same.
3018 * graphite-ppl.h (gmp_cst_to_tree): Same.
3019 (ppl_set_inhomogeneous): Same.
3020 (ppl_set_inhomogeneous_tree): Same.
3021 (ppl_set_coef): Same.
3022 (ppl_set_coef_tree): Same.
3023 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
3024 (build_scop_scattering): Same.
3025 (add_value_to_dim): Same.
3026 (scan_tree_for_params_right_scev): Same.
3027 (scan_tree_for_params_int): Same.
3028 (scan_tree_for_params): Same.
3029 (find_params_in_bb): Same.
3030 (find_scop_parameters): Same.
3031 (add_upper_bounds_from_estimated_nit): Same.
3032 (build_loop_iteration_domains): Same.
3033 (create_linear_expr_from_tree): Same.
3034 (add_condition_to_domain): Same.
3035 (pdr_add_memory_accesses): Same.
3036
30372010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
3038 Jason Merrill <jason@redhat.com>
3039
3040 * c-common.c (c_common_reswords): Add nullptr.
3041 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
3042 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
3043 (gen_type_die_with_usage): Likewise.
3044 * dbxout.c (dbxout_type): Likewise.
3045 * sdbout.c (plain_type_1): Likewise.
3046
30472010-05-06 Jason Merrill <jason@redhat.com>
3048
3049 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
3050 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
3051 ret appropriately.
3052 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
3053
3054 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
3055 stripping WITH_SIZE_EXPR.
3056 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
3057 change.
3058
30592010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3060
3061 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
3062 list of obsolete configurations.
3063 Disabled check for obsolete configurations.
3064 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
3065 Removed support for previous versions.
3066 * config/mips/iris.h: Removed.
3067 * config/mips/iris5.h: Removed.
3068 * config/mips/iris6.h: Merged old iris.h contents.
3069 (TARGET_IRIX): Removed.
3070 (DRIVER_SELF_SPECS): Removed mabi=32.
3071 (IDENT_ASM_OP): Removed undef.
3072 (STARTFILE_SPEC): Removed mabi=32.
3073 (ENDFILE_SPEC): Likewise.
3074 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
3075 (MACHINE_TYPE): Update for IRIX 6.5.
3076 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
3077 TARGET_IRIX by TARGET_IRIX6.
3078 (mips_file_start): Likewise.
3079 (mips_output_external): Remove IRIX 5/6 O32 support.
3080 (mips_output_function_prologue): Likewise.
3081 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
3082 TARGET_IRIX6.
3083 (TARGET_CPU_CPP_BUILTINS): Likewise.
3084 (TARGET_IRIX): Removed.
3085 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
3086 (MULTILIB_DIRNAMES): Removed 32.
3087 (MULTILIB_OSDIRNAMES): Removed ../lib.
3088 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
3089 (Specific, mips-sgi-irix5): Document removal.
3090 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
3091 Remove references to older IRIX 6 releases and the O32 ABI.
3092
30932010-05-06 Jakub Jelinek <jakub@redhat.com>
3094
3095 PR bootstrap/43994
3096 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
3097 instead of DF_REF_REAL_REG.
3098
30992010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
3100
3101 PR target/43888
3102 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
3103 handling to still return true for x64 targets.
3104
31052010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
3106
3107 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
3108
31092010-05-06 Jan Hubicka <jh@suse.cz>
3110
3111 PR tree-optimization/43791
3112 * ipa-inline.c (update_caller_keys): Remove bogus
3113 disregard_inline_limits check.
3114
31152010-05-06 Michael Matz <matz@suse.de>
3116
3117 PR tree-optimization/43984
3118 * tree-ssa-pre.c (inserted_phi_names): Remove.
3119 (inserted_exprs): Change to bitmap.
3120 (create_expression_by_pieces): Set bits, don't append to vector.
3121 (insert_into_preds_of_block): Don't handle inserted_phi_names.
3122 (eliminate): Don't look at inserted_phi_names, remove deleted
3123 insns from inserted_exprs.
3124 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
3125 (init_pre, fini_pre): Allocate and free bitmaps.
3126 (execute_pre): Insert insns on edges before elimination.
3127
31282010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
3129
3130 * tree.c (initializer_zerop): Handle STRING_CST.
3131
31322010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
3133
3134 PR 40989
3135 * doc/invoke.texi (Wimplicit): Document as C only.
3136 * opts.c (common_handle_option): Add argument kind.
3137 (handle_option): Rename as read_cmdline_option. Factor out code to...
3138 (handle_option): ... here. New.
3139 (handle_options): Rename as read_cmdline_options.
3140 (decode_options): Update call.
3141 (set_option): Use option index instead of option pointer. Classify
3142 diagnostics correctly.
3143 (enable_warning_as_error): Call handle_option.
3144 * opts.h (set_option): Update declaration.
3145 (handle_option): Declare.
3146 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3147 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
3148 * c-opts.c (set_Wimplicit): Delete.
3149 (c_family_lang_mask): New static constant.
3150 (c_common_handle_option): Add argument kind. Use handle_option
3151 instead of set_Wimplicit.
3152 (c_common_post_options): warn_implicit and warn_implicit_int
3153 are disabled by default.
3154 * c-common.c (warn_implicit): Do not define here.
3155 * c-common.h (warn_implicit): Do not declare here.
3156 (c_common_handle_option): Update declaration.
3157 * lto-opts.c (lto_reissue_options): Update call to set_option.
3158
31592010-05-06 Richard Guenther <rguenther@suse.de>
3160
3161 PR tree-optimization/43571
3162 * domwalk.c (walk_dominator_tree): Walk the dominator
3163 sons in more optimal order.
3164
31652010-05-06 Richard Guenther <rguenther@suse.de>
3166
3167 PR tree-optimization/43934
3168 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
3169 (stmt_cost): Likewise.
3170 (extract_true_false_args_from_phi): New helper.
3171 (determine_max_movement): For PHI nodes verify we can hoist them
3172 and compute their cost.
3173 (determine_invariantness_stmt): Handle PHI nodes.
3174 (move_computations_stmt): Likewise. Hoist PHI nodes in
3175 if-converted form using COND_EXPRs.
3176 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
3177 (tree_ssa_lim): Likewise.
3178 * tree-flow.h (tree_ssa_lim): Adjust prototype.
3179 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
3180
31812010-05-06 Richard Guenther <rguenther@suse.de>
3182
3183 PR tree-optimization/43987
3184 * tree-ssa-structalias.c (could_have_pointers): For possibly
3185 address-taken variables force pointers to be recorded.
3186 (create_variable_info_for_1): Likewise.
3187 (push_fields_onto_fieldstack): Pass in wheter all fields
3188 must have pointers.
3189 (find_func_aliases): Query types instead of vars whether
3190 they contain pointers where appropriate.
3191
31922010-05-06 Jan Hubicka <jh@suse.cz>
3193
3194 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
3195 (record_reference, mark_address, mark_load, mark_store): Record
3196 references.
3197 (record_references_in_initializer): Update call of record_references.
3198 (rebuild_cgraph_edges): Remove all references before rebuiding.
3199 * cgraph.c (cgraph_create_node): Clear ref list.
3200 (cgraph_remove_node): Remove references.
3201 (dump_cgraph_node): Dump references.
3202 (cgraph_clone_node): Clone references.
3203 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
3204 (struct cgraph_node, varpool_node): Add ref_lst.
3205 * ipa-ref.c: New file.
3206 * ipa-ref.h: New file.
3207 * ipa-ref-inline.h: New file.
3208 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
3209 (referenced_from_other_partition_p): New function.
3210 (lto_output_varpool_node): Take set arugment; call
3211 referenced_from_other_partition.
3212 (lto_output_ref): New.
3213 (add_references): New.
3214 (output_refs): New.
3215 (output_cgraph): Compute boundary based on references; output refs.
3216 (output_varpool): Accept cgraph_node_set argument.
3217 (input_ref): New.
3218 (input_refs): New.
3219 (input_cgraph): Call input_refs.
3220 * lto-section-in.c (lto_section_name): Add refs.
3221 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
3222 (ipa-ref.o): New file.
3223 * varpool.c (varpool_node): Clear ipa ref list.
3224 (varpool_remove_node): Remove references.
3225 (dump_varpool_node): Dump references.
3226 (varpool_assemble_decl): Only compile finalized ones.
3227 (varpool_extra_name_alias): Initialize ref list.
3228 * lto-streamer.c (lto-get_section_name): Add .refs section.
3229 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
3230 (referenced_from_other_partition_p): Declared.
3231
32322010-05-06 Ira Rosen <irar@il.ibm.com>
3233
3234 PR tree-optimization/43901
3235 * tree-vect-stmts.c (vectorizable_call): Assert that vector
3236 type is not NULL if it's transformation phase, and return
3237 FALSE if it's analysis.
3238 (vectorizable_conversion, vectorizable_operation,
3239 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
3240
32412010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
3242
3243 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
3244 Delete.
3245 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
3246 New define.
3247 * config/mips/mips-protos.h
3248 (mips_small_register_classes_for_mode_p): Delete prototype.
3249
32502010-05-06 Bernd Schmidt <bernds@codesourcery.com>
3251
3252 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
3253 * config/arm/arm.c (multiple_operation_profitable_p,
3254 compute_offset_order): New static functions.
3255 (load_multiple_sequence, store_multiple_sequence): Use them.
3256 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
3257 memory offsets, not register numbers.
3258 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
3259
32602010-05-05 Steven Bosscher <steven@gcc.gnu.org>
3261
3262 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
3263 (get_pending_sizes, put_pending_size, put_pending_sizes):
3264 Update the uses of pending_sizes.
3265 * c-decl.c (store_parm_decls): Likewise.
3266 * c-tree.h (struct c_arg_info): Likewise.
3267 * tree.h: Update the prototype for get_pending_sizes and
3268 put_pending_sizes.
3269
32702010-05-05 Jason Merrill <jason@redhat.com>
3271
3272 PR debug/43370
3273 * c-common.c (handle_aligned_attribute): Respect
3274 ATTR_FLAG_TYPE_IN_PLACE.
3275
3276 PR testsuite/43758
3277 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
3278 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
3279 (TARGET_INITIALIZER): Use it.
3280 * c-common.c (attribute_takes_identifier_p): Call it.
3281 * c-common.h: Update prototype.
3282 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
3283 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
3284
32852010-05-05 Jakub Jelinek <jakub@redhat.com>
3286
3287 PR debug/43950
3288 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
3289 DW_ID_down_case for Fortran compilation units.
3290
32912010-05-05 Jan Hubicka <jh@suse.cz>
3292
3293 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
3294 handle aliases.
3295
32962010-05-05 Eric Botcazou <ebotcazou@adacore.com>
3297
3298 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
3299 a variable-sized RESULT_DECL.
3300
33012010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
3302
3303 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
3304
33052010-05-05 Jason Merrill <jason@redhat.com>
3306
3307 PR c++/43787
3308 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
3309 returns GS_OK.
3310 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
3311
33122010-05-05 Alexandre Oliva <aoliva@redhat.com>
3313 Jakub Jelinek <jakub@redhat.com>
3314
3315 PR debug/43478
3316 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
3317 (dead_debug_init, dead_debug_finish): New functions.
3318 (dead_debug_add, dead_debug_insert_before): Likewise.
3319 (df_note_bb_compute): Initialize a dead_debug object, add dead
3320 debug uses to it, insert debug bind insns before death insns,
3321 reset debug insns that refer to pending uses at the end.
3322 * rtl.h (make_debug_expr_from_rtl): New prototype.
3323 * varasm.c (make_debug_expr_from_rtl): New function.
3324
33252010-05-05 Jan Hubicka <jh@suse.cz>
3326
3327 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
3328 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
3329 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
3330 lto_varpool_encoder_deref, lto_varpool_encoder_size,
3331 lto_varpool_encoder_encode_initializer_p,
3332 lto_set_varpool_encoder_encode_initializer): New functions.
3333 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
3334 call output_varpool.
3335 (input_varpool_node): Do not always set analyzed.
3336 (input_cgraph_1): Return vector of cgraph nodes.
3337 (input_varpool_1): Return vector of varpools.
3338 (input_cgraph): Free the vectors.
3339 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3340 output only initializers needed.
3341 (lto_output): Only call output_cgraph.
3342 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
3343 * lto-section-out.c (lto_new_out_decl_state): Initialize
3344 state->varpool_node_encoder.
3345 * lto-streamer.h (lto_varpool_encoder_d): New.
3346 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
3347 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
3348 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
3349 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
3350 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
3351 Declare.
3352 (output_varpool, input_varpool): Remove declarations.
3353
33542010-05-05 Jan Hubicka <jh@suse.cz>
3355
3356 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
3357 with body can prevail.
3358
33592010-05-05 Jan Hubicka <jh@suse.cz>
3360
3361 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
3362 size.
3363
33642010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3365
3366 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
3367
3368 * gengtype.h (erro_at_line): Constify pos argument.
3369
3370 * gengtype.c: Include hashtab.h.
3371 (enum gc_used): Document GC_MAYBE_POINTED_TO.
3372 (error_at_line): Constify pos argument.
3373 (do_typedef): Initialize p->opt field.
3374 (get_file_gtfilename): Fix comment typo.
3375 (struct walk_type_data): Constify line field.
3376 (get_output_file_for_structure): New function.
3377 (write_local_func_for_structure): Constify orig_s argument.
3378 Use get_output_file_for_structure.
3379 (write_func_for_structure): Use get_output_file_for_structure.
3380 (INDENT): New define.
3381 (dump_pair, dump_type, dump_type_list, dump_typekind)
3382 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
3383 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
3384 functions.
3385 (seen_types): New variable.
3386 (main): New variable do_dump. Process "-d" command line option.
3387 Call dump_everything if dump requested.
3388
33892010-05-05 Jakub Jelinek <jakub@redhat.com>
3390
3391 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
3392 in a temporary instead of invoking the macro multiple times.
3393 (track_expr_p): Likewise.
3394
33952010-05-04 Neil Vachharajani <nvachhar@google.com>
3396
3397 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
3398 per new semantics.
3399 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
3400 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
3401 conditions for printing notes.
3402 * common.opt (-Wcoverage-mismatch): Allow negative, default to
3403 true, update documentation.
3404 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
3405
34062010-05-04 Jakub Jelinek <jakub@redhat.com>
3407
3408 PR c/43981
3409 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
3410 on dimen.
3411
34122010-05-04 H.J. Lu <hongjiu.lu@intel.com>
3413
3414 PR target/43799
3415 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
3416 (*sse_prologue_save_insn1): Likewise.
3417 (SSE prologue save splitter): Likewise.
3418
34192010-05-04 Eric Botcazou <ebotcazou@adacore.com>
3420
3421 * tree.c (free_lang_data_in_one_sizepos): New inline function.
3422 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
3423 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
3424 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
3425 all decls. Call it on DECL_FIELD_OFFSET of fields.
3426 (find_decls_types_r): Follow DECL_VALUE_EXPR.
3427 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
3428
34292010-05-04 Martin Jambor <mjambor@suse.cz>
3430
3431 * tree-sra.c (build_access_from_expr_1): The first parameter type
3432 changed to simple tree.
3433 (build_access_from_expr): Likewise, gsi parameter was eliminated.
3434 (scan_assign_result): Renamed to assignment_mod_result, enum elements
3435 renamed as well.
3436 (build_accesses_from_assign): Removed all parameters except for a
3437 simple gimple statement. Now returns a simple bool.
3438 (scan_function): All non-analysis parts moved to separate functions
3439 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
3440 parameters and updated both callers.
3441 (sra_modify_expr): Removed parameter data.
3442 (sra_modify_function_body): New function.
3443 (perform_intra_sra): Call sra_modify_function_body to modify the
3444 function body.
3445 (replace_removed_params_ssa_names): Parameter data changed into
3446 adjustments vector.
3447 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
3448 changed the parameter dont_convert to convert with the opposite
3449 meaning.
3450 (sra_ipa_modify_assign): Parameter data changed into adjustments
3451 vector, return value changed to bool.
3452 (ipa_sra_modify_function_body): New function.
3453 (sra_ipa_reset_debug_stmts): Updated a comment.
3454 (modify_function): Use ipa_sra_modify_function_body to modify function
3455 body.
3456
34572010-05-04 H.J. Lu <hongjiu.lu@intel.com>
3458
3459 PR middle-end/43671
3460 * alias.c (true_dependence): Handle the same VALUE in x and mem.
3461 (canon_true_dependence): Likewise.
3462 (write_dependence_p): Likewise.
3463
34642010-05-04 Jan Hubicka <jh@suse.cz>
3465
3466 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
3467 * cgraphbuild.c: Include ipa-utils.h
3468 (record_reference_ctx): New struct.
3469 (record_reference): Simplify to work on initializers; not statements.
3470 (mark_address, mark_load, mark_store): New.
3471 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
3472 walk PHI nodes too.
3473 (record_references_in_initializer): Update use of record_reference.
3474 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
3475 walk PHI nodes too.
3476
34772010-05-04 Jan Hubicka <jh@suse.cz>
3478
3479 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
3480 node will be removed anyway.
3481 (lto_varpool_replace_node): Allow also unanalyzed nodes;
3482 relink aliases of node into prevailing node.
3483 * varpool.c (varpool_remove_node): Remove aliases properly;
3484 when removing node, remove all its aliases too; remove DECL_INITIAL
3485 of removed node; ggc_free the varpool node.
3486
34872010-05-04 Richard Guenther <rguenther@suse.de>
3488
3489 PR tree-optimization/43879
3490 * tree-ssa-structalias.c (alias_get_name): Use
3491 DECL_ASSEMBLER_NAME if available.
3492 (create_function_info_for): Return the varinfo node.
3493 (ipa_pta_execute): Associate same-body aliases and extra names
3494 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
3495
34962010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
3497
3498 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
3499
35002010-05-04 Mikael Pettersson <mikpe@it.uu.se>
3501
3502 PR bootstrap/43964
3503 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
3504 only if HONOR_REG_ALLOC_ORDER is not defined.
3505
35062010-05-04 Richard Guenther <rguenther@suse.de>
3507
3508 PR tree-optimization/43949
3509 * tree-vrp.c (extract_range_from_binary_expr): Only handle
3510 TRUNC_MOD_EXPR.
3511
35122010-04-26 Jason Merrill <jason@redhat.com>
3513
3514 * c.opt (-fstrict-enums): New.
3515 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
3516
35172010-05-03 David Ung <davidu@mips.com>
3518 James E. Wilson <wilson@codesourcery.com>
3519
3520 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
3521 emit the trap instruction before the divide for TUNE_74K.
3522
35232010-05-03 Steven Bosscher <steven@gcc.gnu.org>
3524
3525 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
3526 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
3527 based on the above, for new target hook.
3528
3529 * hooks.c (hook_bool_mode_true): New generic hook.
3530 * hooks.h (hook_bool_mode_true): Add prototype.
3531
3532 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
3533 target hook.
3534 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
3535 target hook, set to hook_bool_mode_false.
3536 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
3537 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
3538 with targetm.small_register_classes_for_mode_p.
3539 (find_reusable_reload): Likewise.
3540 (combine_reloads): Likewise.
3541 * reload1.c (reload_as_needed): Likewise.
3542 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
3543 * ifcvt.c (noce_process_if_block, check_cond_move_block,
3544 dead_or_predicable): Likewise.
3545 * regmove.c (optimize_reg_copy_1): Likewise.
3546 * calls.c (prepare_call_address): Likewise.
3547 (precompute_register_parameters): Likewise.
3548
3549 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
3550 hook definition.
3551 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
3552 implementation of the hook that considers all register classes
3553 small except for SH64.
3554 (sh_override_options): Use the new hook.
3555 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
3556 Add prototype.
3557
3558 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
3559 hook definition.
3560 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
3561 implementation of the hook that considers all register classes
3562 small for THUMB1.
3563 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
3564 Add prototype.
3565
3566 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
3567 hook definition.
3568 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
3569 implementation of the hook that considers all register classes
3570 small for MIPS16.
3571 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
3572 Add prototype.
3573
3574 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
3575 hook definition.
3576 * config/m32c/m32c.h: Likewise.
3577 * config/pdp11/pdp11.h: Likewise.
3578 * config/avr/avr.h: Likewise.
3579 * config/xtensa/xtensa.h: Likewise.
3580 * config/m68hc11/m68hc11.h: Likewise.
3581 * config/mn10300/mn10300.h: Likewise.
3582 * config/mcore/mcore.h: Likewise.
3583 * config/h8300/h8300.h: Likewise.
3584 * config/bfin/bfin.h: Likewise.
3585
3586 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
3587 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
3588
35892010-05-03 Anatoly Sokolov <aesok@post.ru>
3590
3591 * double-int.h (tree_to_double_int): Remove macro.
3592 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
3593 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
3594 (tree_to_double_int): New function.
3595 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
3596 Move ...
3597 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
3598
35992010-05-03 Richard Guenther <rguenther@suse.de>
3600
3601 PR tree-optimization/43971
3602 * tree-ssa-structalias.c (get_constraint_for_1): Fix
3603 constraints in the !flag_delete_null_pointer_checks case.
3604
36052010-05-03 Jakub Jelinek <jakub@redhat.com>
3606
3607 PR debug/43972
3608 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
3609 result mode matches original rtl mode.
3610
36112010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
3612
3613 PR target/43888
3614 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
3615
36162010-05-02 Uros Bizjak <ubizjak@gmail.com>
3617
3618 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
3619 when processing flag options.
3620
36212010-05-02 Uros Bizjak <ubizjak@gmail.com>
3622
3623 * gcov-iov.c (main): Change format string placeholder
3624 from %#08x to 0x%08x.
3625 * genchecksum.c (dosum): Change format string placeholder
3626 from %#02x to 0x%02x.
3627
36282010-05-02 Richard Guenther <rguenther@suse.de>
3629
3630 PR tree-optimization/43879
3631 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
3632
36332010-05-02 Bruno Haible <bruno@clisp.org>
3634
3635 * doc/extend.texi (Function Attributes): Fix a typo.
3636
36372010-05-02 Uros Bizjak <ubizjak@gmail.com>
3638
3639 Revert:
3640 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
3641 placeholder from 0x%x to %#x.
3642 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
3643 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
3644 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
3645 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
3646 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
3647 * config/i386/i386.c (ix86_target_string): Ditto.
3648 * config/i386/i386.c (output_pic_addr_const): Ditto.
3649 (print_operand): Ditto.
3650
36512010-05-02 Uros Bizjak <ubizjak@gmail.com>
3652
3653 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
3654 placeholder from 0x%x to %#x.
3655 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
3656 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
3657 (ASM_OUTPUT_DEBUG_DATA): Ditto.
3658 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
3659 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
3660 * optc-gen.awk: Ditto.
3661 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
3662 (HOST_WIDE_INT_PRINT_HEX): Ditto.
3663 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
3664 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
3665
36662010-05-01 Anatoly Sokolov <aesok@post.ru>
3667
3668 * target.h (struct calls): Add function_value_regno_p field.
3669 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
3670 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
3671 * targhooks.c (default_function_value_regno_p): New function.
3672 * targhooks.h (default_function_value_regno_p): Declare function.
3673 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
3674 * builtins.c. (apply_result_size): (Ditto.).
3675 * combine.c. (likely_spilled_retval_p): (Ditto.).
3676 * mode-switching.c. Include 'target.h'.
3677 (create_pre_exit): Use function_value_regno_p hook.
3678 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
3679 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
3680 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
3681
3682 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
3683 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
3684 (ix86_function_value_regno_p): Declare as static, change argument
3685 type to const unsigned int.
3686 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
3687
36882010-05-01 Richard Guenther <rguenther@suse.de>
3689
3690 PR tree-optimization/43949
3691 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
3692 types.
3693 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
3694
36952010-05-01 Anatoly Sokolov <aesok@post.ru>
3696
3697 * rtl.h (CONST_DOUBLE_P): Define.
3698 (rtx_to_double_int): Declare.
3699 * emit-rtl.c (rtx_to_double_int): New function.
3700 * dwarf2out.c (insert_double): New function.
3701 (loc_descriptor, add_const_value_attribute): Clean up, use
3702 rtx_to_double_int and insert_double functions.
3703
37042010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
3705
3706 * doc/extend.texi (Inline): Add missing return keyword to examples.
3707 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
3708 "command-line".
3709
37102010-04-30 Eric Botcazou <ebotcazou@adacore.com>
3711
3712 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
3713 the variable part of the offset as well. Use highest_pow2_factor for
3714 all alignment checks.
3715
37162010-04-30 Richard Guenther <rguenther@suse.de>
3717
3718 PR tree-optimization/43879
3719 * tree-ssa-structalias.c (type_could_have_pointers): Functions
3720 can have pointers.
3721
37222010-04-30 Jan Hubicka <jh@suse.cz>
3723
3724 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
3725 varpool.
3726 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
3727
37282010-04-30 Jan Hubicka <jh@suse.cz>
3729
3730 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
3731 New.
3732 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
3733 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
3734 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
3735 cgraph_node_set_needs_ltrans_p): Remove.
3736
37372010-04-30 Steven Bosscher <steven@gcc.gnu.org>
3738
3739 * sdbout.c: Include vec.h, do not include varray.h.
3740 (deferred_global_decls, sdbout_global_decl,
3741 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
3742 * toplev.c: Do not include varray.h.
3743 (dump_memory_report): Do not dump VARRAY statistics.
3744 * gengtype.c (open_base_file): Ignore varray.h.
3745 * Makefile.in: Update for abovementioned changes.
3746 Remove all traces of varray.c and varray.h.
3747 * varray.c: Remove file.
3748 * varray.h: Remove file.
3749
37502010-04-30 Jan Hubicka <jh@suse.cz>
3751
3752 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
3753 references.
3754
37552010-04-30 Jan Hubicka <jh@suse.cz>
3756
3757 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
3758 needed.
3759
37602010-04-30 Richard Guenther <rguenther@suse.de>
3761
3762 * tree-ssa-structalias.c (get_constraint_for_1): Generate
3763 constraints for CONSTRUCTOR.
3764
37652010-04-30 Richard Guenther <rguenther@suse.de>
3766
3767 PR lto/43946
3768 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
3769 first after all lowering passes.
3770
37712010-04-30 Steven Bosscher <steven@gcc.gnu.org>
3772
3773 * toplev.c: Include varray.h for statistics dumping.
3774 * tree.h: Do not declare varray_head_tag.
3775 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
3776 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
3777 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
3778 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
3779 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
3780 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
3781 c-common.c, c-common.h, reg-stack.c, basic-block.h,
3782 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
3783 include varray.h.
3784 * Makefile.in: Update for abovementioned changes.
3785
37862010-04-30 Jakub Jelinek <jakub@redhat.com>
3787
3788 PR debug/43942
3789 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
3790
37912010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
3792
3793 * config/picochip/picochip.c (picochip_legitimize_address): Define.
3794 Use this function to do machine-specific conversion.
3795 (picochip_legitimize_reload_address): Likewise.
3796 (picochip_legitimate_address_p): Check valid base register only if
3797 strict.
3798 (picochip_check_conditional_copy): Check for modw only if opnd is
3799 register.
3800 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
3801 to call the function in c.
3802 * config/picochip/picochip-protos.h
3803 (picochip_legitimize_reload_address): Define.
3804 * config/picochip/picochip.md (supported_compare1): Define.
3805
38062010-04-30 Jan Hubicka <jh@suse.cz>
3807
3808 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
3809 (cgraph_global_info): Remove inlined.
3810 (LTO_cgraph_tag_names): Remove.
3811 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
3812 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
3813 simplify cgraph tags and document.
3814 (lto_output_node): Use only LTO_cgraph_unavail_node and
3815 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
3816 for_functions_valid, global info, process and output flags.
3817 (input_overwrite_node): Initialize estimated stack size and
3818 estimated growth. Do not read flags we no longer store.
3819 (input_node): Likewise do not read info no longer stored.
3820 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
3821 flag.
3822
38232010-04-30 Richard Guenther <rguenther@suse.de>
3824
3825 PR tree-optimization/43879
3826 * tree-ssa-structalias.c (get_constraint_for_1): Properly
3827 handle non-zero initializers.
3828
38292010-04-30 Richard Guenther <rguenther@suse.de>
3830
3831 * builtins.c (fold_builtin_1): Delete free (0).
3832
38332010-04-29 Jan Hubicka <jh@suse.cz>
3834
3835 * gengtype.c (open_base_files): Add lto-streamer.h
3836 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
3837 (pass_ipa_cp): GGC collect.
3838 * toplev. (compile_file): Do not output symbols.
3839 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
3840 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
3841 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
3842 * lto-section-in.c: Include ggc.h
3843 (lto_new_in_decl_state): Alloc in GGC.
3844 (lto_delete_in_decl_state): Likewise.
3845 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
3846 Collect.
3847
38482010-04-29 Bernd Schmidt <bernds@codesourcery.com>
3849
3850 PR target/42895
3851 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
3852 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
3853 (HONOR_REG_ALLOC_ORDER): Describe new macro.
3854 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
3855 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
3856 account only if HONOR_REG_ALLOC_ORDER is not defined.
3857 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
3858 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
3859
38602010-04-29 Jon Grant <04@jguk.org>
3861
3862 * collect2.c (vflag): Change type from int to bool.
3863 (debug): Likewise.
3864 (helpflag): New global bool.
3865 (main): Set vflag and debug with boolean, not integer truth values.
3866 Accept new "--help" option and output usage text if found.
3867 * collect2.h (vflag): Update prototype.
3868 (debug): Likewise.
3869
38702010-04-29 H.J. Lu <hongjiu.lu@intel.com>
3871
3872 PR bootstrap/43936
3873 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
3874
38752010-04-29 Richard Guenther <rguenther@suse.de>
3876
3877 PR bootstrap/43935
3878 * plugin.h (invoke_plugin_callbacks): Annotate arguments
3879 with ATTRIBUTE_UNUSED.
3880
38812010-04-29 H.J. Lu <hongjiu.lu@intel.com>
3882
3883 PR target/43921
3884 * config/i386/i386.c (get_some_local_dynamic_name): Replace
3885 INSN_P with NONDEBUG_INSN_P.
3886 (distance_non_agu_define): Likewise.
3887 (distance_agu_use): Likewise.
3888
38892010-04-29 Bernd Schmidt <bernds@codesourcery.com>
3890
3891 From Dominique d'Humieres <dominiq@lps.ens.fr>
3892 PR bootstrap/43858
3893 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
3894 test_set.
3895
38962010-04-29 Brian Hackett <bhackett1024@gmail.com>
3897
3898 * plugin.h (invoke_plugin_callbacks): New inline function.
3899 * plugin.c (flag_plugin_added): New global flag.
3900 (add_new_plugin): Initialize above flag.
3901 (invoke_plugin_callbacks): Rename to ...
3902 (invoke_plugin_callbacks_full): ... this.
3903
39042010-04-28 Jan Hubicka <jh@suse.cz>
3905
3906 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
3907 (lto_varpool_replace_node): New.
3908 (lto_symtab_resolve_symbols): Resolve varpool nodes.
3909 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
3910 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
3911 * cgraph.h (varpool_node_ptr): New type.
3912 (varpool_node_ptr): New vector.
3913 (varpool_node_set_def): New structure.
3914 (varpool_node_set): New type.
3915 (varpool_node_set): New vector.
3916 (varpool_node_set_element_def): New structure.
3917 (varpool_node_set_element, const_varpool_node_set_element): New types.
3918 (varpool_node_set_iterator): New type.
3919 (varpool_node): Add prev pointers, add used_from_other_partition,
3920 in_other_partition.
3921 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
3922 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
3923 varpool_get_node, varpool_remove_node): Declare.
3924 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
3925 varpool_node_set_size): New inlines.
3926 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
3927 * tree-pass.h (varpool_node_set_def): Forward declare.
3928 (ipa_opt_pass_d): Summary writting takes vnode sets too.
3929 (ipa_write_optimization_summaries): Update prototype.
3930 * ipa-cp.c (ipcp_write_summary): Update.
3931 * ipa-reference.c (ipa_reference_write_summary): Update.
3932 * lto-cgraph.c (lto_output_varpool_node): New static function.
3933 (output_varpool): New function.
3934 (input_varpool_node): New static function.
3935 (input_varpool_1): New function.
3936 (input_cgraph): Input varpool.
3937 * ipa-pure-const.c (pure_const_write_summary): Update.
3938 * lto-streamer-out.c (lto_output): Update, output varpool too.
3939 (write_global_stream): Kill WPA hack.
3940 (produce_asm_for_decls): Update.
3941 (output_alias_pair_p): Handle variables.
3942 (output_unreferenced_globals): Output only needed partition of varpool.
3943 * ipa-inline.c (inline_write_summary): Update.
3944 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
3945 cgraph.
3946 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
3947 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
3948 varpool_node_set_new, varpool_node_set_add,
3949 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
3950 debug_varpool_node_set): New functions.
3951 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
3952 (execute_one_pass): Process new decls too.
3953 (ipa_write_summaries_2): Pass around vsets.
3954 (ipa_write_summaries_1): Likewise.
3955 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
3956 to add.
3957 (ipa_write_optimization_summaries_1): Pass around vsets.
3958 (ipa_write_optimization_summaries): Likewise.
3959 * varpool.c (varpool_get_node): New.
3960 (varpool_node): Update doubly linked lists.
3961 (varpool_remove_node): New.
3962 (dump_varpool_node): More dumping.
3963 (varpool_enqueue_needed_node): Update doubly linked lists.
3964 (decide_is_variable_needed): Kill ltrans hack.
3965 (varpool_finalize_decl): Kill lto hack.
3966 (varpool_assemble_decl): Skip decls in other partitions.
3967 (varpool_assemble_pending_decls): Update doubly linkes lists.
3968 (varpool_empty_needed_queue): Likewise.
3969 (varpool_extra_name_alias): Likewise.
3970 * lto-streamer.c (lto_get_section_name): Add vars section.
3971 * lto-streamer.h (lto_section_type): Update.
3972 (output_varpool, input_varpool): Declare.
3973
39742010-04-28 Mike Stump <mikestump@comcast.net>
3975
3976 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
3977
39782010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3979
3980 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
3981 record or union type with RECORD_OR_UNION_TYPE_P predicate.
3982 (lto_input_ts_type_tree_pointers): Likewise.
3983 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
3984 (lto_output_ts_type_tree_pointers): Likewise.
3985
39862010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3987
3988 Uniquization of constants at the Tree level
3989 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
3990 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
3991 bit to the end.
3992 (tree_output_constant_def): Declare.
3993 * gimplify.c (gimplify_init_constructor): When using block copy, first
3994 uniquize the constant constructor on the RHS.
3995 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
3996 DECL_IN_CONSTANT_POOL flag.
3997 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
3998 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
3999 constant pool.
4000 (assemble_variable): Deal with symbols belonging to the tree constant
4001 pool.
4002 (get_constant_section): Add ALIGN parameter and simplify.
4003 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
4004 (assemble_constant_contents): Use the expression of the VAR_DECL.
4005 (output_constant_def_contents): Use the alignment of the VAR_DECL.
4006 (tree_output_constant_def): New global function.
4007 (mark_constant): Use the expression of the VAR_DECL.
4008 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
4009 its expression.
4010 (output_object_block): Likewise and assemble the expression.
4011
40122010-04-28 Eric Botcazou <ebotcazou@adacore.com>
4013
4014 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
4015 hash_tree, eq_tree): New tree hash table.
4016 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
4017 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
4018 lto_orig_address_remove): Reimplement.
4019
40202010-04-28 Xinliang David Li <davidxl@google.com>
4021
4022 PR c/42643
4023 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
4024 (compute_uninit_opnds_pos): New function.
4025 (is_non_loop_exit_postdominating): New function.
4026 (compute_control_dep_chain): New function.
4027 (find_pdom): New function.
4028 (convert_control_dep_chain_into_preds): New function.
4029 (find_predicates): New function.
4030 (find_control_equiv_block): New function.
4031 (collect_phi_def_edges): New function.
4032 (find_def_preds): New function.
4033 (find_dom): New function.
4034 (dump_predicates): New function.
4035 (get_cmp_code): New function.
4036 (is_value_included_in): New function.
4037 (find_matching_predicate_in_rest_chains): New function.
4038 (use_pred_not_overlap_with_undef_path_pred): New function.
4039 (is_use_properly_guarded): New function.
4040 (normalize_cond_1): New function.
4041 (is_and_or_or): New function.
4042 (normalize_cond): New function.
4043 (is_gcond_subset_of): New function.
4044 (is_subset_of_any): New function.
4045 (is_or_set_subset_of): New function.
4046 (is_and_set_subset_of): New function.
4047 (is_norm_cond_subset_of): New function.
4048 (is_pred_expr_subset_of): New function.
4049 (is_pred_chain_subset_of): New function.
4050 (is_included_in): New function.
4051 (is_superset_of): New function.
4052 (find_uninit_use): New function.
4053 (warn_uninitialized_phi): New function.
4054 (compute_possibly_undefined_names): New function.
4055 (ssa_undefined_value_p): New function.
4056 (execute_late_warn_uninitialized): New function.
4057 * tree-ssa.c (ssa_undefined_value_p): Removed.
4058 (warn_uninit): Changed to extern.
4059 (warn_uninitialized_phi): Removed.
4060 (warn_uninitialized_vars): Changed to extern.
4061 (execute_late_warn_uninitialized): Removed
4062 * tree-flow.h: Add new prototypes.
4063 * timevar.def: Add new time variable.
4064 * Makefile.in: Add new build file.
4065
40662010-04-28 Uros Bizjak <ubizjak@gmail.com>
4067
4068 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
4069 type if available.
4070
40712010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4072
4073 PR target/22224
4074 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
4075
40762010-04-28 Martin Jambor <mjambor@suse.cz>
4077
4078 * cgraph.h (struct cgraph_node): New field indirect_calls.
4079 (struct cgraph_indirect_call_info): New type.
4080 (struct cgraph_edge): Removed field indirect_call. New fields
4081 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
4082 (cgraph_create_indirect_edge): Declare.
4083 (cgraph_make_edge_direct): Likewise.
4084 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
4085 * ipa-prop.h (struct ipa_param_call_note): Removed.
4086 (struct ipa_node_params): Removed field param_calls.
4087 (ipa_create_all_structures_for_iinln): Declare.
4088 * cgraph.c: Described indirect edges and uids in initial comment.
4089 (cgraph_add_edge_to_call_site_hash): New function.
4090 (cgraph_edge): Search also among the indirect edges, use
4091 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
4092 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
4093 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
4094 site hash.
4095 (initialize_inline_failed): Assign a reason to indirect edges.
4096 (cgraph_create_edge_1): New function.
4097 (cgraph_create_edge): Moved some functionality to
4098 cgraph_create_edge_1.
4099 (cgraph_create_indirect_edge): New function.
4100 (cgraph_edge_remove_callee): Add an assert checking for
4101 non-indirectness.
4102 (cgraph_edge_remove_caller): Special-case indirect edges.
4103 (cgraph_remove_edge): Likewise.
4104 (cgraph_set_edge_callee): New function.
4105 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
4106 (cgraph_make_edge_direct): New function.
4107 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
4108 the declaration of the call statement matches.
4109 (cgraph_node_remove_callees): Special-case indirect edges.
4110 (cgraph_clone_edge): Likewise.
4111 (cgraph_clone_node): Clone also the indirect edges.
4112 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
4113 indirect_call, dump count of indirect_calls edges.
4114 * ipa-prop.c (iinlining_processed_edges): New variable.
4115 (ipa_note_param_call): Create indirect edges instead of
4116 creating notes. New parameter node.
4117 (ipa_analyze_call_uses): New parameter node, pass it on to
4118 ipa_note_param_call.
4119 (ipa_analyze_stmt_uses): Likewise.
4120 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
4121 (print_edge_addition_message): Work on edges rather than on notes.
4122 (update_call_notes_after_inlining): Likewise, renamed to
4123 update_indirect_edges_after_inlining.
4124 (ipa_create_all_structures_for_iinln): New function.
4125 (ipa_free_node_params_substructures): Do not free notes.
4126 (ipa_edge_duplication_hook): Propagate bits within
4127 iinlining_processed_edges bitmap.
4128 (ipa_node_duplication_hook): Do not duplicate notes.
4129 (free_all_ipa_structures_after_ipa_cp): Renamed to
4130 ipa_free_all_structures_after_ipa_cp.
4131 (free_all_ipa_structures_after_iinln): Renamed to
4132 ipa_free_all_structures_after_iinln.
4133 (ipa_write_param_call_note): Removed.
4134 (ipa_read_param_call_note): Removed.
4135 (ipa_write_indirect_edge_info): New function.
4136 (ipa_read_indirect_edge_info): Likewise.
4137 (ipa_write_node_info): Do not stream notes, do stream information
4138 in indirect edges.
4139 (ipa_read_node_info): Likewise.
4140 (lto_ipa_fixup_call_notes): Removed.
4141 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
4142 * ipa-inline.c (pass_ipa_inline): Likewise.
4143 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
4144 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
4145 * tree-inline.c (copy_bb): Removed an unnecessary double check for
4146 is_gimple_call.
4147 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
4148 edges.
4149 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
4150 (output_cgraph): Stream also indirect edges.
4151 (lto_output_edge): Added capability to stream indirect edges.
4152 (input_edge): Likewise.
4153 (input_cgraph_1): Likewise.
4154 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
4155 of indirect edges.
4156
41572010-04-28 Richard Guenther <rguenther@suse.de>
4158
4159 PR tree-optimization/43879
4160 PR tree-optimization/43909
4161 * tree-ssa-structalias.c (struct variable_info): Add
4162 only_restrict_pointers flag.
4163 (new_var_info): Initialize it. Increment stats.total_vars here.
4164 (create_function_info_for): Do not increment stats.total_vars here.
4165 (get_function_part_constraint): Fix build with C++.
4166 (insert_into_field_list): Remove.
4167 (push_fields_onto_fieldstack): Properly merge fields.
4168 (create_variable_info_for): Split and simplify.
4169 (create_variable_info_for_1): New piece.
4170 (intra_create_variable_infos): Properly make restrict constraints
4171 from parameters.
4172
41732010-04-28 Richard Guenther <rguenther@suse.de>
4174
4175 PR c++/43880
4176 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
4177
41782010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
4179 Jan Hubicka <hubicka@ucw.cz>
4180
4181 * doc/invoke.texi (-Wsuggest-attribute=const,
4182 -Wsuggest-attribute=pure): Document.
4183 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
4184 (function_always_visible_to_compiler_p,
4185 suggest_attribute, warn_function_pure, warn_function_const):
4186 New functions.
4187 (check_call): Improve debug info.
4188 (analyze_function): Do not check availability.
4189 (add_new_function): Check availability.
4190 (propagate): Output warnings.
4191 (skip_function_for_local_pure_const): New function.
4192 (local_pure_const): Use it; output warnings.
4193 * common.opt (Wsuggest-attribute=const,
4194 Wsuggest-attribute=pure): New.
4195
41962010-04-27 Jakub Jelinek <jakub@redhat.com>
4197
4198 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
4199 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
4200 or DW_CFA_def_cfa_offset{,_sf}.
4201
42022010-04-27 Eric Botcazou <ebotcazou@adacore.com>
4203
4204 * tree.h: Fix truncated long macros.
4205
42062010-04-27 Kai Tietz <kai.tietz@onevision.com>
4207
4208 * collect2.c (TARGET_64BIT): Redefine to target's default.
4209 * tlink.c: Likewise.
4210 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
4211 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
4212 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
4213 for underscoring __USER_LABEL_PREFIX__.
4214 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
4215 (SUB_LINK_ENTRY32): New.
4216 (SUB_LINK_ENTRY64): New.
4217 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
4218 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
4219 (SUB_LINK_ENTRY64): New.
4220 (SUB_LINK_ENTRY): New.
4221 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
4222 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
4223 x64 target is choosen.
4224 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
4225 * configure: Regenerated.
4226 * configure.ac (leading-mingw64-underscores): Option added.
4227
42282010-04-27 Jan Hubicka <jh@suse.cz>
4229
4230 * doc/invoke.texi (-fipa-profile): Document.
4231 * opts.c (decode_options): Enable ipa-profile at -O1.
4232 * timevar.def (TV_IPA_PROFILE): Define.
4233 * common.opt (fipa-profile): Add.
4234 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
4235 flag for clones.
4236 (cgraph_propagate_frequency): Handle only local ones.
4237 * tree-pass.h (pass_ipa_profile): Declare.
4238 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
4239 (pass_ipa_profile): Use TV_IPA_PROFILE.
4240 * ipa.c (ipa_profile): New function.
4241 (gate_ipa_profile): Likewise.
4242 (pass_ipa_profile): New global variable.
4243 * passes.c (pass_ipa_profile): New.
4244
42452010-04-27 Nathan Froyd <froydnj@codesourcery.com>
4246
4247 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
4248
42492010-04-27 Martin Jambor <mjambor@suse.cz>
4250
4251 PR middle-end/43812
4252 * ipa.c (dissolve_same_comdat_group_list): New function.
4253 (function_and_variable_visibility): Call
4254 dissolve_same_comdat_group_list when comdat group contains external or
4255 newly local nodes.
4256 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
4257 lists are circular and that they contain only DECL_ONE_ONLY nodes.
4258
42592010-04-27 Eric Botcazou <ebotcazou@adacore.com>
4260
4261 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
4262 (const_hash_1) <VECTOR_CST>: New case.
4263 (compare_constant) <VECTOR_CST>: Likewise.
4264 <ADDR_EXPR>: Deal with LABEL_REFs.
4265 (copy_constant) <VECTOR_CST>: New case.
4266
42672010-04-27 Jan Hubicka <jh@suse.cz>
4268
4269 * cgraph.c (cgraph_propagate_frequency): New function.
4270 * cgraph.h (cgraph_propagate_frequency): Declare.
4271 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
4272 cgraph_propagate_frequency.
4273
42742010-04-27 Jakub Jelinek <jakub@redhat.com>
4275
4276 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
4277
42782010-04-27 Bernd Schmidt <bernds@codesourcery.com>
4279
4280 PR target/40657
4281 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
4282 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
4283 here to determine which regs to push and how much stack to reserve.
4284
42852010-04-27 Jie Zhang <jie@codesourcery.com>
4286
4287 * doc/gimple.texi (gimple_statement_with_ops): Remove
4288 addresses_taken field.
4289 (gimple_statement_with_memory_ops): Likewise.
4290
42912010-04-27 Jan Hubicka <jh@suse.cz>
4292
4293 * tree-inline.c (eni_inlining_weights): Remove.
4294 (estimate_num_insns): Special case more builtins.
4295
42962010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
4297
4298 PR c/32207
4299 * c-typeck.c (build_binary_op): Move forward check for comparison
4300 pointer with null pointer constant and adjust the diagnostic message.
4301
43022010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
4303
4304 PR lto/42776
4305 * configure.ac (gcc_cv_as_section_has_align): Set if installed
4306 binutils supports extended .section directive needed by LTO, or
4307 warn if older binutils found.
4308 (LTO_BINARY_READER): New AC_SUBST'd variable.
4309 (LTO_USE_LIBELF): Likewise.
4310 * gcc/config.gcc (lto_binary_reader): New target-specific configure
4311 variable.
4312 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
4313 (LTO_USE_LIBELF): Likewise.
4314 * configure: Regenerate.
4315
4316 * collect2.c (is_elf): Rename from this ...
4317 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
4318 object files in addition to ELF-formatted ones.
4319 (scan_prog_file): Caller updated. Also allow for LTO info marker
4320 symbol to be prefixed or not by an extra underscore.
4321
4322 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
4323 * config/i386/winnt.c: Also #include lto-streamer.h
4324 (i386_pe_asm_named_section): Specify 1-byte section alignment for
4325 LTO named sections.
4326 (i386_pe_asm_output_aligned_decl_common): Add comment.
4327 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
4328
43292010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
4330
4331 PR target/43889
4332 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
4333 Add missing earlyclobber for second alternative.
4334
43352010-04-26 Bernd Schmidt <bernds@codesourcery.com>
4336
4337 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
4338 bits for artificial defs at the top of the block.
4339 * fwprop.c (single_def_use_enter_block): Don't call it.
4340
43412010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
4342
4343 PR 43715
4344 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
4345 instead of "$gcc_cv_objdump -T".
4346 Use "-undefined dynamic_lookup" on darwin.
4347 * gcc/configure: Regenerate.
4348
43492010-04-26 Jakub Jelinek <jakub@redhat.com>
4350
4351 PR c/43893
4352 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
4353
43542010-04-26 Nathan Froyd <froydnj@codesourcery.com>
4355
4356 * c-parser.c (struct c_token): Move location field up.
4357 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
4358 (struct c_declspecs): Convert typespec_word, storage_class, and
4359 default_int_p into bitfields.
4360 (struct c_declarator): Move loc field up.
4361
43622010-04-26 Nathan Froyd <froydnj@codesourcery.com>
4363
4364 * cfgloop.h (struct loop): Move can_be_parallel field up.
4365 * ipa-prop.h (struct ip_node_params): Move bitfields up.
4366 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
4367 down.
4368 (struct iv_cand): Convert pos field into a bitfield.
4369 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
4370 field up.
4371 (struct _stmt_vec_info): Shuffle fields for better packing.
4372
43732010-04-26 Eric Botcazou <ebotcazou@adacore.com>
4374
4375 * varasm.c (IN_NAMED_SECTION): Remove guard.
4376 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
4377 (IN_NAMED_SECTION_P): ...this.
4378 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
4379 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
4380
43812010-04-26 Eric Botcazou <ebotcazou@adacore.com>
4382
4383 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
4384 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
4385 of shadowing it. Fix comments.
4386
43872010-04-26 Jan Hubicka <jh@suse.cz>
4388
4389 * cgraph.c (cgraph_create_node): Set node frequency to normal.
4390 (cgraph_clone_node): Copy function frequency.
4391 * cgraph.h (node_frequency): New enum
4392 (struct cgraph_node): Add.
4393 * final.c (rest_of_clean_state): Update.
4394 * lto-cgraph.c (lto_output_node): Output node frequency.
4395 (input_overwrite_node): Input node frequency.
4396 * tre-ssa-loop-ivopts (computation_cost): Update.
4397 * lto-streamer-out.c (output_function): Do not output function
4398 frequency.
4399 * predict.c (maybe_hot_frequency_p): Update and handle functions
4400 executed once.
4401 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
4402 attribute lookup.
4403 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
4404 (compute_function_frequency): Set noreturn functions to be executed
4405 once.
4406 (choose_function_section): Update.
4407 * lto-streamer-in.c (input_function): Do not input function frequency.
4408 * function.c (allocate_struct_function): Do not initialize function
4409 frequency.
4410 * function.h (function_frequency): Remove.
4411 (struct function): Remove function frequency.
4412 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
4413 (try_update): Update.
4414 * tree-inline.c (initialize_cfun): Do not update function frequency.
4415 * passes.c (pass_init_dump_file): Update.
4416 * i386.c (ix86_compute_frame_layout): Update.
4417 (ix86_pad_returns): Update.
4418
44192010-04-26 Jie Zhang <jie@codesourcery.com>
4420
4421 PR tree-optimization/43833
4422 * tree-vrp.c (range_int_cst_p): New.
4423 (range_int_cst_singleton_p): New.
4424 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
4425 when both operands are constants. Use range_int_cst_p in
4426 BIT_IOR_EXPR case.
4427
44282010-04-26 Jan Hubicka <jh@suse.cz>
4429
4430 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
4431
44322010-04-26 Richard Guenther <rguenther@suse.de>
4433
4434 PR lto/43080
4435 * gimple.c (gimple_decl_printable_name): Deal gracefully
4436 with a NULL DECL_NAME.
4437
44382010-04-26 Richard Guenther <rguenther@suse.de>
4439
4440 PR lto/42425
4441 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
4442 if emitting debug information and it is either a function
4443 or a namespace decl.
4444
44452010-04-26 Ira Rosen <irar@il.ibm.com>
4446
4447 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
4448 determine if the statement is vectorizable, and a macro to access it.
4449 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
4450 Skip statements that can't be vectorized. If the analysis fails,
4451 mark the statement as unvectorizable if vectorizing basic block.
4452 (vect_compute_data_refs_alignment): Likewise.
4453 (vect_verify_datarefs_alignment): Skip statements marked as
4454 unvectorizable. Add print.
4455 (vect_analyze_group_access): Skip statements that can't be
4456 vectorized. If the analysis fails, mark the statement as
4457 unvectorizable if vectorizing basic block.
4458 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
4459 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4460 generated stmts for SLP.
4461 (new_stmt_vec_info): Initialize the new field.
4462 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4463 statements marked as unvectorizable.
4464
44652010-04-25 Joseph Myers <joseph@codesourcery.com>
4466
4467 * c-common.c (flag_isoc1x): New.
4468 (flag_isoc99): Update comment.
4469 * c-common.h (flag_isoc1x): New.
4470 (flag_isoc99): Update comment.
4471 * c-cppbuiltin.c (builtin_define_float_constants): Also define
4472 __<type>_DECIMAL_DIG__.
4473 * c-opts.c (set_std_c1x): New.
4474 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
4475 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
4476 * c.opt (-std=c1x, -std=gnu1x): New options.
4477 * doc/cpp.texi: Mention -std=c1x.
4478 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
4479 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
4480 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
4481 * doc/standards.texi: Mention C1X.
4482 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
4483 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
4484 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
4485 Define for C1X.
4486
44872010-04-25 Uros Bizjak <ubizjak@gmail.com>
4488
4489 * config/i386/gmon-sol2.c (_mcleanup): Change format string
4490 placeholder from 0x%x to %#x.
4491 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
4492 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
4493 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
4494 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
4495 * config/i386/i386.c (ix86_target_string): Ditto.
4496 (output_pic_addr_const): Ditto.
4497 (print_operand): Ditto.
4498
44992010-04-25 Paolo Bonzini <bonzini@gnu.org>
4500
4501 * combine.c (find_split_point): Add third argument. Use it
4502 to find nested multiply-accumulate instructions. Adjust calls.
4503 (try_combine): Adjust call to find_split_point.
4504
45052010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
4506
4507 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
4508
45092010-04-24 Bernd Schmidt <bernds@codesourcery.com>
4510
4511 PR tree-optimization/41442
4512 * fold-const.c (merge_truthop_with_opposite_arm): New function.
4513 (fold_binary_loc): Call it.
4514
45152010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
4516
4517 * toplev.c (general_init): Set default for fdiagnostics-show-option.
4518 * opts.c (common_handle_option): Allow disabling it.
4519 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
4520
45212010-04-23 Eric Botcazou <ebotcazou@adacore.com>
4522
4523 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
4524 between modes if both types are integral.
4525
45262010-04-23 Richard Guenther <rguenther@suse.de>
4527
4528 PR tree-optimization/43572
4529 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
4530
45312010-04-23 Richard Guenther <rguenther@suse.de>
4532
4533 PR lto/43455
4534 * tree-inline.c (tree_can_inline_p): Also check compatibility
4535 of return types.
4536
45372010-04-23 Martin Jambor <mjambor@suse.cz>
4538
4539 PR tree-optimization/43846
4540 * tree-sra.c (struct access): New flag grp_assignment_read.
4541 (build_accesses_from_assign): Set grp_assignment_read.
4542 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
4543 (enum mark_read_status): New type.
4544 (analyze_access_subtree): Propagate grp_assignment_read, create
4545 accesses also if both direct_read and root->grp_assignment_read.
4546
45472010-04-23 Martin Jambor <mjambor@suse.cz>
4548
4549 PR middle-end/43835
4550 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
4551 function does not have type attributes.
4552
45532010-04-23 Richard Guenther <rguenther@suse.de>
4554
4555 PR lto/42653
4556 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
4557 of FUNCTION_DECLs.
4558
45592010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4560
4561 * sese.h (create_if_region_on_edge): Remove.
4562
4563 * sese.c (create_if_region_on_edge): Make static.
4564
4565 * tree-inline.c: Do not include ggc.h.
4566
4567 * expr.c: Do not include ggc.h.
4568
4569 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
4570 dependencies.
4571
45722010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
4573
4574 PR target/43744
4575 * config/sh/sh.c (find_barrier): Don't emit a constant pool
4576 in the middle of insns for casesi_worker_2.
4577
45782010-04-22 David Edelsohn <edelsohn@gnu.org>
4579
4580 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
4581
45822010-04-22 Ira Rosen <irar@il.ibm.com>
4583
4584 PR tree-optimization/43842
4585 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
4586 loop unrolling in update of exit phis. Fix comment.
4587 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
4588 least two reduction statements in the loop before starting SLP
4589 analysis.
4590
45912010-04-22 Nick Clifton <nickc@redhat.com>
4592
4593 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
4594
45952010-04-22 Alexander Monakov <amonakov@ispras.ru>
4596
4597 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
4598 to simplify a + ~a.
4599
46002010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4601
4602 * tree-parloops.c (loop_parallel_p): New argument
4603 parloop_obstack. Pass it down.
4604 (parallelize_loops): New variable parloop_obstack. Initialize it,
4605 pass it down, free it.
4606
4607 * tree-loop-linear.c (linear_transform_loops): Pass down
4608 lambda_obstack.
4609
4610 * tree-data-ref.h (lambda_compute_access_matrices): New argument
4611 of type struct obstack *.
4612
4613 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
4614 scratch_obstack. Initialize it, pass down, free it.
4615
4616 * lambda.h (lambda_loop_new): Remove.
4617 (lambda_matrix_new, lambda_matrix_inverse)
4618 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
4619 argument of type struct obstack *.
4620
4621 * lambda-trans.c (lambda_trans_matrix_new): New argument
4622 lambda_obstack. Pass it down, use obstack allocation for ret.
4623 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
4624 it down.
4625
4626 * lambda-mat.c (lambda_matrix_get_column)
4627 (lambda_matrix_project_to_null): Remove.
4628 (lambda_matrix_new): New argument lambda_obstack. Use obstack
4629 allocation for mat.
4630 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
4631 lambda_obstack.
4632
4633 * lambda-code.c (lambda_loop_new): New function.
4634 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
4635 (lambda_compute_auxillary_space, lambda_compute_target_space)
4636 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
4637 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
4638 (build_access_matrix): New argument lambda_obstack. Use obstack
4639 allocation for am.
4640 (lambda_compute_step_signs, lambda_compute_access_matrices): New
4641 argument lambda_obstack. Pass it down.
4642
46432010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4644
4645 * optabs.h (expand_widening_mult): Declare.
4646
46472010-04-22 Richard Guenther <rguenther@suse.de>
4648
4649 PR tree-optimization/43845
4650 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
4651 lookup the CALL_EXPR function and arguments.
4652
46532010-04-22 Nick Clifton <nickc@redhat.com>
4654
4655 * config/stormy16/stormy16.c
4656 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
4657 * config/stormy16/stormy16.h: Tidy up formatting.
4658 (DONT_USE_BUILTIN_SETJMP): Remove definition.
4659 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
4660 (ineqbranchsi): Delete pattern.
4661 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
4662 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
4663 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
4664 stormy16-lib2-ucmpsi2.c.
4665
46662010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4667
4668 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
4669 df_simulate_find_noclobber_defs as appropriate. Keep track of an
4670 extra set merge_set_noclobber, and use it to relax the final test
4671 slightly.
4672 * df.h (df_simulate_find_noclobber_defs): Declare.
4673 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
4674 conditional defs.
4675 (df_simulate_find_noclobber_defs): New function.
4676
46772010-04-22 Uros Bizjak <ubizjak@gmail.com>
4678
4679 * config/i386/i386.md: Use {} around multi-line preparation statements.
4680
46812010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4682
4683 * c-tree.h (push_init_level, pop_init_level, set_init_index)
4684 (process_init_element): New argument of type struct obstack *.
4685
4686 * c-typeck.c (push_init_level, pop_init_level, set_designator)
4687 (set_init_index, set_init_label, set_nonincremental_init)
4688 (set_nonincremental_init_from_string, find_init_member)
4689 (output_init_element, output_pending_init_elements)
4690 (process_init_element): New argument braced_init_obstack. Pass it
4691 down.
4692 (push_range_stack, add_pending_init): New argument
4693 braced_init_obstack. Use obstack allocation.
4694
4695 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
4696 braced_init_obstack. Pass it down.
4697 (c_parser_braced_init): New variables ret, braced_init_obstack.
4698 Initialize obstack, pass it down and finally free it.
4699
47002010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4701
4702 PR middle-end/29274
4703 * tree-pass.h (pass_optimize_widening_mul): Declare.
4704 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
4705 gate_optimize_widening_mul): New static functions.
4706 (pass_optimize_widening_mul): New.
4707 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
4708 <case MULT_EXPR>: Remove support for widening multiplies.
4709 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
4710 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
4711 simplify_gen_unary rather than directly building extensions.
4712 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
4713 WIDEN_MULT_EXPR.
4714 * expmed.c (expand_widening_mult): New function.
4715 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
4716
47172010-04-21 Jan Hubicka <jh@suse.cz>
4718
4719 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
4720 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
4721 * lto-wpa-fixup.c: Remove.
4722 * Makefile.in (lto-wpa-fixup.o): Remove.
4723 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
4724 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
4725 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
4726
47272010-04-21 Jan Hubicka <jh@suse.cz>
4728
4729 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
4730 add write_optimization_summary, read_optimization_summary.
4731 (ipa_write_summaries_of_cgraph_node_set): Remove.
4732 (ipa_write_optimization_summaries): Declare.
4733 (ipa_read_optimization_summaries): Declare.
4734 * ipa-cp.c (pass_ipa_cp): Update.
4735 * ipa-reference.c (pass_ipa_reference): Update.
4736 * ipa-pure-const.c (pass_ipa_pure_const): Update.
4737 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
4738 Update.
4739 * ipa-inline.c (pass_ipa_inline): Update.
4740 * ipa.c (pass_ipa_whole_program): Update.
4741 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
4742 * passes.c (ipa_write_summaries_1): Do not test wpa.
4743 (ipa_write_optimization_summaries_1): New.
4744 (ipa_write_optimization_summaries): New.
4745 (ipa_read_summaries): Do not test ltrans.
4746 (ipa_read_optimization_summaries_1): New.
4747 (ipa_read_optimization_summaries): New.
4748
47492010-04-21 Jan Hubicka <jh@suse.cz>
4750
4751 * lto-cgraph.c (lto_output_node): Do not output comdat groups
4752 for boundary nodes.
4753 (output_cgraph): Do not arrange comdat groups for boundary nodes.
4754
47552010-04-21 Jakub Jelinek <jakub@redhat.com>
4756
4757 PR debug/40040
4758 * dwarf2out.c (add_name_and_src_coords_attributes): Add
4759 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
4760
47612010-04-21 Jan Hubicka <jh@suse.cz>
4762
4763 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
4764
47652010-04-21 Jan Hubicka <jh@suse.cz>
4766
4767 * varpool.c (decide_is_variable_needed): Variable is always needed
4768 during ltrans.
4769
47702010-04-21 Jan Hubicka <jh@suse.cz>
4771
4772 * opts.c (decode_options): Enable pure-const pass for whopr.
4773
47742010-04-21 Jan Hubicka <jh@suse.cz>
4775
4776 * cgraph.c (dump_cgraph_node): Dump also assembler name.
4777 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
4778 at WPA dumping.
4779 (cgraph_decide_inlining): Do not expect callee to be removed in all
4780 cases.
4781
47822010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
4783
4784 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
4785
47862010-04-21 Uros Bizjak <ubizjak@gmail.com>
4787
4788 * config/i386/i386.md (x86_shrd): Add athlon_decode and
4789 amdfam10_decode attributes.
4790
47912010-04-21 Jakub Jelinek <jakub@redhat.com>
4792
4793 PR middle-end/43570
4794 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
4795 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
4796 (lower_copyprivate_clauses): Use private var in outer
4797 context instead of original var. Make sure the types
4798 are correct for VLAs.
4799
48002010-04-21 Richard Guenther <rguenther@suse.de>
4801
4802 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
4803 to non-pointer objects.
4804
48052010-04-21 Jakub Jelinek <jakub@redhat.com>
4806
4807 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
4808 last chain entry if it starts with the still current label.
4809 (add_location_or_const_value_attribute): Check that
4810 loc_list->first->next is NULL instead of comparing ->first with ->last.
4811 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
4812 to add_var_loc_to_decl.
4813
4814 * dwarf2out.c (output_call_frame_info): For dw_cie_version
4815 >= 4 add also address size and segment size fields into CIE header.
4816
4817 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
4818 long as address size is the same as sizeof (void *) and
4819 segment size is 0.
4820 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
4821 address size or segment size is unexpected, return DW_EH_PE_omit.
4822 (classify_object_over_fdes): If get_cie_encoding returned
4823 DW_EH_PE_omit, return -1.
4824 (init_object): If classify_object_over_fdes returned -1,
4825 pretend there were no FDEs at all.
4826
48272010-04-21 Uros Bizjak <ubizjak@gmail.com>
4828
4829 * config/i386/i386.md (bswap<mode>2): Macroize expander from
4830 bswap{si,di}2 using SWI48 mode iterator.
4831 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
4832 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
4833 set modrm attribute of bswap insn to 0 and remove length attribute.
4834 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
4835 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
4836 set mode attribute to <MODE> and remove length attribute.
4837
48382010-04-20 James E. Wilson <wilson@codesourcery.com>
4839
4840 PR rtl-optimization/43520
4841 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
4842 zero available registers.
4843
48442010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4845
4846 * builtins.c (fold_builtin_cproj): Fold more cases.
4847
48482010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4849
4850 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
4851 (fold_builtin_1): Fold builtin cproj.
4852 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
4853 Use ATTR_CONST_NOTHROW_LIST.
4854
48552010-04-20 Uros Bizjak <ubizjak@gmail.com>
4856
4857 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
4858 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
4859 ffsi2_no_cmove for !TARGET_CMOVE.
4860 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
4861 (ffssi2): Remove expander.
4862 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
4863 mode iterator.
4864 (ctz<mode>2): Ditto from ctz{si,di}2.
4865 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
4866 mode iterator.
4867 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
4868 mode iterator.
4869
48702010-04-20 Jakub Jelinek <jakub@redhat.com>
4871
4872 * dwarf2out.c (AT_linkage_name): Define.
4873 (clone_as_declaration): Handle DW_AT_linkage_name.
4874 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
4875 of DW_AT_MIPS_linkage_name.
4876 (move_linkage_attr): Likewise.
4877 (dwarf2out_finish): Likewise.
4878
48792010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
4880
4881 PR middle-end/41952
4882 * fold-const.c (fold_comparison): New folding rule.
4883
48842010-04-20 Anatoly Sokolov <aesok@post.ru>
4885
4886 * double-int.h (double_int_setbit): Declare.
4887 * double-int.c (double_int_setbit): New function.
4888 * rtl.h (immed_double_int_const): Declare.
4889 * emit-rtl.c (immed_double_int_const): New function.
4890 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
4891 and immed_double_int_const functions.
4892 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
4893 expand_copysign_bit): (Ditto.).
4894 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
4895 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
4896 * dojump.c (prefer_and_bit_test): (Ditto.).
4897 * expr.c (convert_modes, reduce_to_bit_field_precision,
4898 const_vector_from_tree): (Ditto.).
4899 * expmed.c (mask_rtx, lshift_value): (Ditto.).
4900
49012010-04-20 Jan Hubicka <jh@suse.cz>
4902
4903 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
4904 (dump_cgraph_node): Dump new flags.
4905 * cgraph.h (struct cgraph_node): Add flags
4906 reachable_from_other_partition and in_other_partition.
4907 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
4908 other partition can not be removed.
4909 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
4910 the other partition must be output; silence sanity checking on
4911 leaking functions bodies from other paritition.
4912 * lto-cgraph.c (reachable_from_other_partition_p): New function.
4913 (lto_output_node): Output new flags; do not sanity check that inline
4914 clones are output; drop lto_forced_extern_inline_p code; do not mock
4915 visibility flags at partition boundaries.
4916 (add_node_to): New function.
4917 (output_cgraph): Use it to sort functions so masters appear before
4918 clones.
4919 (input_overwrite_node): Input new flags.
4920 * passes.c (ipa_write_summaries): Do not call
4921 lto_new_extern_inline_states.
4922 * lto-section-out.c (forced_extern_inline,
4923 lto_new_extern_inline_states lto_delete_extern_inline_states,
4924 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
4925 * lto-streamer.h (lto_new_extern_inline_states,
4926 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
4927 lto_forced_extern_inline_p): Kill.
4928
49292010-04-20 Richard Guenther <rguenther@suse.de>
4930
4931 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
4932 from vars that can have pointers.
4933 (process_constraint): Dump useless constraints.
4934
49352010-04-20 Richard Guenther <rguenther@suse.de>
4936
4937 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
4938 (dump_sa_points_to_info): Remove asserts.
4939 (init_base_vars): nothing_id isn't an escape point nor does it
4940 have pointers.
4941
49422010-04-20 Jakub Jelinek <jakub@redhat.com>
4943
4944 * tree.h (TYPE_REF_IS_RVALUE): Define.
4945 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
4946 should_move_die_to_comdat, prune_unused_types_walk): Handle
4947 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
4948 (modified_type_die, gen_reference_type_die): Emit
4949 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
4950 if TYPE_REF_IS_RVALUE and -gdwarf-4.
4951
49522010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4953
4954 PR target/43635
4955 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
4956 calls for -fpic -m31 if they have been sibcall optimized.
4957
49582010-04-19 James E. Wilson <wilson@codesourcery.com>
4959
4960 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
4961 ar.lc fixed and call-used.
4962
4963 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
4964
49652010-04-19 Jan Hubicka <jh@suse.cz>
4966
4967 * opts.c (decode_options): Disable whpr incompatible passes.
4968 * lto/lto.c (lto_1_to_1_map): Skip clones.
4969 (read_cgraph_and_symbols): Do not mark everything as needed.
4970 (do_whole_program_analysis): Do map only after optimizing;
4971 set proper cgraph_state; use passmanager.
4972
49732010-04-19 DJ Delorie <dj@redhat.com>
4974
4975 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
4976 POINTER_PLUS_EXPR and fix them.
4977
49782010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
4979
4980 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
4981 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
4982 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
4983 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
4984 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
4985 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
4986 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
4987 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
4988 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
4989 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
4990 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
4991
49922010-04-19 Eric Botcazou <ebotcazou@adacore.com>
4993
4994 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
4995 (check_cond_move_block): Likewise.
4996 (cond_move_process_if_block): Likewise.
4997 (noce_find_if_block): Improve formatting.
4998 (find_if_header): Pass 0 to memset and tweak conditions.
4999 (cond_exec_find_if_block): Fix long lines and tweak conditions.
5000
50012010-04-19 Jakub Jelinek <jakub@redhat.com>
5002
5003 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
5004 for -gdwarf-4.
5005
5006 PR middle-end/43337
5007 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
5008 with non-local decl doesn't need chain.
5009
50102010-04-19 Vladimir Makarov <vmakarov@redhat.com>
5011
5012 * ira-color.c (allocno_reload_assign): Avoid accumulating
5013 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
5014
50152010-04-19 Martin Jambor <mjambor@suse.cz>
5016
5017 * gimple.h (create_tmp_reg): Declare.
5018 * gimplify.c (create_tmp_reg): New function.
5019 (gimplify_return_expr): Use create_tmp_reg.
5020 (gimplify_omp_atomic): Likewise.
5021 (gimple_regimplify_operands): Likewise.
5022 * tree-dfa.c (make_rename_temp): Likewise.
5023 * tree-predcom.c (predcom_tmp_var): Likewise.
5024 (reassociate_to_the_same_stmt): Likewise.
5025 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
5026 (get_replaced_param_substitute): Likewise.
5027 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
5028 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
5029 * tree-ssa-pre.c (get_representative_for): Likewise.
5030 (create_expression_by_pieces): Likewise.
5031 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
5032 (create_tailcall_accumulator): Likewise.
5033
50342010-04-19 Martin Jambor <mjambor@suse.cz>
5035
5036 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
5037 new_stmt.
5038 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
5039
50402010-04-19 Richard Guenther <rguenther@suse.de>
5041
5042 PR tree-optimization/43796
5043 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
5044 from SCEV in the lattice.
5045 (vrp_visit_phi_node): Dump change.
5046
50472010-04-19 Richard Guenther <rguenther@suse.de>
5048
5049 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
5050 * configure: Re-generated.
5051
50522010-04-19 Richard Guenther <rguenther@suse.de>
5053
5054 PR tree-optimization/43783
5055 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
5056 constant ARRAY_REF operands two and three if possible.
5057
50582010-04-19 Uros Bizjak <ubizjak@gmail.com>
5059
5060 PR target/43766
5061 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
5062
50632010-04-19 Jie Zhang <jie@codesourcery.com>
5064
5065 PR target/43662
5066 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
5067
50682010-04-19 Ira Rosen <irar@il.ibm.com>
5069
5070 PR tree-optimization/37027
5071 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
5072 and macro to access it.
5073 (vectorizable_reduction): Add argument.
5074 (vect_get_slp_defs): Likewise.
5075 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
5076 statements for possible use in SLP.
5077 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
5078 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
5079 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
5080 add new argument.
5081 (vectorizable_reduction): Likewise.
5082 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
5083 vect_get_slp_defs.
5084 (vectorizable_type_demotion, vectorizable_type_promotion,
5085 vectorizable_store): Likewise.
5086 (vect_analyze_stmt): Update call to vectorizable_reduction.
5087 (vect_transform_stmt): Likewise.
5088 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
5089 (vect_build_slp_tree): Fix indentation. Check that there are no loads
5090 from different interleaving chains in same node.
5091 (vect_slp_rearrange_stmts): New function.
5092 (vect_supported_load_permutation_p): Allow load permutations for
5093 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
5094 inside SLP nodes if necessary.
5095 (vect_analyze_slp_instance): Handle reductions.
5096 (vect_analyze_slp): Try to build SLP instances originating from groups
5097 of reductions.
5098 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
5099 (vect_get_constant_vectors): Create initial vectors for reductions
5100 according to reduction code. Add new argument.
5101 (vect_get_slp_defs): Add new argument, pass it to
5102 vect_get_constant_vectors.
5103 (vect_schedule_slp_instance): Remove SLP tree root statements.
5104
51052010-04-19 Jakub Jelinek <jakub@redhat.com>
5106
5107 * tree.h (ENUM_IS_SCOPED): Define.
5108 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
5109 for ENUM_IS_SCOPED enums.
5110
51112010-04-18 Eric Botcazou <ebotcazou@adacore.com>
5112
5113 * fold-const.c (fold_comparison): Use ssizetype.
5114 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
5115 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
5116 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
5117 * tree-object-size.c (compute_object_sizes): Use size_type_node.
5118
5119 * tree.h (initialize_sizetypes): Remove parameter.
5120 (build_common_tree_nodes): Remove second parameter.
5121 * stor-layout.c (initialize_sizetypes): Remove parameter.
5122 Always create an unsigned type.
5123 (set_sizetype): Assert that the passed type is unsigned and simplify.
5124 * tree.c (build_common_tree_nodes): Remove second parameter.
5125 Adjust call to initialize_sizetypes.
5126 * c-decl.c (c_init_decl_processing): Remove second argument in call to
5127 build_common_tree_nodes.
5128
51292010-04-18 Matthias Klose <doko@ubuntu.com>
5130
5131 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
5132
51332010-04-18 Ira Rosen <irar@il.ibm.com>
5134
5135 PR tree-optimization/43771
5136 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
5137 load permutation doesn't have gaps.
5138
51392010-04-18 Jan Hubicka <jh@suse.cz>
5140
5141 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
5142 (sse_prologue_save_insn expander): Use new pattern.
5143 (sse_prologue_save_insn1): New pattern and splitter.
5144 (sse_prologue_save_insn): Update to deal also with 64bit aligned
5145 blocks.
5146 * i386.c (setup_incoming_varargs_64): Do not compute jump
5147 destination here.
5148 (ix86_gimplify_va_arg): Update alignment needed.
5149 (ix86_local_alignment): Do not align all local arrays to 128bit.
5150
51512010-04-17 Jan Hubicka <jh@suse.cz>
5152
5153 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
5154
51552010-04-17 Richard Earnshaw <rearnsha@arm.com>
5156
5157 * arm.md (negdi2): Remove redundant code to force values into a
5158 register.
5159
51602010-04-17 Richard Earnshaw <rearnsha@arm.com>
5161
5162 * arm/bpabi.S: Add EABI alignment attributes to objects.
5163 * arm/bpabi-v6m.S: Likewise.
5164 * arm/crti.asm: Likewise.
5165 * arm/crtn.asm: Likewise.
5166 * arm/lib1funcs.asm: Likewise.
5167 * arm/libunwind.S: Likewise.
5168
51692010-04-17 Richard Earnshaw <rearnsha@arm.com>
5170
5171 * arm-protos.h (tune_params): New structure.
5172 * arm.c (current_tune): New variable.
5173 (arm_constant_limit): Delete.
5174 (struct processors): Add pointer to the tune parameters.
5175 (arm_slowmul_tune): New tuning option.
5176 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
5177 (all_cores): Adjust to pick up the tuning model.
5178 (arm_constant_limit): New function.
5179 (arm_override_options): Select the appropriate tuning model. Delete
5180 initialization of arm_const_limit.
5181 (arm_split_constant): Use the new constant-limit model.
5182 (arm_rtx_costs): Pick up the current tuning model.
5183 * arm.md (is_strongarm, is_xscale): Delete.
5184 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
5185 for Xscale variant architectures.
5186 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
5187
51882010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5189
5190 * config/arm/arm.c (arm_gen_constant): Remove unused variable
5191 can_shift.
5192 (arm_rtx_costs_1): Remove unused variable extra_cost.
5193 (arm_unwind_emit_set): Use variable offset.
5194 (thumb1_output_casesi): Remove unused variable flags.
5195
51962010-04-16 Jeff Law <law@redhat.com>
5197
5198 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
5199 needing assignment rather than doing a two-phase assignment. Remove
5200 unused variable 'm'.
5201
52022010-04-16 Jakub Jelinek <jakub@redhat.com>
5203
5204 PR bootstrap/43767
5205 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
5206
52072010-04-16 Doug Kwan <dougkwan@google.com>
5208
5209 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
5210 (next_operand_entry_id): New static variable.
5211 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
5212 (add_to_ops_vec): Assigned unique ID to operand entry.
5213 (struct oecount_s): New field ID.
5214 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
5215 (undistribute_ops_list): Assign unique IDs to oecounts.
5216 (init_reassoc): reset next_operand_entry_id.
5217
52182010-04-16 Doug Kwan <dougkwan@google.com>
5219
5220 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
5221 missing left parenthesis.
5222
52232010-04-16 Uros Bizjak <ubizjak@gmail.com>
5224
5225 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
5226 *btdi_rex64 using SWI48 mode iterator.
5227 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
5228 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
5229 *jcc_btdi_mask_rex64.
5230
52312010-04-16 Anatoly Sokolov <aesok@post.ru>
5232
5233 * double-int.h (tree_to_double_int): Convert to macro.
5234 * double-int.c (tree_to_double_int): Remove.
5235
52362010-04-16 Jakub Jelinek <jakub@redhat.com>
5237
5238 PR debug/43762
5239 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
5240 with want_address 2 and in case a single element list might be
5241 possible, call it again with want_address 0.
5242
52432010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
5244
5245 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
5246 case 'W' print operands for HI mode.
5247 * config/h8300/h8300.h (Y0, Y2) : New constraints.
5248 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
5249 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
5250 * config/h8300/predicate.md (bit_register_indirect_operand): New.
5251
5252 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
5253
5254 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
5255 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
5256 #xx:3 and #xx:4 mode.
5257
5258 * config/h8300/h8300.md (inverted load with HImode dest): Add
5259 support for H8300SX.
5260
5261 * config/h8300/predicate.md (bit_operand): Allow immediate values that
5262 satisfy 'U' constraint.
5263
52642010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5265
5266 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
5267 * configure: Regenerate.
5268 * config.in: Regenerate.
5269 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
5270 works.
5271
52722010-04-16 Richard Guenther <rguenther@suse.de>
5273
5274 * tree.h (struct tree_decl_minimal): Move pt_uid ...
5275 (struct tree_decl_common): ... here.
5276 (DECL_PT_UID): Adjust.
5277 (SET_DECL_PT_UID): Likewise.
5278 (DECL_PT_UID_SET_P): Likewise.
5279
52802010-04-16 Richard Guenther <rguenther@suse.de>
5281
5282 PR tree-optimization/43572
5283 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
5284 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
5285 * tree-flow.h (is_call_clobbered): Remove.
5286 * tree-flow-inline.h (is_call_clobbered): Likewise.
5287 * tree-dfa.c (dump_variable): Do not dump call clobber state.
5288 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
5289 (execute_return_slot_opt): Adjust.
5290 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
5291 check for call clobbered vars here.
5292 (find_tail_calls): Move tailcall verification to the
5293 proper place.
5294
52952010-04-16 Diego Novillo <dnovillo@google.com>
5296
5297 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
5298
52992010-04-16 Bernd Schmidt <bernds@codesourcery.com>
5300
5301 PR target/40603
5302 * config/arm/arm.md (cbranchqi4): New pattern.
5303 * config/arm/predicates.md (const0_operand,
5304 cbranchqi4_comparison_operator): New predicates.
5305
53062010-04-16 Richard Guenther <rguenther@suse.de>
5307
5308 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
5309 (dump_gimple_stmt): Likewise.
5310
53112010-04-16 Bernd Schmidt <bernds@codesourcery.com>
5312
5313 * recog.h (struct recog_data): New field is_operator.
5314 (struct insn_operand_data): New field is_operator.
5315 * recog.c (extract_insn): Set recog_data.is_operator.
5316 * genoutput.c (output_operand_data): Emit code to set the
5317 is_operator field.
5318 * reload.c (find_reloads): Use it rather than testing for an
5319 empty constraint string.
5320
5321 PR target/41514
5322 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
5323 If the previous insn is a cbranchsi4_insn with the same arguments,
5324 omit the compare instruction.
5325
5326 * config/arm/arm.md (addsi3_cbranch): If destination is a high
5327 register, inputs must be low registers and we need a low register
5328 scratch. Handle alternative 2 like alternative 3.
5329
53302010-04-16 Jakub Jelinek <jakub@redhat.com>
5331
5332 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
5333 don't call get_addr on both. If one expression is a VALUE and
5334 the other a REG, check VALUE's locs if the REG isn't among them.
5335
53362010-04-16 Christian Bruel <christian.bruel@st.com>
5337
5338 * config/sh/sh.h (sh_frame_pointer_required): New function.
5339 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
5340 (flag_omit_frame_pointer) Set.
5341 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
5342 (rounded_frame_size): Adjust size with outgoing_args_size.
5343 (sh_set_return_address): Must return from stack pointer.
5344 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
5345 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
5346 (ACCUMULATE_OUTGOING_ARGS): Define.
5347 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
5348 * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
5349
53502010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
5351
5352 PR target/43471
5353 * config/sh/sh.c (sh_legitimize_reload_address): Use
5354 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
5355 Remove a unneeded check for offset_base.
5356
53572010-04-15 H.J. Lu <hongjiu.lu@intel.com>
5358
5359 * configure: Regenerated.
5360
53612010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5362
5363 * config/s390/s390.c (s390_call_save_register_used): Switch back
5364 to HARD_REGNO_NREGS.
5365
53662010-04-15 Richard Guenther <rguenther@suse.de>
5367
5368 * alias.c (alias_set_subset_of): Handle alias-set zero
5369 child properly.
5370
53712010-04-15 Mark Shinwell <shinwell@codesourcery.com>
5372 Julian Brown <julian@codesourcery.com>
5373
5374 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
5375 alternatives according to use of high and low regs.
5376 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
5377 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
5378 optimizing for size on Thumb-2.
5379
53802010-04-15 Thomas Schwinge <tschwinge@gnu.org>
5381
5382 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
5383
53842010-04-15 Richard Guenther <rguenther@suse.de>
5385
5386 * tree-ssa-structalias.c (struct variable_info): Add
5387 is_fn_info flag.
5388 (new_var_info): Initialize it.
5389 (dump_constraints): Support printing last added constraints.
5390 (debug_constraints): Adjust.
5391 (dump_constraint_graph): Likewise.
5392 (make_heapvar_for): Check for NULL cfun.
5393 (get_function_part_constraint): New function.
5394 (get_fi_for_callee): Likewise.
5395 (find_func_aliases): Properly implement IPA PTA constraints.
5396 (process_ipa_clobber): New function.
5397 (find_func_clobbers): Likewise.
5398 (insert_into_field_list_sorted): Remove.
5399 (create_function_info_for): Properly allocate vars for IPA mode.
5400 Do not use insert_into_field_list_sorted.
5401 (create_variable_info_for): Properly generate constraints for
5402 global vars in IPA mode.
5403 (dump_solution_for_var): Always dump the solution.
5404 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
5405 (find_what_var_points_to): Adjust.
5406 (pt_solution_set): Change.
5407 (pt_solution_ior_into): New function.
5408 (pt_solution_empty_p): Export.
5409 (pt_solution_includes_global): Adjust.
5410 (pt_solution_includes_1): Likewise.
5411 (pt_solutions_intersect_1): Likewise.
5412 (dump_sa_points_to_info): Check some invariants.
5413 (solve_constraints): Move constraint dumping ...
5414 (compute_points_to_sets): ... here.
5415 (ipa_pta_execute): ... and here.
5416 (compute_may_aliases): Do not re-compute points-to info
5417 locally if IPA info is available.
5418 (ipa_escaped_pt): New global var.
5419 (ipa_pta_execute): Properly implement IPA PTA.
5420 * tree-into-ssa.c (dump_decl_set): Support dumping
5421 decls not in referenced-vars.
5422 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
5423 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
5424 (dump_points_to_solution): Likewise.
5425 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
5426 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
5427 (remap_gimple_stmt): Reset call clobber/use information if necessary.
5428 (copy_decl_to_var): Copy DECL_PT_UID.
5429 (copy_result_decl_to_var): Likewise.
5430 * tree.c (make_node_stat): Initialize DECL_PT_UID.
5431 (copy_node_stat): Copy it.
5432 * tree.h (DECL_PT_UID): New macro.
5433 (SET_DECL_PT_UID): Likewise.
5434 (DECL_PT_UID_SET_P): Likewise.
5435 (struct tree_decl_minimal): Add pt_uid member.
5436 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
5437 (pt_solution_empty_p): Declare.
5438 (pt_solution_set): Adjust.
5439 (ipa_escaped_pt): Declare.
5440 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
5441 * gimple-pretty-print.c (pp_points_to_solution): New function.
5442 (dump_gimple_call): Dump call clobber/use information.
5443 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
5444 * tree-pass.h (TDF_ALIAS): New dump option.
5445 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
5446 * doc/invoke.texi (-fipa-pta): Update documentation.
5447
54482010-04-15 Richard Guenther <rguenther@suse.de>
5449
5450 * Makefile.in (OBJS-common): Add gimple-fold.o.
5451 (gimple-fold.o): New rule.
5452 * tree.h (maybe_fold_offset_to_reference,
5453 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
5454 prototypes ...
5455 * gimple.h: ... here.
5456 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
5457 may_propagate_address_into_dereference): Move prototypes ...
5458 * gimple.h: ... here.
5459 * tree-ssa-ccp.c (get_symbol_constant_value,
5460 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
5461 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
5462 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
5463 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
5464 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
5465 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
5466 gimplify_and_update_call_from_tree): Move ...
5467 * gimple-fold.c: ... here. New file.
5468 (ccp_fold_builtin): Rename to ...
5469 (gimple_fold_builtin): ... this.
5470 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
5471
54722010-04-15 Richard Guenther <rguenther@suse.de>
5473
5474 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
5475 fit_double_type, force_fit_type_double, add_double_with_sign,
5476 neg_double, mul_double_with_sign, lshift_double, rshift_double,
5477 lrotate_double, rrotate_double, div_and_round_double): Move ...
5478 * double-int.c: ... here.
5479 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
5480 add_double, neg_double, mul_double_with_sign, mul_double,
5481 lshift_double, rshift_double, lrotate_double, rrotate_double,
5482 div_and_round_double): Move prototypes ...
5483 * double-int.h: ... here.
5484
54852010-04-15 Bernd Schmidt <bernds@codesourcery.com>
5486
5487 PR target/43742
5488 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
5489 matching constraints to ensure inputs match the output.
5490
54912010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
5492
5493 PR target/43742
5494 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
5495 in an input-only operand.
5496
54972010-04-15 Anatoly Sokolov <aesok@post.ru>
5498
5499 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
5500 (double_int_not, double_int_lshift, double_int_rshift): Declare.
5501 (double_int_negative_p): Convert to static inline function.
5502 * double-int.c (double_int_lshift, double_int_lshift): New functions.
5503 (double_int_negative_p): Remove.
5504 * tree.h (lshift_double, rshift_double):
5505 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
5506 * fold-const.c (fold_convert_const_int_from_real,
5507 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
5508 (lshift_double): Change type of arith argument to bool.
5509 (rshift_double): Change type of arith argument to bool. Correct
5510 comment.
5511 * expmed.c (mask_rtx, lshift_value): (Ditto.).
5512
55132010-04-14 Bernd Schmidt <bernds@codesourcery.com>
5514
5515 PR target/21803
5516 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
5517 at the start and end of the then/else blocks, and omit them from the
5518 conversion.
5519 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
5520 argument; all callers changed. Pass zero to old_insns_match_p instead.
5521 (flow_find_head_matching_sequence): New function.
5522 (old_insns_match_p): Check REG_EH_REGION notes for calls.
5523 * basic-block.h (flow_find_cross_jump,
5524 flow_find_head_matching_sequence): Declare functions.
5525
55262010-04-14 Jason Merrill <jason@redhat.com>
5527
5528 PR c++/36625
5529 * c-common.c (attribute_takes_identifier_p): New fn.
5530 * c-common.h: Declare it.
5531
55322010-04-14 Uros Bizjak <ubizjak@gmail.com>
5533
5534 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
5535 splitter condition.
5536 (*udivmod<mode>4): Ditto.
5537
55382010-04-14 Uros Bizjak <ubizjak@gmail.com>
5539
5540 * config/i386/i386.md (maxmin_int): Rename code attribute from
5541 maxminiprefix and update all users.
5542 (maxmin_float): Ditto from maxminfprefix.
5543 (logic): Ditto from logicprefix.
5544 (absneg_mnemonic): Ditto from absnegprefix.
5545 * config/i386/mmx.md: Update all users of maxminiprefix,
5546 maxminfprefix and logicprefix for rename.
5547 * config/i386/sse.md: Ditto.
5548 * config/i386/sync.md (sync_<code><mode>): Update for
5549 logicprefix rename.
5550
55512010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5552
5553 PR 42966
5554 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
5555 warnings converted to errors.
5556
55572010-04-14 Uros Bizjak <ubizjak@gmail.com>
5558
5559 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
5560 used insn_type variable.
5561 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
5562 to avoid set-but-not-used warning.
5563
55642010-04-14 Uros Bizjak <ubizjak@gmail.com>
5565
5566 * df-core.c (df_ref_debug): Change format string placeholder
5567 from 0x%x to %#x.
5568 * dwarf2asm.c (dw2_asm_output_data_raw,
5569 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
5570 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
5571 * dwarf2out.c (output_cfi, output_cfi_directive,
5572 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
5573 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
5574 Ditto.
5575 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
5576 * print-rtl.c (print_rtx): Ditto.
5577
55782010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5579
5580 PR middle-end/42694
5581 * builtins.c (expand_builtin_pow_root): New function to expand pow
5582 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
5583 series of sqrt and cbrt calls under -ffast-math.
5584 (expand_builtin_pow): Call it.
5585
55862010-04-14 Michael Matz <matz@suse.de>
5587
5588 PR tree-optimization/42963
5589 * tree-cfg.c (touched_switch_bbs): New static variable.
5590 (group_case_labels_stmt): New function broken out from ...
5591 (group_case_labels): ... here, use the above.
5592 (start_recording_case_labels): Allocate touched_switch_bbs.
5593 (end_recording_case_labels): Deallocate it, call
5594 group_case_labels_stmt.
5595 (gimple_redirect_edge_and_branch): Remember index of affected BB.
5596
55972010-04-14 Uros Bizjak <ubizjak@gmail.com>
5598
5599 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
5600 from insn template.
5601
56022010-04-14 Uros Bizjak <ubizjak@gmail.com>
5603
5604 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
5605
56062010-04-13 Jan Hubicka <jh@suse.cz>
5607
5608 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
5609 of optimized out static functions.
5610 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
5611 cost computation. Also sanity check for overflows.
5612 (update_caller_keys): Update cgraph_edge_badness call; properly
5613 update fibheap and sanity check that it is up to date.
5614 (add_new_edges_to_heap): Update cgraph_edge_badness.
5615 (cgraph_decide_inlining_of_small_function): Likewise;
5616 add sanity checking that badness in heap is up to date;
5617 improve dumping of reason; Update badness of calls to the
5618 offline copy of function currently inlined; dump badness
5619 of functions not inlined because of unit growth limits.
5620
56212010-04-13 Eric Botcazou <ebotcazou@adacore.com>
5622
5623 PR middle-end/32628
5624 * c-common.c (pointer_int_sum): Disregard overflow that occured only
5625 because of sign-extension change when converting to sizetype here...
5626 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
5627
5628 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
5629 the folding to constants. Remove redundant final conversion.
5630 (fold_binary) <associate>: Do not associate if the re-association of
5631 constants alone overflows.
5632 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
5633 to the end of the list.
5634 (multiple_of_p) <COND_EXPR>: New case.
5635
56362010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5637
5638 * opt-functions.awk (opt_sanitized_name): New.
5639 (opt_enum): New.
5640 * optc-gen.awk: Use it
5641 * opth-gen.awk: Use it.
5642
56432010-04-13 Martin Jambor <mjambor@suse.cz>
5644
5645 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
5646 (sra_modify_assign): Delete stmts loading dead data even if racc has no
5647 children. Call replace_uses_with_default_def_ssa_name to handle
5648 SSA_NAES on lhs.
5649
56502010-04-13 Michael Matz <matz@suse.de>
5651
5652 PR middle-end/43730
5653 * builtins.c (expand_builtin_interclass_mathfn): Also create
5654 a register if the predicate doesn't match.
5655
56562010-04-13 Diego Novillo <dnovillo@google.com>
5657
5658 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
5659 * c-pch.c: Include timevar.h.
5660 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
5661 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
5662 * ggc-common.c: Include timevar.h.
5663 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
5664 * timevar.def (TV_PCH_SAVE): Define.
5665 (TV_PCH_CPP_SAVE): Define.
5666 (TV_PCH_PTR_REALLOC): Define.
5667 (TV_PCH_PTR_SORT): Define.
5668 (TV_PCH_RESTORE): Define.
5669 (TV_PCH_CPP_RESTORE): Define.
5670
56712010-04-13 Michael Matz <matz@suse.de>
5672
5673 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
5674 into MINUS_EXPRs.
5675 (can_reassociate_p): New function.
5676 (break_up_subtract_bb, reassociate_bb): Use it.
5677
56782010-04-13 Richard Guenther <rguenther@suse.de>
5679
5680 PR bootstrap/43737
5681 * builtins.c (c_readstr): Fix assert.
5682
56832010-04-13 Uros Bizjak <ubizjak@gmail.com>
5684
5685 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
5686 when generating cltd insn.
5687
5688 (*ashl<mode>3_1): Remove special handling for register operand 2.
5689 (*ashlsi3_1_zext): Ditto.
5690 (*ashlhi3_1): Ditto.
5691 (*ashlhi3_1_lea): Ditto.
5692 (*ashlqi3_1): Ditto.
5693 (*ashlqi3_1_lea): Ditto.
5694 (*<shiftrt_insn><mode>3_1): Ditto.
5695 (*<shiftrt_insn>si3_1_zext): Ditto.
5696 (*<shiftrt_insn>qi3_1_slp): Ditto.
5697 (*<rotate_insn><mode>3_1): Ditto.
5698 (*<rotate_insn>si3_1_zext): Ditto.
5699 (*<rotate_insn>qi3_1_slp): Ditto.
5700
57012010-04-13 Richard Guenther <rguenther@suse.de>
5702
5703 * tree-ssa-structalias.c (callused_id): Remove.
5704 (call_stmt_vars): New.
5705 (get_call_vi): Likewise.
5706 (lookup_call_use_vi): Likewise.
5707 (lookup_call_clobber_vi): Likewise.
5708 (get_call_use_vi): Likewise.
5709 (get_call_clobber_vi): Likewise.
5710 (make_transitive_closure_constraints): Likewise.
5711 (handle_const_call): Adjust to do per-call call-used handling.
5712 (handle_pure_call): Likewise.
5713 (find_what_var_points_to): Remove general callused handling.
5714 (init_base_vars): Likewise.
5715 (init_alias_vars): Initialize call_stmt_vars.
5716 (compute_points_to_sets): Process call-used and call-clobbered
5717 vars for call statements.
5718 (delete_points_to_sets): Free call_stmt_vars.
5719
57202010-04-13 Richard Guenther <rguenther@suse.de>
5721
5722 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
5723 Only add RW dependence for dependence distance zero.
5724 Adjust maximal vectorization factor according to dependences.
5725 Move alignment handling ...
5726 (vect_find_same_alignment_drs): ... here. New function.
5727 (vect_analyze_data_ref_dependences): Adjust.
5728 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
5729 (vect_analyze_data_refs): Adjust minimal vectorization factor
5730 according to data references.
5731 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
5732 dependences before determining the vectorization factor.
5733 Analyze alignment after determining the vectorization factor.
5734 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
5735 dependences before alignment.
5736 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
5737 Adjust prototype.
5738 (vect_analyze_data_refs): Likewise.
5739 (MAX_VECTORIZATION_FACTOR): New define.
5740
57412010-04-13 Duncan Sands <baldrick@free.fr>
5742
5743 * except.h (lang_eh_type_covers): Remove.
5744 * except.c (lang_eh_type_covers): Likewise.
5745
57462010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5747 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5748
5749 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
5750 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
5751 UNITS_PER_LONG where it is ABI relevant.
5752 (s390_return_addr_rtx): Likewise.
5753 (s390_back_chain_rtx): Likewise.
5754 (s390_frame_area): Likewise.
5755 (s390_frame_info): Likewise.
5756 (s390_initial_elimination_offset): Likewise.
5757 (save_gprs): Likewise.
5758 (s390_emit_prologue): Likewise.
5759 (s390_emit_epilogue): Likewise.
5760 (s390_function_arg_advance): Likewise.
5761 (s390_function_arg): Likewise.
5762 (s390_va_start): Likewise.
5763 (s390_gimplify_va_arg): Likewise.
5764 (s390_function_profiler): Likewise.
5765 (s390_optimize_prologue): Likewise.
5766 (s390_rtx_costs): Likewise.
5767 (s390_secondary_reload): Likewise.
5768 (s390_promote_function_mode): Likewise.
5769 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
5770 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
5771 registers available.
5772 (s390_unwind_word_mode): New function.
5773 (s390_function_value): Split 64 bit values into register pair if
5774 used as return value.
5775 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
5776 function call parameters. Handle parallels.
5777 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
5778 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
5779 (DWARF_CIE_DATA_ALIGNMENT): New macro.
5780 (s390_expand_setmem): Remove unused variable src_addr.
5781 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
5782 deal with 64 bit registers.
5783 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
5784 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
5785 (UNITS_PER_LONG): New macro.
5786 * libjava/include/s390-signal.h: Define extended ucontext
5787 structure containing the upper halfs of the 64 bit registers.
5788
57892010-04-13 Simon Baldwin <simonb@google.com>
5790
5791 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
5792
57932010-04-13 Eric Botcazou <ebotcazou@adacore.com>
5794
5795 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
5796 rvalue on the RHS if the LHS is of a non-renamable type.
5797 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
5798
57992010-04-13 Matthias Klose <doko@ubuntu.com>
5800
5801 * gcc.c (cc1_options): Handle -iplugindir before processing
5802 the cc1 spec. Only add -iplugindir once.
5803 (cpp_unique_options): Add -iplugindir option if -fplugin* options
5804 found.
5805 * common.opt (iplugindir): Remove `Separate' property, initialize.
5806 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
5807 option.
5808 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
5809 (distclean): Remove plugin dir.
5810 * doc/invoke.texi: Document -iplugindir.
5811
58122010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
5813
5814 * doc/plugins.texi (Loading Plugins): Document short
5815 -fplugin=foo option.
5816 (Plugin API): Mention default_plugin_dir_name function.
5817
5818 * gcc.c (find_file_spec_function): Add new declaration.
5819 (static_spec_func): Use it for "find-file".
5820 (find_file_spec_function): Add new function.
5821 (cc1_options): Add -iplugindir option if -fplugin* options found.
5822
5823 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
5824
5825 * plugin.c (add_new_plugin): Updated comment, and handle short
5826 plugin name.
5827 (default_plugin_dir_name): Added new function.
5828
5829 * common.opt (iplugindir): New option to set the plugin directory.
5830
58312010-04-12 Uros Bizjak <ubizjak@gmail.com>
5832
5833 * config/i386/i386.md (any_rotate): New code iterator.
5834 (rotate_insn): New code attribute.
5835 (rotate): Ditto.
5836 (SWIM124): New mode iterator.
5837 (<rotate_insn>ti3): New expander.
5838 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
5839 any_rotate code iterator.
5840 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
5841 using any_rotate code iterator and SWIM124 mode iterator.
5842 (ix86_rotlti3): New insn_and_split pattern.
5843 (ix86_rotrti3): Ditto.
5844 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
5845 ix86_rotl{di,ti}3 patterns.
5846 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
5847 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
5848 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
5849 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
5850 code iterator and SWI mode iterator.
5851 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
5852 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
5853 code iterator.
5854 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
5855 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
5856 (bswap rotatert splitter): Add splitter.
5857 (bswap splitter): Macroize splitter using any_rotate code iterator.
5858 Add insn predicate to split only for TARGET_USE_XCHGB or when
5859 optimizing function for size.
5860
58612010-04-12 Steve Ellcey <sje@cup.hp.com>
5862
5863 * config/pa/pa.c (emit_move_sequence): Remove use of
5864 deleted variable flag_argument_noalias.
5865
58662010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5867
5868 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
5869 configurations.
5870 Add to unsupported targets list.
5871 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
5872 sparc*-sun-solaris2.[567]* from target lists.
5873 * configure: Regenerate.
5874 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
5875 removal.
5876 Remove Solaris 7 patch references.
5877 (Specific, sparc-sun-solaris2.7): Removed.
5878 (sparc-sun-solaris2*): Update Solaris 7 example.
5879 (sparc64-*-solaris2*): Likewise.
5880
58812010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5882
5883 * config.build (alpha*-dec-osf4*): Remove.
5884 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
5885 of obsolete configurations.
5886 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
5887 support.
5888 * config/alpha/t-osf4: Renamed to ...
5889 * config/alpha/t-osf5: ... this.
5890 * config/alpha/osf.h: Renamed to ...
5891 * config/alpha/osf5.h: ... this.
5892 Merged old osf5.h contents.
5893 Update comments.
5894 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
5895 (EXTRA_SPECS): Removed.
5896 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
5897 reflect removal of Tru64 UNIX V4.0/V5.0 support.
5898 Document that.
5899
59002010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5901
5902 * doc/contrib.texi (Contributors, Rainer Orth): Update.
5903
59042010-04-12 Kai Tietz <kai.tietz@onevision.com>
5905
5906 PR/43702
5907 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
5908 __thiscall convention.
5909
59102010-04-12 Steve Ellcey <sje@cup.hp.com>
5911
5912 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
5913 orig_base.
5914 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
5915
59162010-04-12 Steve Ellcey <sje@cup.hp.com>
5917
5918 * function.c (assign_parms_initialize_all): Add unused attribute
5919 to fntype.
5920
59212010-04-12 Richard Guenther <rguenther@suse.de>
5922
5923 * gsstruct.def (GSS_CALL): New.
5924 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
5925 * gimple.h: Include tree-ssa-alias.h.
5926 (struct gimple_statement_call): New.
5927 (union gimple_statement_struct_d): Add gimple_call member.
5928 (gimple_call_reset_alias_info): Declare.
5929 (gimple_call_use_set): New function.
5930 (gimple_call_clobber_set): Likewise.
5931 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
5932 * gimple.c (gimple_call_reset_alias_info): New function.
5933 (gimple_build_call_1): Call it.
5934 * lto-streamer-in.c (input_gimple_stmt): Likewise.
5935 * tree-inline.c (remap_gimple_stmt): Likewise.
5936 (expand_call_inline): Remove callused handling.
5937 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
5938 * tree-dfa.c (dump_variable): Likewise.
5939 * tree-parloops.c (parallelize_loops): Likewise.
5940 * tree-ssa.c (init_tree_ssa): Likewise.
5941 (delete_tree_ssa): Likewise.
5942 * tree-flow-inline.h (is_call_used): Remove.
5943 * tree-flow.h (struct gimple_df): Remove callused member.
5944 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
5945 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
5946 (ref_maybe_used_by_call_p_1): Simplify.
5947 (call_may_clobber_ref_p_1): Likewise.
5948 * tree-ssa-structalias.c (compute_points_to_sets): Set
5949 the call stmt used and clobbered sets.
5950 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
5951 (find_tail_calls): Verify the tail call.
5952
59532010-04-12 Richard Guenther <rguenther@suse.de>
5954
5955 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
5956 single-iteration always-inline inlining.
5957 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
5958 (cgraph_decide_inlining): Do not handle always-inline specially.
5959 (try_inline): Remove always-inline cycle detection special case.
5960 Do not recurse on always-inlines.
5961 (cgraph_early_inlining): Do not iterate if not optimizing.
5962 (cgraph_gate_early_inlining): remove.
5963 (pass_early_inline): Run unconditionally.
5964 (gate_cgraph_decide_inlining): New function.
5965 (pass_ipa_inline): Use it. Do not run the IPA inliner if
5966 not inlining or optimizing.
5967 (cgraph_decide_inlining_of_small_functions): Also consider
5968 always-inline functions.
5969 (cgraph_default_inline_p): Return true for nodes which should
5970 disregard inline limits.
5971 (estimate_function_body_sizes): Assume zero size and time for
5972 nodes which are marked as disregarding inline limits.
5973 (cgraph_decide_recursive_inlining): Do not perform recursive
5974 inlining on always-inline nodes.
5975
59762010-04-12 Jakub Jelinek <jakub@redhat.com>
5977
5978 PR bootstrap/43699
5979 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
5980 for exprs satisfying handled_component_p.
5981
59822010-04-12 Eric Botcazou <ebotcazou@adacore.com>
5983
5984 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
5985 non-constant aggregate elements.
5986
5987 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
5988 is a real initialization.
5989
59902010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
5991
5992 PR c/36774
5993 * c-decl.c (start_function): Move forward check for nested function.
5994
59952010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
5996
5997 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
5998 * config/sh/sh.c: Include reload.h.
5999 (sh_legitimize_reload_address): New.
6000 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
6001 sh_legitimize_reload_address.
6002
60032010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
6004
6005 * config/sh/sh.md (*movqi_pop): New insn pattern.
6006 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
6007
60082010-04-11 Uros Bizjak <ubizjak@gmail.com>
6009
6010 * config/i386/i386.md (any_shiftrt): New code iterator.
6011 (shiftrt_insn): New code attribute.
6012 (shiftrt): Ditto.
6013 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
6014 using any_shiftrt code iterator.
6015 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
6016 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
6017 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
6018 pattern from corresponding peephole2 patterns.
6019 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
6020 using any_shiftrt code iterator.
6021 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
6022 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
6023 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
6024 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
6025 *{ashr,lshr}<mode>3_cmp_zext.
6026 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
6027
60282010-04-11 Uros Bizjak <ubizjak@gmail.com>
6029
6030 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
6031 scratch register.
6032 (*lshr<mode>3_cconly): Ditto.
6033
60342010-04-11 Uros Bizjak <ubizjak@gmail.com>
6035
6036 * config/i386/i386.md (lshr<mode>3): Macroize expander from
6037 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
6038 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
6039 pattern from *lshr{di,ti}3_1 and corresponding splitters using
6040 DWI mode iterator.
6041 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
6042 from corresponding peephole2 patterns.
6043 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
6044 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
6045 and *lshrdi3_1_rex64 using SWI mode iterator.
6046 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
6047 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
6048 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
6049 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
6050 and *lshrdi3_cmp_rex64 using SWI mode iterator.
6051 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
6052 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
6053 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
6054 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
6055 SWI mode iterator.
6056
60572010-04-10 Uros Bizjak <ubizjak@gmail.com>
6058
6059 * config/i386/i386.md (ashr<mode>3): Macroize expander from
6060 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
6061 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
6062 pattern from *ashr{di,ti}3_1 and corresponding splitters using
6063 DWI mode iterator.
6064 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
6065 from corresponding peephole2 patterns.
6066 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
6067 (ashrsi3_cvt): Rename from ashrsi3_31.
6068 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
6069 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
6070 and x86_64_shift_adj_3 using SWI48 mode iterator.
6071 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
6072 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
6073 and *ashrdi3_1_rex64 using SWI mode iterator.
6074 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
6075 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
6076 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
6077 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
6078 and *ashrdi3_cmp_rex64 using SWI mode iterator.
6079 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
6080 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
6081 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
6082 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
6083 SWI mode iterator.
6084 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
6085 * config/i386/i386.c (ix86_split_ashr): Update for renamed
6086 x86_shift<mode>_adj_3 expanders.
6087
60882010-04-10 Wei Guozhi <carrot@google.com>
6089
6090 PR target/42601
6091 * config/arm/arm.c (arm_pic_static_addr): New function.
6092 (legitimize_pic_address): Call arm_pic_static_addr when it detects
6093 a static symbol.
6094 (arm_output_addr_const_extra): Output expression for new pattern.
6095 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
6096
60972010-04-10 Bernd Schmidt <bernds@codesourcery.com>
6098
6099 * ira-costs.c (record_reg_classes): Ignore alternatives that are
6100 not enabled.
6101
6102 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
6103 * web.c: Include "insn-config.h" and "recog.h".
6104 (union_match_dups): New function.
6105 (web_main): Call it.
6106 (union_defs): Don't try to recognize match_dups.
6107
6108 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
6109 if doing so would replace the entire pattern.
6110
61112010-04-09 Uros Bizjak <ubizjak@gmail.com>
6112
6113 PR target/43707
6114 PR target/43709
6115 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
6116 and splitter pattern. Change splitter operand 1 predicate to
6117 nonmemory_operand.
6118
61192010-04-09 Martin Jambor <mjambor@suse.cz>
6120
6121 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
6122 lattices are addresses of CONST_DECLs with the same initial value.
6123 (ipcp_print_all_lattices): Print values of CONST_DECLs.
6124 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
6125
61262010-04-09 Eric Botcazou <ebotcazou@adacore.com>
6127 Bernd Schmidt <bernds@codesourcery.com>
6128
6129 * loop-invariant.c (replace_uses): New static function.
6130 (move_invariant_reg): Use it to ensure we can replace the uses.
6131
61322010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
6133
6134 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
6135 function template.
6136 (picochip_override_options): Enable section anchors only above -O1.
6137 (picochip_reorg): Fixed a couple of build warnings.
6138
61392010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6140
6141 * configure.ac (plugin -rdynamic test): Log result.
6142 * configure: Regenerate.
6143 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
6144 (RDYNAMIC_SPEC): Define.
6145 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
6146
61472010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6148
6149 * configure.ac: Determine Sun ld version numbers.
6150 (comdat_group): Restrict GNU ld version checks to gld.
6151 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
6152 (enable_comdat): Support --enable-comdat.
6153 * configure: Regenerate.
6154 * doc/install.texi (Configuration): Document --enable-comdat.
6155
61562010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6157
6158 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
6159 * config/sol2-gld.h: ... here.
6160 * config.gcc (sparc*-*-solaris2*): Reflect this.
6161 (i[34567]86-*-solaris2*): Use it.
6162
61632010-04-09 Steve Ellcey <sje@cup.hp.com>
6164
6165 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
6166 setup_clocks_p.
6167 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
6168
61692010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6170
6171 PR 42965
6172 * diagnostic.c (diagnostic_initialize): Initialize
6173 some_warnings_are_errors.
6174 (diagnostic_finish): New.
6175 (diagnostic_action_after_output): Call it before exiting.
6176 (diagnostic_report_diagnostic): Do not print message here. Set
6177 some_warnings_are_errors.
6178 * diagnostic.h (diagnostic_context): Delete
6179 issue_warnings_are_errors_message. Add some_warnings_are_errors.
6180 (diagnostic_finish): Declare.
6181 * toplev.c (toplev_main): Call it before exit.
6182
61832010-04-09 Jason Merrill <jason@redhat.com>
6184
6185 PR c++/42623
6186 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
6187 for incomplete type.
6188
6189 PR c++/41788
6190 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
6191 based on a warning flag.
6192
61932010-04-09 Richard Guenther <rguenther@suse.de>
6194
6195 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
6196
61972010-04-09 Iain Sandoe <iains@gcc.gnu.org>
6198
6199 PR bootstrap/43684
6200 * varasm.c (default_assemble_visibility): Wrap vars that are
6201 set, but unused, by targets without GAS.
6202 * config/rs6000/rs6000.c (paired_emit_vector_compare):
6203 Remove set, but unused, vars.
6204 (rs6000_legitimize_tls_address): Likewise.
6205 (altivec_expand_dst_builtin): Likewise.
6206 * config/darwin.c (machopic_classify_symbol): Likewise.
6207 (machopic_indirection_name): Likewise.
6208
62092010-04-09 Uros Bizjak <ubizjak@gmail.com>
6210
6211 * config/i386/i386.md (DWI): New mode iterator.
6212 (S): New mode attribute.
6213 (shift_operand): Ditto.
6214 (shift_immediate_operand): Ditto.
6215 (ashl_input_operand): Ditto.
6216 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
6217 using SDWIM mode iterator.
6218 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
6219 pattern from *ashl{di,ti}3_1 and corresponding splitters using
6220 DWI mode iterator.
6221 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
6222 from corresponding peephole2 patterns.
6223 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
6224 and x86_64_shift_adj_1 using SWI48 mode iterator.
6225 (x86_shift<mode>_adj_2): Ditto.
6226 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
6227 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
6228 using SWI48 mode iterator.
6229 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
6230 *ashldi3_cmp_rex64 using SWI mode iterator.
6231 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
6232 *ashldi3_cconly_rex64 using SWI mode iterator.
6233 * config/i386/i386.c (ix86_split_ashl): Update for renamed
6234 x86_shift<mode>_adj_{1,2}.
6235 (ix86_split_ashr): Ditto.
6236 (ix86_split_lshr): Ditto.
6237
62382010-04-09 Richard Guenther <rguenther@suse.de>
6239
6240 * target.h (builtin_conversion): Pass in input and output types.
6241 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
6242 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
6243 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
6244 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
6245
6246 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
6247 Handle AVX modes.
6248 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
6249
62502010-04-09 Richard Guenther <rguenther@suse.de>
6251
6252 PR target/43152
6253 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
6254
62552010-04-09 Richard Guenther <rguenther@suse.de>
6256
6257 * tree-vectorizer.h (struct _stmt_vec_info): Document
6258 that vectype is the type of the LHS.
6259 (supportable_widening_operation, supportable_narrowing_operation):
6260 Get both input and output vector types as arguments.
6261 (vect_is_simple_use_1): Declare.
6262 (get_same_sized_vectype): Likewise.
6263 * tree-vect-loop.c (vect_determine_vectorization_factor):
6264 Set STMT_VINFO_VECTYPE to the vector type of the def.
6265 (vectorizable_reduction): Adjust.
6266 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
6267 Adjust. Specify the output vector type.
6268 (vect_pattern_recog_1): Adjust.
6269 * tree-vect-stmts.c (get_same_sized_vectype): New function.
6270 (vectorizable_call): Adjust.
6271 (vectorizable_conversion): Likewise.
6272 (vectorizable_operation): Likewise.
6273 (vectorizable_type_demotion): Likewise.
6274 (vectorizable_type_promotion): Likewise.
6275 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
6276 the def.
6277 (vect_is_simple_use_1): New function.
6278 (supportable_widening_operation): Get both input and output
6279 vector types.
6280 (supportable_narrowing_operation): Likewise.
6281 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
6282
62832010-04-09 Kai Tietz <kai.tietz@onevision.com>
6284
6285 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
6286 __thiscall and _thiscall as predefined macros.
6287 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
6288 thiscall attribute handling.
6289 (ix86_comp_type_attributes): Likewise.
6290 (ix86_function_regparm): Likewise.
6291 (ix86_return_pops_args): Likewise.
6292 (init_cumulative_args): Likewise.
6293 (find_drap_reg): Likewise.
6294 (ix86_static_chain): Likewise.
6295 (x86_this_parameter): Likewise.
6296 (x86_output_mi_thunk): Likewise.
6297 (ix86_attribute_table): Add description for thiscall attribute.
6298 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
6299 * doc/extend.texi: Add documentation for thiscall.
6300
63012010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6302
6303 PR c++/28584
6304 * c.opt (Wint-to-pointer-cast): Available in C++.
6305 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
6306
63072010-04-08 Eric Botcazou <ebotcazou@adacore.com>
6308
6309 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
6310 * calls.c (expand_call): Pass the function type to aggregate_value_p.
6311 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
6312 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
6313 function type instead. Reorder and simplify checks.
6314
6315 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
6316
63172010-04-08 Jing Yu <jingyu@google.com>
6318 Zdenek Dvorak <ook@ucw.cz>
6319
6320 PR tree-optimization/42720
6321 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
6322 loop unswitch conditions here from ...
6323 (tree_unswitch_single_loop): ... here.
6324
63252010-04-08 Sebastian Pop <sebastian.pop@amd.com>
6326
6327 * tree-if-conv.c: Fix comments and simplify logic.
6328
63292010-04-08 Sebastian Pop <sebastian.pop@amd.com>
6330
6331 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
6332 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
6333 (main_tree_if_conversion): Update call to tree_if_conversion.
6334
63352010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6336
6337 PR 42485
6338 * doc/invoke.texi (-b,-V): Delete.
6339 * doc/tm.texi: Do not mention -b.
6340 * gcc.c (display_help): Delete -b and -V.
6341 (process_command): Delete -b and -V.
6342 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6343
63442010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
6345 Wolfgang Gellerich <gellerich@de.ibm.com>
6346
6347 Implement target hook for loop unrolling
6348 * target.h (loop_unroll_adjust): Add a new target hook function.
6349 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
6350 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
6351 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
6352 (s390_loop_unroll_adjust): Implement the new target hook for s390.
6353 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
6354 target hook.
6355 (decide_unroll_stupid): Likewise.
6356
63572010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6358
6359 PR target/43643
6360 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
6361
63622010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6363
6364 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
6365 (Specific, *-*-solaris2*): Likewise.
6366 Don't prefer Sun as over GNU as.
6367
63682010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
6369
6370 * config/s390/s390.c (override_options): Adjust the z10 defaults
6371 for max-unroll-times, max-completely-peeled-insns
6372 and max-completely-peel-times.
6373
63742010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6375
6376 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
6377 instructions for z10.
6378 (s390_expand_setmem): Likewise.
6379 (s390_expand_cmpmem): Likewise.
6380
63812010-04-08 Richard Guenther <rguenther@suse.de>
6382
6383 PR tree-optimization/43679
6384 * tree-ssa-pre.c (eliminate): Only propagate copies.
6385
63862010-04-08 Jakub Jelinek <jakub@redhat.com>
6387
6388 PR bootstrap/43681
6389 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
6390 set but not used variable warning.
6391
63922010-04-08 Wei Guozhi <carrot@google.com>
6393
6394 PR target/41653
6395 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
6396 (arm_size_rtx_costs): Call the new function when optimized for size.
6397
63982010-04-08 Jakub Jelinek <jakub@redhat.com>
6399
6400 PR debug/43670
6401 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
6402 op0 is not a MEM, just return NULL instead of assertion
6403 failure.
6404 (discover_nonconstant_array_refs): Don't walk debug stmts.
6405
64062010-04-08 Doug Kwan <dougkwan@google.com>
6407
6408 * configure.ac: Recognize gold and do not use its version number
6409 to test ld features.
6410 * configure: Regenerate.
6411
64122010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
6413
6414 PR middle-end/40815
6415 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
6416 (negate_value): Move code to push elements to broken_up_substracts ...
6417 (eliminate_plus_minus_pair): ... here. Push operands that have no
6418 negative pair to plus_negates.
6419 (repropagate_negates, init_reassoc, fini_reassoc): Update.
6420
64212010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6422
6423 * doc/install.texi (Configuration): Move description of
6424 --enable-lto, --with-libelf*, --enable-gold from Java section to
6425 general section.
6426
6427 * doc/generic.texi (Working with declarations)
6428 (Function Properties, C and C++ Trees): Fix typos.
6429 * doc/sourcebuild.texi (Top Level): Likewise.
6430
64312010-04-07 Jakub Jelinek <jakub@redhat.com>
6432
6433 PR c/18624
6434 * tree.h (DECL_READ_P): Define.
6435 (struct tree_decl_common): Add decl_read_flag.
6436 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
6437 a set but not used warning.
6438 (merge_decls): Merge DECL_READ_P flag.
6439 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
6440 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
6441 * c-common.c (handle_used_attribute, handle_unused_attribute):
6442 Likewise.
6443 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
6444 New prototypes.
6445 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
6446 New functions.
6447 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
6448 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
6449 c_parser_binary_expression, c_parser_cast_expression,
6450 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
6451 Call default_function_array_read_conversion instead of
6452 default_function_array_conversion where needed.
6453 (c_parser_unary_expression, c_parser_conditional_expression,
6454 c_parser_postfix_expression_after_primary, c_parser_initelt):
6455 Likewise. Call mark_exp_read where needed.
6456 (c_parser_statement_after_labels, c_parser_asm_operands,
6457 c_parser_typeof_specifier, c_parser_sizeof_expression,
6458 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
6459 where needed.
6460 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
6461 New.
6462 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
6463 (warn_unused_but_set_parameter): Default to warn_unused
6464 && extra_warnings.
6465 * doc/invoke.texi: Document -Wunused-but-set-variable and
6466 -Wunused-but-set-parameter.
6467
6468 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
6469 used count variable.
6470 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
6471 when operandN variables aren't used in the body of the expander
6472 or splitter.
6473 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
6474 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
6475 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
6476 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
6477 FOR_EACH_IMM_USE_ON_STMT): Likewise.
6478 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
6479 * tree.c (PROCESS_ARG): Likewise.
6480
64812010-04-07 Simon Baldwin <simonb@google.com>
6482
6483 * diagnostic.h (diagnostic_override_option_index): New macro to
6484 set a diagnostic's option_index.
6485 * c-tree.h (c_cpp_error): Add warning reason argument.
6486 * opts.c (_warning_as_error_callback): New.
6487 (register_warning_as_error_callback): Store callback for
6488 warnings enabled via enable_warning_as_error.
6489 (enable_warning_as_error): Call callback, minor code tidy.
6490 * opts.h (register_warning_as_error_callback): Declare.
6491 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
6492 response to -Werror=.
6493 (c_common_init_options): Register warning_as_error_callback in opts.c.
6494 * common.opt: Add -Wno-cpp option.
6495 * c-common.c (struct reason_option_codes_t): Map cpp warning
6496 reason codes to gcc option indexes.
6497 * (c_option_controlling_cpp_error): New function, lookup the gcc
6498 option index for a cpp warning reason code.
6499 * (c_cpp_error): Add warning reason argument, call
6500 c_option_controlling_cpp_error for diagnostic_override_option_index.
6501 * doc/invoke.texi: Document -Wno-cpp.
6502
65032010-04-07 Richard Guenther <rguenther@suse.de>
6504
6505 * ipa-reference.c (mark_load): Use get_base_address.
6506 (mark_store): Likewise.
6507
6508 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
6509 inserting GIMPLE_NOPs into the IL.
6510 * tree-ssa-structalias.c (get_constraint_for_component_ref):
6511 Explicitly strip handled components and indirect references.
6512
6513 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
6514 folding address expressions.
6515 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
6516 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
6517 operand_equal_p to compare decls.
6518 (ptr_deref_may_alias_decl_p): Likewise.
6519 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
6520 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
6521 Handle reversed comparison ops.
6522 * tree-sra.c (asm_visit_addr): Use get_base_address.
6523 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
6524 * ipa-reference.c (mark_address): Use get_base_address.
6525
65262010-04-07 Richard Guenther <rguenther@suse.de>
6527
6528 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
6529 Propagate constants everywhere.
6530
65312010-04-07 Jakub Jelinek <jakub@redhat.com>
6532
6533 PR debug/43516
6534 * tree.c (MAX_INT_CACHED_PREC): Define.
6535 (nonstandard_integer_type_cache): New array.
6536 (build_nonstandard_integer_type): Cache results for precision
6537 <= MAX_INT_CACHED_PREC.
6538
65392010-04-07 Richard Guenther <rguenther@suse.de>
6540
6541 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
6542 -fargument-noalias-global, -fargument-noalias-anything): Remove.
6543 * common.opt: Likewise.
6544 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
6545 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
6546 (nonoverlapping_memrefs_p): Likewise.
6547 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
6548 * opts.c (common_handle_option): Handle OPT_fargument_alias,
6549 OPT_fargument_noalias, OPT_fargument_noalias_anything and
6550 OPT_fargument_noalias_global for backward compatibility.
6551
65522010-04-07 Richard Guenther <rguenther@suse.de>
6553
6554 PR tree-optimization/43270
6555 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
6556 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
6557 * tree-ssa-pre.c (phi_translate_1): Adjust.
6558 (fully_constant_expression): Split out vn_reference handling to ...
6559 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
6560 Fold reads from constant strings.
6561 (vn_reference_lookup): Handle fully constant references.
6562 (vn_reference_lookup_pieces): Likewise.
6563 * Makefile.in (expmed.o-warn): Add -Wno-error.
6564
65652010-04-07 Martin Jambor <mjambor@suse.cz>
6566
6567 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
6568
65692010-04-07 Iain Sandoe <iains@gcc.gnu.org>
6570
6571 PR driver/41594
6572 * gcc.c: Add -static-libstdc++ to list of recognized options.
6573
65742010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6575
6576 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
6577
65782010-04-07 Richard Guenther <rguenther@suse.de>
6579
6580 PR middle-end/42617
6581 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
6582 bases build simple mem attributes to retain points-to information.
6583
65842010-04-07 Richard Guenther <rguenther@suse.de>
6585
6586 PR middle-end/42617
6587 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
6588 preserve points-to related information.
6589
65902010-04-07 Richard Guenther <rguenther@suse.de>
6591
6592 PR middle-end/42617
6593 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
6594 discard plain indirect references.
6595 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
6596 * tree.c (tree_nop_conversion): Likewise.
6597
65982010-04-07 Dodji Seketeli <dodji@redhat.com>
6599
6600 PR debug/43628
6601 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
6602
66032010-04-06 Kai Tietz <kai.tietz@onevision.com>
6604
6605 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
6606 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
6607
66082010-04-07 Sebastian Pop <sebastian.pop@amd.com>
6609
6610 * tree-if-conv.c: Fix indentation and comments.
6611
66122010-04-07 Sebastian Pop <sebastian.pop@amd.com>
6613
6614 * tree-if-conv.c: Sort static functions in topological order.
6615
66162010-04-07 Sebastian Pop <sebastian.pop@amd.com>
6617
6618 * tree-if-conv.c: Fix indentation and comments.
6619
66202010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6621
6622 PR middle-end/43519
6623 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
6624 lang_hooks.types.type_for_size instead of
6625 build_nonstandard_integer_type.
6626 When converting an unsigned type to signed, double its precision.
6627 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
6628 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
6629 (graphite_create_new_loop_guard): When ub + 1 wraps around,
6630 use lb <= ub.
6631
66322010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6633
6634 PR middle-end/43519
6635 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
6636 POINTER_PLUS_EXPR for pointer types.
6637
66382010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6639
6640 PR middle-end/43519
6641 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
6642 * graphite-clast-to-gimple.c: Include langhooks.h.
6643 (max_signed_precision_type): New.
6644 (max_precision_type): Takes two types as arguments.
6645 (precision_for_value): New.
6646 (precision_for_interval): New.
6647 (gcc_type_for_interval): New.
6648 (gcc_type_for_value): New.
6649 (gcc_type_for_clast_term): New.
6650 (gcc_type_for_clast_red): New.
6651 (gcc_type_for_clast_bin): New.
6652 (gcc_type_for_clast_expr): Split up into several functions.
6653 (gcc_type_for_clast_eq): Rewritten.
6654 (compute_bounds_for_level): New.
6655 (compute_type_for_level_1): New.
6656 (compute_type_for_level): New.
6657 (gcc_type_for_cloog_iv): Removed.
6658 (gcc_type_for_iv_of_clast_loop): Rewritten.
6659 (graphite_create_new_loop): Compute the lower and upper bound types
6660 with gcc_type_for_clast_expr.
6661 (graphite_create_new_loop_guard): Same.
6662 (find_cloog_iv_in_expr): Removed.
6663 (compute_cloog_iv_types_1): Removed.
6664 (compute_cloog_iv_types): Removed.
6665 (gloog): Do not call compute_cloog_iv_types.
6666 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
6667 GBB_CLOOG_IV_TYPES.
6668 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
6669 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
6670 (GBB_CLOOG_IV_TYPES): Removed.
6671
66722010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6673
6674 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
6675 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
6676 (detect_commutative_reduction): Same.
6677
66782010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6679
6680 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
6681 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
6682 argument.
6683 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
6684 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
6685 (rewrite_commutative_reductions_out_of_ssa): Same.
6686 * passes.c (execute_function_todo): Call verify_ssa for every pass
6687 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
6688 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
6689 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
6690 with an extra argument.
6691 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
6692 verify_ssa only when the extra argument is true.
6693 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
6694 with an extra argument.
6695 (tree_transform_and_unroll_loop): Same.
6696
66972010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6698
6699 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
6700 for all the passes of the LNO having LOOP_CLOSED_SSA.
6701 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
6702 * tree-loop-distribution.c (pass_loop_distribution): Same.
6703 * tree-pass.h (TODO_verify_loops): Removed.
6704 * tree-ssa-loop.c (pass_tree_loop_init): Same.
6705 (pass_lim): Same.
6706 (pass_tree_unswitch): Same.
6707 (pass_predcom): Same.
6708 (pass_vectorize): Same.
6709 (pass_linear_transform): Same.
6710 (pass_graphite_transforms): Same.
6711 (pass_iv_canon): Same.
6712 (pass_complete_unroll): Same.
6713 (pass_complete_unrolli): Same.
6714 (pass_parallelize_loops): Same.
6715 (pass_loop_prefetch): Same.
6716 (pass_iv_optimize): Same.
6717
67182010-04-06 Changpeng Fang <changpeng.fang@amd.com>
6719
6720 PR middle-end/32824
6721 * passes.c (init_optimization_passes): Move pass_lim before
6722 pass_copy_prop and pass_dce_loop.
6723
67242010-04-06 Jakub Jelinek <jakub@redhat.com>
6725
6726 PR target/43667
6727 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
6728 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
6729 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
6730 MULTI_* defines for 4 argument vpermil2p* builtins.
6731
67322010-04-06 Uros Bizjak <ubizjak@gmail.com>
6733
6734 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
6735 * config/i386/i386.c (x86_maybe_negate_const_int): New.
6736 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
6737 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
6738 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
6739 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
6740 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
6741 Use x86_maybe_negate_const_int to output insn mnemonic.
6742 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
6743 check from instruction predicate. Update comments.
6744 * config/i386/sync.md (sync_add<mode>): Use
6745 x86_maybe_negate_const_int to output insn mnemonic.
6746
67472010-04-06 Jan Hubicka <jh@suse.cz>
6748
6749 PR tree-optimization/42906
6750 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
6751 IGNORE_SELF argument. Set visited_control_parents for fully
6752 processed BBs.
6753 (find_obviously_necessary_stmts): Update call of
6754 mark_control_dependent_edges_necessary.
6755 (propagate_necessity): Likewise. Handle PHI edges more curefully.
6756
67572010-04-06 Uros Bizjak <ubizjak@gmail.com>
6758
6759 * config/i386/i386.md: Remove comment about 'e' and 'E'
6760 operand modifier.
6761
67622010-04-06 Richard Guenther <rguenther@suse.de>
6763
6764 PR tree-optimization/43627
6765 * tree-vrp.c (extract_range_from_unary_expr): Widenings
6766 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
6767 not varying.
6768
67692010-04-06 Jakub Jelinek <jakub@redhat.com>
6770
6771 * BASE-VER: Change to 4.6.0.
6772
6773 PR target/43638
6774 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
6775 handling.
6776
67772010-04-06 Richard Guenther <rguenther@suse.de>
6778
6779 PR middle-end/43661
6780 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
6781
67822010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6783
6784 * doc/invoke.texi (Optimize Options): Document that LTO
6785 won't remove object access purely due to incompatible
6786 declarations.
6787
67882010-04-04 Matthias Klose <doko@ubuntu.com>
6789
6790 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
6791 Initialize variable.
6792
67932010-04-03 Richard Guenther <rguenther@suse.de>
6794
6795 PR middle-end/42509
6796 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
6797 require a non-NULL MEM_OFFSET.
6798
67992010-04-02 Steven Bosscher <steven@gcc.gnu.org>
6800
6801 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
6802 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
6803 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
6804 config/alpha/predicates.md, config/arm/arm.md,
6805 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
6806 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
6807 config/darwin9.h, config/darwin.c, config/darwin.h,
6808 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
6809 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
6810 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
6811 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
6812 config/mips/mips.md, config/mn10300/mn10300.c,
6813 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
6814 config/rs6000/aix.h, config/rs6000/dfp.md,
6815 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
6816 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
6817 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
6818 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
6819 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
6820 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
6821 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
6822 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
6823 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
6824 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
6825 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
6826 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
6827 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
6828 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
6829 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
6830 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
6831 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
6832 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
6833 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
6834 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
6835 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
6836 opt-functions.awk, opth-gen.awk, params.def, passes.c,
6837 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
6838 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
6839 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
6840 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
6841 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
6842 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
6843 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
6844 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
6845 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
6846 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
6847 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
6848 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
6849 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
6850 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
6851
68522010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6853
6854 PR other/43620
6855 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
6856 * aclocal.m4: Regenerate.
6857
68582010-04-02 Richard Guenther <rguenther@suse.de>
6859
6860 PR tree-optimization/43629
6861 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
6862 if we have seen a constant value.
6863
68642010-04-02 Joseph Myers <joseph@codesourcery.com>
6865
6866 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
6867
68682010-04-02 Richard Earnshaw <rearnsha@arm.com>
6869
6870 PR target/43469
6871 * arm.c (legitimize_tls_address): Adjust call to
6872 gen_tls_load_dot_plus_four.
6873 (arm_note_pic_base): New function.
6874 (arm_cannot_copy_insn_p): Use it.
6875 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
6876 constraint.
6877
68782010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6879
6880 PR bootstrap/43531
6881
6882 Revert:
6883 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6884
6885 * Makefile.in ($(out_object_file)): Depend on
6886 gt-$(basename $(notdir $(out_file))).h.
6887
68882010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
6889
6890 * config.gcc (lm32-*-rtems*): Add t-lm32.
6891
68922010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
6893
6894 * config.gcc: Add lm32-*-rtems*.
6895 * config/lm32/rtems.h: New file.
6896
68972010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
6898
6899 PR target/42609
6900 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
6901
69022010-04-01 Jakub Jelinek <jakub@redhat.com>
6903
6904 * dwarf2out.c (output_compilation_unit_header): For
6905 -gdwarf-4 use version 4 instead of version 3.
6906 (output_line_info): For version 4 and above emit additional
6907 maximum ops per insn header field.
6908 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
6909
6910 * dwarf2out.c (is_c_family, is_java): Remove.
6911 (lower_bound_default): New function.
6912 (add_bound_info, gen_descr_array_type_die): Use it.
6913
69142010-04-01 Dodji Seketeli <dodji@redhat.com>
6915
6916 PR debug/43325
6917 * dwarf2out.c (gen_variable_die): Allow debug info for variable
6918 re-declaration when it happens in a function.
6919
69202010-04-01 Aldy Hernandez <aldyh@redhat.com>
6921
6922 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
6923 (cgraph_remove_function_insertion_hook): Same.
6924 (cgraph_call_function_insertion_hooks): Same.
6925
69262010-04-01 Richard Guenther <rguenther@suse.de>
6927
6928 PR middle-end/43614
6929 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
6930 and TREE_THIS_VOLATILE.
6931 (copy_ref_info): Likewise.
6932 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
6933 * tree.c (build6_stat): Ignore side-effects of all but arg5
6934 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
6935 TARGET_MEM_REF.
6936
69372010-04-01 Richard Guenther <rguenther@suse.de>
6938
6939 PR tree-optimization/43607
6940 * ipa-type-escape.c (check_call): Do not access non-existing
6941 arguments.
6942
69432010-04-01 Richard Guenther <rguenther@suse.de>
6944
6945 PR middle-end/43602
6946 Revert
6947 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
6948 Jack Howarth <howarth@bromo.med.uc.edu>
6949
6950 * tree-profile.c (tree_init_ic_make_global_vars): Make static
6951 variables TLS.
6952
69532010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6954
6955 * doc/install.texi (Prerequisites): Document libelf usability on
6956 IRIX 5/6 and Solaris 2.
6957 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
6958 Update GNU as, GNU ld requirements.
6959 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
6960 Document Sun Studio compiler download.
6961 Update and simplify as, ld recommendations.
6962 (Specific, *-*-solaris2.7): Note obsoletion, removal.
6963
69642010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6965
6966 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
6967 with_tune_32 to pentium4.
6968
69692010-04-01 Uros Bizjak <ubizjak@gmail.com>
6970
6971 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
6972
69732010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6974
6975 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
6976 obsoletion, removal.
6977 Update IDO URL.
6978 Document GNU as requirement.
6979 Update configure requirements.
6980 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
6981 Recomment IRIX 6.5.18+.
6982 Document IDF/IDL requirement.
6983 Document GNU as requirement.
6984 Document GNU ld bootstrap failure.
6985 Remove freeware.sgi.com reference.
6986
69872010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6988
6989 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
6990 UNIX V4.0, V5.0 obsoletion, removal.
6991 Remove --with-gc=simple reference.
6992 Update VM requirements during bootstrap.
6993 Remove -oldas bootstrap description.
6994 Update binutils reference.
6995 Remove comparison failure note.
6996
69972010-03-31 Richard Guenther <rguenther@suse.de>
6998 Zdenek Dvorak <ook@ucw.cz>
6999 Sebastian Pop <sebastian.pop@amd.com>
7000
7001 PR middle-end/43464
7002 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
7003 with multiple arguments.
7004 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
7005
70062010-03-31 Sebastian Pop <sebastian.pop@amd.com>
7007
7008 * graphite-dependences.c (print_pddr): Call print_pdr with an
7009 extra argument.
7010 * graphite-poly.c (debug_pdr): Add an extra argument for the
7011 verbosity level.
7012 (print_pdr): Same.
7013 (print_pbb_domain): Same.
7014 (print_pbb): Same.
7015 (print_scop_context): Same.
7016 (print_scop): Same.
7017 (print_cloog): Same.
7018 (debug_pbb_domain): Same.
7019 (debug_pbb): Same.
7020 (print_pdrs): Same.
7021 (debug_pdrs): Same.
7022 (debug_scop_context): Same.
7023 (debug_scop): Same.
7024 (debug_cloog): Same.
7025 (print_scop_params): Same.
7026 (debug_scop_params): Same.
7027 (print_iteration_domain): Same.
7028 (print_iteration_domains): Same.
7029 (debug_iteration_domain): Same.
7030 (debug_iteration_domains): Same.
7031 (print_scattering_function): Same.
7032 (print_scattering_functions): Same.
7033 (debug_scattering_function): Same.
7034 (debug_scattering_functions): Same.
7035 * graphite-poly.h (debug_pdr): Update declaration.
7036 (print_pdr): Same.
7037 (print_pbb_domain): Same.
7038 (print_pbb): Same.
7039 (print_scop_context): Same.
7040 (print_scop): Same.
7041 (print_cloog): Same.
7042 (debug_pbb_domain): Same.
7043 (debug_pbb): Same.
7044 (print_pdrs): Same.
7045 (debug_pdrs): Same.
7046 (debug_scop_context): Same.
7047 (debug_scop): Same.
7048 (debug_cloog): Same.
7049 (print_scop_params): Same.
7050 (debug_scop_params): Same.
7051 (print_iteration_domain): Same.
7052 (print_iteration_domains): Same.
7053 (debug_iteration_domain): Same.
7054 (debug_iteration_domains): Same.
7055 (print_scattering_function): Same.
7056 (print_scattering_functions): Same.
7057 (debug_scattering_function): Same.
7058 (debug_scattering_functions): Same.
7059
70602010-03-31 Sebastian Pop <sebastian.pop@amd.com>
7061
7062 * graphite-poly.c (print_scattering_function_1): New.
7063 (print_scattering_function): Call it.
7064 (print_scop_params): Remove spaces at the end of lines.
7065 (print_cloog): New.
7066 (debug_cloog): New.
7067 * graphite-poly.h (print_cloog): Declared.
7068 (debug_cloog): Declared.
7069
70702010-03-31 Sebastian Pop <sebastian.pop@amd.com>
7071
7072 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
7073 in loop->header.
7074 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
7075 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
7076 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
7077 to switch between adding the IV bump in loop->latch or in loop->header.
7078
70792010-03-31 Sebastian Pop <sebastian.pop@amd.com>
7080
7081 * graphite-poly.c (print_scattering_function): Pretty print following
7082 the scoplib format.
7083 (print_pdr): Same.
7084 (print_pbb_domain): Same.
7085 (dump_gbb_cases): Same.
7086 (dump_gbb_conditions): Same.
7087 (print_pdrs): Same.
7088 (print_pbb): Same.
7089 (print_scop_params): Same.
7090 (print_scop_context): Same.
7091 (print_scop): Same.
7092 (print_pbb_body): New.
7093 (lst_indent_to): New.
7094 (print_lst): Start new lines with a #.
7095 * graphite-poly.h (pbb_bb): New.
7096 (pbb_index): Use pbb_bb.
7097 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
7098 disjuncts.
7099 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
7100
71012010-03-31 Jakub Jelinek <jakub@redhat.com>
7102
7103 * dwarf2out.c (size_of_die): For -gdwarf-4 use
7104 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
7105 and 0 instead of 1 for dw_val_class_flag.
7106 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
7107 dw_val_class_range_list, dw_val_class_loc_list,
7108 dw_val_class_lineptr and dw_val_class_macptr, use
7109 DW_FORM_flag_present for dw_val_class_flag and
7110 DW_FORM_exprloc for dw_val_class_loc.
7111 (output_die): For -gdwarf-4 print dw_val_class_loc
7112 size as uleb128 instead of 1 or 2 bytes and don't print
7113 anything for dw_val_class_flag.
7114
7115 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
7116 instead of cselib_lookup following by tweaking locs->setting_insn.
7117
7118 PR bootstrap/43596
7119 * cselib.c (cselib_process_insn): Clear cselib_current_insn
7120 even before returning from label, setjmp call or volatile asm
7121 handling.
7122
71232010-03-31 Richard Guenther <rguenther@suse.de>
7124
7125 PR middle-end/43600
7126 * cgraphunit.c (cgraph_output_in_order): Do not allocate
7127 temporary data on stack.
7128
71292010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7130
7131 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
7132 (PUSHSECTION_ASM_OP): Remove.
7133 (POPSECTION_ASM_OP): Remove.
7134 (PUSHSECTION_FORMAT): Remove.
7135 * config/sol2.h (PUSHSECTION_FORMAT): Define.
7136 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
7137 * config/sol2.c (solaris_output_init_fini): Use it.
7138
71392010-03-31 Jie Zhang <jie@codesourcery.com>
7140
7141 PR 43574
7142 * opt-functions.awk (var_type_struct): Use signed char type
7143 for simple variables.
7144
71452010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7146
7147 * config/sol2.c: Include output.h.
7148 (solaris_assemble_visibility): New function.
7149 * config/t-sol2 (sol2.o): Add output.h dependency.
7150 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
7151 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
7152 Redefine.
7153
71542010-03-31 Jakub Jelinek <jakub@redhat.com>
7155
7156 PR target/43580
7157 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
7158 V2SImode or XFmode on PRE_DEC.
7159
7160 PR debug/43557
7161 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
7162 BLKmode.
7163
71642010-03-31 Jie Zhang <jie@codesourcery.com>
7165
7166 PR 43562
7167 * reload.h (caller_save_initialized_p): Declare.
7168 * toplev.c (backend_init_target): Don't call
7169 init_caller_save but set caller_save_initialized_p to false.
7170 * caller-save.c (caller_save_initialized_p): Define.
7171 (init_caller_save): Check caller_save_initialized_p.
7172 * ira.c (ira): Call init_caller_save if flag_caller_saves.
7173
71742010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7175
7176 PR target/39048
7177 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
7178 and soft-fp/t-softfp to tmake_file.
7179 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
7180 (LIBGCC2_TF_CEXT): Define.
7181 (TF_SIZE): Define.
7182
71832010-03-30 Alexandre Oliva <aoliva@redhat.com>
7184
7185 PR debug/42977
7186 * cselib.c (n_useless_values): Document handling of debug locs.
7187 (n_useless_debug_values, n_debug_values): New variables.
7188 (new_elt_loc_list): Don't add to debug values, keep count.
7189 (promote_debug_loc): New.
7190 (cselib_reset_table): Zero new variables.
7191 (entry_and_rtx_equal_p): Promote debug locs.
7192 (discard_useless_locs): Increment n_useless_debug_values for
7193 debug values.
7194 (remove_useless_values): Adjust n_useless_values and n_debug_values
7195 with n_useless_debug_values.
7196 (add_mem_for_addr): Promote debug locs.
7197 (cselib_lookup_mem): Likewise.
7198 (cselib_lookup_addr): Renamed to...
7199 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
7200 (cselib_log_lookup): ... this. Turn into...
7201 (cselib_lookup_addr): ... new wrapper.
7202 (cselib_lookup_from_insn): New.
7203 (cselib_invalidate_regno): Increment n_useless_debug_values for
7204 debug values.
7205 (cselib_invalidate_mem): Likewise.
7206 (cselib_process_insn): Take n_deleted and n_debug_values into
7207 account to guard remove_useless_value call.
7208 (cselib_finish): Zero n_useless_debug_values.
7209 * cselib.h (cselib_lookup_from_insn): Declare.
7210 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
7211 (sched_analyze_2): Likewise.
7212
72132010-03-30 Jakub Jelinek <jakub@redhat.com>
7214
7215 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
7216 functions.
7217 (adjust_mems): Replace narrowing SUBREG of expression containing
7218 just PLUS, MINUS, MULT and ASHIFT of registers and constants
7219 with operations in the narrower mode.
7220
7221 PR debug/43593
7222 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
7223 regs_invalidated_by_call instead all call_used_reg_set registers.
7224
72252010-03-30 Sebastian Pop <sebastian.pop@amd.com>
7226
7227 PR middle-end/43430
7228 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
7229 pointer comparisons with types_compatible_p.
7230 * tree-vect-stmts.c (vectorizable_call): Same.
7231 (vectorizable_condition): Same.
7232
72332010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7234
7235 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
7236 stack check if the mask would be zero.
7237
72382010-03-30 Seongbae Park <seongbae.park@gmail.com>
7239 Jack Howarth <howarth@bromo.med.uc.edu>
7240
7241 * tree-profile.c (tree_init_ic_make_global_vars): Make static
7242 variables TLS.
7243
72442010-03-30 Joseph Myers <joseph@codesourcery.com>
7245
7246 PR other/25232
7247 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
7248 and __unordtf2.
7249 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
7250 Include ___unordxf2 and ___unordtf2.
7251 * config/i386/libgcc-glibc.ver: Do not define inheritance from
7252 GCC_4.4.0 here.
7253
72542010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
7255
7256 * config/lm32/t-lm32: New file.
7257 * config.gcc: Use the above file when targetting lm32.
7258
72592010-03-28 Duncan Sands <baldrick@free.fr>
7260
7261 * Makefile.in (PLUGIN_HEADERS): Add except.h.
7262
72632010-03-29 Sebastian Pop <sebastian.pop@amd.com>
7264
7265 PR middle-end/43431
7266 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
7267 Improve vectorization cost model diagnostic.
7268
72692010-03-29 Sebastian Pop <sebastian.pop@amd.com>
7270
7271 PR middle-end/43436
7272 * tree-vect-data-refs.c (vect_analyze_data_refs): When
7273 compute_data_dependences_for_loop returns false, early exit
7274 and output an extra diagnostic for the failed data reference
7275 analysis.
7276
72772010-03-29 Richard Guenther <rguenther@suse.de>
7278
7279 PR tree-optimization/43560
7280 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
7281 (can_sm_ref_p): Treat stores to readonly locations as trapping.
7282
72832010-03-29 Jie Zhang <jie@codesourcery.com>
7284
7285 PR 43564
7286 * toplev.c (process_options): Set optimization_default_node
7287 and optimization_current_node.
7288 * opts.c (decode_options): Don't set optimization_default_node
7289 and optimization_current_node.
7290
72912010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
7292
7293 * config/rtems.h: Abandon -qrtems_debug.
7294
72952010-03-28 Jan Hubicka <jh@suse.cz>
7296
7297 PR tree-optimization/43505
7298 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
7299 map should not be copied.
7300
73012010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7302
7303 PR middle-end/41674
7304 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
7305 cdtors, set DECL_PRESERVE_P.
7306 * ipa.c (cgraph_externally_visible_p): Return true if declaration
7307 should be preseved.
7308
73092010-03-27 Uros Bizjak <ubizjak@gmail.com>
7310
7311 PR tree-optimization/43528
7312 * stor-layout.c (place_field): Check that constant fits into
7313 unsigned HWI when skipping calculation of MS bitfield layout.
7314
73152010-03-27 Jan Hubicka <jh@suse.cz>
7316
7317 PR middle-end/43391
7318 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
7319 notice_global_symbol work.
7320
73212010-03-27 Jakub Jelinek <jakub@redhat.com>
7322
7323 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
7324 instead of dwarf2out_decl.
7325 (struct var_loc_node): Remove section_label field.
7326 (dwarf2out_function_decl): New function.
7327 (dwarf2out_var_location): Don't set section_label field.
7328 (dwarf2out_begin_function): Don't empty decl_loc_table here.
7329
73302010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
7331
7332 PR tree-optimization/43544
7333 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
7334 First argument for builtin vectorized function hook is now a
7335 tree to be able to distinguish between machine specific and
7336 standard builtins.
7337 * targhooks.c (default_builtin_vectorized_function): Ditto.
7338 * targhooks.h (default_builtin_vectorized_function): Ditto.
7339 * target.h (struct gcc_target): Ditto.
7340 * tree-vect-stmts.c (vectorizable_function): Ditto.
7341 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
7342 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
7343 Ditto.
7344
73452010-03-26 Joseph Myers <joseph@codesourcery.com>
7346
7347 PR c/43381
7348 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
7349 nested binding iff it is a FUNCTION_DECL.
7350 (store_parm_decls_newstyle): Pass nested=true to bind for
7351 FUNCTION_DECLs amongst parameters.
7352
73532010-03-26 Jakub Jelinek <jakub@redhat.com>
7354
7355 * var-tracking.c (vt_expand_loc_callback): Don't run
7356 cselib_expand_value_rtx_cb in dummy mode if
7357 cselib_dummy_expand_value_rtx_cb returned false.
7358
7359 * var-tracking.c (emit_note_insn_var_location): For one part
7360 notes with offset 0, don't add EXPR_LIST around the location.
7361 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
7362 add_location_or_const_value_attribute): Adjust for that change.
7363
7364 PR debug/43540
7365 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
7366 into first operand and location into second.
7367 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
7368 dw_cfi_oprnd_loc for DW_CFA_expression.
7369 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
7370 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
7371 assume first argument is regnum and second argument is location.
7372
73732010-03-26 Uros Bizjak <ubizjak@gmail.com>
7374
7375 PR target/42113
7376 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
7377 of scratch register to DImode. Split to DImode comparison operator.
7378 Use SImode subreg of scratch register in the multiplication.
7379 (*cmp_sadd_sidi): Ditto.
7380 (*cmp_ssub_si): Ditto.
7381 (*cmp_ssub_sidi): Ditto.
7382
73832010-03-26 Uros Bizjak <ubizjak@gmail.com>
7384
7385 PR target/43524
7386 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
7387 Remove invalid assert and wrong comment.
7388
73892010-03-26 Jakub Jelinek <jakub@redhat.com>
7390
7391 PR debug/43516
7392 * flags.h (final_insns_dump_p): New extern.
7393 * final.c (final_insns_dump_p): New variable.
7394 (rest_of_clean_state): Set it before -fdump-final-insns=
7395 dumping, clear afterwards.
7396 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
7397 MEM_ALIAS_SET on MEMs.
7398
73992010-03-26 David S. Miller <davem@davemloft.net>
7400
7401 * configure.ac: Fix sparc GOTDATA_OP bug check.
7402 * configure: Rebuild.
7403
74042010-03-26 Alan Modra <amodra@gmail.com>
7405
7406 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
7407
74082010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7409
7410 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
7411 TLS_SECTION_ASM_FLAG.
7412
74132010-03-25 Jakub Jelinek <jakub@redhat.com>
7414
7415 PR bootstrap/43511
7416 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
7417 Clear first_function_block_is_cold.
7418
7419 PR c/43385
7420 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
7421 argument if the argument is truth_value_p.
7422
74232010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
7424
7425 * config/rs6000/constraints.md: Update copyright year for my changes.
7426
7427 PR target/43484
7428 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
7429 used in reg+reg addressing, swap registers.
7430
74312010-03-24 Jakub Jelinek <jakub@redhat.com>
7432
7433 PR debug/43293
7434 * target.h (struct gcc_target): Add code_end hook.
7435 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
7436 if not yet defined.
7437 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
7438 * toplev.c (compile_file): Call targetm.asm_out.code_end
7439 hook before unwind info/debug info output.
7440 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
7441 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
7442 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
7443 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
7444 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
7445 * config/i386/i386.c (ix86_file_end): Renamed to...
7446 (ix86_code_end): ... this. Make static. Don't call
7447 file_end_indicate_exec_stack. Emit unwind info using
7448 final_start_function/final_end_function.
7449 (darwin_x86_file_end): Remove.
7450 (TARGET_ASM_CODE_END): Define.
7451 * config/i386/i386.h (TARGET_ASM_FILE_END,
7452 NEED_INDICATE_EXEC_STACK): Don't define.
7453 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
7454 (TARGET_ASM_FILE_END): Define to darwin_file_end.
7455 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
7456 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
7457
7458 PR target/43498
7459 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
7460 at the beginning and final_end_function at the end.
7461 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
7462
74632010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7464
7465 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
7466 and Sun as TLS syntax.
7467 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
7468 * configure: Regenerate.
7469 * config.in: Regenerate.
7470 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
7471 (default_elf_asm_named_section): Use it.
7472 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
7473 (i386_output_dwarf_dtprel): Likewise.
7474 (output_addr_const_extra): Likewise.
7475 (output_pic_addr_const): Lowercase @GOTTPOFF.
7476 (output_addr_const_extra): Likewise.
7477 (output_pic_addr_const): Lowercase @GOTNTPOFF.
7478 (output_addr_const_extra): Likewise.
7479 (output_pic_addr_const): Lowercase @INDNTPOFF.
7480 (output_addr_const_extra): Likewise.
7481 (output_pic_addr_const): Lowercase @NTPOFF.
7482 (output_addr_const_extra): Likewise.
7483 (output_pic_addr_const): Lowercase @TPOFF.
7484 (output_addr_const_extra): Likewise.
7485 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
7486 (*tls_global_dynamic_64): Likewise.
7487 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
7488 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
7489
7490 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
7491 (ASM_OUTPUT_TLS_COMMON): Use it.
7492 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
7493
7494 PR target/38118
7495 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
7496 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
7497 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
7498 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
7499 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
7500 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
7501
75022010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7503
7504 * config/i386/i386.c (override_options): Don't accept
7505 -mtls-dialect=sun any longer.
7506 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
7507 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
7508 (*tls_local_dynamic_base_32_sun): Likewise.
7509 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
7510
75112010-03-24 Jakub Jelinek <jakub@redhat.com>
7512
7513 PR debug/43508
7514 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
7515 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
7516
7517 PR debug/43479
7518 * ira.c (adjust_cleared_regs): New function.
7519 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
7520
7521 PR debug/19192
7522 PR debug/43479
7523 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
7524 from gimple_block.
7525 * expr.c (expand_expr_real): Restore previous
7526 curr_insn_source_location and curr_insn_block after
7527 expand_expr_real_1 call.
7528 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
7529 instead of expand_expr_real_1.
7530
75312010-03-23 Vladimir Makarov <vmakarov@redhat.com>
7532
7533 PR rtl-optimization/43413
7534 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
7535 hard regs too.
7536
75372010-03-22 James E. Wilson <wilson@codesourcery.com>
7538
7539 PR target/43348
7540 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
7541 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
7542
75432010-03-22 H.J. Lu <hongjiu.lu@intel.com>
7544
7545 * config/i386/i386.c (ix86_target_string): Add -mfma.
7546 Fix a typo in comment.
7547
75482010-03-22 Mike Stump <mikestump@comcast.net>
7549
7550 PR target/23071
7551 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
7552 Don't overly align based upon packed packed fields.
7553
75542010-03-22 Jason Merrill <jason@redhat.com>
7555
7556 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
7557 Use () rather than [], and move before the element type.
7558
75592010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7560
7561 * doc/configfiles.texi (Configuration Files): Removed
7562 fixinc/Makefile*, intl/Makefile.*.
7563 * doc/makefile.texi: Fixed markup. Abstract from version
7564 control system used.
7565 (Makefile): Removed obsolete gcc/java/parse.y example.
7566 * doc/sourcebuild.texi: Likewise.
7567 (Top Level): Added config, gnattools, libdecnumber, libgcc,
7568 libgomp, libssp. Removed fastjar.
7569 (Miscellaneous Docs): Clarify location.
7570 Added COPYING3, COPYING3.LIB.
7571 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
7572
75732010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7574
7575 PR target/38085
7576 * config/i386/i386.c (x86_function_profiler)
7577 [!NO_PROFILE_COUNTERS]: Fix typo.
7578 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
7579 instead of callq.
7580
75812010-03-22 Janis Johnson <janis187@us.ibm.com>
7582 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7583
7584 * doc/sourcebuild.texi (Test Directives): Split into six
7585 subsections, with most of the current text in new subsections
7586 Directives, Selectors, and Final Actions.
7587 (Directives): Split list of test directives into multiple
7588 subsubsections.
7589 (Selectors): Describe use and syntax of selectors.
7590 (Effective-Target Keywords): Describe all existing keywords.
7591 (Add Options): Describe features for dg-add-options.
7592 (Require Support): Describe variants of dg-require-support.
7593 (Final Actions): Describe commands to use in dg-final.
7594
75952010-03-22 Michael Matz <matz@suse.de>
7596
7597 PR middle-end/43475
7598 * recog.c (validate_replace_rtx_group): Replace also in
7599 REG_EQUAL and REG_EQUIV notes.
7600
76012010-03-22 Richard Guenther <rguenther@suse.de>
7602
7603 PR tree-optimization/43390
7604 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
7605 sure vector extracts are type correct.
7606
76072010-03-22 Richard Guenther <rguenther@suse.de>
7608
7609 PR middle-end/40106
7610 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
7611 x * sqrt (x) even when optimizing for size if the target
7612 has native support for sqrt.
7613
76142010-03-22 Jakub Jelinek <jakub@redhat.com>
7615
7616 * varasm.c (make_decl_rtl_for_debug): Also clear
7617 flag_mudflap for the duration of make_decl_rtl call.
7618
7619 PR debug/43443
7620 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
7621 locs from preserved VALUEs.
7622
76232010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7624
7625 PR middle-end/42718
7626 * pa.md (movmemsi): Set align to one if zero.
7627 (movmemdi): Likewise.
7628
76292010-03-21 Richard Earnshaw <rearnsha@arm.com>
7630
7631 PR target/42321
7632 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
7633 with their corresponding prologue pushes.
7634
76352010-03-20 Andrew Pinski <pinskia@gmail.com>
7636
7637 PR target/43156
7638 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
7639 at the begining or end.
7640 (spu_expand_epilogue): Likewise.
7641
76422010-03-20 Richard Guenther <rguenther@suse.de>
7643
7644 PR rtl-optimization/43438
7645 * combine.c (make_extraction): Properly zero-/sign-extend an
7646 extraction of the low part of a CONST_INT. Also handle
7647 CONST_DOUBLE.
7648
76492010-03-19 Mike Stump <mikestump@comcast.net>
7650
7651 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
7652 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
7653 (override_options): Use SUBTARGET32_DEFAULT_CPU.
7654
76552010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
7656
7657 PR c/43211
7658 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
7659 an error.
7660
76612010-03-19 Bernd Schmidt <bernds@codesourcery.com>
7662
7663 PR rtl-optimization/42258
7664 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
7665 use that may match DEF.
7666
7667 PR target/40697
7668 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
7669 the cost of loading the constant rather than assuming
7670 COSTS_N_INSNS (1).
7671 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
7672 outer code is AND, do the same tests as the andsi3 expander and
7673 return COSTS_N_INSNS (1) if and is cheap.
7674
7675 * optabs.c (avoid_expensive_constant): Fix formatting.
7676
76772010-03-19 Michael Matz <matz@suse.de>
7678
7679 PR c++/43116
7680 * attribs.c (decl_attributes): When rebuilding a function pointer
7681 type use the same qualifiers as the original pointer type.
7682
76832010-03-19 Martin Jambor <mjambor@suse.cz>
7684
7685 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
7686 and is_gimple_ip_invariant_address.
7687
76882010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7689
7690 Revert
7691 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7692
7693 * config/arm/arm.c (arm_override_options): Turn off
7694 flag_dwarf2_cfi_asm for AAPCS variants.
7695
76962010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7697
7698 PR target/43399
7699 * config/arm/arm.c (emit_multi_reg_push): Update comments.
7700 Use PRE_MODIFY instead of PRE_DEC.
7701 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
7702 (vfp_emit_fstmd): Likewise.
7703
77042010-03-19 Michael Matz <matz@suse.de>
7705
7706 PR target/43305
7707 * builtins.c (expand_builtin_interclass_mathfn,
7708 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
7709 if that fails.
7710
77112010-03-19 Richard Guenther <rguenther@suse.de>
7712
7713 PR tree-optimization/43415
7714 * tree-ssa-pre.c (phi_translate): Split out worker to ...
7715 (phi_translate_1): ... this.
7716 (phi_translate): Move all caching here. Cache all NARY
7717 and REFERENCE translations.
7718
77192010-03-19 David S. Miller <davem@davemloft.net>
7720
7721 With help from Eric Botcazou.
7722 * config/sparc/sparc.c: Include dwarf2out.h.
7723 (emit_pic_helper): Delete.
7724 (pic_helper_symbol_name): Delete.
7725 (pic_helper_emitted_p): Delete.
7726 (pic_helper_needed): New.
7727 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
7728 (get_pc_thunk_name): New.
7729 (load_pic_register): Remove 'delay_pic_helper' arg. Use
7730 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
7731 Set pic_helper_needed to true. Don't call emit_pic_helper.
7732 (sparc_expand_prologue): Update load_pic_register call.
7733 (sparc_output_mi_thunk): Likewise.
7734 (sparc_file_end): Emit a hidden comdat symbol for the PIC
7735 thunk if possible. Output CFI information as needed.
7736
77372010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7738 Jack Howarth <howarth@bromo.med.uc.edu>
7739
7740 PR target/36399
7741 * config/i386/i386.h: Fix ABI on darwin x86-32.
7742
77432010-03-18 Aldy Hernandez <aldyh@redhat.com>
7744
7745 * tree.h: Declare make_decl_rtl_for_debug.
7746 * varasm.c (make_decl_rtl_for_debug): New.
7747 * dwarf2out.c (rtl_for_decl_location): Call it.
7748 * cfgexpand.c (expand_debug_expr): Call it.
7749
77502010-03-18 Jakub Jelinek <jakub@redhat.com>
7751
7752 PR bootstrap/43399
7753 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
7754 mem_mode.
7755
7756 PR bootstrap/43403
7757 * var-tracking.c (vt_init_cfa_base): Do nothing if
7758 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
7759
77602010-03-18 Alexandre Oliva <aoliva@redhat.com>
7761
7762 PR debug/42873
7763 * var-tracking.c (canonicalize_vars_star): New.
7764 (dataflow_post_merge_adjust): Use it.
7765
77662010-03-18 Jakub Jelinek <jakub@redhat.com>
7767
7768 PR debug/43058
7769 * var-tracking.c (non_suitable_const): New function.
7770 (add_uses): For DEBUG_INSNs with constants, don't record any
7771 value, instead just the constant value itself.
7772 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
7773 is not VAR_LOC_UNKNOWN_P, set var to the constant.
7774 (emit_notes_in_bb): Likewise.
7775 (emit_note_insn_var_location): For onepart variables if
7776 cur_loc is a VOIDmode constant, use DECL_MODE.
7777
77782010-03-18 Martin Jambor <mjambor@suse.cz>
7779
7780 PR middle-end/42450
7781 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
7782 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
7783 all non-clones. Moved call redirection...
7784 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
7785 (cgraph_materialize_all_clones): Dispose of all
7786 combined_args_to_skip bitmaps.
7787 (verify_cgraph_node): Do not check for edges pointing to wrong
7788 nodes in inline clones.
7789 * tree-inline.c (copy_bb): Call
7790 cgraph_redirect_edge_call_stmt_to_callee.
7791 * ipa.c (cgraph_remove_unreachable_nodes): Call
7792 cgraph_node_remove_callees even when there are used clones.
7793
77942010-03-18 H.J. Lu <hongjiu.lu@intel.com>
7795
7796 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
7797
77982010-03-18 H.J. Lu <hongjiu.lu@intel.com>
7799
7800 PR target/43383
7801 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
7802 for 32bit.
7803
78042010-03-18 Michael Matz <matz@suse.de>
7805
7806 PR middle-end/43419
7807 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
7808 into sqrt(x) if we need to preserve signed zeros.
7809
78102010-03-18 Steven Bosscher <steven@gcc.gnu.org>
7811 Eric Botcazou <ebotcazou@adacore.com>
7812
7813 PR rtl-optimization/43360
7814 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
7815 note if we don't know its invariant status.
7816
78172010-03-18 Michael Matz <matz@suse.de>
7818
7819 PR tree-optimization/43402
7820 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
7821 PHI chains of ssa names registered for update.
7822
78232010-03-17 Peter Bergner <bergner@vnet.ibm.com>
7824
7825 PR target/42427
7826 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
7827 non-offsettable and pre_modify update addressing.
7828 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
7829 and "2" alternatives "#".
7830 (*movdd_softfloat32): Make all alternatives "#";
7831 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
7832 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
7833 (*movdf_softfloat32): Make all alternatives "#";
7834 (movdi): Use the new DIFD mode iterator to create a common splitter
7835 for movdi, movdf and movdd patterns.
7836
78372010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
7838
7839 * common.opt (dumpdir): Remove redundant tab.
7840
78412010-03-17 Martin Jambor <mjambor@suse.cz>
7842
7843 PR tree-optimization/43347
7844 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
7845 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
7846
78472010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
7848
7849 PR rtl-optimization/42216
7850 * regrename.c (create_new_chain): New function, broken out from...
7851 (scan_rtx_reg): ... here. Call it. Handle the case where we are
7852 appending a use to an empty chain.
7853 (build_def_use): Remove previous changes that convert OP_INOUT to
7854 OP_OUT operands; instead detect the case where an OP_INOUT operand
7855 uses a previously untracked register and create an empty chain for it.
7856
78572010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7858
7859 * doc/extend.texi (Function Attributes): Rewrite unfinished
7860 sentence in ms_abi documentation.
7861
78622010-03-17 Alan Modra <amodra@gmail.com>
7863
7864 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
7865 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
7866 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
7867 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
7868
78692010-03-16 Richard Henderson <rth@redhat.com>
7870
7871 PR middle-end/43365
7872 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
7873 (lower_try_finally): Save and restore eh_seq around the expansion
7874 of the try-finally.
7875
78762010-03-16 Aldy Hernandez <aldyh@redhat.com>
7877
7878 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
7879 statements before splitting block.
7880
78812010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7882
7883 * doc/sourcebuild.texi (Testsuites): Fix markup.
7884 Use pathnames relative to gcc/testsuite.
7885 (Test Directives): Move description of how timeout is determined.
7886 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
7887 (C Tests): Correct gcc.misc-tests directory.
7888 Framework tests now live in gcc.test-framework.
7889
78902010-03-16 Richard Guenther <rguenther@suse.de>
7891
7892 PR middle-end/43379
7893 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
7894 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7895
78962010-03-16 Aldy Hernandez <aldyh@redhat.com>
7897 Alexandre Oliva <aoliva@redhat.com>
7898
7899 PR tree-optimization/42917
7900 * lambda-code.c (remove_iv): Skip debug statements.
7901 (lambda_loopnest_to_gcc_loopnest): Likewise.
7902 (not_interesting_stmt): Debug statements are not interesting.
7903
79042010-03-16 Jakub Jelinek <jakub@redhat.com>
7905
7906 PR debug/43051
7907 PR debug/43092
7908 * cselib.c (cselib_preserve_constants,
7909 cfa_base_preserved_val): New static variables.
7910 (preserve_only_constants): New function.
7911 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
7912 clear its REG_VALUES. If cselib_preserve_constants, don't
7913 empty the whole hash table, but preserve there VALUEs with constants,
7914 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
7915 (cselib_preserve_cfa_base_value): New function.
7916 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
7917 (cselib_init): Change argument to int bitfield. Set
7918 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
7919 is in it.
7920 (cselib_finish): Clear cselib_preserve_constants and
7921 cfa_base_preserved_val.
7922 * cselib.h (enum cselib_record_what): New enum.
7923 (cselib_init): Change argument to int.
7924 (cselib_preserve_cfa_base_value): New prototype.
7925 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
7926 * dse.c (dse_step1): Likewise.
7927 * cfgcleanup.c (thread_jump): Likewise.
7928 * sched-deps.c (sched_analyze): Likewise.
7929 * gcse.c (local_cprop_pass): Likewise.
7930 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
7931 If FN is non-NULL, call the callback always and whenever it returns
7932 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
7933 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
7934 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
7935 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
7936 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
7937 * var-tracking.c: Include recog.h.
7938 (bb_stack_adjust_offset): Remove.
7939 (vt_stack_adjustments): Don't call it, instead just gather the
7940 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
7941 (adjust_stack_reference): Remove.
7942 (compute_cfa_pointer): New function.
7943 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
7944 (struct adjust_mem_data): New type.
7945 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
7946 functions.
7947 (get_address_mode): New function.
7948 (replace_expr_with_values): Use it.
7949 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
7950 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
7951 (adjust_sets): Remove.
7952 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
7953 Use get_address_mode.
7954 (get_adjusted_src): Remove.
7955 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
7956 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
7957 (add_with_sets): Don't call adjust_sets.
7958 (fp_setter, vt_init_cfa_base): New functions.
7959 (vt_initialize): Change return type to bool. Move most of pool etc.
7960 initialization to the beginning of the function from end. Pass
7961 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
7962 If !frame_pointer_needed, call vt_stack_adjustment before mos
7963 vector is filled, call vt_init_cfa_base if argp/framep has been
7964 eliminated to sp. If frame_pointer_needed and argp/framep has
7965 been eliminated to hard frame pointer, set
7966 hard_frame_pointer_adjustment and call vt_init_cfa_base after
7967 encountering fp setter in the prologue. For MO_ADJUST, call
7968 log_op_type before pusing the op into mos vector, not afterwards.
7969 Call adjust_insn before cselib_process_insn/add_with_sets,
7970 call cancel_changes (0) afterwards.
7971 (variable_tracking_main_1): Adjust for vt_initialize calling
7972 vt_stack_adjustments and returning whether it succeeded or not.
7973
79742010-03-15 Aldy Hernandez <aldyh@redhat.com>
7975
7976 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
7977 debug statements.
7978
79792010-03-15 Jakub Jelinek <jakub@redhat.com>
7980
7981 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
7982 has been set.
7983 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
7984 drap_reg has not been set.
7985
79862010-03-15 Michael Matz <matz@suse.de>
7987
7988 PR middle-end/43300
7989 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
7990 use it to expand block copies.
7991 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
7992 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
7993 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
7994
79952010-03-15 Richard Guenther <rguenther@suse.de>
7996
7997 PR tree-optimization/43367
7998 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
7999 elimination check.
8000
80012010-03-15 Richard Guenther <rguenther@suse.de>
8002
8003 PR tree-optimization/43317
8004 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
8005
80062010-03-15 Martin Jambor <mjambor@suse.cz>
8007
8008 PR tree-optimization/43141
8009 * tree-sra.c (create_abstract_origin): New function.
8010 (modify_function): Call create_abstract_origin.
8011
80122010-03-15 Chris Demetriou <cgd@google.com>
8013
8014 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
8015 wasn't copied.
8016
80172010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8018
8019 PR middle-end/43354
8020 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
8021 call insert_out_of_ssa_copy for default definitions.
8022
80232010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8024
8025 * graphite-clast-to-gimple.c (my_long_long): Defined.
8026 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
8027 * graphite-sese-to-poly.c (my_long_long): Defined.
8028 (scop_ivs_can_be_represented): Use it.
8029
80302010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8031
8032 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
8033 graphite-max-bbs-per-function, and loop-block-tile-size.
8034 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
8035 with "maximum".
8036 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
8037
80382010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8039
8040 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
8041 forward declaration.
8042 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
8043 (add_upper_bounds_from_estimated_nit): New.
8044 (build_loop_iteration_domains): Use it.
8045
80462010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8047
8048 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
8049
80502010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8051
8052 PR middle-end/43306
8053 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
8054 should be an INTEGER_CST. Also handle CASE_CONVERT.
8055
80562010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8057
8058 * graphite.c (graphite_initialize): To bound the number of bbs per
8059 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
8060 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
8061 * doc/invoke.texi: Document it.
8062
80632010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8064
8065 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
8066 * graphite-sese-to-poly.h (build_poly_scop): Same.
8067
80682010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8069
8070 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
8071 the number of parameters in the scop. Use as an upper bound
8072 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
8073 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
8074 * doc/invoke.texi: Document it.
8075
80762010-03-13 Jerry Quinn <jlquinn@optonline.net>
8077
8078 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
8079 * doc/c-tree.texi: Remove.
8080 * doc/generic.texi: Merge c-tree.texi here.
8081 * doc/gccint.texi (Trees): Remove menu entry.
8082 (c-tree.texi): Remove @include.
8083 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
8084 * doc/languages.texi (Reading RTL): Ditto.
8085
80862010-03-12 Steve Ellcey <sje@cup.hp.com>
8087
8088 PR target/42869
8089 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
8090
80912010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
8092
8093 PR middle-end/42431
8094 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
8095 code added to work around reload clobbering CONST insns.
8096
80972010-03-12 Jakub Jelinek <jakub@redhat.com>
8098
8099 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
8100 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
8101 (cselib_preserve_only_values): Remove retain argument, don't
8102 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
8103 * cselib.h (cselib_preserve_only_values): Remove retain argument.
8104 * var-tracking.c (micro_operation): Move insn field before union.
8105 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
8106 (struct variable_tracking_info_def): Remove n_mos field, change
8107 mos into a vector of micro_operations.
8108 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
8109 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
8110 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
8111 changing into a vector.
8112 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
8113 come before all other uops generated by add_stores.
8114 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
8115 argument removal.
8116 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
8117 a vector. Run just one pass over the bbs instead of separate counting
8118 and computation phase.
8119 (vt_finalize): Free VTI (bb)->mos vector instead of array.
8120
8121 PR debug/43329
8122 * tree-inline.c (remap_decls): Put old_var rather than origin_var
8123 into *nonlocalized_list vector.
8124 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
8125 even if origin is non-NULL.
8126 (gen_variable_die): Likewise.
8127 (process_scope_var): Don't change origin.
8128 (gen_decl_die): Likewise.
8129 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
8130 before adding new edges instead of after it, fix moving over
8131 debug stmts.
8132
81332010-03-11 David S. Miller <davem@davemloft.net>
8134
8135 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
8136 of four.
8137 * configure: Rebuild.
8138
81392010-03-11 Martin Jambor <mjambor@suse.cz>
8140
8141 PR tree-optimization/43257
8142 * tree.c (assign_assembler_name_if_neeeded): New function.
8143 (free_lang_data_in_cgraph): Assembler name assignment moved to the
8144 above new function.
8145 * tree.h (assign_assembler_name_if_neeeded): Declare.
8146 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
8147 the function if needed.
8148
81492010-03-11 Chris Demetriou <cgd@google.com>
8150
8151 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
8152 include/stdint-gcc.h, and include/stdint.h world-readable.
8153
81542010-03-11 Richard Guenther <rguenther@suse.de>
8155
8156 PR tree-optimization/43255
8157 * tree-vrp.c (process_assert_insertions_for): Do not insert
8158 asserts for trivial conditions.
8159
81602010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8161
8162 PR tree-optimization/43280
8163 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
8164 generation. Move calculation of size out of the if branch.
8165 (find_bswap): Modify compare number generation.
8166
81672010-03-11 Richard Guenther <rguenther@suse.de>
8168
8169 PR lto/43200
8170 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
8171 (input_gimple_stmt): Fixup handled component types during
8172 operand read. Also fix up decls in ADDR_EXPRs.
8173
81742010-03-10 Eric Botcazou <ebotcazou@adacore.com>
8175
8176 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
8177 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
8178
81792010-03-10 Jan Hubicka <jh@suse.cz>
8180
8181 PR c/43288
8182 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
8183 * varasm.c (get_variable_section): Don't do that here...
8184 (make_decl_rtl): ... and here.
8185 (do_assemble_alias): Produce decl RTL.
8186 (assemble_alias): Likewise.
8187
81882010-03-10 Jakub Jelinek <jakub@redhat.com>
8189
8190 PR debug/43290
8191 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
8192 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
8193 of fde->vdrap_reg.
8194 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
8195 (based_loc_descr): Only express drap or vdrap regno based expressions
8196 using DW_OP_fbreg when not optimizing.
8197 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
8198 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
8199 REG_CFA_SET_VDRAP note.
8200
82012010-03-10 Alexander Monakov <amonakov@ispras.ru>
8202
8203 PR tree-optimization/43236
8204 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
8205 error in calculation of base address in reverse iteration case.
8206 (generate_builtin): Take number of latch executions if the statement
8207 is in the latch.
8208
82092010-03-10 Andrey Belevantsev <abel@ispras.ru>
8210
8211 PR middle-end/42859
8212 * tree-eh.c: Include pointer-set.h.
8213 (lower_eh_dispatch): Filter out duplicate case labels and
8214 remove the unneeded edge when the label is unused. Return
8215 true when some edges are removed.
8216 (execute_lower_eh_dispatch): When any lowering resulted in
8217 removing an edge, also delete unreachable blocks.
8218
82192010-03-10 Jakub Jelinek <jakub@redhat.com>
8220
8221 PR bootstrap/43287
8222 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
8223 UNSPEC_MACHOPIC_OFFSET.
8224
82252010-03-09 Andreas Schwab <schwab@linux-m68k.org>
8226
8227 PR target/43294
8228 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
8229 (m68k_delegitimize_address): New function.
8230
82312010-03-09 Jakub Jelinek <jakub@redhat.com>
8232
8233 PR debug/43299
8234 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
8235
8236 PR debug/43299
8237 * var-tracking.c (adjust_sets): New function.
8238 (count_with_sets, add_with_sets): Use it.
8239 (get_adjusted_src): New inline function.
8240 (add_stores): Use it.
8241
8242 PR debug/43304
8243 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
8244 call cselib_dummy_expand_value_rtx_cb instead of
8245 cselib_expand_value_rtx_cb.
8246
8247 PR debug/43293
8248 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
8249 * config/i386/i386.c: Include debug.h and dwarf2out.h.
8250 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
8251 and .cfi_endproc around the pic thunks.
8252 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
8253 all queued unwind info register saves are saved before the call.
8254 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
8255 considered as sp-=4 for unwind info and the pop as sp+=4 which
8256 also clobbers dest, but doesn't actually restore it.
8257
8258 PR debug/43290
8259 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
8260 RTX_FRAME_RELATED_P.
8261
82622010-03-09 Jie Zhang <jie@codesourcery.com>
8263
8264 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
8265 whitespaces in output template.
8266
82672010-03-09 Jie Zhang <jie@codesourcery.com>
8268
8269 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
8270 out array boundary.
8271
82722010-03-08 Jakub Jelinek <jakub@redhat.com>
8273
8274 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
8275 builtins.exp in a separate job.
8276
82772010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8278
8279 * graphite-sese-to-poly.c (add_param_constraints): Use
8280 lower_bound_in_type and upper_bound_in_type.
8281
82822010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8283
8284 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
8285 instead of unsigned_type_node.
8286
82872010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8288 Reza Yazdani <reza.yazdani@amd.com>
8289
8290 PR middle-end/43065
8291 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
8292 on pointer type parameters.
8293
82942010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8295
8296 PR middle-end/42644
8297 PR middle-end/42130
8298 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
8299 handle conversions from pointer to integers.
8300 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
8301 induction variable, to be able to work with code generated by CLooG.
8302 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
8303 (build_poly_scop): Bail out if we cannot codegen a loop.
8304
83052010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8306
8307 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
8308 code generation with gloog_error.
8309
83102010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8311
8312 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
8313 Call fold_convert on all the returned values.
8314 (expand_scalar_variables_expr): Pass to
8315 expand_scalar_variables_ssa_name the type of the resulting expression.
8316
83172010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8318
8319 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
8320 ppl_min_for_le_pointset.
8321 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
8322 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
8323
83242010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8325
8326 * graphite-dependences.c (map_into_dep_poly): Removed.
8327 (dependence_polyhedron_1): Use combine_context_id_scat.
8328
83292010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8330
8331 * graphite-poly.h (struct poly_scattering): Add layout documentation.
8332 (struct poly_bb): Same.
8333 (combine_context_id_scat): New.
8334
83352010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8336
8337 PR middle-end/42326
8338 * sese.c (name_defined_in_loop_p): Return false for default
8339 definitions.
8340
83412010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8342
8343 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
8344 and clean up the logic.
8345
83462010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8347
8348 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
8349 early return.
8350
83512010-03-08 Jakub Jelinek <jakub@redhat.com>
8352
8353 * var-tracking.c (remove_cselib_value_chains): Define only for
8354 ENABLE_CHECKING.
8355 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
8356 delete_slot_part, emit_notes_for_differences_1): Don't call
8357 remove_cselib_value_chains here.
8358 (set_slot_part, emit_notes_for_differences_2): Don't call
8359 add_cselib_value_chains here.
8360 (preserved_values): New vector.
8361 (preserve_value): New function.
8362 (add_uses, add_stores, vt_add_function_parameters): Use it
8363 instead of cselib_preserve_value.
8364 (changed_values_stack): New vector.
8365 (check_changed_vars_0): New function.
8366 (check_changed_vars_1, check_changed_vars_2): Use it.
8367 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
8368 changed_values_stack VALUEs.
8369 (vt_emit_notes): For all preserved_values call
8370 add_cselib_value_chains. If ENABLE_CHECKING call
8371 remove_cselib_value_chains before verifying value_chains is empty.
8372 Initialize and free changed_values_stack.
8373 (vt_initialize): Initialize preserved_values.
8374 (vt_finalize): Free preserved_values.
8375
83762010-03-08 Richard Guenther <rguenther@suse.de>
8377
8378 PR tree-optimization/43269
8379 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
8380 region detection.
8381
83822010-03-08 Martin Jambor <mjambor@suse.cz>
8383
8384 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
8385 (ipa_is_param_called): Removed.
8386 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
8387 (ipa_print_node_params): Do not print the called flag.
8388 (ipa_write_node_info): Do not stream the called flag.
8389 (ipa_read_node_info): Likewise.
8390
83912010-03-07 Jakub Jelinek <jakub@redhat.com>
8392
8393 PR debug/43176
8394 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
8395 * cselib.c (struct expand_value_data): Add dummy field.
8396 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
8397 dummy to false.
8398 (cselib_dummy_expand_value_rtx_cb): New function.
8399 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
8400 any rtl.
8401 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
8402 * var-tracking.c: Include pointer-set.h.
8403 (variable): Change n_var_parts to char from int. Add
8404 cur_loc_changed and in_changed_variables fields.
8405 (variable_canonicalize): Remove.
8406 (shared_var_p): New inline function.
8407 (unshare_variable): Maintain cur_loc_changed and
8408 in_changed_variables fields. If var was in changed_variables,
8409 replace it there with new_var. Just copy cur_loc instead of
8410 resetting it to something else.
8411 (variable_union): Don't recompute cur_loc. Use shared_var_p.
8412 (dataflow_set_union): Don't call variable_canonicalize.
8413 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
8414 of their DEBUG_EXPR_TREE_DECLs.
8415 (canonicalize_loc_order_check): Verify that cur_loc is NULL
8416 and in_changed_variables and cur_loc_changed is false.
8417 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
8418 and cur_loc_changed. Don't update cur_loc here.
8419 (variable_merge_over_src): Don't call variable_canonicalize.
8420 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
8421 removing loc that is equal to cur_loc, clear cur_loc,
8422 set cur_loc_changed and ensure variable_was_changed is called.
8423 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
8424 compare pointers in cur_loc check, if it is equal to loc,
8425 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
8426 (variable_different_p): Remove compare_current_location argument,
8427 don't compare cur_loc.
8428 (dataflow_set_different_1): Adjust variable_different_p caller.
8429 (variable_was_changed): If dv had some var in changed_variables
8430 already, reset in_changed_variables flag for it and propagate
8431 cur_loc_changed over to the new variable. On empty var
8432 always set cur_loc_changed. Set in_changed_variables on whatever
8433 var is added to changed_variables.
8434 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
8435 Use shared_var_p. When removing loc that is equal to cur_loc,
8436 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
8437 end, don't set it to something else, just call variable_was_changed.
8438 (delete_slot_part): Use shared_var_p. When cur_loc equals to
8439 loc being removed, clear cur_loc and set cur_loc_changed.
8440 Set cur_loc_changed if all locations have been removed.
8441 (struct expand_loc_callback_data): New type.
8442 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
8443 allocated. Always create SUBREGs if simplify_subreg failed.
8444 Prefer to use cur_loc, when that fails and still in
8445 changed_variables (and seen first time) recompute it. Set
8446 cur_loc_changed of variables which had to change cur_loc and
8447 compute elcd->cur_loc_changed if any of the subexpressions used
8448 had to change cur_loc.
8449 (vt_expand_loc): Adjust to pass arguments in
8450 expand_loc_callback_data structure.
8451 (vt_expand_loc_dummy): New function.
8452 (emitted_notes): New variable.
8453 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
8454 that weren't used for any other decl in current
8455 emit_notes_for_changes call call vt_expand_loc_dummy to update
8456 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
8457 first loc_chain location if NULL before. Always use just
8458 cur_loc instead of first loc_chain location. When cur_loc_changed
8459 is false, when not --enable-checking=rtl just don't emit any note.
8460 When rtl checking, compute the note and assert it is the same
8461 as previous note. Clear cur_loc_changed and in_changed_variables
8462 at the end before removing from changed_variables.
8463 (check_changed_vars_3): New function.
8464 (emit_notes_for_changes): Traverse changed_vars to call
8465 check_changed_vars_3 on each changed var.
8466 (emit_notes_for_differences_1): Clear cur_loc_changed and
8467 in_changed_variables. Recompute cur_loc of new_var.
8468 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
8469 (vt_emit_notes): Initialize and destroy emitted_notes.
8470
84712010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
8472
8473 PR rtl-optimization/42220
8474 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
8475 Use verify_reg_tracked to determine if we should use OP_OUT rather
8476 than OP_INOUT.
8477 (build_def_use): If we see an in-out operand for a register that we
8478 know nothing about, treat is an output if possible, fail the block if
8479 not.
8480
84812010-03-06 Alexandre Oliva <aoliva@redhat.com>
8482
8483 PR debug/42897
8484 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
8485 permanently.
8486
84872010-03-06 Alexandre Oliva <aoliva@redhat.com>
8488
8489 PR debug/42897
8490 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
8491 uses of relevant DEFs that are dead outside the loop too.
8492
84932010-03-06 Alexandre Oliva <aoliva@redhat.com>
8494
8495 * var-tracking.c (dataflow_set_merge): Swap src and src2.
8496 Reverted:
8497 2010-01-13 Jakub Jelinek <jakub@redhat.com>
8498 PR debug/41371
8499 * var-tracking.c (values_to_unmark): New variable.
8500 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
8501 values_to_unmark vector. Moved body to...
8502 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
8503 instead queue it into values_to_unmark vector.
8504 (vt_find_locations): Free values_to_unmark vector.
8505
85062010-03-05 Eric Botcazou <ebotcazou@adacore.com>
8507
8508 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
8509 (site.exp): Export them when plugins are enabled.
8510
85112010-03-05 Sebastian Pop <sebastian.pop@amd.com>
8512
8513 PR middle-end/42326
8514 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
8515 that contain scevs.
8516 (chrec_fold_multiply): Same.
8517
85182010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
8519
8520 PR c/43248
8521 * c-decl.c (build_compound_literal): Return early if init is
8522 an error_mark_node.
8523
85242010-03-04 Martin Jambor <mjambor@suse.cz>
8525
8526 PR tree-optimization/43164
8527 PR tree-optimization/43191
8528 * tree-sra.c (type_consists_of_records_p): Reject records with
8529 zero-size bit-fields at the end.
8530
85312010-03-04 Mike Stump <mikestump@comcast.net>
8532
8533 * Makefile.in (TAGS): Remove *.y.
8534
85352010-03-04 Richard Guenther <rguenther@suse.de>
8536
8537 PR tree-optimization/40761
8538 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
8539 in reverse order.
8540 (my_rev_post_order_compute): New function.
8541 (init_pre): Call it.
8542
85432010-03-04 Changpeng Fang <changpeng.fang@amd.com>
8544
8545 PR middle-end/43209
8546 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
8547 decrease the cost of an IV candidate when the cost is infinite.
8548
85492010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8550
8551 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
8552 Use '3DNow!' for the extension of that name, ensure normal space
8553 after the string.
8554 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
8555
85562010-03-03 Jeff Law <law@redhat.com>
8557
8558 * PR middle-end/32693
8559 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
8560 than gen_rtx_SUBREG.
8561 (extract_bit_field_1): Likewise.
8562
85632010-03-03 Janis Johnson <janis187@us.ibm.com>
8564
8565 * doc/sourcebuild.texi (Test directives): Document that arguments
8566 include-opts and exclude-opts are now optional for dg-skip-if,
8567 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
8568
85692010-03-03 Jason Merrill <jason@redhat.com>
8570
8571 PR c++/12909
8572 * cgraph.h (varpool_node): Add extra_name field.
8573 * varpool.c (varpool_extra_name_alias): New.
8574 (varpool_assemble_decl): Emit extra name aliases.
8575 (varpool_mark_needed_node): Look past an extra name alias.
8576 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
8577 * lto-streamer-in.c (lto_input_tree): Read it.
8578 * lto-streamer-out.c (output_unreferenced_globals): Write it.
8579
85802010-03-03 Eric Botcazou <ebotcazou@adacore.com>
8581
8582 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
8583 (sparc*-*-solaris2*): ...this.
8584
85852010-03-03 Jakub Jelinek <jakub@redhat.com>
8586
8587 PR debug/43229
8588 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
8589 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
8590 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
8591 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
8592
8593 PR debug/43237
8594 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
8595 fallthrough to default handling, just with want_address 0 instead of 2.
8596 For single element lists, add_AT_loc directly, otherwise create an
8597 artificial variable DIE and stick location list to it.
8598
8599 PR debug/43177
8600 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
8601 (VAL_EXPR_HAS_REVERSE): Define.
8602 (reverse_op): New function.
8603 (add_stores): For reversible operations add an extra MO_VAL_USE.
8604
86052010-03-02 Jason Merrill <jason@redhat.com>
8606
8607 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
8608
86092010-03-02 Eric Botcazou <ebotcazou@adacore.com>
8610
8611 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
8612 (sparc64-*-linux*): Likewise.
8613 (sparc64-*-solaris2*): Include assembler files before linker ones.
8614 (sparc-*-solaris2*): Simplify and reorder to match previous case.
8615 * config/sparc/gas.h: Delete.
8616 * config/sparc/sol2-64.h: Add copyright notice.
8617 * config/sparc/sol2-gas-bi.h: Likewise.
8618 * config/sparc/sol2-gld.h: Likewise.
8619 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
8620 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
8621 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
8622 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
8623 (sparc_elf_asm_named_section): Rename into...
8624 (sparc_solaris_elf_asm_named_section): ...this. Always define.
8625
86262010-03-02 Uros Bizjak <ubizjak@gmail.com>
8627
8628 * config/alpha/alpha.c (override_options): Fix -mtune error message.
8629
86302010-03-02 Jeff Law <law@redhat.com>
8631
8632 PR middle-end/42431
8633 * reload1.c (rtx_p, substitute_stack): Declare.
8634 (substitute): Record addresses of changed rtxs.
8635 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
8636 Restore the original rtx when complete.
8637 (reload): Free subsitute_stack when complete.
8638
86392010-03-02 Janis Johnson <janis187@us.ibm.com>
8640
8641 * doc/gccint.texi (menu): Add Testsuites as a chapter.
8642 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
8643 new chapter.
8644 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
8645 LTO Testing, gcov Testing, profopt Testing, compat Testing,
8646 Torture Tests): Change from subsection to section.
8647
86482010-03-02 Jakub Jelinek <jakub@redhat.com>
8649 Steven Bosscher <steven@gcc.gnu.org>
8650
8651 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
8652 instead of bb.
8653
86542010-03-02 Reza Yazdani <reza.yazdani@amd.com>
8655
8656 PR middle-end/42640
8657 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
8658 the assignment from the new induction variable to the assignment
8659 of the value from the original loop PHI function.
8660
86612010-03-01 Janis Johnson <janis187@us.ibm.com>
8662 Daniel Jacobowitz <dan@codesourcery.com>
8663
8664 * doc/sourcebuild.texi (Test directives): Clarify options to
8665 dg-skip-if.
8666
86672010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8668
8669 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
8670 Disable cfi directives unless GCC and gas agree on using read-only
8671 .eh_frame sections for 64-bit.
8672 * configure: Regenerate.
8673
86742010-03-01 Richard Guenther <rguenther@suse.de>
8675
8676 PR tree-optimization/43220
8677 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
8678 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
8679
86802010-03-01 Richard Guenther <rguenther@suse.de>
8681 Martin Jambor <mjambor@suse.cz>
8682
8683 PR middle-end/41250
8684 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
8685 gimplified parameters.
8686
86872010-03-01 Christian Bruel <christian.bruel@st.com>
8688
8689 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
8690
86912010-03-01 H.J. Lu <hongjiu.lu@intel.com>
8692
8693 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
8694
86952010-03-01 Richard Guenther <rguenther@suse.de>
8696
8697 PR middle-end/43213
8698 * expr.c (expand_assignment): Use the alias-oracle to tell
8699 if the rhs aliases the result decl.
8700
87012010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8702
8703 PR pch/14940
8704 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
8705 to sol_gt_pch_get_address.
8706 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
8707 64-bit, SPARC and x86.
8708 (sol_gt_pch_get_address): New function.
8709
87102010-03-01 Marco Poletti <poletti.marco@gmail.com>
8711
8712 * toplev.h (inform_n, error_n): Declare.
8713 * diagnostic.c (inform_n, error_n): New function.
8714
87152010-03-01 Jakub Jelinek <jakub@redhat.com>
8716
8717 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
8718 has no rtl yet when processing local_decls, queue it and recheck
8719 if deferred stack allocation hasn't assigned it rtl.
8720
87212010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
8722
8723 * config/sh/sh.c (unspec_bbr_uid): New.
8724 (gen_block_redirect): Use it instead of INSN_UID.
8725 (gen_far_branch): Likewise.
8726
87272010-02-28 H.J. Lu <hongjiu.lu@intel.com>
8728
8729 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
8730 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
8731
87322010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8733
8734 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
8735 (Warning Options): -Wno-conversion-null is valid for
8736 Objective-C++ as well.
8737 * doc/tm.texi (Named Address Spaces): Likewise.
8738 * doc/plugins.texi (Plugins): Replace TABs with spaces.
8739 * doc/tree-ssa.texi (Tree SSA): Likewise.
8740
87412010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8742
8743 PR bootstrap/43202
8744 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
8745 by default. Don't set the default arch for
8746 i[34567]86-*-darwin*|x86_64-*-darwin*.
8747
87482010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8749
8750 PR bootstrap/43202
8751 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
8752 default. Set the default 32bit/64bit archs with $with_arch
8753 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
8754
87552010-02-27 Richard Guenther <rguenther@suse.de>
8756
8757 PR tree-optimization/43186
8758 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
8759 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
8760 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
8761 unroller iterations.
8762
87632010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8764
8765 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
8766 required and i[34567]86-*-* targets don't support 64bit ISA.
8767
87682010-02-26 Eric Botcazou <ebotcazou@adacore.com>
8769
8770 PR ada/43096
8771 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
8772 the same alias set.
8773
87742010-02-26 H.J. Lu <hongjiu.lu@intel.com>
8775
8776 * config.gcc: Set the default arch at least to Prescott for
8777 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
8778 if SSE math is enabled.
8779
87802010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8781
8782 * diagnostic.c (diagnostic_initialize): Update.
8783 (diagnostic_report_diagnostic): Test inhibit_notes_p for
8784 informative notes.
8785 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
8786 (diagnostic_inhibit_notes): New.
8787 * toplev.c (process_options): inhibit notes with -fcompare-debug.
8788
87892010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8790
8791 PR c/20631
8792 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
8793 * doc/standards.texi: Likewise.
8794 * doc/extend.texi: Likewise.
8795 * doc/trouble.texi: Likewise.
8796 * doc/cppopts.texi: Likewise.
8797 * doc/install.texi: Likewise.
8798 * c.opt (std=c90,std=gnu90): New options.
8799 * c-opts.c (c_common_handle_option): Handle them.
8800
88012010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8802
8803 PR c/24577
8804 * c-decl.c (undeclared_variable): Use an informative note.
8805
88062010-02-26 Richard Guenther <rguenther@suse.de>
8807
8808 PR tree-optimization/43186
8809 * gimple.h (gimple_fold): Remove.
8810 * gimple.c (gimple_fold): Remove. Inline into single user ...
8811 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
8812 Try harder for conditions.
8813
88142010-02-26 Jakub Jelinek <jakub@redhat.com>
8815
8816 PR debug/43190
8817 * function.c (used_types_insert): Don't skip through named pointer
8818 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
8819 and it is different from the main variant's type.
8820
88212010-02-26 Nick Clifton <nickc@redhat.com>
8822
8823 * config/rx/rx.md (sminsi3): Remove bogus alternative.
8824
88252010-02-26 H.J. Lu <hongjiu.lu@intel.com>
8826
8827 * config.gcc: Support --with-fpmath=sse for x86.
8828
8829 * config/i386/ssemath.h: New.
8830
8831 * doc/install.texi (--with-fpmath=sse): Documented.
8832
88332010-02-26 Richard Guenther <rguenther@suse.de>
8834
8835 PR tree-optimization/43188
8836 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
8837 vector types of over-aligned element type.
8838
88392010-02-26 Uros Bizjak <ubizjak@gmail.com>
8840
8841 PR target/43175
8842 * config/i386/i386.c (expand_vec_perm_blend): Use correct
8843 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
8844
88452010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
8846
8847 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
8848
88492010-02-26 Jakub Jelinek <jakub@redhat.com>
8850
8851 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
8852 * var-tracking.c: Include diagnostic.h.
8853 (debug_dv): New function.
8854 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
8855
8856 PR debug/43160
8857 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
8858 (add_value_chain, add_value_chains, remove_value_chain,
8859 remove_value_chains): Handle DEBUG_EXPRs.
8860 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
8861
8862 PR debug/43161
8863 * regcprop.c (struct queued_debug_insn_change): New type.
8864 (struct value_data_entry): Add debug_insn_changes field.
8865 (struct value_data): Add n_debug_insn_changes field.
8866 (debug_insn_changes_pool): New variable.
8867 (free_debug_insn_changes, apply_debug_insn_changes,
8868 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
8869 (kill_value_one_regno): Call free_debug_insn_changes if needed.
8870 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
8871 fields.
8872 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
8873 changes for them.
8874 (copyprop_hardreg_forward_1): Don't call apply_change_group for
8875 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
8876 changes, call cprop_find_used_regs via note_stores.
8877 (copyprop_hardreg_forward): When copying vd from predecessor
8878 which has any queued DEBUG_INSN changes, make sure the pointers are
8879 cleared. At the end call df_analyze and then if there are any
8880 DEBUG_INSN changes queued at the end of some basic block for still
8881 live registers, apply them.
8882 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
8883
88842010-02-25 Uros Bizjak <ubizjak@gmail.com>
8885
8886 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
8887 (arm*-*-*): Ditto.
8888
88892010-02-25 H.J. Lu <hongjiu.lu@intel.com>
8890
8891 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
8892 targets. Set the default with_cpu/with_arch from arch/cpu.
8893 Allow x86-64 and native for with_cpu/with_arch.
8894
88952010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
8896
8897 * ebitmap.c: Change calls to verify_popcount with calls to
8898 sbitmap_verify_popcount.
8899 (ebitmap_clear_bit): Fixed map->cacheindex test and
8900 map>cache update when bit clearing results in an empty
8901 element.
8902
89032010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
8904
8905 PR target/43154
8906 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
8907 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
8908 and support both V2DF and V2DI modes.
8909 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
8910 support both V2DF and V2DI modes.
8911 (general): Delete trailing whitespace from a few patterns.
8912
8913 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8914 V2DF/V2DI interleave high/low builtins.
8915
8916 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
8917 new VSX builtins.
8918
8919 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
8920 interleave high/low functions.
8921
89222010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
8923
8924 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
8925 #pragma extern_prefix.
8926
89272010-02-25 Jakub Jelinek <jakub@redhat.com>
8928
8929 PR debug/43166
8930 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
8931 BLKmode, assert op0 is a MEM and just adjust its mode.
8932
8933 PR debug/43165
8934 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
8935 if bitpos isn't multiple of mode's bitsize.
8936
89372010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8938
8939 * c.opt (-ftemplate-depth=): New.
8940 (-ftemplate-depth-): Deprecate.
8941 * optc-gen.awk: Handle -ftemplate-depth=.
8942 * opth-gen.awk: Likewise.
8943 * c-opts.c (c_common_handle_option): Likewise.
8944 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
8945
89462010-02-24 Jason Merrill <jason@redhat.com>
8947
8948 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
8949
89502010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8951
8952 * cfg.c (alloc_aux_for_block): Remove inline.
8953 (alloc_aux_for_edge): Likewise.
8954
89552010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8956
8957 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
8958
89592010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8960
8961 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
8962 * config/i386/sol2-gas.h: New file.
8963 * config.gcc (i[34567]86-*-solaris2*): Use it.
8964
89652010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8966
8967 PR c/43128
8968 * c-typeck.c (ep_convert_and_check): New.
8969 (build_conditional_expr): Use it.
8970 (build_binary_op): Likewise.
8971
89722010-02-24 Jakub Jelinek <jakub@redhat.com>
8973
8974 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
8975
8976 PR debug/43150
8977 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
8978 bounds even for -O+.
8979 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
8980 expr needs to have DECL_NAME set.
8981
89822010-02-24 Nick Clifton <nickc@redhat.com>
8983
8984 * config/mep/mep.c: Include gimple.h.
8985 (mep_function_uses_sp): Delete unused function.
8986 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
8987 parameters. Use unsigned integers to count args. Return a
8988 NULL_RTX instead of an error_mark_node. Toidy up formatting.
8989
89902010-02-23 Jakub Jelinek <jakub@redhat.com>
8991
8992 PR target/43107
8993 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
8994 greater or equal to nelt instead of 2 * nelt.
8995 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
8996 with nelt - 1.
8997
89982010-02-23 Jason Merrill <jason@redhat.com>
8999
9000 PR debug/42800
9001 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
9002 in cfun->local_decls even if they have register types.
9003
9004 PR c++/42837
9005 * stor-layout.c (place_field): Don't warn about unnecessary
9006 DECL_PACKED if the type is packed.
9007
90082010-02-23 Jakub Jelinek <jakub@redhat.com>
9009
9010 PR target/43139
9011 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
9012 GOTOFF relocs, even when the base reg isn't pic pointer.
9013
90142010-02-23 Michael Matz <matz@suse.de>
9015
9016 PR debug/43077
9017 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
9018 (expand_gimple_basic_block): Generate and use debug temps if there
9019 are debug uses left after the last real use of TERed ssa names.
9020 Unlink debug immediate uses when they are expanded.
9021
90222010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
9023
9024 PR 43123
9025 * config/i386/i386.c (override_options): Reorganise to provide
9026 better error messages.
9027
90282010-02-22 Sebastian Pop <sebastian.pop@amd.com>
9029
9030 PR middle-end/43083
9031 * graphite-scop-detection.c (create_single_exit_edge): Move
9032 the call to find_single_exit_edge to....
9033 (create_sese_edges): ...here. Don't handle multiple edges
9034 exiting the function.
9035 (build_graphite_scops): Don't handle multiple edges
9036 exiting the function.
9037
90382010-02-22 Sebastian Pop <sebastian.pop@amd.com>
9039
9040 PR middle-end/43097
9041 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
9042 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
9043
90442010-02-22 Sebastian Pop <sebastian.pop@amd.com>
9045
9046 PR middle-end/43026
9047 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
9048
90492010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9050
9051 PR c++/43126
9052 * c-typeck.c (convert_arguments): Print declaration location.
9053 * c-common.c (validate_nargs): Rename as
9054 builtin_function_validate_nargs.
9055 (check_builtin_function_arguments): Update.
9056
90572010-02-22 Richard Guenther <rguenther@suse.de>
9058
9059 PR lto/43045
9060 * tree-inline.c (declare_return_variable): Use the type of
9061 the call stmt lhs if available.
9062
90632010-02-22 Duncan Sands <baldrick@free.fr>
9064
9065 * passes.c (register_pass): Always consider all pass lists when
9066 ref_pass_instance_number is zero.
9067
90682010-02-22 Richard Guenther <rguenther@suse.de>
9069
9070 PR tree-optimization/42749
9071 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
9072 parameter. Do arithmetic in the original type.
9073 (update_accumulator_with_ops): Likewise.
9074 (adjust_accumulator_values): Adjust.
9075
90762010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9077
9078 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
9079 (QI to BLKmode splitter): New splitter.
9080
90812010-02-22 H.J. Lu <hongjiu.lu@intel.com>
9082
9083 * config/i386/i386.c (initial_ix86_tune_features): Turn on
9084 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
9085
90862010-02-22 Richard Guenther <rguenther@suse.de>
9087
9088 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
9089
90902010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
9091
9092 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
9093 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
9094 ($(T)crti.o, $(T)crtn.o): Remove rules.
9095
90962010-02-21 Tobias Burnus <burnus@net-b.de>
9097
9098 PR fortran/35259
9099 * doc/invoke.texi (-fassociative-math): Document that this
9100 option is automatically enabled for Fortran.
9101
91022010-02-20 David S. Miller <davem@davemloft.net>
9103
9104 * configure.ac: Test if linker and assembler properly support
9105 GOTDATA_OP relocations.
9106 * configure: Rebuild.
9107 * config.in: Likewise.
9108 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
9109 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
9110 (movsi_high_pic): Likewise.
9111 (movdi_lo_sum_pic): Likewise.
9112 (movdi_high_pic): Likewise.
9113 (movsi_pic_gotdata_op): New pattern.
9114 (movdi_pic_gotdata_op): Likewise.
9115 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
9116 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
9117
91182010-02-20 Uros Bizjak <ubizjak@gmail.com>
9119
9120 PR target/43067
9121 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
9122 attribute to ssemul.
9123 (xop_mulv2div2di3_high): Ditto.
9124
91252010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9126
9127 PR c++/35669
9128 * c.opt (Wconversion-null): New option.
9129 * doc/invoke.texi (Wconversion-null): Document.
9130
91312010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9132
9133 * common.opt (Wlarger-than-): Add Undocumented.
9134
91352010-02-19 Mike Stump <mikestump@comcast.net>
9136
9137 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
9138
91392010-02-19 Jason Merrill <jason@redhat.com>
9140
9141 PR target/40332
9142 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
9143 * configure: Likewise.
9144
91452010-02-20 Alan Modra <amodra@gmail.com>
9146
9147 PR middle-end/42344
9148 * cgraph.h (cgraph_make_decl_local): Declare.
9149 * cgraph.c (cgraph_make_decl_local): New function.
9150 (cgraph_make_node_local): Use it.
9151 * cgraphunit.c (cgraph_function_versioning): Likewise.
9152 * ipa.c (function_and_variable_visibility): Likewise.
9153
91542010-02-19 Jakub Jelinek <jakub@redhat.com>
9155
9156 PR bootstrap/43121
9157 * except.c (sjlj_emit_function_enter): Don't call
9158 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
9159 directly.
9160 * rtl.h (add_reg_br_prob_note): Remove prototype.
9161
91622010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9163
9164 PR 41779
9165 * c-common.c (conversion_warning): Remove widening conversions
9166 before checking the conversion of integers to reals.
9167
91682010-02-19 Mike Stump <mikestump@comcast.net>
9169
9170 PR middle-end/43125
9171 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
9172
9173 PR objc/43061
9174 * cgraphunit.c (process_function_and_variable_attributes): Check
9175 DECL_PRESERVE_P instead of looking up attribute "used".
9176 * ipa-pure-const.c (check_decl): Likewise.
9177 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
9178 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
9179 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
9180 instead of attribute "used".
9181 * config/sol2-c.c (solaris_pragma_init): Likewise.
9182 (solaris_pragma_fini): Likewise.
9183
91842010-02-19 Jakub Jelinek <jakub@redhat.com>
9185
9186 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
9187 Use XCNEW instead of xcalloc.
9188 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
9189 XNEW instead of xmalloc.
9190 (get_fields): Use XNEWVEC instead of xmalloc.
9191
9192 PR debug/43084
9193 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
9194 populate vars array.
9195 (create_new_general_access): For debug stmts just reset value.
9196 (get_stmt_accesses): For accesses within debug stmts just record them
9197 using add_access_to_acc_sites instead of preventing the peeling or
9198 counting them as accesses.
9199
9200 PR middle-end/42233
9201 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
9202
92032010-02-19 Richard Guenther <rguenther@suse.de>
9204
9205 PR tree-optimization/42916
9206 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
9207 instructions.
9208
92092010-02-19 Andreas Schwab <schwab@linux-m68k.org>
9210
9211 * configure.ac: Replace all uses of changequote in macro arguments
9212 with proper quoting.
9213
92142010-02-19 Jakub Jelinek <jakub@redhat.com>
9215
9216 PR middle-end/42233
9217 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
9218
92192010-02-19 Richard Guenther <rguenther@suse.de>
9220
9221 PR tree-optimization/42944
9222 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
9223 test for aliasing with errno.
9224
92252010-02-19 Jakub Jelinek <jakub@redhat.com>
9226
9227 PR middle-end/42233
9228 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
9229 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
9230 * dojump.c: Include output.h.
9231 (inv): New inline function.
9232 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
9233 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
9234 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
9235 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
9236 argument, pass it down to other calls.
9237 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
9238 add REG_BR_PROB note to the conditional jump.
9239 * cfgexpand.c (add_reg_br_prob_note): Removed.
9240 (expand_gimple_cond): Don't call it, add the probability
9241 as last argument to jumpif_1/jumpifnot_1.
9242 * Makefile.in (dojump.o): Depend on output.h.
9243 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
9244 callers.
9245 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
9246 * stmt.c (do_jump_if_equal): Likewise.
9247 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
9248 * loop-unswitch.c (compare_and_jump_seq): Likewise.
9249 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
9250 Likewise.
9251 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
9252 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
9253 jumpifnot_1 callers.
9254 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
9255 callers.
9256 (store_expr): Adjust jumpifnot caller.
9257 (store_constructor): Adjust jumpif caller.
9258
9259 PR middle-end/42233
9260 * gimplify.c (gimple_boolify): For __builtin_expect call
9261 gimple_boolify also on its first argument.
9262
92632010-02-18 Uros Bizjak <ubizjak@gmail.com>
9264
9265 * configure.ac (gnu-unique-object): Wrap regexps using [] in
9266 changequote block.
9267 (__stack_chk_fail): Ditto. Remove quadrigraphs.
9268 * configure: Regenerated.
9269
92702010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9271
9272 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
9273 lang_hooks.types_compatible_p instead of comptypes.
9274
92752010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
9276
9277 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
9278 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
9279 if __prefer_thumb__ is defined.
9280
92812010-02-18 Martin Jambor <mjambor@suse.cz>
9282
9283 PR tree-optimization/43066
9284 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
9285 array with zero-sized element type.
9286
92872010-02-18 Jakub Jelinek <jakub@redhat.com>
9288
9289 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
9290 rtx, allocate struct var_loc_node here and return it to the
9291 caller, and only if it is actually needed.
9292 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
9293 move it earlier and return immediately if it returns NULL.
9294
92952010-02-17 Mikael Pettersson <mikpe@it.uu.se>
9296
9297 * config/sparc/gas.h: New file. Restore
9298 TARGET_ASM_NAMED_SECTION to its ELF default.
9299 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
9300 check !HAVE_GNU_AS.
9301 * config/sparc/sparc.c (sparc_elf_asm_named_section):
9302 Likewise. Add ATTRIBUTE_UNUSED to prototype.
9303 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
9304 after sparc/sysv4.h.
9305
93062010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
9307
9308 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
9309
93102010-02-17 Steven Bosscher <steven@gcc.gnu.org>
9311
9312 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
9313 patterns from predicated pattern.
9314
93152010-02-17 Uros Bizjak <ubizjak@gmail.com>
9316
9317 PR target/43103
9318 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
9319 for insn mnemonic suffix.
9320
93212010-02-17 Richard Guenther <rguenther@suse.de>
9322
9323 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
9324 to loop PHI nodes.
9325
93262010-02-17 Jakub Jelinek <jakub@redhat.com>
9327
9328 PR debug/42918
9329 * caller-save.c (save_call_clobbered_regs): If BB ends with
9330 a DEBUG_INSN, move any notes in between last real insn and the last
9331 DEBUG_INSN after the last DEBUG_INSN.
9332
93332010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
9334
9335 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
9336 Fix return type. Fix argument type. Explain meaning of return value.
9337
93382010-02-16 Richard Guenther <rguenther@suse.de>
9339
9340 PR tree-optimization/41043
9341 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
9342 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
9343 statements ...
9344 (vrp_visit_phi_node): ... but only for loop PHI nodes.
9345
93462010-02-16 Ira Rosen <irar@il.ibm.com>
9347
9348 PR tree-optimization/43074
9349 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
9350 * tree-vect-loop.c (vect_analyze_loop_operations): Add
9351 vectorizable cycles in hybrid SLP check.
9352 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
9353
93542010-02-16 Richard Guenther <rguenther@suse.de>
9355
9356 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
9357 (true_dependence): If memrefs_conflict_p computes must-alias
9358 trust it. Move TBAA check after offset-based disambiguation.
9359 (canon_true_dependence): Likewise.
9360
93612010-02-16 Alexandre Oliva <aoliva@redhat.com>
9362
9363 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
9364 * doc/invoke.texi: Document it.
9365 * var-tracking.c: Include toplev.h and params.h.
9366 (vt_find_locations): Return bool indicating success. Compute
9367 hash sizes unconditionally. Check new parameter, report.
9368 (variable_tracking_main_1): Check vt_find_locations results and
9369 retry. Renamed from...
9370 (variable_tracking_main): ... this. New wrapper to preserve
9371 flag_var_tracking_assignments.
9372 * Makefile.in (var-tracking.o): Adjust dependencies.
9373
93742010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
9375 Jakub Jelinek <jakub@redhat.com>
9376
9377 PR target/42854
9378 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
9379 if weak_import attribute is present.
9380 * config/darwin.c (machopic_select_section): Likewise.
9381
93822010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
9383
9384 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
9385 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
9386 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
9387 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
9388
9389 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
9390 types.
9391
9392 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
9393 Fix argument types.
9394
9395 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
9396 Rewrite text to refer to the names.
9397
93982010-02-15 Sebastian Pop <sebastian.pop@amd.com>
9399
9400 * config/i386/i386-builtin-types.def
9401 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
9402 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
9403 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
9404 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
9405 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
9406 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
9407 IX86_BUILTIN_VPERMIL2PS256.
9408 (MULTI_ARG_4_DF2_DI_I): Defined.
9409 (MULTI_ARG_4_DF2_DI_I1): Defined.
9410 (MULTI_ARG_4_SF2_SI_I): Defined.
9411 (MULTI_ARG_4_SF2_SI_I1): Defined.
9412 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
9413 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
9414 __builtin_ia32_vpermil2ps256.
9415 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
9416 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
9417 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
9418 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
9419 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
9420 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
9421 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
9422 CODE_FOR_xop_vpermil2v8sf3.
9423 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
9424 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
9425 * config/i386/xopintrin.h (_mm_permute2_pd): New.
9426 (_mm256_permute2_pd): New.
9427 (_mm_permute2_ps): New.
9428 (_mm256_permute2_ps): New.
9429
94302010-02-15 Nick Clifton <nickc@redhat.com>
9431
9432 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
9433 boolean parameters. Use emit_jump_insn when emitting a pop
9434 instruction containing a return insn.
9435 (push): Use 'true' rather than '1' as second parameter to F.
9436 (h8300_expand_prologue): Likewise.
9437 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
9438 (h8300_expand_epilogue): Likewise.
9439
94402010-02-15 Richard Guenther <rguenther@suse.de>
9441
9442 PR middle-end/43068
9443 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
9444 if that is zero.
9445
94462010-02-15 Nick Clifton <nickc@redhat.com>
9447
9448 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
9449 delta.
9450
94512010-02-14 Marco Poletti <poletti.marco@gmail.com>
9452
9453 * intl.c (fake_ngettext): New function.
9454 * intl.h (fake_ngettext): Declare.
9455 (ngettext): Define macro.
9456 * collect2.c (notice_translated): New function.
9457 (main): Use notice_translated and ngettext.
9458 * collect2.h (notice_translated): Declare.
9459
94602010-02-14 Steven Bosscher <steven@gcc.gnu.org>
9461
9462 * reorg.c (delete_computation): Comment fixes.
9463 * caller-save.c (setup_save_areas): Idem.
9464 * sel-sched-dump.c (dump_lv_set): Idem.
9465 * rtl.def: Idem.
9466
94672010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9468
9469 * config/s390/s390.c (s390_sched_init): New function.
9470 (TARGET_SCHED_INIT): Target hook defined.
9471
94722010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
9473 Jack Howarth <howarth@bromo.med.uc.edu>
9474 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9475
9476 PR target/42982
9477 Partial revert of unintended change in fix for PR41605.
9478 * config/darwin.h: Fix typo.
9479 * config/darwin9.h: Same.
9480
94812010-02-11 Jakub Jelinek <jakub@redhat.com>
9482
9483 * c-pch.c (pch_init): Clear v.
9484
94852010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9486
9487 PR middle-end/42930
9488 * graphite-scop-detection.c (graphite_can_represent_scev): Call
9489 graphite_can_represent_init for MULT_EXPR.
9490
94912010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9492
9493 PR middle-end/42914
9494 PR middle-end/42530
9495 * graphite-sese-to-poly.c (remove_phi): New.
9496 (translate_scalar_reduction_to_array): Call remove_phi.
9497
94982010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9499
9500 PR middle-end/42771
9501 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
9502 * graphite-clast-to-gimple.h (gloog): Update declaration.
9503 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
9504 * graphite-poly.h (struct poly_bb): Add missing comments.
9505 (struct scop): Add poly_scop_p field.
9506 (POLY_SCOP_P): New.
9507 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
9508 * graphite.c (graphite_transform_loops): Build the polyhedral
9509 representation for each scop before code generation.
9510 * sese.c (rename_variables_in_operand): Removed.
9511 (rename_variables_in_expr): Return the renamed expression.
9512 (rename_sese_parameters): New.
9513 * sese.h (rename_sese_parameters): Declared.
9514
95152010-02-11 Richard Guenther <rguenther@suse.de>
9516
9517 PR tree-optimization/42998
9518 * tree-ssa-pre.c (create_expression_by_pieces): Treat
9519 POINTER_PLUS_EXPR properly.
9520
95212010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9522 Changpeng Fang <changpeng.fang@amd.com>
9523
9524 PR middle-end/40886
9525 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
9526 the cost of an IV candidate when the IV is used in a test against zero.
9527
9528 * gcc.dg/tree-ssa/ivopts-3.c: New.
9529
95302010-02-11 Richard Guenther <rguenther@suse.de>
9531
9532 PR lto/41664
9533 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
9534 pointer-vs-decl case by swapping refs. Handle some cases
9535 of pointer-vs-decl disambiguations more conservatively.
9536 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
9537 to false after expanding.
9538
95392010-02-11 Richard Guenther <rguenther@suse.de>
9540
9541 PR driver/43021
9542 * gcc.c (process_command): Handle LTO file@offset case more
9543 appropriately.
9544
95452010-02-11 Jakub Jelinek <jakub@redhat.com>
9546
9547 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
9548 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
9549 of DEBUG_INSNs.
9550 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
9551
9552 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
9553 if MEM's mode size isn't DWARF2_ADDR_SIZE.
9554 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
9555 Optimize eq/ne comparisons when both arguments are known to be
9556 zero-extended.
9557 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
9558 Don't mask operands unnecessarily if they are known to be already
9559 zero-extended.
9560
95612010-02-10 Vladimir Makarov <vmakarov@redhat.com>
9562
9563 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
9564 instead of loop.
9565
95662010-02-10 Richard Guenther <rguenther@suse.de>
9567
9568 PR tree-optimization/43017
9569 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
9570 for wrapping signed arithmetic.
9571
95722010-02-10 Jakub Jelinek <jakub@redhat.com>
9573
9574 PR debug/43010
9575 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
9576 if no debug info should be emitted for it.
9577
95782010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
9579
9580 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
9581 note when flag_exceptions is set.
9582
95832010-02-10 Duncan Sands <baldrick@free.fr>
9584
9585 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
9586
95872010-02-10 Richard Guenther <rguenther@suse.de>
9588
9589 PR c/43007
9590 * tree.c (get_unwidened): Handle constants.
9591 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
9592
95932010-02-10 Martin Jambor <mjambor@suse.cz>
9594
9595 PR lto/42985
9596 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
9597 check for variable argument counts independently.
9598
95992010-02-10 Christian Bruel <christian.bruel@st.com>
9600
9601 PR target/42841
9602 * config/sh/sh.c (find_barrier): Increase length for non delayed
9603 conditional branches.
9604
96052010-02-10 Christian Bruel <christian.bruel@st.com>
9606
9607 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
9608
96092010-02-10 Jakub Jelinek <jakub@redhat.com>
9610
9611 * builtins.c (set_builtin_user_assembler_name): Also handle
9612 ffs if int is smaller than word.
9613
96142010-02-09 Vladimir Makarov <vmakarov@redhat.com>
9615
9616 PR middle-end/42973
9617 * ira-conflicts.c (get_dup): Remove.
9618 (process_reg_shuffles): Add new parameter. Use it as an
9619 additional guard for copy generation.
9620 (add_insn_allocno_copies): Rewrite.
9621
96222010-02-09 Alexander Monakov <amonakov@ispras.ru>
9623
9624 * common.opt (fsched2-use-traces): Preserved for backward
9625 compatibility.
9626 * doc/invoke.texi: Remove the documentation about option
9627 -fsched2-use-traces.
9628 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
9629 flag_sched2_use_traces.
9630 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
9631 the backward compatibility flag section.
9632
96332010-02-09 Richard Guenther <rguenther@suse.de>
9634
9635 PR tree-optimization/43008
9636 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
9637 make HEAP variables initialized from global memory if they
9638 are not known builtin functions.
9639 (find_func_aliases): Adjust.
9640
96412010-02-09 Richard Guenther <rguenther@suse.de>
9642
9643 PR tree-optimization/43000
9644 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
9645 arithmetic manually.
9646
96472010-02-08 Jakub Jelinek <jakub@redhat.com>
9648
9649 PR tree-optimization/42931
9650 * tree-loop-linear.c (try_interchange_loops): Don't call
9651 double_int_mul if estimated_loop_iterations failed.
9652
96532010-02-08 Martin Jambor <mjambor@suse.cz>
9654
9655 PR middle-end/42898
9656 * tree-sra.c (build_accesses_from_assign): Do not mark in
9657 should_scalarize_away_bitmap if stmt has volatile ops.
9658 (sra_modify_assign): Do not process assigns piecemeal if if stmt
9659 has volatile ops.
9660
96612010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
9662
9663 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
9664
96652010-02-07 Adam Nemet <adambnmet@gmail.com>
9666
9667 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
9668 before the pattern.
9669
96702010-02-07 Andrew Pinski <pinskia@gmail.com>
9671
9672 PR middle-end/42946
9673 * df-core.c (df_finish_pass): Change type of saved_flags to int.
9674
96752010-02-07 Sebastian Pop <sebastian.pop@amd.com>
9676
9677 PR middle-end/42988
9678 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
9679 to unknown_dependence.
9680 (graphite_legal_transform_dr): Handle the unknown_dependence.
9681 (graphite_carried_dependence_level_k): Same.
9682
96832010-02-07 Sebastian Pop <sebastian.pop@amd.com>
9684
9685 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
9686
96872010-02-07 Richard Guenther <rguenther@suse.de>
9688
9689 PR middle-end/42991
9690 * expr.c (get_inner_reference): Always initialize *pbitsize.
9691
96922010-02-07 Richard Guenther <rguenther@suse.de>
9693
9694 PR middle-end/42956
9695 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
9696 new ARRAY_REFs on variable size element or minimal index arrays.
9697 Complete.
9698 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
9699 gimple_fold_indirect_ref.
9700
97012010-02-06 Richard Earnshaw <rearnsha@arm.com>
9702
9703 PR target/42957
9704 * arm.c (arm_override_options): Just return if the user has specified
9705 an invalid fpu name.
9706
97072010-02-03 Jason Merrill <jason@redhat.com>
9708
9709 PR c++/42870
9710 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
9711 i386_pe_maybe_record_exported_symbol.
9712
97132010-02-05 Steve Ellcey <sje@cup.hp.com>
9714
9715 PR target/42924
9716 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
9717 (pa_delegitimize_address): New function.
9718
97192010-02-05 Ozkan Sezer <sezeroz@gmail.com>
9720
9721 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
9722 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
9723
97242010-02-05 Richard Guenther <rguenther@suse.de>
9725
9726 PR lto/42762
9727 * lto-streamer-in.c (get_resolution): Deal with references
9728 to undefined functions.
9729
97302010-02-05 Richard Guenther <rguenther@suse.de>
9731
9732 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
9733 (fold_const_aggregate_ref): Likewise.
9734 (ccp_fold_stmt): Substitute loads.
9735 (maybe_fold_reference): Verify types before substituting.
9736 Unshare properly.
9737 (fold_gimple_assign): Unshare properly.
9738 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
9739
97402010-02-05 Nathan Froyd <froydnj@codesourcery.com>
9741
9742 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
9743 for rs6000_gen_cell_microcode.
9744
97452010-02-04 Richard Guenther <rguenther@suse.de>
9746
9747 PR rtl-optimization/42952
9748 * dse.c (const_or_frame_p): Remove MEM handling.
9749
97502010-02-04 Nick Clifton <nickc@redhat.com>
9751
9752 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
9753 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
9754 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
9755 (mn10300_asm_output_mi_thunk): New function.
9756 (mn10300_can_output_mu_thunk): New function.
9757 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
9758 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
9759 (FUNCTION_ARG): Delete incorrect comment.
9760
97612010-02-03 Jason Merrill <jason@redhat.com>
9762
9763 PR c++/40138
9764 * fold-const.c (operand_equal_p): Handle erroneous types.
9765
97662010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
9767
9768 * config/h8300/h8300.md (can_delay): Fix attibute condition.
9769
97702010-02-03 Vladimir Makarov <vmakarov@redhat.com>
9771
9772 PR rtl-optimization/42941
9773 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
9774 of xmalloc.
9775
97762010-02-03 Jason Merrill <jason@redhat.com>
9777
9778 PR c++/35652
9779 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
9780
97812010-02-03 Alexandre Oliva <aoliva@redhat.com>
9782
9783 PR debug/42896
9784 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
9785 (cselib_reset_table): Renamed from...
9786 (cselib_reset_table_with_next_value): ... this.
9787 (cselib_get_next_uid): Renamed from...
9788 (cselib_get_next_unknown_value): ... this.
9789 * cselib.c (next_uid): Renamed from...
9790 (next_unknown_value): ... this.
9791 (cselib_clear_table): Adjust.
9792 (cselib_reset_table): Adjust. Renamed from...
9793 (cselib_reset_table_with_next_value): ... this.
9794 (cselib_get_next_uid): Adjust. Renamed from...
9795 (cselib_get_next_unknown_value): ... this.
9796 (get_value_hash): Use hash.
9797 (cselib_hash_rtx): Likewise.
9798 (new_cselib_val): Adjust. Set and dump uid.
9799 (cselib_lookup_mem): Pass next_uid as hash.
9800 (cselib_subst_to_values): Likewise.
9801 (cselib_log_lookup): Dump uid.
9802 (cselib_lookup): Pass next_uid as hash. Adjust.
9803 (cselib_process_insn): Adjust.
9804 (cselib_init): Initialize next_uid.
9805 (cselib_finish): Adjust.
9806 (dump_cselib_table): Likewise.
9807 * dse.c (canon_address): Dump value uid.
9808 * print-rtl.c (print_rtx): Print value uid.
9809 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
9810 (dvuid): New type.
9811 (dv_uid): New function, sort of renamed from...
9812 (dv_htab_hash): ... this, reimplemented in terms of it and...
9813 (dv_uid2hash): ... this. New.
9814 (variable_htab_eq): Drop excess assertions.
9815 (tie_break_pointers): Removed.
9816 (canon_value_cmp): Compare uids.
9817 (variable_post_merge_New_vals): Print uids.
9818 (vt_add_function_parameters): Adjust.
9819 (vt_initialize): Reset table. Adjust.
9820
98212010-02-03 Richard Guenther <rguenther@suse.de>
9822
9823 PR tree-optimization/42944
9824 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
9825 (call_may_clobber_ref_p_1): Likewise. Properly handle
9826 malloc and calloc clobbering errno.
9827
98282010-02-03 Steven Bosscher <steven@gcc.gnu.org>
9829
9830 * doc/invoke.texi: Fix name of sched1 dump.
9831
9832 * opts.c (decode_options): Set flag_tree_switch_conversion
9833 only conditionally on optimize >= 2.
9834
9835 * gcse.c: Assorted comment fixes in pass description.
9836
98372010-02-03 Anthony Green <green@moxielogic.com>
9838
9839 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
9840 nop padding in order to maintain alignment of storage location of
9841 target function address.
9842 (moxie_trampoline_init): Store target function address at newly
9843 aligned location.
9844 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
9845 to 32.
9846 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
9847
98482010-02-03 Richard Guenther <rguenther@suse.de>
9849
9850 PR middle-end/42927
9851 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
9852
98532010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9854
9855 * config.gcc: Reenable check for obsolete targets.
9856 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
9857 mips-sgi-irix6.[0-4]*.
9858
98592010-02-02 Nick Clifton <nickc@redhat.com>
9860
9861 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
9862 constant size of 4 as being the same as 0.
9863 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
9864 can take values in the range 0..4.
9865
98662010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
9867
9868 PR java/41991
9869 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
9870 as _darwin10_Unwind_FindEnclosingFunction().
9871 * libgcc-libsystem.ver: New.
9872
98732010-02-01 Vladimir Makarov <vmakarov@redhat.com>
9874
9875 PR target/41399
9876 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
9877 implicitly set registers.
9878
98792010-02-01 Richard Earnshaw <rearnsha@arm.com>
9880
9881 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
9882 (arm_override_options): Allow automatic selection of the thread
9883 pointer register if thumb2.
9884 (legitimize_pic_address): Improve code sequences for Thumb2.
9885 (arm_call_tls_get_addr): Likewise.
9886 (legitimize_tls_address): Likewise.
9887 * arm.md (pic_load_addr_arm): Delete. Replace with ...
9888 (pic_load_addr_32bit): ... this. New named pattern.
9889 * thumb2.md (pic_load_addr_thumb2): Delete.
9890 (pic_load_dot_plus_four): Delete.
9891 (tls_load_dot_plus_four): New named pattern.
9892
98932010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9894
9895 PR libgomp/29986
9896 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
9897 Document fix for TLS bug.
9898
98992010-01-31 Richard Guenther <rguenther@suse.de>
9900
9901 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
9902 conservatively correct.
9903
99042010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9905
9906 PR target/42850
9907 Revert:
9908 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9909
9910 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
9911
99122010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9913
9914 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
9915
99162010-01-31 Kai Tietz <kai.tietz@onevision.com>
9917
9918 * config.gcc: Adjust order of makefile fragments for mingw targets.
9919
99202010-01-31 Richard Guenther <rguenther@suse.de>
9921
9922 PR middle-end/42898
9923 * gimplify.c (gimplify_init_constructor): For volatile LHS
9924 initialize a temporary.
9925
99262010-01-31 Matthias Klose <doko@ubuntu.com>
9927
9928 * configure.ac: Fix __stack_chk_fail check for cross builds configured
9929 --with-headers
9930 * configure: Regenerate.
9931
99322010-01-29 Eric Botcazou <ebotcazou@adacore.com>
9933
9934 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
9935 the same alias set and their sizes different constantness.
9936 (aliasing_component_refs_p): Revert 2009-10-24 change.
9937
99382010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9939
9940 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
9941 unused.
9942
99432010-01-29 Richard Guenther <rguenther@suse.de>
9944
9945 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
9946 Assert we successfully updated the call.
9947
99482010-01-29 Jakub Jelinek <jakub@redhat.com>
9949
9950 PR rtl-optimization/42889
9951 * df.h (df_set_bb_dirty_nonlr): New prototype.
9952 * df-core.c (df_set_bb_dirty_nonlr): New function.
9953 * df-scan.c (df_insn_rescan): Call it instead of
9954 df_set_bb_dirty for DEBUG_INSNs.
9955
99562010-01-29 Richard Guenther <rguenther@suse.de>
9957
9958 PR middle-end/37448
9959 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
9960 quadratic behavior in most cases.
9961
99622010-01-28 Uros Bizjak <ubizjak@gmail.com>
9963
9964 PR target/42891
9965 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
9966 in the call to gen_x86_movsicc_0_m1.
9967
99682010-01-28 Richard Guenther <rguenther@suse.de>
9969
9970 PR tree-optimization/42871
9971 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
9972
99732010-01-28 Richard Guenther <rguenther@suse.de>
9974
9975 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
9976 into call arguments.
9977
99782010-01-28 Richard Guenther <rguenther@suse.de>
9979
9980 PR middle-end/42883
9981 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
9982 the forwarder if the destination is an EH landing pad.
9983
99842010-01-28 Razya Ladelsky <razya@il.ibm.com>
9985
9986 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
9987 block list passed to gimple_duplicate_sese_tail.
9988 (parallelize_loops): Avoid parallelization when the function
9989 has_nonlocal_label.
9990 Avoid parallelization when the preheader is IRREDUCIBLE.
9991 Try to optimize when estimated_loop_iterations_int is unresolved.
9992 Add the loop's location to the dump file.
9993 * tree-cfg.c (add_phi_args_after_redirect): Remove.
9994 (gimple_duplicate_sese_tail): Remove the check for the latch.
9995 Redirect nexits to the exit block.
9996 Remove handling of the incoming edges to the latch.
9997 Redirect the backedge from the copied latch to the exit bb.
9998
99992010-01-28 Michael Matz <matz@suse.de>
10000
10001 PR target/42881
10002 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
10003 Wrap force_reg into a sequence, emit it before user.
10004
100052010-01-28 Stephen Thomas <stephen.thomas@arm.com>
10006
10007 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
10008 (arm_rev): New.
10009 (arm_legacy_rev): Likewise.
10010 (thumb_legacy_rev): Likewise.
10011
100122010-01-27 Jakub Jelinek <jakub@redhat.com>
10013
10014 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
10015 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
10016 on MEM's address failed, try avoid_constant_pool_reference and
10017 recurse if it returned something different.
10018 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
10019 address, try avoid_constant_pool_reference and recurse if it
10020 returned something different.
10021 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
10022 address and avoid_constant_pool_reference returned something
10023 different, don't set have_address.
10024
100252010-01-27 Alexandre Oliva <aoliva@redhat.com>
10026
10027 PR debug/42861
10028 * var-tracking.c (val_store): Add modified argument, obey it.
10029 Adjust callers.
10030 (count_uses): Move down logging of main.
10031 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
10032 don't need resolution.
10033 (emit_notes_in_bb): Likewise.
10034
100352010-01-27 Richard Guenther <rguenther@suse.de>
10036
10037 PR middle-end/42878
10038 * tree-inline.c (remap_decl): Delay remapping of SSA name
10039 default definitions until we need them.
10040
100412010-01-27 Jakub Jelinek <jakub@redhat.com>
10042
10043 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
10044 (rs6000_delegitimize_address): New function.
10045
10046 * config/s390/s390.c (s390_delegitimize_address): Call
10047 delegitimize_mem_from_attrs.
10048
10049 PR middle-end/42874
10050 * tree-inline.c (cannot_copy_type_1): Removed.
10051 (copy_forbidden): Don't forbid copying of functions containing
10052 records/unions with variable length fields.
10053
100542010-01-27 Christian Bruel <christian.bruel@st.com>
10055
10056 Revert:
10057 PR target/42841
10058 * config/sh/sh.c (find_barrier): Increase length for non delayed
10059 conditional branches.
10060
100612010-01-27 Matthias Klose <doko@ubuntu.com>
10062
10063 * configure.ac (gnu-unique-object): Fix ldd version check.
10064 * configure: Regenerate.
10065
100662010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10067
10068 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
10069 HAVE_GNU_AS value.
10070 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
10071 Test for HAVE_GNU_AS value.
10072
100732010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10074
10075 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
10076 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
10077 INT64_TYPE): Define.
10078 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
10079 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
10080 INT_LEAST64_TYPE): Define.
10081 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
10082 UINT_LEAST64_TYPE): Define.
10083 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
10084 INT_FAST64_TYPE): Define.
10085 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
10086 UINT_FAST64_TYPE): Define.
10087 (INTMAX_TYPE, UINTMAX_TYPE): Define.
10088 (INTPTR_TYPE, UINTPTR_TYPE): Define.
10089 (SIG_ATOMIC_TYPE): Define.
10090
100912010-01-26 Richard Guenther <rguenther@suse.de>
10092
10093 * df-scan.c (df_scan_set_bb_info): Remove assert.
10094 (df_insn_rescan_debug_internal): Merge asserts.
10095 (df_install_ref): Likewise.
10096 (df_mark_reg): Use bitmap_set_range.
10097 (df_hard_reg_used_p): Remove assert.
10098 (df_hard_reg_used_count): Likewise.
10099
101002010-01-26 Richard Guenther <rguenther@suse.de>
10101
10102 PR rtl-optimization/42685
10103 * web.c (web_main): Ignore DEBUG_INSNs.
10104
101052010-01-26 Joern Rennecke <amylaar@spamcop.net>
10106
10107 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
10108
10109 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
10110 Fix types of fndecl and arglist parameters.
10111
101122010-01-26 Richard Guenther <rguenther@suse.de>
10113
10114 PR middle-end/42806
10115 * tree-eh.c (unsplit_eh): Skip debug insns.
10116
101172010-01-26 Richard Guenther <rguenther@suse.de>
10118
10119 PR tree-optimization/42250
10120 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
10121
101222010-01-26 Jakub Jelinek <jakub@redhat.com>
10123
10124 PR fortran/42866
10125 * omp-low.c (expand_omp_sections): Only use single_pred if
10126 l2_bb is single_pred_p.
10127
101282010-01-25 Christian Bruel <christian.bruel@st.com>
10129
10130 PR target/42841
10131 * config/sh/sh.c (find_barrier): Increase length for non delayed
10132 conditional branches.
10133 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
10134
101352010-01-24 David S. Miller <davem@davemloft.net>
10136
10137 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
10138 define if not using GAS.
10139 * config/sparc/sparc.c (sparc_elf_asm_named_section):
10140 Likewise. Delete SECTION_MERGE code, which is only applicable
10141 when using GAS.
10142
101432010-01-24 Mark Mitchell <mark@codesourcery.com>
10144
10145 PR c++/42748
10146 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
10147 mangling of va_list in system headers.
10148
101492010-01-23 Toon Moene <toon@moene.org>
10150
10151 * tree-predcom.c (combine_chains): Return NULL, not false.
10152
101532010-01-23 Joern Rennecke <amylaar@spamcop.net>
10154
10155 * tree-loop-distribution.c (distribute_loop): Fix declaration and
10156 initialization of variable res to agree with return type.
10157
101582010-01-22 Steve Ellcey <sje@cup.hp.com>
10159
10160 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
10161 * tree-sra.c: Add include of expr.h.
10162
101632010-01-22 Jakub Jelinek <jakub@redhat.com>
10164
10165 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
10166 insert the debug stmt on the single non-EH edge from the stmt.
10167
101682010-01-22 Richard Henderson <rth@redhat.com>
10169
10170 PR tree-opt/42833
10171 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
10172 the RHS until after generate_subtree_copies has insertted its
10173 code before the current statement.
10174
101752010-01-22 Joern Rennecke <amylaar@spamcop.net>
10176
10177 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
10178
10179 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
10180
101812010-01-21 Martin Jambor <mjambor@suse.cz>
10182
10183 PR tree-optimization/42585
10184 * tree-sra.c (struct access): New field grp_total_scalarization.
10185 (dump_access): Dump the new field.
10186 (should_scalarize_away_bitmap): New variable.
10187 (cannot_scalarize_away_bitmap): Likewise.
10188 (sra_initialize): Allocate new bitmaps.
10189 (sra_deinitialize): Free new bitmaps.
10190 (create_access_1): New function.
10191 (create_access): Parts moved to create_access_1.
10192 (type_consists_of_records_p): New function.
10193 (completely_scalarize_record): Likewise.
10194 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
10195 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
10196 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
10197 access.
10198 (analyze_all_variable_accesses): Completely scalarize small eligible
10199 records.
10200
102012010-01-21 Martin Jambor <mjambor@suse.cz>
10202
10203 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
10204
102052010-01-21 Andrew Haley <aph@redhat.com>
10206
10207 * gcc.c (process_command): Move lang_specific_driver before
10208 setting cc_libexec_prefix.
10209
102102010-01-21 Richard Guenther <rguenther@suse.de>
10211
10212 PR middle-end/19988
10213 * fold-const.c (negate_expr_p): Pretend only negative
10214 real constants are easily negatable.
10215
102162010-01-20 Janis Johnson <janis187@us.ibm.com>
10217 Jason Merrill <jason@redhat.com>
10218
10219 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
10220 (TYPE_TRANSPARENT_AGGR): this, for union and record.
10221 * calls.c (initialize argument_information): Handle it.
10222 * c-common.c (handle_transparent_union_attribute): Use new name.
10223 * c-decl.c (finish_struct): Ditto.
10224 * c-typeck.c (type_lists_compatible_p): Ditto.
10225 (convert_for_assignment): Use new name and also handle record.
10226 * function.c (aggregate_value_p): Handle it.
10227 (pass_by_reference): Ditto.
10228 (assign_parm_data_types): Ditto.
10229 * print-tree.c (print_node): Ditto.
10230 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
10231 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
10232 * tree.c (first_field): New fn.
10233
102342010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
10235
10236 PR target/42818
10237 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
10238 even when linking statically, for now.
10239
102402010-01-20 Alexandre Oliva <aoliva@redhat.com>
10241
10242 PR debug/42715
10243 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
10244 without a cselib val.
10245 (count_uses): Accept MO_VAL_SET with no val on stores.
10246 (add_stores): Likewise.
10247
102482010-01-20 Jakub Jelinek <jakub@redhat.com>
10249
10250 * var-tracking.c (check_value_val): Add a compile time assertion.
10251 (dv_is_decl_p): Simplify.
10252 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
10253 gcc_assert if ENABLE_CHECKING.
10254
102552010-01-20 Alexandre Oliva <aoliva@redhat.com>
10256
10257 PR debug/42782
10258 * var-tracking.c: Include tree-flow.h.
10259 (mem_dies_at_call): New.
10260 (dataflow_set_preserve_mem_locs): Use it.
10261 (dataflow_set_remove_mem_locs): Likewise.
10262 (dump_var): Renamed from dump_variable. Adjust all callers.
10263 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
10264 * Makefile.in (var-tracking.o): Adjust deps.
10265
102662010-01-20 Joern Rennecke <amylaar@spamcop.net>
10267
10268 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
10269
102702010-01-20 Richard Guenther <rguenther@suse.de>
10271
10272 PR tree-optimization/42717
10273 * tree-ssa-dce.c (get_live_post_dom): Remove.
10274 (forward_edge_to_pdom): Take an arbitrary edge to copy
10275 degenerate PHI args from.
10276 (remove_dead_stmt): Use the first post-dominator even if it
10277 does not contain live statements as redirection destination.
10278
102792010-01-20 Richard Guenther <rguenther@suse.de>
10280
10281 * tree-inline.c (estimate_num_insns): Handle EH builtins.
10282
102832010-01-20 Jakub Jelinek <jakub@redhat.com>
10284
10285 * sel-sched.c (create_speculation_check): Remove set but not used
10286 variable twin.
10287 (try_transformation_cache): Remove set but not used variable ds.
10288 (calculate_privileged_insns): Remove set but not used variables
10289 cur_insn and min_spec_insn.
10290 (find_best_expr): Remove set but not used variable avail_n.
10291 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
10292 variable e.
10293 * cgraphunit.c (assemble_thunk): Remove set but not used variable
10294 false_label.
10295 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
10296 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
10297 new_scop_exit_edge.
10298
102992010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
10300
10301 PR bootstrap/42786
10302 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
10303 cpu types. Add support for *-sse3 cpu types.
10304 (x86_64-*-*): Ditto.
10305
103062010-01-20 Jakub Jelinek <jakub@redhat.com>
10307
10308 PR middle-end/42803
10309 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
10310 argument, call initializer_constant_valid_p_1 instead of
10311 initializer_constant_valid_p, pass CACHE to it, return NULL
10312 immediately if first call returns NULL.
10313 (initializer_constant_valid_p_1): New function.
10314 (initializer_constant_valid_p): Use it.
10315
103162010-01-20 Thomas Quinot <quinot@adacore.com>
10317
10318 * tree.def (PLACEHOLDER_EXPR): Fix comment.
10319
103202010-01-20 Jakub Jelinek <jakub@redhat.com>
10321
10322 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
10323 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
10324 (loc_list_from_tree): Don't handle unsigned division. Handle
10325 signed modulo using DW_OP_{over,over,div,mul,minus}.
10326 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
10327 modulo instead of signed.
10328
103292010-01-20 DJ Delorie <dj@redhat.com>
10330
10331 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
10332 (Fpa): Pass it
10333 (h8300_emit_stack_adjustment): Propogate it.
10334 (push): Pass it.
10335 (h8300_expand_prologue): Likewise.
10336 (h8300_expand_epilogue): Likewise.
10337
103382010-01-19 Michael Matz <matz@suse.de>
10339
10340 PR tree-optimization/41783
10341 * tree-data-ref.c (toplevel): Include flags.h.
10342 (dump_data_dependence_relation): Also dump the inputs if the
10343 result will be unknown.
10344 (split_constant_offset_1): Look through some conversions.
10345 * tree-predcom.c (determine_roots_comp): Restart a new chain if
10346 the offset from last element is too large.
10347 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
10348 (reassociate_to_the_same_stmt): Handle vector registers.
10349 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
10350 (e.g. conversions).
10351 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
10352 wide_prolog_niters argument, emit widening instructions.
10353 (vect_do_peeling_for_alignment): Adjust caller, use widened
10354 variant of the iteration cound.
10355 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
10356
103572010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10358
10359 PR target/38697
10360 * config/arm/neon-testgen.m (emit_automatics): New parameter
10361 features. Adjust for Fixed_return_reg feature.
10362 (test_intrinsic): Call emit_automatics with new feature.
10363 * config/arm/neon.ml: Update copyright years.
10364 (features): New Fixed_return_reg feature.
10365 (ops): Update feature for Vget_low.
10366
103672010-01-19 Jakub Jelinek <jakub@redhat.com>
10368
10369 PR tree-optimization/42719
10370 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
10371 stmt uses.
10372
10373 PR debug/42728
10374 * fwprop.c (all_uses_available_at): Return false if def_set dest
10375 is a REG that is used in def_insn.
10376
103772010-01-19 Joern Rennecke <amylaar@spamcop.net>
10378
10379 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
10380
10381 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
10382 Add argument names.
10383
10384 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
10385
10386 * target.h (struct gcc_target) <secondary_reload>: Change type
10387 of last argument to secondary_reload_info *.
10388
103892010-01-18 Uros Bizjak <ubizjak@gmail.com>
10390
10391 PR target/42774
10392 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
10393 memory references with unaligned offsets. Remove CQImode handling.
10394 (unaligned_memory_operand): Return 1 for memory references with
10395 unaligned offsets. Remove CQImode handling.
10396
103972010-01-18 Richard Guenther <rguenther@suse.de>
10398
10399 PR middle-end/39954
10400 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
10401 builtin calls.
10402
104032010-01-18 Richard Guenther <rguenther@suse.de>
10404
10405 PR tree-optimization/42781
10406 * tree-ssa-structalias.c (find_what_var_points_to): Skip
10407 restrict processing only if the original variable was artificial.
10408
104092010-01-18 Joern Rennecke <amylaar@spamcop.net>
10410
10411 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
10412 find number of popped argument bytes.
10413
10414 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
10415 Fix the text that describes the return value for invalid insns.
10416
10417 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
10418
10419 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
10420 Clarify what 'cost of the -dependence' is. Fix quoting.
10421
10422 * toplev.c (default_get_pch_validity): Rename argument to "sz".
10423 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
10424
104252010-01-17 Jakub Jelinek <jakub@redhat.com>
10426
10427 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
10428 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
10429
104302010-01-17 Richard Guenther <rguenther@suse.de>
10431
10432 PR middle-end/42248
10433 * function.c (split_complex_args): Take a VEC to modify.
10434 (assign_parms_augmented_arg_list): Build a VEC instead of
10435 a chain of PARM_DECLs.
10436 (assign_parms_unsplit_complex): Take a VEC of arguments.
10437 Do not fixup unmodified parms.
10438 (assign_parms): Deal with the VEC.
10439 (gimplify_parameters): Likewise.
10440
104412010-01-17 Richard Guenther <rguenther@suse.de>
10442
10443 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
10444 node existence check.
10445 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
10446 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
10447 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
10448 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
10449 (gimple_execute_on_growing_pred): Likewise.
10450
104512010-01-17 Richard Guenther <rguenther@suse.de>
10452
10453 PR tree-optimization/42773
10454 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
10455 (compute_antic_aux): Likewise.
10456 (compute_partial_antic_aux): Likewise.
10457
104582010-01-17 Jie Zhang <jie.zhang@analog.com>
10459
10460 PR debug/42767
10461 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
10462 and US_TRUNCATE.
10463
104642010-01-17 Joern Rennecke <amylaar@spamcop.net>
10465
10466 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
10467 appearance.
10468
10469 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
10470 Fix markup for strict argument.
10471
10472 (TARGET_SCHED_REORDER2): Fix argument types.
10473
10474 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
10475 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
10476
10477 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
10478 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
10479
10480 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
10481 Add argument name.
10482
10483 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
10484 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
10485 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
10486 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
10487 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
10488
10489 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
10490
10491 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
10492
10493 (TARGET_ASM_RELOC_RW_MASK): Add return type.
10494 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
10495
10496 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
10497
10498 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
10499 Use prototype.
10500
10501 (TARGET_ASM_NAMED_SECTION): Fix argument list.
10502
10503 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
10504 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
10505
10506 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
10507
10508 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
10509
10510 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
10511 referring to it. Fix language.
10512
10513 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
10514
10515 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
10516
10517 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
10518
10519 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
10520
10521 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
10522 '@var{stream}. Remove stray 'and'.
10523
10524 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
10525
10526 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
10527
10528 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
10529
10530 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
10531 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
10532
10533 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
10534 Fix description of return value.
10535 Rename argument "sz" to "len."
10536
10537 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
10538 Clarify meaning of 'true' return value.
10539
10540 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
10541
10542 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
10543 rep_mode versus mode_rep.
10544
10545 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
10546
10547 (TARGET_BUILTIN_DECL): Fix name.
10548
10549 (TARGET_COMMUTATIVE_P): Fix type of first argument.
10550
10551 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
10552
10553 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
10554
10555 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
10556
10557 (TARGET_RELAXED_ORDERING): Use @deftypevr.
10558
10559 (TARGET_GET_DRAP_RTX): Note that this is a hook.
10560 Clarify language.
10561
10562 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
10563 Rename argument tm_fn to md_fn.
10564
10565 (TARGET_OPTION_PRINT): Fix argument list.
10566
105672010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
10568
10569 PR target/42664
10570 * config/i386/i386.c (ix86_fixup_binary_operands):
10571 Revert FMA4 fixup of operands.
10572
105732010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10574
10575 PR gcc/42525
10576 * Makefile.in (write_entries_to_file, install-plugin):
10577 Use \012 instead of \n with tr.
10578
105792010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
10580
10581 * configure.ac (HAVE_AS_REF): New C macro.
10582 * configure: Regenerate.
10583 * config.in: Likewise.
10584 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
10585 if HAVE_AS_REF.
10586 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
10587 if HAVE_AS_REF.
10588
105892010-01-16 Joern Rennecke <amylaar@spamcop.net>
10590
10591 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
10592
10593 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
10594
10595 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
10596
10597 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
10598
10599 (TARGET_IN_SMALL_DATA_P): Fix argument type.
10600
10601 (TARGET_BINDS_LOCAL_P): Fix argument type.
10602
10603 (TARGET_ASM_FILE_END): Use prototype.
10604
10605 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
10606
10607 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
10608
10609 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
10610
10611 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
10612
10613 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
10614 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
10615
10616 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
10617 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
10618
10619 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
10620 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
10621 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
10622 (TARGET_ADDR_SPACE_CONVERT): Likewise.
10623
10624 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
10625
10626 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
10627
10628 (TARGET_INIT_BUILTINS): Use prototype.
10629
10630 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
10631 Put 'const char *' in braces. Fix parameter types.
10632 (TARGET_INVALID_CONVERSION): Fix parameter types.
10633 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
10634 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
10635
10636 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
10637 Fix argument type.
10638
10639 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
10640
10641 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
10642
106432010-01-15 Joern Rennecke <amylaar@spamcop.net>
10644
10645 * doc/tm.texi (TARGET_HELP): Fix return type.
10646
10647 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
10648 in braces. Fix argument types.
10649
10650 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
10651
10652 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
10653
10654 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
10655
10656 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
10657 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
10658
10659 (TARGET_MANGLE_TYPE): Fix argument types.
10660
10661 (TARGET_IRA_COVER_CLASSES): Use prototype.
10662
10663 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
10664
10665 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
10666
10667 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
10668
10669 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
10670
10671 (TARGET_CALLEE_COPIES): Fix argument types.
10672
10673 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
10674
10675 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
10676
10677 (TARGET_FUNCTION_VALUE): Fix argument types.
10678
10679 (TARGET_RETURN_IN_MSB): Fix argument type.
10680
10681 (TARGET_RETURN_IN_MEMORY): Fix argument types.
10682
10683 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
10684
10685 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
10686
10687 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
10688 agree with return type.
10689
10690 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
10691
106922010-01-15 Jing Yu <jingyu@google.com>
10693
10694 PR rtl-optimization/42691
10695 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
10696 a pseudo to a constant and are merged, and adjust comments.
10697
106982010-01-15 Eric Botcazou <ebotcazou@adacore.com>
10699
10700 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
10701
107022010-01-15 Richard Guenther <rguenther@suse.de>
10703
10704 PR middle-end/42739
10705 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
10706 labels of computed or non-local gotos to the destination.
10707 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
10708 landing pad label is the first label.
10709
107102010-01-15 Richard Guenther <rguenther@suse.de>
10711
10712 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
10713
107142010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10715
10716 PR target/42747
10717 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
10718 to allow generation of the xssqrtdp instruction on power7.
10719 (sqrtdf2_fpr): Ditto.
10720
107212010-01-14 Jakub Jelinek <jakub@redhat.com>
10722
10723 PR middle-end/42674
10724 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
10725 functions with noreturn attribute.
10726
10727 PR c++/42608
10728 * varasm.c (declare_weak): Add weak attribute to decl if it
10729 doesn't have one already.
10730 (assemble_external): Only add decls to weak_decls if they also
10731 have weak attribute.
10732
107332010-01-14 Alexandre Oliva <aoliva@redhat.com>
10734
10735 * var-tracking.c (var_reg_delete): Don't delete the association
10736 between REGs and values or one-part variables if the register
10737 isn't clobbered.
10738
107392010-01-14 Jakub Jelinek <jakub@redhat.com>
10740
10741 PR debug/42657
10742 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
10743 because its first operand is a non-localized variable.
10744
107452010-01-14 Martin Jambor <mjambor@suse.cz>
10746
10747 PR tree-optimization/42706
10748 * tree-sra.c (encountered_recursive_call): New variable.
10749 (encountered_unchangable_recursive_call): Likewise.
10750 (sra_initialize): Initialize both new variables.
10751 (callsite_has_enough_arguments_p): New function.
10752 (scan_function): Call decl and flags check only for IPA-SRA, check
10753 whether there is a recursive call and whether it has enough arguments.
10754 (all_callers_have_enough_arguments_p): New function.
10755 (convert_callers): Look for recursive calls only when
10756 encountered_recursive_call is set.
10757 (ipa_early_sra): Bail out either if
10758 !all_callers_have_enough_arguments_p or
10759 encountered_unchangable_recursive_call.
10760
107612010-01-14 Alexander Monakov <amonakov@ispras.ru>
10762
10763 * sel-sched.c: Add 2010 to copyright years.
10764 * sel-sched-ir.c: Likewise.
10765 * sel-sched-ir.h: Likewise.
10766
107672010-01-14 Martin Jambor <mjambor@suse.cz>
10768
10769 PR tree-optimization/42714
10770 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
10771 constructors specially.
10772
107732010-01-14 Andi Kleen <ak@linux.intel.com>
10774
10775 * config/i386/drivers-i386.c (detect_caches_intel):
10776 Add l2sizekb parameter and fill in.
10777 (host_detect_local_cpu): Add l2sizekb, fill in.
10778 Add Atom small cache heuristic.
10779
107802010-01-14 Andi Kleen <ak@linux.intel.com>
10781
10782 * config/i386/drivers-i386.c (detect_caches_cpuid4):
10783 Add level3 parameter and fill in.
10784 (detect_caches_intel): Handle level3 cache.
10785
107862010-01-14 Andi Kleen <ak@linux.intel.com>
10787
10788 * config/i386/drivers-i386.c (host_detect_local_cpu):
10789 Fix core duo detection.
10790
107912010-01-14 Andi Kleen <ak@linux.intel.com>
10792
10793 * config/i386/drivers-i386.c (host_detect_local_cpu):
10794 Fix Atom detection.
10795
107962010-01-14 Alexander Monakov <amonakov@ispras.ru>
10797
10798 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
10799 (rs6000_variable_issue_1): this. Use...
10800 (rs6000_variable_issue): here. Reimplement. Print debug info.
10801
108022010-01-14 Alexander Monakov <amonakov@ispras.ru>
10803
10804 * sel-sched-ir.c (sel_restore_other_notes): Rename to
10805 sel_restore_notes. Update all callers. Call reemit_notes
10806 for all insns.
10807
108082010-01-14 Andrey Belevantsev <abel@ispras.ru>
10809
10810 PR rtl-optimization/42246
10811 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
10812 loops.
10813
108142010-01-14 Andrey Belevantsev <abel@ispras.ru>
10815
10816 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
10817 all successors is the same as number of successors in current region.
10818
108192010-01-14 Alexander Monakov <amonakov@ispras.ru>
10820
10821 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
10822 to rename is not separable. Otherwise check that its LHS is not NULL.
10823
108242010-01-14 Alexander Monakov <amonakov@ispras.ru>
10825
10826 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
10827
108282010-01-14 Alexander Monakov <amonakov@ispras.ru>
10829
10830 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
10831 available registers when failed to discover LHS register class.
10832 Fix indentation. Update comment.
10833
108342010-01-14 Andrey Belevantsev <abel@ispras.ru>
10835 Alexander Monakov <amonakov@ispras.ru>
10836
10837 PR rtl-optimization/42389
10838 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
10839 to can_issue_more.
10840 (advance_state_on_fence): Likewise.
10841 (sel_target_adjust_priority): Print debug output only when
10842 sched_verbose >= 4, not 2.
10843 (get_expr_cost): Do not issue all unique insns on the next cycle.
10844 (fill_insns): Initialize can_issue_more from the value saved
10845 with the fence.
10846 * sel-sched-ir.c (flist_add): New parameter issue_more.
10847 Init FENCE_ISSUE_MORE with it.
10848 (merge_fences): Likewise.
10849 (init_fences): Update call to flist_add.
10850 (add_to_fences, add_clean_fence_to_fences)
10851 (add_dirty_fence_to_fences): Likewise.
10852 (move_fence_to_fences): Update call to merge_fences.
10853 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
10854 sched groups.
10855 * sel-sched-ir.h (struct _fence): New field issue_more.
10856 (FENCE_ISSUE_MORE): New accessor macro.
10857
108582010-01-14 Andrey Belevantsev <abel@ispras.ru>
10859
10860 PR rtl-optimization/42388
10861 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
10862 that have no predecessors nor successors. Do not call move_bb_info
10863 for empty blocks outside of current region.
10864
108652010-01-14 Alexander Monakov <amonakov@ispras.ru>
10866
10867 PR rtl-optimization/42294
10868 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
10869 * sel-sched.c (move_exprs_to_boundary): Transitively add all
10870 originators' originators.
10871
108722010-01-14 Alexander Monakov <amonakov@ispras.ru>
10873
10874 PR rtl-optimization/39453
10875 PR rtl-optimization/42246
10876 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
10877 for pipelining_p.
10878 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
10879
108802010-01-14 Andrey Belevantsev <abel@ispras.ru>
10881 Alexander Monakov <amonakov@ispras.ru>
10882
10883 PR middle-end/42245
10884 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
10885 (maybe_tidy_empty_bb): ... here. Make static. Add new
10886 argument. Update all callers.
10887 (tidy_control_flow): ... and here. Recompute topological order
10888 of basic blocks in region if necessary.
10889 (sel_redirect_edge_and_branch): Change return type. Return true
10890 if topological order might have been invalidated.
10891 (purge_empty_blocks): Export and move from...
10892 * sel-sched.c (purge_empty_blocks): ... here.
10893 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
10894 (maybe_tidy_empty_bb): Delete prototype.
10895 (purge_empty_blocks): Declare.
10896
108972010-01-14 Andrey Belevantsev <abel@ispras.ru>
10898
10899 PR rtl-optimization/42249
10900 * sel-sched.c (try_replace_dest_reg): When chosen register
10901 and original register is the same, do not bail out early, but
10902 still check all original insns for validity of replacing destination
10903 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
10904 in this case.
10905
109062010-01-14 Jakub Jelinek <jakub@redhat.com>
10907
10908 PR c/42721
10909 Port from no-undefined-overflow branch:
10910 2009-03-09 Richard Guenther <rguenther@suse.de>
10911
10912 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
10913
109142010-01-14 Richard Guenther <rguenther@suse.de>
10915
10916 PR lto/42665
10917 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
10918
109192010-01-14 Ira Rosen <irar@il.ibm.com>
10920
10921 PR tree-optimization/42709
10922 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
10923 as scalar type in creation of constant vector operand.
10924
109252010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10926
10927 PR testsuite/42414
10928 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
10929 (check-parallel-%): Match `testsuite' directory component only
10930 at the end.
10931
109322010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
10933
10934 PR translation/39521
10935 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
10936 strings with _().
10937
109382010-01-13 Richard Guenther <rguenther@suse.de>
10939
10940 PR tree-optimization/42730
10941 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
10942 offset zero.
10943
109442010-01-13 Steve Ellcey <sje@cup.hp.com>
10945
10946 PR target/pr42542
10947 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
10948 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
10949 them signed.
10950
109512010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
10952
10953 * config/bfin/libgcc-bfin.ver: Regenerate based on current
10954 libgcc-std.ver. Add entries for ___smulsi3_highpart and
10955 ___umulsi3_highpart.
10956
10957 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
10958 rather than schedule_insns if the pass is enabled.
10959
109602010-01-13 Martin Jambor <mjambor@suse.cz>
10961
10962 PR tree-optimization/42704
10963 * tree-sra.c (sra_modify_assign): Do not delete assignments to
10964 SSA_NAMEs.
10965
109662010-01-13 Martin Jambor <mjambor@suse.cz>
10967
10968 PR tree-optimization/42703
10969 * tree-sra.c (analyze_access_subtree): Check that we can build a
10970 reference to the original data within the aggregate.
10971
109722010-01-13 Richard Guenther <rguenther@suse.de>
10973
10974 PR tree-optimization/42705
10975 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
10976
109772010-01-13 Richard Guenther <rguenther@suse.de>
10978
10979 PR middle-end/42716
10980 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
10981
109822010-01-13 Jakub Jelinek <jakub@redhat.com>
10983
10984 PR debug/41371
10985 * var-tracking.c (values_to_unmark): New variable.
10986 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
10987 values_to_unmark vector. Moved body to...
10988 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
10989 instead queue it into values_to_unmark vector.
10990 (vt_find_locations): Free values_to_unmark vector.
10991
109922010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
10993
10994 * config/s390/s390.c (override_options): Set
10995 default of max-pending-list-length to 256
10996
109972010-01-13 Richard Guenther <rguenther@suse.de>
10998
10999 PR lto/42678
11000 * tree-pass.h (PROP_gimple_lcx): New.
11001 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
11002 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
11003 before the final cleanup_eh.
11004 (dump_properties): Dump PROP_gimple_lcx.
11005 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
11006 (tree_lower_complex_O0): Remove.
11007 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
11008 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
11009 tree_lower_complex, schedule TODO_update_ssa.
11010 * lto-streamer-out.c (output_function): Stream the functions
11011 properties.
11012 * lto-streamer-in.c (input_function): Likewise.
11013 (lto_read_body): Do not override them here.
11014
110152010-01-12 Joseph Myers <joseph@codesourcery.com>
11016
11017 PR c/42708
11018 * c-typeck.c (build_c_cast): Fold value cast to union type before
11019 wrapping it in a CONSTRUCTOR.
11020
110212010-01-12 Jakub Jelinek <jakub@redhat.com>
11022
11023 PR rtl-optimization/42699
11024 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
11025 involved.
11026
110272010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11028
11029 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
11030 SUBTARGET_WARN_UNUSED_SPEC): Move ...
11031 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
11032 SUBTARGET_WARN_UNUSED_SPEC): ... here
11033 * config/mips/iris5.h (LIBGCC_SPEC): Define.
11034
110352010-01-12 Julian Brown <julian@codesourcery.com>
11036
11037 * config/arm/neon-schedgen.ml (Utils): Don't try to
11038 open missing module.
11039 (find_with_result): New.
11040
110412010-01-12 Jakub Jelinek <jakub@redhat.com>
11042
11043 PR debug/42662
11044 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
11045 sharing when canonicalizing ({lt,ge}u (plus a b) b).
11046
11047 PR tree-optimization/42645
11048 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
11049 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
11050 decl_map, set processing_debug_stmt to -1 and return name without
11051 any remapping.
11052
110532010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
11054
11055 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
11056 binutils version, and reword target configuration description.
11057
110582010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
11059
11060 * config/avr/avr.h (LINKER_NAME): Remove.
11061
110622010-01-11 Janis Johnson <janis187@us.ibm.com>
11063
11064 PR target/42416
11065 * config/rs6000/rs6000.c (rs6000_override_options): On targets
11066 that support VSX, warn for -mno-altivec if vsx is not disabled,
11067 and disable vsx.
11068
110692010-01-11 Joseph Myers <joseph@codesourcery.com>
11070 Shujing Zhao <pearly.zhao@oracle.com>
11071
11072 PR translation/42469
11073 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
11074 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
11075 character between option name and help text.
11076 * c.opt (imultilib): Likewise.
11077
110782010-01-10 Rafael Avila de Espindola <espindola@google.com>
11079
11080 * lto-streamer-out.c (output_unreferenced_globals): Output static
11081 variables.
11082
110832010-01-10 Steven Bosscher <steven@gcc.gnu.org>
11084
11085 PR rtl-optimization/42621
11086 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
11087 optimizing for size.
11088 (duplicate_computed_gotos): Remove now-redundant check.
11089
110902010-01-10 Steve Ellcey <sje@cup.hp.com>
11091
11092 PR target/37454
11093 * configure.ac: Save and restore LDFLAGS and LIBS
11094 * configure: Regenerate.
11095
110962010-01-10 Richard Guenther <rguenther@suse.de>
11097
11098 PR middle-end/42667
11099 * builtins.c (fold_builtin_strlen): Add type argument and
11100 convert the resulting length to it.
11101 (fold_builtin_1): Adjust.
11102
111032010-01-09 Jakub Jelinek <jakub@redhat.com>
11104
11105 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
11106 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
11107 1 insn.
11108 (num_insns_constant_wide): Adjust for that change.
11109
111102010-01-09 Alexandre Oliva <aoliva@redhat.com>
11111
11112 PR debug/42631
11113 * web.c (union_defs): Add used argument, to combine uses of
11114 uninitialized regs.
11115 (entry_register): Adjust type and tests of used argument.
11116 (web_main): Widen used for new use. Pass it to union_defs.
11117 * df.h (union_defs): Adjust prototype.
11118
111192010-01-09 Alexandre Oliva <aoliva@redhat.com>
11120
11121 PR debug/42630
11122 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
11123 uses in new incoming argument. Free body.
11124 (reset_debug_uses_in_loop): New.
11125 (analyze_insn_to_expand_var): Call the latter if the former found
11126 anything. Fix whitespace. Reject invalid dest overlaps before
11127 going through all insns in the loop.
11128
111292010-01-09 Alexandre Oliva <aoliva@redhat.com>
11130
11131 PR debug/42629
11132 * haifa-sched.c (dying_use_p): Debug insns don't count.
11133
111342010-01-09 Alexandre Oliva <aoliva@redhat.com>
11135
11136 PR middle-end/42363
11137 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
11138 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
11139 (verify_gimple_call): Reject LHS in noreturn calls.
11140
111412010-01-09 Alexandre Oliva <aoliva@redhat.com>
11142
11143 PR debug/42604
11144 PR debug/42395
11145 * tree-vect-loop-manip.c (adjust_info): New type.
11146 (adjust_vec): New pointer to vector.
11147 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
11148 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
11149 (slpeel_update_phis_for_duplicate_loop): Use them.
11150 (slpeel_update_phi_nodes_for_guard1): Likewise.
11151 (slpeel_update_phi_nodes_for_guard2): Likewise.
11152 (slpeel_tree_peel_loop_to_edge): Likewise.
11153 (vect_update_ivs_after_vectorizer): Likewise.
11154
111552010-01-09 Alexandre Oliva <aoliva@redhat.com>
11156
11157 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
11158 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
11159
111602010-01-09 Alexandre Oliva <aoliva@redhat.com>
11161
11162 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
11163 bogus uninitialized warning.
11164
111652010-01-09 Richard Guenther <rguenther@suse.de>
11166
11167 PR middle-end/42512
11168 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
11169 the evolution is compatible with the initial condition.
11170
111712010-01-09 Jakub Jelinek <jakub@redhat.com>
11172
11173 * gcc.c (process_command): Update copyright notice dates.
11174 * gcov.c (print_version): Likewise.
11175 * gcov-dump.c (print_version): Likewise.
11176 * mips-tfile.c (main): Likewise.
11177 * mips-tdump.c (main): Likewise.
11178
111792010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
11180
11181 PR target/41885
11182 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
11183 (rotlhi3): Delete.
11184 (rotlhi3_8): Delete.
11185 (rotlsi3): Delete.
11186 (rotlsi3_8): Delete.
11187 (rotlsi3_16): Delete.
11188 (rotlsi3_24): Delete.
11189 (rotl<mode>3): New.
11190 (*rotw<mode>3): New.
11191 (*rotb<mode>3): New.
11192 * config/avr/avr.c (avr_rotate_bytes): New function.
11193 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
11194
111952010-01-08 Steve Ellcey <sje@cup.hp.com>
11196
11197 PR target/37454
11198 * configure.ac: Modify -rdynamic check.
11199 * configure: Regenerate.
11200
112012010-01-08 DJ Delorie <dj@redhat.com>
11202
11203 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
11204 register popping order.
11205
112062010-01-08 Richard Guenther <rguenther@suse.de>
11207
11208 PR lto/42528
11209 * c.opt (fsigned-char): Also let LTO handle this option.
11210 (funsigned-char): Likewise.
11211
112122010-01-07 Richard Guenther <rguenther@suse.de>
11213
11214 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
11215 (gimple_op): Likewise.
11216 (gimple_op_ptr): Likewise.
11217 (gimple_assign_set_lhs): Remove gcc_assert.
11218 (gimple_assign_set_rhs1): Likewise.
11219 (gimple_assign_set_rhs2): Likewise.
11220 (gimple_call_set_lhs): Likewise.
11221 (gimple_call_set_fn): Likewise.
11222 (gimple_call_set_fndecl): Likewise.
11223 (gimple_call_fndecl): Likewise.
11224 (gimple_call_return_type): Likewise.
11225 (gimple_call_set_chain): Likewise.
11226 (gimple_call_num_args): Likewise.
11227 (gimple_call_set_arg): Likewise.
11228 (gimple_cond_set_code): Likewise.
11229 (gimple_cond_set_lhs): Likewise.
11230 (gimple_cond_set_rhs): Likewise.
11231 (gimple_cond_set_true_label): Likewise.
11232 (gimple_cond_set_false_label): Likewise.
11233 (gimple_label_set_label): Likewise.
11234 (gimple_goto_set_dest): Likewise.
11235 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
11236 (gimple_debug_bind_get_value): Likewise.
11237 (gimple_debug_bind_get_value_ptr): Likewise.
11238 (gimple_debug_bind_set_var): Likewise.
11239 (gimple_debug_bind_set_value): Likewise.
11240 (gimple_debug_bind_reset_value): Likewise.
11241 (gimple_debug_bind_has_value_p): Likewise.
11242 (gimple_return_retval_ptr): Remove gcc_assert.
11243 (gimple_return_retval): Likewise.
11244 (gimple_return_set_retval): Likewise.
11245 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
11246 (safe_referenced_var_iterator): Remove.
11247 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
11248 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
11249 (fill_referenced_var_vec): Remove.
11250 (first_readonly_imm_use): Remove redundant gcc_assert.
11251 (phi_arg_index_from_use): Combine gcc_asserts.
11252 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
11253 (first_imm_use_stmt): Remove redundant gcc_assert.
11254 * tree-cfg.c (verify_gimple_call): Verify function and chain
11255 operands. Verify arguments.
11256 (verify_types_in_gimple_stmt): Verify condition code and labels.
11257
112582010-01-07 Richard Guenther <rguenther@suse.de>
11259
11260 PR tree-optimization/42641
11261 * sese.c (rename_map_elt_info): Use the SSA name version, do
11262 not hash pointers.
11263
112642010-01-07 Jakub Jelinek <jakub@redhat.com>
11265
11266 PR tree-optimization/42625
11267 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
11268 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
11269
112702010-01-07 Duncan Sands <baldrick@free.fr>
11271
11272 * Makefile.in (PLUGIN_HEADERS): Add version.h.
11273
112742010-01-07 Uros Bizjak <ubizjak@gmail.com>
11275
11276 PR target/42511
11277 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
11278 note itself is not function_invariant_p.
11279
112802009-01-07 Steven Bosscher <steven@gcc.gnu.org>
11281
11282 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
11283 Do not add the DF_NOTE problem.
11284 * store-motion.c (execute_rtl_store_motion): Likewise.
11285
112862010-01-07 Martin Jambor <mjambor@suse.cz>
11287
11288 PR tree-optimization/42157
11289 * tree-sra.c (compare_access_positions): Stabilize sort if both
11290 accesses have integer types, return zero immediately if they are the
11291 same.
11292
112932010-01-06 Richard Henderson <rth@redhat.com>
11294
11295 PR middle-end/41883
11296 * haifa-sched.c (add_to_note_list): Merge into ...
11297 (concat_note_lists): ... here, and ...
11298 (unlink_other_notes, rm_other_notes): Merge into...
11299 (remove_notes): ... here. Create REG_SAVE_NOTEs for
11300 NOTE_INSN_EPILOGUE_BEG.
11301
113022010-01-06 Richard Guenther <rguenther@suse.de>
11303
11304 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
11305 not inline regular functions into always-inline functions.
11306
113072010-01-06 Nick Clifton <nickc@redhat.com>
11308
11309 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
11310 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
11311 used together.
11312 (OVERRIDE_OPTIONS): Delete.
11313 (OPTIMIZATION_OPTIONS): Define.
11314 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
11315 * config/rx/rx.c (rx_handle_option): Issue an error message if
11316 -mcpu=rx200 and -fpu are used together.
11317 (rx_set_optimization_options): New function. Issue an error
11318 message if an optimization attribute attempts to reset the FPU/
11319 math optimization pairing.
11320 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
11321 * config/rx/rx.opt: Set the default to 32-bit doubles.
11322 * config/rx/t-rx: Add multilibs for -nofpu option.
11323 * doc/invoke.texi: Update documentation of RX options.
11324
113252010-01-06 Richard Guenther <rguenther@suse.de>
11326
11327 * tree-ssa-pre.c (name_to_id): New global.
11328 (alloc_expression_id): Simplify SSA name handling.
11329 (lookup_expression_id): Likewise.
11330 (init_pre): Zero name_to_id.
11331 (fini_pre): Free it.
11332
113332010-01-06 Uros Bizjak <ubizjak@gmail.com>
11334
11335 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
11336
113372010-01-05 H.J. Lu <hongjiu.lu@intel.com>
11338
11339 PR target/42542
11340 * config/i386/sse.md (smaxv2di3): New.
11341 (umaxv2di3): Likewise.
11342 (sminv2di3): Likewise.
11343 (uminv2di3): Likewise.
11344
113452010-01-05 Eric Botcazou <ebotcazou@adacore.com>
11346
11347 PR target/42564
11348 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
11349 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
11350 (legitimize_tls_address): Likewise.
11351 (sparc_tls_referenced_p): Likewise.
11352 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
11353 and adjust calls to legitimize_pic_address.
11354 (legitimate_constant_p) Use sparc_tls_referenced_p.
11355 (legitimate_pic_operand_p): Likewise.
11356 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
11357 (sparc_tls_symbol_ref_1): Delete.
11358 (sparc_tls_referenced_p): Make static, recognize specific patterns.
11359 (legitimize_tls_address): Make static, handle CONST patterns.
11360 (legitimize_pic_address): Make static, remove unused parameter and
11361 adjust recursive calls.
11362 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
11363 and adjust call to legitimize_pic_address.
11364 (sparc_output_mi_thunk): Likewise.
11365
113662010-01-05 Paolo Bonzini <bonzini@gnu.rg>
11367 H.J. Lu <hongjiu.lu@intel.com>
11368
11369 PR target/42542
11370 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
11371 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
11372 operands to make them signed.
11373
11374 Revert:
11375 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11376
11377 PR target/42542
11378 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
11379 GTU to GT for V4SI and V2DI.
11380
11381 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
11382 (umin<mode>3): Removed.
11383 (uminv8hi3): New.
11384 (uminv4si3): Likewise.
11385
113862010-01-05 Martin Jambor <mjambor@suse.cz>
11387
11388 PR tree-optimization/42462
11389 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
11390 current_function_decl to helper functions and macros.
11391
113922010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11393
11394 PR bootstrap/41771
11395 * flags.h: Don't include real.h.
11396 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
11397 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
11398 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
11399 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
11400 * dominance.c: Update copyright.
11401 * gimple.c (walk_gimple_op): Remove inline.
11402 * tree-ssa-reassoc.c: Include real.h.
11403 * Makefile.in (FLAGS_H): Remove $(REAL_H).
11404 (tree-ssa-reassoc.o): Depend on $(REAL_H).
11405
114062010-01-05 Nick Clifton <nickc@redhat.com>
11407
11408 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
11409 register to push into the stack frame when the accumulator has to
11410 be saved during interrupts.
11411
114122010-01-05 Eric Fisher <joefoxreal@gmail.com>
11413
11414 * doc/invoke.texi: Remove the documentation about option
11415 -Wunreachable-code.
11416 * common.opt (Wunreachable-code): Preserved for backward
11417 compatibility.
11418 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
11419 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
11420 the backward compatibility flag section.
11421
114222010-01-05 Richard Guenther <rguenther@suse.de>
11423
11424 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
11425
114262010-01-05 Jakub Jelinek <jakub@redhat.com>
11427
11428 PR other/42611
11429 * cfgexpand.c (expand_one_var): Diagnose too large variables.
11430
11431 PR tree-optimization/42508
11432 * tree-sra.c (convert_callers): Check for recursive call
11433 by comparing cgraph nodes instead of decls.
11434 (modify_function): Call ipa_modify_formal_parameters also
11435 on all same_body aliases.
11436
11437 * cgraphunit.c (cgraph_materialize_all_clones): Compare
11438 cgraph nodes when checking for same_body aliases.
11439
114402010-01-05 Richard Guenther <rguenther@suse.de>
11441
11442 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
11443 allocation and lookup.
11444 (get_or_alloc_expr_for_constant): Likewise.
11445 (phi_translate): Sink allocation.
11446
114472010-01-04 Richard Guenther <rguenther@suse.de>
11448
11449 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
11450 a new entry only if needed.
11451 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
11452 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
11453 hashtable lookup.
11454 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
11455 the result array.
11456 (phi_translate): Handle CONSTANTs early.
11457
114582010-01-04 Martin Jambor <mjambor@suse.cz>
11459
11460 PR tree-optimization/42398
11461 * tree-sra.c (struct access): Removed flag grp_different_types.
11462 (dump_access): Do not dump the removed flag.
11463 (sort_and_splice_var_accesses): Do not set the removed flag.
11464 (sra_modify_expr): Check for type compatibility directly.
11465
114662010-01-04 Martin Jambor <mjambor@suse.cz>
11467
11468 PR tree-optimization/42366
11469 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
11470 edges with variable number of parameters.
11471 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
11472 flag instead of asserting it.
11473 (ipa_read_node_info): Read uses_analysis_done flag.
11474
114752010-01-04 Richard Guenther <rguenther@suse.de>
11476
11477 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
11478 iterative_hash_* as intended.
11479 (vn_reference_compute_hash): Likewise. Simplify hashing
11480 SSA names.
11481 (vn_reference_lookup_2): Likewise.
11482 (vn_nary_op_compute_hash): Likewise.
11483 (vn_phi_compute_hash): Likewise.
11484 (expressions_equal_p): Remove strange code.
11485 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
11486 (pre_expr_hash): Likewise. Simplify hashing SSA names.
11487 (bitmap_insert_into_set_1): Take value-id as parameter.
11488 (add_to_value): Pass it.
11489 (bitmap_insert_into_set): Likewise.
11490 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
11491
114922010-01-04 Jakub Jelinek <jakub@redhat.com>
11493
11494 PR driver/42442
11495 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
11496 (do_self_spec): For switches with SWITCH_IGNORE set set also
11497 SWITCH_IGNORE_PERMANENTLY.
11498 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
11499 of SWITCH_IGNORE.
11500
115012010-01-04 Rafael Avila de Espindola <espindola@google.com>
11502
11503 * lto-streamer-out.c (output_unreferenced_globals): Output the full
11504 tree of an unreferenced global var.
11505
115062010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11507
11508 PR target/42542
11509 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
11510 GTU to GT for V4SI and V2DI.
11511
11512 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
11513 (umin<mode>3): Removed.
11514 (uminv8hi3): New.
11515 (uminv4si3): Likewise.
11516
115172010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11518
11519 PR lto/42581
11520 * collect2.c (main): Turn on trace in collect2 if -v is passed
11521 to gcc with LTO.
11522
115232010-01-03 Jerry Quinn <jlquinn@optonline.net>
11524
11525 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
11526 description of expression operand.
11527
115282010-01-03 Andrew Jenner <andrew@codesourcery.com>
11529
11530 * configure.ac: Add install-html to target_list for Make-hooks.
11531 * configure: Regenerate.
11532 * fortran/Make-lang.in (F95_HTMLFILES): New.
11533 (fortran.html): Use it.
11534 (fortran.install-html): New.
11535 * Makefile.in (install-html): Add lang.install-html.
11536 * java/Make-lang.in (JAVA_HTMLFILES): New.
11537 (java.html): Use it.
11538 (java.install-html): New.
11539 * objc/Make-lang.in (objc.install-html): New.
11540 * objcp/Make-lang.in (obj-c++.install-html): New.
11541 * cp/Make-lang.in (c++.install-html): New.
11542 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
11543 * lto/Make-lang.in (lto.install-html): New.
11544
115452010-01-03 H.J. Lu <hongjiu.lu@intel.com>
11546
11547 PR lto/42520
11548 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
11549
115502009-01-03 Steven Bosscher <steven@gcc.gnu.org>
11551
11552 PR rtl-optimization/41862
11553 * store-motion.c (store_killed_in_insn, compute_store_table,
11554 remove_reachable_equiv_notes, replace_store_insn,
11555 build_store_vectors): Ignore all DEBUG_INSNs.
11556
115572010-01-03 H.J. Lu <hongjiu.lu@intel.com>
11558
11559 PR lto/41564
11560 * common.opt: Add dumpdir.
11561
11562 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
11563 isn't specified.
11564 (option_map): Add --dumpdir.
11565
11566 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
11567
11568 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
11569
11570 * opts.c (decode_options): Try dump_dir_name first if
11571 dump_base_name isn't an absolute path.
11572 (common_handle_option): Handle OPT_dumpdir.
11573
11574 * toplev.c (dump_dir_name): New.
11575 (print_switch_values): Also ignore -dumpdir.
11576
11577 * toplev.h (dump_dir_name): New.
11578
115792010-01-03 Richard Guenther <rguenther@suse.de>
11580
11581 PR tree-optimization/42589
11582 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
11583 double-word expansion of bswap32.
11584
115852010-01-03 Steven Bosscher <steven@gcc.gnu.org>
11586
11587 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
11588 with BLOCK_FOR_INSN.
11589 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
11590 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
11591 noce_process_if_block): Likewise.
11592 * gcse.c (compute_local_properties, insert_expr_in_table,
11593 insert_set_in_table, canon_list_insert, find_avail_set,
11594 pre_insert_copy_insn): Likewise.
11595
11596 * basic-block.h (BLOCK_NUM): Move from here...
11597 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
11598
115992010-01-03 Richard Guenther <rguenther@suse.de>
11600
11601 PR tree-optimization/42438
11602 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
11603 contains_may_not_return_call flag.
11604 (BB_MAY_NOTRETURN): New.
11605 (valid_in_sets): Trapping nary operations are not valid
11606 in blocks that may not return.
11607 (insert_into_preds_of_block): Remove check for trapping expressions.
11608 (compute_avail): Compute also BB_MAY_NOTRETURN.
11609
116102010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
11611
11612 * doc/invoke.texi: Add 2010 to copyright years.
11613
116142010-01-03 Eric Botcazou <ebotcazou@adacore.com>
11615
11616 * config/sparc/sparc.c: Fix formatting nits.
11617
116182010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
11619 Alexander Monakov <amonakov@ispras.ru>
11620
11621 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
11622
116232010-01-02 Richard Guenther <rguenther@suse.de>
11624
11625 PR middle-end/42577
11626 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
11627 (simplify_switch_using_ranges): Mark to be removed edges
11628 as non-executable.
11629
116302010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11631
11632 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
11633
11634 * collect2.c (scan_libraries): Add missing argument in call to
11635 scan_prog_file.
11636
116372010-01-02 Uros Bizjak <ubizjak@gmail.com>
11638
11639 PR target/42448
11640 * config/alpha/predicates.md (aligned_memory_operand): Return false
11641 for CQImode.
11642 (unaligned_memory_operand): Return true for CQImode.
11643 * config/alpha/alpha.c (get_aligned_mem): Assert that location
11644 doesn not cross aligned SImode word boundary.
11645
116462010-01-02 Anatoly Sokolov <aesok@post.ru>
11647
11648 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
11649 Remove.
11650 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
11651 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
11652
116532010-01-02 Richard Guenther <rguenther@suse.de>
11654
11655 PR lto/41597
11656 * toplev.c (compile_file): Emit LTO marker properly. Change
11657 it to __gnu_lto_v1.
11658 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
11659
116602010-01-01 Richard Guenther <rguenther@suse.de>
11661
11662 PR debug/42455
11663 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
11664
116652010-01-01 Richard Guenther <rguenther@suse.de>
11666
11667 PR c/42570
11668 * c-decl.c (grokdeclarator): For zero-size arrays force
11669 structural equality checks as layout_type does.
11670
116712010-01-01 H.J. Lu <hongjiu.lu@intel.com>
11672
11673 * builtins.c: Update copyright to 2010.
11674
116752010-01-01 H.J. Lu <hongjiu.lu@intel.com>
11676
11677 PR lto/42531
11678 * lto-streamer-out.c (produce_asm): Revert the last change.
11679 (copy_function): Likewise.
11680
11681 * lto-streamer.c (lto_get_section_name): Skip any leading
11682 asterisk in name.
11683
116842010-01-01 Richard Guenther <rguenther@suse.de>
11685
11686 PR middle-end/42559
11687 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
11688 for LABEL_DECLs.
11689
11690\f
11691Copyright (C) 2010 Free Software Foundation, Inc.
11692
11693Copying and distribution of this file, with or without modification,
11694are permitted in any medium without royalty provided the copyright
11695notice and this notice are preserved.
11696
0bc25dd0
KT
11697 PR bootstrap/44299
11698 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
11699 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
11700
1da2ed5f
JM
117012010-05-27 Joseph Myers <joseph@codesourcery.com>
11702
11703 * diagnostic-core.h: New. Contents moved from diagnostic.h and
11704 toplev.h.
11705 * diagnostic.c: Don't include toplev.h.
11706 (progname): Define. Moved from toplev.c.
11707 (seen_error): New function.
11708 * diagnostic.h: Include diagnostic-core.h.
11709 (diagnostic_t, emit_diagnostic): Don't declare here.
11710 * toplev.c (progname): Move to toplev.c.
11711 (emit_debug_global_declarations, compile_file, finalize,
11712 do_compile, toplev_main): Use seen_error.
11713 * toplev.h: Include diagnostic-core.h.
11714 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
11715 internal_error, warning, warning_at, error, error_n, error_at,
11716 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
11717 verbatim, fnotice, progname): Move to diagnostic-core.h.
11718 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
11719 (expand_builtin_expect): Use seen_error.
11720 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
11721 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
11722 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
11723 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
11724 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
11725 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
11726 errorcount for errors.
11727 * c-opts.c (c_common_finish): Use seen_error.
11728 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
11729 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
11730 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
11731 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
11732 (get_coverage_counts): Use seen_error.
11733 * dwarf2out.c (dwarf2out_finish): Use seen_error.
11734 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
11735 gimplify_body): Use seen_error.
11736 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
11737 * ipa-pure-const.c (gate_pure_const): Use seen_error.
11738 * ipa-reference.c (gate_reference): Use seen_error.
11739 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
11740 * lambda-code.c: Include diagnostic-core.h instead of
11741 diagnostic.h.
11742 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
11743 * lto-compress.c: Include diagnostic-core.h instead of
11744 diagnostic.h.
11745 * lto-section-in.c: Include diagnostic-core.h instead of
11746 diagnostic.h.
11747 * lto-streamer-out.c: Include diagnostic-core.h instead of
11748 diagnostic.h.
11749 * lto-streamer.c: Include diagnostic-core.h instead of
11750 diagnostic.h.
11751 (gate_lto_out): Use seen_error.
11752 * matrix-reorg.c: Include diagnostic-core.h instead of
11753 diagnostic.h.
11754 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
11755 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
11756 (gate_expand_omp, lower_omp_1): Use seen_error.
11757 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
11758 (rest_of_decl_compilation, rest_of_type_compilation,
11759 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
11760 * tree-cfg.c (label_to_block_fn): Use seen_error.
11761 * tree-inline.c (optimize_inline_calls): Use seen_error.
11762 * tree-mudflap.c (mudflap_finish_file): Use
11763 seen_error.
11764 * tree-optimize.c (gate_all_optimizations,
11765 gate_all_early_local_passes, gate_all_early_optimizations): Use
11766 seen_error.
11767 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
11768 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
11769 (varpool_remove_unreferenced_decls,
11770 varpool_assemble_pending_decls): Use seen_error.
11771 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
11772 (TOPLEV_H, DIAGNOSTIC_H): Update.
11773 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
11774 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
11775 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
11776 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
11777 coverage.o, lambda-code.o): Update dependencies.
11778
fe08ec12
DS
117792010-05-25 Dodji Seketeli <dodji@redhat.com>
11780
11781 PR c++/44188
11782 * c-common.c (is_typedef_decl): Move this definition ...
11783 * tree.c (is_typedef_decl): ... here.
11784 (typdef_variant_p): Move definition here from gcc/cp/tree.c.
11785 * c-common.h (is_typedef_decl): Move this declaration ...
11786 * tree.h (is_typedef_decl): ... here.
11787 (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
11788 * dwarf2out.c (is_naming_typedef_decl): New function.
11789 (gen_tagged_type_die): Split out of ...
11790 (gen_type_die_with_usage): ... this function. When an anonymous
11791 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
11792 is emitted for the typedef.
11793 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
11794 anonymous tagged types.
11795
b042534c
JM
117962010-05-27 Jason Merrill <jason@redhat.com>
11797
11798 * print-tree.c (debug_vec_tree): New fn.
11799 (print_vec_tree): New fn.
11800 * tree.h: Declare them.
11801 * gdbinit.in (pvt): New command.
11802
11803 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
11804
11805 * gdbinit.in (pdd): New command.
11806
cdc029b9
JH
118072010-05-27 Jan Hubicka <jh@suse.cz>
11808
11809 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
11810 (update_caller_keys): Return early if there are no callers;
11811 only update fibheap when decresing the key.
11812 (update_callee_keys): Avoid recursion.
11813 (decide_inlining_of_small_functions): When badness does not match;
11814 re-insert into fibheap.
11815
7a3b4887
SB
118162010-05-27 Steven Bosscher <steven@gcc.gnu.org>
11817
11818 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
11819 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
11820 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
11821 (ALL_HOST_OBJS): Now a union of the above two.
11822 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
11823 all files in ALL_HOST_FRONTEND_OBJS.
11824 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
11825
11826 * c-common.c: Pretend to be a backend file by undefining
11827 IN_GCC_FRONTEND (still need rtl.h here).
11828
753d358d
JH
118292010-05-27 Jan Hubicka <jh@suse.cz>
11830
11831 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
11832 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
11833
88302d54
JH
118342010-05-27 Jan Hubicka <jh@suse.cz>
11835
11836 * sched-ebb.c: Rename struct deps to struct deps_desc.
11837 * ddg.c: Likewise.
11838 * sel-sched-ir.c: Likewise.
11839 * sched-deps.c: Likewise.
11840 * sched-int.h: Likewise.
11841 * sched-rgn.c: Likewise.
11842
118432010-05-27 Jon Beniston <jon@beniston.com>
9bb81453
JB
11844
11845 PR 43726
11846 * config/lm32/lm32.h: Remove definition of
11847 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
11848
7951d88a
EB
118492010-05-27 Eric Botcazou <ebotcazou@adacore.com>
11850
11851 PR lto/44230
11852 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
11853
fde9c428
RG
118542010-05-27 Richard Guenther <rguenther@suse.de>
11855
11856 PR tree-optimization/44284
11857 * tree-vect-stmts.c (vectorizable_assignment): Handle
11858 sign-changing conversions as simple copy.
11859
3714764d
MK
118602010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
11861
11862 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
11863 Bionic C library.
11864 (__gthread_active_p): Check for pthread_create if compiling against
11865 Bionic C library.
11866
51b9db92
MK
118672010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
11868
11869 Support compilation for Android platform. Reimplement -mandroid.
11870
11871 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
11872 (*android*): Set ANDROID_DEFAULT.
11873 (arm*-*-linux*): Include linux-android.h.
11874 (arm*-*-eabi*): Don't include previous -mandroid implementation.
11875 * config/arm/eabi.h: Remove, move Android-specific parts ...
11876 * config/linux-android.h: ... here. New file.
11877 * config/arm/eabi.opt: Rename to ...
11878 * config/linux-android.opt: ... this.
11879 (mandroid): Allow -mno-android option. Initialize based on
11880 ANDROID_DEFAULT.
11881 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
11882 Move logic to corresponding LINUX_TARGET_* macros.
11883 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
11884 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
11885 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
11886 Android definitions.
11887 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
11888 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
11889 Document.
11890
74c70253
MK
118912010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
11892
11893 Add support for Bionic C library
11894
11895 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
11896 macro.
11897 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
11898 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
11899
11900 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
11901 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
11902 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
11903 to support multiple C libraries. Handle Bionic.
11904 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
11905 (BIONIC_DYNAMIC_LINKER64): Define.
11906 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
11907 Update.
11908 (TARGET_HAS_SINCOS): Enable for Bionic.
11909
11910 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
11911 the last option specified on command line take effect.
11912 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
11913 (mbionic): New.
11914 (mglibc, muclibc): Update.
11915
11916 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
11917 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
11918 DEFAULT_LIBC.
11919
11920 * doc/invoke.texi (-mglibc, -muclibc): Update.
11921 (-mbionic): Document.
11922
3ef0694c
UW
119232010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11924
11925 * c-common.h (c_register_addr_space): Add prototype.
11926 (ADDR_SPACE_KEYWORD): Remove.
11927 * c-common.c (c_register_addr_space): New function.
11928 (c_addr_space_name): Reimplement.
11929 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
11930
11931 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
11932 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
11933
11934 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
11935 Remove TARGET_ADDR_SPACE_KEYWORDS.
11936
447924ef
JM
119372010-05-27 Joseph Myers <joseph@codesourcery.com>
11938
11939 * input.c: New file.
11940 * input.h (main_input_filename): Move declaration to toplev.h.
11941 * toplev.c (input_location, line_table): Move to input.c
11942 * toplev.h (main_input_filename): Move declaration from input.h.
11943 * tree.c (expand_location): Move to input.c.
11944 * Makefile.in (OBJS-common): Add input.o.
11945 (input.o): Add dependencies.
11946
62116e60
RG
119472010-05-27 Richard Guenther <rguenther@suse.de>
11948
11949 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
11950 for non-existant files.
11951 (fork_execute): Mark args_name file as deleted.
11952
64c31785
KT
119532010-05-27 Kai Tietz <kai.tietz@onevision.com>
11954
11955 PR bootstrp/44287
11956 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
11957 (narrow_signed_type): Likewise.
11958
e466e2ce
JH
119592010-05-26 Jan Hubicka <jh@suse.cz>
11960
11961 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
11962 edge only when checking is enabled; check using former_clone_of;
11963 check inline clones too.
11964 (cgraph_materialize_clone): Record former_clone_of pointer.
11965 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
11966 combining redirections; dump args_to_skip bitmap
11967 (cgraph_materialize_all_clones): Do no redirection here.
11968 * ipa-inline.c (inline_transform): Do redirection here.
11969 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
11970 cheking only).
11971
e62d5d9f
SB
119722010-05-26 Steven Bosscher <steven@gcc.gnu.org>
11973
11974 * config/avr/avr-c.c: Do not include regs.h.
11975 Include cpplib.h for cpp_define and tree.h for c-common.h.
11976 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
11977 * config/avr/t-avr: Fix dependencies for avr-c.o.
11978
d477d1fe
SB
119792010-05-26 Steven Bosscher <steven@gcc.gnu.org>
11980
11981 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
11982 string instead of SYMBOL_REF rtx.
11983 * rtl.h (set_stack_check_libfunc): Move prototype from here...
11984 * libfuncs.h: ...to here. Adjust for explow.c change.
11985
ab9b814d
JM
119862010-05-26 Joseph Myers <joseph@codesourcery.com>
11987
11988 * pretty-print.c: Don't include ggc.h.
11989 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
11990 (identifier_to_locale): Use them for allocation.
11991 * pretty-print.h (identifier_to_locale_alloc,
11992 identifier_to_locale_free): Declare.
11993 * toplev.c (alloc_for_identifier_to_locale): New.
11994 (general_init): Set identifier_to_locale_alloc and
11995 identifier_to_locale_free.
11996 * Makefile.in (pretty-print.o): Update dependencies.
11997
c9549072
EB
119982010-05-26 Eric Botcazou <ebotcazou@adacore.com>
11999
12000 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
12001 pointer types if they have different alignment or mode.
12002
bf44d792
AS
120032010-05-26 Anatoly Sokolov <aesok@post.ru>
12004
12005 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
12006 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
12007 * config/sparc/sparc-protos.h (function_value): Remove declaration.
12008 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
12009 sparc_function_value_regno_p): New functions.
12010 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
12011 TARGET_FUNCTION_VALUE_REGNO_P): Define.
12012 (function_value): Rename to...
12013 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
12014 argument to 'outgoing'.
12015 (function_arg_record_value, function_arg_union_value,
12016 function_arg_vector_value): Update comment.
12017
4ad2e1ec
EB
120182010-05-26 Eric Botcazou <ebotcazou@adacore.com>
12019
12020 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
12021 (fde_needed_for_eh_p): New predicate.
12022 (output_call_frame_info): Use it throughout to decide whether FDEs
12023 are needed for EH purpose.
12024 (dwarf2out_begin_prologue): Reorder assignments.
12025
4204425f
SP
120262010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12027
12028 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
12029 special case loop->header.
12030 (is_predicated): New.
12031 (if_convertible_loop_p): Call it.
12032
e1449456
SP
120332010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12034
12035 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
12036 iterator in parameter. Do not generate code during the analysis.
12037 (tree_if_convert_cond_stmt): Removed.
12038 (tree_if_convert_stmt): Removed.
12039 (predicate_bbs): New.
12040 (if_convertible_loop_p): Call predicate_bbs.
12041 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
12042 now contains all the analysis part.
12043
76b84776
SP
120442010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12045
12046 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
12047 statements in the analysis part.
12048 (tree_if_convert_stmt): Update comment.
12049 (remove_conditions_and_labels): New.
12050 (combine_blocks): Call remove_conditions_and_labels.
12051 (tree_if_conversion): Update comment.
12052
bc447143
SP
120532010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12054
12055 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
12056 than 2 predecessors or more than 2 successors.
12057
6d795034
SP
120582010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12059
12060 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
12061 of loops in which the data dependence analysis fails.
12062
d7309618
SP
120632010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12064
12065 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
12066 CDI_POST_DOMINATORS.
12067 (tree_if_conversion): Same.
12068
7b371e73
SP
120692010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12070
12071 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
12072
4ab71973
SP
120732010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12074
12075 * tree-if-conv.c: Update copyright years. Fix comments.
12076 Fix indentation.
12077
a6766312
KT
120782010-05-26 Kai Tietz <kai.tietz@onevision.com>
12079
12080 * builtin-types.def (BT_INT128): New primitive type.
12081 (BT_UINT128): Likewise.
12082 * c-common.c (c_common_r): Add __int128 keyword.
12083 (c_common_type_for_size): Handle __int128.
12084 (c_common_type_for_mode): Likewise.
12085 (c_common_signed_or_unsigned_type): Likewise.
12086 (c_common_nodes_and_builtins): Add builtin type
12087 if target supports 128-bit integer scalar.
12088 * c-common.h (enum rid): Add RID_INT128.
12089 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
12090 if target supports 128-bit integer scalar.
ade52657 12091 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
a6766312
KT
12092 (finish_declspecs): Likewise.
12093 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
12094 (c_token_starts_declspecs): Likewise.
12095 (c_parser_declspecs): Likewise.
12096 (c_parser_attributes): Likewise.
12097 (c_parser_objc_selector): Likewise.
12098 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
12099 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
12100 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
12101 * tree.c (make_or_reuse_type): Likewise.
12102 (make_unsigned_type): Likewise.
12103 (build_common_tree_nodes_2): Likewise.
12104 * tree.h (enum integer_type_kind): Add itk_int128 and
12105 itk_unsigned_int128.
ade52657 12106 (int128_integer_type_node): New define.
a6766312 12107 (int128_unsigned_type_node): New define.
a6766312
KT
12108 * doc/extend.texi: Add documentation about __int128 type.
12109
880ad25f
RG
121102010-05-26 Richard Guenther <rguenther@suse.de>
12111
12112 * tree-ssa-sccvn.c (copy_nary): Adjust.
12113 (copy_phis): Rename to ...
12114 (copy_phi): ... this. Adjust.
12115 (copy_references): Rename to ...
12116 (copy_reference): ... this. Adjust.
12117 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
12118 result into the valid table.
12119
52642070
SB
121202010-05-26 Steven Bosscher <steven@gcc.gnu.org>
12121
12122 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
12123 insn-config.h, insn-codes.h, recog.h, and optabs.h.
12124
58cd6303
LB
121252010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12126
ade52657 12127 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
58cd6303 12128
c3a02647
RG
121292010-05-26 Richard Guenther <rguenther@suse.de>
12130
12131 * opts.c (common_handle_option): Handle OPT_Ofast.
12132
5f0f4a3b
JM
121332010-05-26 Joseph Myers <joseph@codesourcery.com>
12134
12135 * diagnostic.c: Don't include opts.h.
12136 (permissive_error_option): Define.
12137 (diagnostic_initialize): Take n_opts parameter. Allocate memory
12138 for classify_diagnostic. Don't use memset for
12139 classify_diagnostic. Initialize new and recently added fields.
12140 (diagnostic_classify_diagnostic): Use context->n_opts instead of
12141 N_OPTS.
12142 (diagnostic_report_diagnostic): Pass context parameter to
12143 diagnostic_report_warnings_p. Use option_enabled and option_name
12144 hooks from context.
12145 (emit_diagnostic): Use permissive_error_option.
12146 (permerror): Likewise.
12147 * diagnostic.h: Don't include options.h.
12148 (struct diagnostic_context): Add n_opts, opt_permissive,
12149 inhibit_warnings, warn_system_headers, option_enabled and
12150 option_name fields. Change classify_diagnostic to a pointer.
12151 * opts-diagnostic.h: New file.
12152 * opts.c: Include opts-diagnostic.h.
12153 (common_handle_option): Set global_dc fields for -Wfatal-errors,
12154 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
12155 (option_name): New function.
12156 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
12157 (c_common_handle_option): Set global_dc->permissive for
12158 -fpermissive.
12159 * c-common.c (c_cpp_error): Save and restore
12160 global_dc->warn_system_headers, not variable warn_system_headers.
12161 * toplev.c: Include opts-diagnostic.h.
12162 (general_init): Update call to diagnostic_initialize. Set
12163 global_dc->show_column, global_dc->option_enabled and
12164 global_dc->option_name.
12165 (process_options): Don't set global_dc fields here.
12166 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
12167 (diagnostic.o, opts.o, toplev.o): Update dependencies.
12168
f024f85d
HS
121692010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
12170
12171 * config/picochip/picochip.md (movsi): Split a movsi from a
12172 const after reload.
12173
e4dfaf72
LB
121742010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12175
12176 * ggc-zone.c: Update copyright year.
12177 (poison_region): Mark memory for Valgrind as undefined before
12178 memset () call and inaccessible afterwards.
12179 (ggc_pch_total_size): Change type of i to int.
12180
121812010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12182
12183 * ggc-common.c (ggc_free_overhead): Allow empty slot.
12184
121852010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12186
12187 * ggc-common.c: Update copyright year.
12188 (ggc_rlimit_bound): Remove prototype. Compile only if
12189 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
12190 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
12191 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
12192 (ggc_min_heapsize_heuristic): Likewise.
12193
630d3fad
RG
121942010-05-26 Richard Guenther <rguenther@suse.de>
12195
12196 PR rtl-optimization/44164
12197 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
12198 no-common access-path disambiguation.
12199 (indirect_ref_may_alias_decl_p): Adjust.
12200 (indirect_refs_may_alias_p): Likewise.
12201 (refs_may_alias_p_1): Likewise.
12202
b9b6c084
SB
122032010-05-26 Steven Bosscher <steven@gcc.gnu.org>
12204
12205 * c-typeck.c: Do not include expr.h.
12206
d347d97e
SB
122072010-05-26 Steven Bosscher <steven@gcc.gnu.org>
12208
12209 * rtl.h (decl_default_tls_model): Move prototype from here...
12210 * output.h: ...to here.
12211 * c-decl.c: Do not include rtl.h.
12212 * c-pragma.c: Likewise.
12213 * c-parser.c: Likewise.
12214 * c-gimplify.c: Likewise. And also not hard-reg-set.
12215 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
12216 FIXME note for it. Add a FIXME note for expr.h.
12217 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
12218 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
12219 defined.
12220
0d65bdbb
JJ
122212010-05-26 Jakub Jelinek <jakub@redhat.com>
12222
12223 PR target/44199
12224 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
12225 or total_size is larger than red zone size for non-V4 ABI, emit a
12226 stack_tie resp. frame_tie insn before stack pointer restore.
12227 * config/rs6000/rs6000.md (frame_tie): New insn.
12228
8f4f502f
EB
122292010-05-25 Eric Botcazou <ebotcazou@adacore.com>
12230
12231 * function.h (struct function): Add can_throw_non_call_exceptions bit.
12232 * lto-streamer-in.c (input_function): Stream it in.
12233 * lto-streamer-out.c (output_function): Stream it out.
12234 * function.c (allocate_struct_function): Set it.
12235 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
12236 for flag_non_call_exceptions.
12237 * cfgbuild.c (control_flow_insn_p): Likewise.
12238 (make_edges): Likewise.
12239 * cfgexpand.c (expand_stack_alignment): Likewise.
12240 * combine.c (distribute_notes): Likewise.
12241 * cse.c (cse_extended_basic_block): Likewise.
12242 * except.c (insn_could_throw_p): Likewise.
12243 * gcse.c (simple_mem): Likewise.
12244 * ipa-pure-const.c (check_call): Likewise.
12245 (check_stmt ): Likewise.
12246 * lower-subreg.c (lower-subreg.c): Likewise.
12247 * optabs.c (emit_libcall_block): Likewise.
12248 (prepare_cmp_insn): Likewise.
12249 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
12250 * postreload.c (rest_of_handle_postreload): Likewise.
12251 * reload1.c (reload_as_needed): Likewise.
12252 (emit_input_reload_insns): Likewise.
12253 (emit_output_reload_insns): Likewise.
12254 (fixup_abnormal_edges): Likewise.
12255 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
12256 * store-motion.c (find_moveable_store): Likewise.
12257 * tree-eh.c (stmt_could_throw_p): Likewise.
12258 (tree_could_throw_p): Likewise.
12259 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
12260 * config/arm/arm.c (arm_expand_prologue): Likewise.
12261 (thumb1_expand_prologue): Likewise.
12262 * config/rx/rx.md (cbranchsf4): Likewise.
12263 (cmpsf): Likewise.
12264 * config/s390/s390.c (s390_emit_prologue): Likewise.
12265 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
12266 (inline_forbidden_into_p): New predicate.
12267 (expand_call_inline): Use it to forbid inlining.
12268 (tree_can_inline_p): Likewise.
12269
c962b78d
SB
122702010-05-25 Steven Bosscher <steven@gcc.gnu.org>
12271
12272 * config/i386/i386-c.c: Do not include rtl.h.
12273 * config/i386/t-i386: Update dependencies.
12274
afb67dc2
SB
122752010-05-25 Steven Bosscher <steven@gcc.gnu.org>
12276
12277 * attribs.c: Do not include rtl.h.
12278 * Makefile.in: Update dependencies.
12279
e233a3b2
AS
122802010-05-25 Anatoly Sokolov <aesok@post.ru>
12281
12282 * double-int.h (double_int_and): New.
12283 * combine.c (try_combine): Clean up, use double_int_* and
12284 immed_double_int_const functions.
12285
bc492e47
RO
122862010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12287
12288 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
12289 stderr to /dev/null instead of grep -q.
12290 * configure: Regenerate.
12291
245763e3
SB
122922010-05-25 Steven Bosscher <steven@gcc.gnu.org>
12293
12294 * Makefile.in (EXCEPT_H): Fix typo.
12295
4ac293e2
VM
122962010-05-25 Vladimir Makarov <vmakarov@redhat.com>
12297
12298 * ira-build.c (update_conflict_hard_reg_costs): New.
12299 (ira_build): Call update_conflict_hard_reg_costs.
12300
60a5d78a
JJ
123012010-05-25 Jakub Jelinek <jakub@redhat.com>
12302
bb9862c6
JJ
12303 PR debug/41371
12304 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
12305 ENABLE_CHECKING.
12306 (intersect_loc_chains): Walk the s2var's loc_chain together
12307 with s1node chain as long as the locations are equal, don't
12308 call find_loc_in_1pdv in that case.
12309
60a5d78a
JJ
12310 PR debug/42801
12311 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
12312 (copy_bind_expr): ... instead of here.
12313 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
12314 if the block hasn't been remapped.
12315 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
12316 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
12317
c946a318
RG
123182010-05-25 Richard Guenther <rguenther@suse.de>
12319
12320 PR middle-end/44069
12321 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
12322 out-of-bounds array accesses.
12323
50ee30d5
RG
123242010-05-25 Richard Guenther <rguenther@suse.de>
12325
12326 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
12327 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
12328 (run_gcc): Re-organize to make cleanup easier.
12329
ca1930ce
AK
123302010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12331
12332 * config/s390/s390.c (optimization_options): Fix and move the
12333 flag_prefetch_loop_arrays override ...
12334 (override_options): ... here.
12335
a13812e2
JM
123362010-05-25 Joseph Myers <joseph@codesourcery.com>
12337
12338 * diagnostic.c: Don't include plugin.h.
12339 (diagnostic_report_diagnostic): Don't handle plugins specially
12340 here. Pass context to internal_error callback.
12341 * diagnostic.h (struct diagnostic_context): Add context parameter
12342 to internal_error callback.
ade52657 12343 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
a13812e2
JM
12344 * plugin.h (struct diagnostic_context): Declare.
12345 (warn_if_plugins, plugins_internal_error_function): Declare.
12346 * toplev.c (general_init): Set global_dc->internal_error.
12347 * Makefile.in (diagnostic.o): Update dependencies.
12348
9a2d05e0
IS
123492010-05-25 Iain Sandoe <iains@gcc.gnu.org>
12350
12351 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
12352 * config/rs6000/t-darwin64: New.
12353 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
12354 build crt2.
12355
8fde8b40
CB
123562010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
12357
12358 PR 44203
12359 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
12360 match the original (and intended) behaviour before r159557. This
12361 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
12362 in two ways.
12363
be6d3f0e
RG
123642010-05-25 Richard Guenther <rguenther@suse.de>
12365
12366 * doc/invoke.texi: Document -Ofast.
12367 * target.h (struct gcc_target): Add handle_ofast.
12368 * target-def.h (TARGET_HANDLE_OFAST): Add.
12369 (TARGET_INITIALIZER): Adjust.
ade52657 12370 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
be6d3f0e
RG
12371 * common.opt (Ofast): Add.
12372
ac5eda13
PB
123732010-05-25 Paolo Bonzini <bonzini@gnu.org>
12374
12375 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
12376 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
12377
123782010-05-25 Paolo Bonzini <bonzini@gnu.org>
6597fd0b
PB
12379
12380 PR target/43610
12381 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
12382 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
12383 false_rtx. Use false_rtx to compute the correct *ptest for reversed
12384 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
12385
9d4545b2
JJ
123862010-05-25 Jakub Jelinek <jakub@redhat.com>
12387
12388 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
12389 DW_OP_minus with negated offset instead of DW_OP_plus.
ade52657 12390 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
9d4545b2 12391
ee4e1706
WG
123922010-05-25 Wei Guozhi <carrot@google.com>
12393
12394 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
12395 tst instruction and a new alternative.
12396 * config/arm/constraints.md (Pu): New constraint.
12397
427188d5
SP
123982010-05-24 Sebastian Pop <sebastian.pop@amd.com>
12399
12400 * function.c (assign_stack_local_1): Initialize variable
12401 to avoid warning when bootstrapping at -O3.
12402
96ee6e08
SB
124032010-05-24 Steven Bosscher <steven@gcc.gnu.org>
12404
12405 * configure.ac (all_lang_makefiles): Remove everything related to it.
12406 * configure: Regenerate.
12407 * Makefile.in: Fix reference to ada Make-lang.in.
12408 Remove support for LANG_MAKEFILES.
12409
1ab55d69
MK
124102010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
12411 Sandra Loosemore <sandra@codesourcery.com>
12412
12413 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
12414 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
12415 description. Add arm_neon_fp16_ok.
12416 (Add Options): Add arm_neon and arm_neon_fp16.
12417
243fbddd
JM
124182010-05-24 Joseph Myers <joseph@codesourcery.com>
12419
12420 * diagnostic.c: Don't include flags.h.
12421 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
ade52657 12422 context parameters. Check flags in the context passed as a parameter.
243fbddd
JM
12423 (diagnostic_build_prefix): Add context parameter. Check
12424 show_column flag in context.
ade52657
UB
12425 (diagnostic_action_after_output): Check fatal_errors flag in context.
12426 (diagnostic_report_current_module): Check show_column flag in context.
243fbddd
JM
12427 (default_diagnostic_starter): Update call to
12428 diagnostic_build_prefix.
ade52657 12429 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
243fbddd
JM
12430 (emit_diagnostic): Pass context to permissive_error_kind.
12431 (permerror): Pass context to permissive_error_kind.
12432 * diagnostic.h (struct diagnostic_context): Add show_column,
12433 pedantic_errors, permissive and fatal_errors fields.
12434 (diagnostic_build_prefix): Update prototype.
12435 * langhooks.c
12436 * toplev.c (process_options): Set flags in global_dc from
12437 flag_show_column, flag_pedantic_errors, flag_permissive,
12438 flag_fatal_errors.
12439 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
12440 to diagnostic_build_prefix.
12441 * Makefile.in (diagnostic.o): Update dependencies.
12442
42f40af4
L
124432010-05-24 H.J. Lu <hongjiu.lu@intel.com>
12444
12445 * config/i386/ia32intrin.h (__crc32q): Define only if
12446 __SSE4_2__ is defined.
12447
1db0429a
IS
124482010-05-24 Iain Sandoe <iains@gcc.gnu.org>
12449
12450 PR target/44132
12451 PR middle-end/43602
12452 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
12453 DECL_VISIBILITY_SPECIFIED.
12454 (emutls_decl): Set DECL_PRESERVE_P and copy
12455 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
12456 (emutls_finalize_control_var): New callback.
12457 (emutls_finish): Finalize emutls control variables.
ade52657 12458 * toplev.c (compile_file): Move the call to emutls_finish ()
1db0429a
IS
12459 before varpool_assemble_pending_decls ().
12460
e72e2da4
DG
124612010-05-24 Daniel Gutson <dgutson@codesourcery.com>
12462
12463 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
12464 added to the preprocessor condition.
12465
b748fbd6
PB
124662010-05-24 Paul Brook <paul@codesourcery.com>
12467
12468 * gengtype-lex.l: Add HARD_REG_SET.
12469 * expr.c (expand_expr_real_1): Record writes to hard registers.
12470 * function.c (rtl_data): Add asm_clobbers.
12471 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
12472 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
12473 Use crtl->asm_clobbers.
12474
9888e9cf
RW
124752010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12476
12477 * doc/makefile.texi (Makefile): Mention stages 'profile'
12478 and 'feedback' for profiledbootstrap.
12479
cf5b989e
L
124802010-05-23 H.J. Lu <hongjiu.lu@intel.com>
12481
12482 PR target/44245
12483 * config/i386/i386.c (def_builtin): Properly check
12484 OPTION_MASK_ISA_64BIT.
12485
dc5027f4
JM
124862010-05-23 Joseph Myers <joseph@codesourcery.com>
12487
12488 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
12489 typedefs with different but compatible types. Allow duplicate
12490 typedefs with the same type except for pedantic non-C1X, but give
12491 warning for variably modified types.
12492 * c-typeck.c (tagged_types_tu_compatible_p,
12493 function_types_compatible_p, type_lists_compatible_p,
12494 comptypes_internal): Add parameter different_types_p; set
12495 *different_types_p for different but compatible types. All
12496 callers changed.
12497 (comptypes_check_different_types): New.
12498 * c-tree.h (comptypes_check_different_types): Declare.
12499
2d1a4cc1
SB
125002010-05-23 Steven Bosscher <steven@gcc.gnu.org>
12501
ade52657 12502 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
2d1a4cc1
SB
12503 * jump.c: Include basic-block.h.
12504 * profile.c: Likewise.
12505 * tree-profile.c: Likewise.
12506 * coverage.c: Likewise.
12507 * basic-block.h (optimize_function_for_size_p): Move to function.h.
12508 (optimize_function_for_speed_p): Likewise.
12509 * function.h (optimize_function_for_size_p,
12510 optimize_function_for_speed_p): Moved here from basic-block.h.
539bac37 12511 * Makefile.in: Update dependencies.
2d1a4cc1 12512
5767217f
RW
125132010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12514
12515 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
12516 before calling make; allow override through $MAKE.
12517 * doc/invoke.texi (Optimize Options): Document override.
12518
7a955d62
AS
125192010-05-23 Anatoly Sokolov <aesok@post.ru>
12520
12521 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
12522 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12523 (rs6000_mode_dependent_address_ptr): Make static.
12524 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12525 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
12526 Remove.
12527
362ff46e 125282010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
7b37a805
ML
12529
12530 PR target/43869
12531 * config/i386/i386.c: Make sure that the correct regparm is passed.
12532
9ecb1730
SB
125332010-05-23 Steven Bosscher <steven@gcc.gnu.org>
12534
12535 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
12536 * sbitmap.c: ...to here to internalize sbitmap element access.
12537 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
12538 Explain why basic-block.h is included.
12539 * function.h: Include tm.h for CUMULATIVE_ARGS.
12540 * Makefile.in: Update dependencies.
12541
7a8cba34
SB
125422010-05-22 Steven Bosscher <steven@gcc.gnu.org>
12543
12544 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
12545 New core types.
12546 * sbitmap.h (struct sbitmap_def): Do not typedef here.
12547 * sbitmap.c: Include sbitmap.h.
12548 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
12549 hard-reg-set.h. Split everything related to regsets out from here...
12550 * regset.h: ...to here. New file.
12551 * df.h: Include regset.h and sbitmap.h.
12552 * tree-flow.h: Likewise.
12553 * cfgloop.h: Likewise.
12554 * except.h: Do not include sbitmap.h. Include hashtab.h.
12555 * cgraph.h: Include vec.h and function.h.
12556 * reload.h (struct insn_chain): Change types of live_throughout
12557 and dead_or_set from regset_head to bitmap_head.
12558 (compute_use_by_pseudos): Be defined also if regset.h is not included.
12559 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
12560 spilled_regs from regset_head to bitmap_head to avoid dependency
12561 in regset.h.
12562 * sel-sched-ir.h: Include regset.h.
12563 * reload.c: Include df.h before reload.h.
12564 * caller-save.c: Likewise.
12565 * reload1.c: Likewise.
12566 * ira.c: Likewise.
12567 (mark_elimination): Update type of r to bitmap, consistent with
12568 DF_LR_IN.
12569 * dominance.c: Include bitmap.h.
12570 * modulo-sched.c: Include df.h.
12571 * cfganal.c: Include bitmap.h and sbitmap.h.
12572 * cfgbuild.c: Include sbitmap.h.
12573 * lcm.c: Include sbitmap.h.
12574 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
12575 * domwalk.c: Include sbitmap.h, exclude ggc.h.
12576 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
12577 * cselib.c: Include bitmap.h.
12578 * tree-optimize.c: Include regset.h.
12579 * stmt.c: Include bitmap.h.
12580 * Makefile.in: Update dependencies.
12581
9f90e80a
JH
125822010-05-22 Jan Hubicka <jh@suse.cz>
12583
12584 * cgraph.h (struct varpool_node): Add same_comdat_group.
12585 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
12586 pointer.
12587 (output_varpool): Update call of lto_output_varpool_node.
12588 (input_varpool): Read same_comdat_group pointer.
12589 (input_varpool_1): Fixup same_comdat_group pointer.
12590 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
12591 group is needed, all are.
12592 * varpool.c (varpool_remove_node): Remove node from same comdat group
12593 linklist too.
12594 (varpool_analyze_pending_decls): Walk same comdat groups.
12595
a2c9fe42
SB
125962010-05-22 Steven Bosscher <steven@gcc.gnu.org>
12597
12598 * rtl.h (union rtunion_def): Remove rt_bit member.
12599 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
12600 * print-rtl (print_rtx): Do not print the member.
12601 * gengtype.c (adjust_field_rtx_def): Do not handle it.
12602 * gengenrtl.c (type_from_format): Likewise.
12603 (accessor_from_format): Likewise.
12604
3b2ce251
JM
126052010-05-22 Joseph Myers <joseph@codesourcery.com>
12606
12607 * dbgcnt.c: Include toplev.h instead of errors.h.
12608 * ira-emit.c: Don't include errors.h.
12609 * ira.c: Include toplev.h instead of errors.h.
12610 * lto-compress.c: Include toplev.h instead of errors.h.
12611 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
12612 ira.o, dbgcnt.o): Update dependencies.
12613
bd9eb5da
RG
126142010-05-22 Richard Guenther <rguenther@suse.de>
12615
12616 * gimple.c (gimple_types_compatible_p): Check type qualifications
12617 before merging pointer to complete and pointer to incomplete type.
12618 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
12619 we use our own resolution algorithm. The gold linker plugin
12620 doesn't do the job we want it to do here.
12621
277e2873
AS
126222010-05-22 Anatoly Sokolov <aesok@post.ru>
12623
12624 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12625 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12626 (sparc_mode_dependent_address_p): New function.
12627
613b1547
SB
126282010-05-21 Steven Bosscher <steven@gcc.gnu.org>
12629
12630 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
12631
12632 * timevar.c: Do not include any core headers.
12633 (timevar_print): De-i18n-ize.
12634 (print_time): Likewise.
12635 * timevar.h (timevar_push, timevar_pop): Make inline functions.
12636
cf835838
JM
126372010-05-21 Joseph Myers <joseph@codesourcery.com>
12638
12639 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
12640 langhooks-def.h.
12641 (diagnostic_initialize): Initialize x_data not last_function.
12642 (diagnostic_report_current_function): Move to tree-diagnostic.c.
12643 (default_diagnostic_starter): Call
12644 diagnostic_report_current_module not
12645 diagnostic_report_current_function.
12646 (diagnostic_report_diagnostic): Initialize x_data not
12647 abstract_origin.
12648 (verbatim): Likewise.
12649 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
12650 x_data.
12651 (struct diagnostic_context): Change last_function to x_data.
12652 (diagnostic_auxiliary_data): Replace with
12653 diagnostic_context_auxiliary_data and
12654 diagnostic_info_auxiliary_data.
12655 (diagnostic_last_function_changed, diagnostic_set_last_function,
12656 diagnostic_report_current_function): Move to tree-diagnostic.h.
12657 (print_declaration, dump_generic_node, print_generic_stmt,
12658 print_generic_stmt_indented, print_generic_expr,
12659 print_generic_decl, debug_c_tree, dump_omp_clauses,
12660 print_call_name, debug_generic_expr, debug_generic_stmt,
12661 debug_tree_chain, default_tree_printer): Move to
12662 tree-pretty-print.h.
12663 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
12664 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
12665 gimple-pretty-print.h.
12666 * pretty-print.c: Don't include tree.h
12667 (pp_base_format): Don't handle %K here.
12668 (pp_base_tree_identifier): Move to tree-pretty-print.c.
12669 * pretty-print.h (text_info): Change abstract_origin to x_data.
12670 (pp_tree_identifier, pp_unsupported_tree,
12671 pp_base_tree_identifier): Move to tree-pretty-print.h.
12672 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
12673 tree-pretty-print.h: New files.
12674 * tree-pretty-print.c: Include tree-pretty-print.h.
12675 (percent_K_format): New. Moved from pretty-print.c.
12676 (pp_base_tree_identifier): Move from pretty-print.c.
12677 * c-objc-common.c: Include tree-pretty-print.h.
12678 (c_tree_printer): Handle %K here.
12679 * langhooks.c: Include tree-diagnostic.h.
12680 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
12681 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
12682 (default_tree_printer): Handle %K using percent_K_format.
12683 (general_init): Use default_tree_diagnostic_starter.
12684 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
12685 (free_lang_data): Use default_tree_diagnostic_starter.
12686 * c-pretty-print.c: Include tree-pretty-print.h.
ade52657
UB
12687 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
12688 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
12689 * dwarf2out.c: Include tree-pretty-print.h.
12690 * except.c: Include tree-pretty-print.h.
12691 * gimple-pretty-print.c: Include tree-pretty-print.h and
12692 gimple-pretty-print.h.
12693 * gimplify.c: Include tree-pretty-print.h.
12694 * graphite-poly.c: Include tree-pretty-print.h and
12695 gimple-pretty-print.h.
12696 * ipa-cp.c: Include tree-pretty-print.h.
12697 * ipa-inline.c: Include gimple-pretty-print.h.
ade52657 12698 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
12699 * ipa-pure-const.c: Include gimple-pretty-print.h.
12700 * ipa-struct-reorg.c: Include tree-pretty-print.h and
12701 gimple-pretty-print.h.
12702 * ipa-type-escape.c: Include tree-pretty-print.h.
12703 * print-rtl.c: Include tree-pretty-print.h.
12704 * print-tree.c: Include gimple-pretty-print.h.
12705 * sese.c: Include tree-pretty-print.h.
12706 * tree-affine.c: Include tree-pretty-print.h.
12707 * tree-browser.c: Include tree-pretty-print.h.
12708 * tree-call-cdce.c: Include gimple-pretty-print.h.
ade52657 12709 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
12710 * tree-chrec.c: Include tree-pretty-print.h.
12711 * tree-data-ref.c: Include tree-pretty-print.h and
12712 gimple-pretty-print.h.
12713 * tree-dfa.c: Include tree-pretty-print.h.
12714 * tree-if-conv.c: Include tree-pretty-print.h and
12715 gimple-pretty-print.h.
12716 * tree-inline.c: Include tree-pretty-print.h.
12717 * tree-into-ssa.c: Include tree-pretty-print.h and
12718 gimple-pretty-print.h.
12719 * tree-nrv.c: Include tree-pretty-print.h.
12720 * tree-object-size.c: Include tree-pretty-print.h and
12721 gimple-pretty-print.h.
12722 * tree-outof-ssa.c: Include tree-pretty-print.h and
12723 gimple-pretty-print.h.
12724 * tree-parloops.c: Include tree-pretty-print.h and
12725 gimple-pretty-print.h.
12726 * tree-predcom.c: Include tree-pretty-print.h and
12727 gimple-pretty-print.h.
12728 * tree-scalar-evolution.c: Include tree-pretty-print.h and
12729 gimple-pretty-print.h.
12730 * tree-sra.c: Include tree-pretty-print.h.
12731 * tree-ssa-address.c: Include tree-pretty-print.h.
12732 * tree-ssa-alias.c: Include tree-pretty-print.h.
12733 * tree-ssa-ccp.c: Include tree-pretty-print.h and
12734 gimple-pretty-print.h.
12735 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
12736 * tree-ssa-copy.c: Include tree-pretty-print.h and
12737 gimple-pretty-print.h.
12738 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
12739 * tree-ssa-dce.c: Include tree-pretty-print.h and
12740 gimple-pretty-print.h.
12741 * tree-ssa-dom.c: Include tree-pretty-print.h and
12742 gimple-pretty-print.h.
12743 * tree-ssa-dse.c: Include gimple-pretty-print.h.
12744 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
12745 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
12746 * tree-ssa-live.c: Include tree-pretty-print.h and
12747 gimple-pretty-print.h.
12748 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
12749 gimple-pretty-print.h.
12750 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
12751 gimple-pretty-print.h.
12752 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
12753 gimple-pretty-print.h.
12754 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
12755 gimple-pretty-print.h.
12756 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
12757 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
12758 * tree-ssa-operands.c: Include tree-pretty-print.h and
12759 gimple-pretty-print.h.
12760 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
12761 gimple-pretty-print.h.
12762 * tree-ssa-pre.c: Include tree-pretty-print.h and
12763 gimple-pretty-print.h.
12764 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
12765 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
12766 gimple-pretty-print.h.
12767 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
12768 gimple-pretty-print.h.
12769 * tree-ssa-sink.c: Include gimple-pretty-print.h.
12770 * tree-ssa-ter.c: Include tree-pretty-print.h and
12771 gimple-pretty-print.h.
12772 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
12773 * tree-ssa.c: Include tree-pretty-print.h and
12774 gimple-pretty-print.h.
12775 * tree-stdarg.c: Include gimple-pretty-print.h.
12776 * tree-switch-conversion.c: Include gimple-pretty-print.h.
12777 * tree-tailcall.c: Include tree-pretty-print.h and
12778 gimple-pretty-print.h.
12779 * tree-vect-data-refs.c: Include tree-pretty-print.h and
12780 gimple-pretty-print.h.
12781 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
12782 gimple-pretty-print.h.
12783 * tree-vect-loop.c: Include tree-pretty-print.h and
12784 gimple-pretty-print.h.
12785 * tree-vect-patterns.c: Include gimple-pretty-print.h.
12786 * tree-vect-slp.c: Include tree-pretty-print.h and
12787 gimple-pretty-print.h.
12788 * tree-vect-stmts.c: Include tree-pretty-print.h and
12789 gimple-pretty-print.h.
12790 * tree-vectorizer.c: Include tree-pretty-print.h.
12791 * tree-vrp.c: Include tree-pretty-print.h and
12792 gimple-pretty-print.h.
12793 * value-prof.c: Include tree-pretty-print.h and
12794 gimple-pretty-print.h.
12795 * var-tracking.c: Include tree-pretty-print.h.
12796 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
12797 (tree-diagnostic.o): New dependencies.
12798 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
12799 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
12800 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
12801 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
12802 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
12803 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
12804 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
12805 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
12806 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
12807 tree-ssa-address.o, tree-ssa-loop-niter.o,
12808 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
12809 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
12810 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
12811 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
12812 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
12813 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
12814 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
12815 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
12816 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
12817 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
12818 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
12819 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
12820 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
12821 tree-switch-conversion.o, var-tracking.o, value-prof.o,
12822 cfgexpand.o, pretty-print.o): Update dependencies.
12823
cf4f4175
AT
128242010-05-22 Andreas Tobler <andreast@fgznet.ch>
12825
12826 * tree-ssa-structalias.c: Remove tm_p.h from include.
12827
c6d0f11a
JL
128282010-05-21 Jeff Law <law@redhat.com>
12829
12830 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
12831
d3f28910
JM
128322010-05-21 Jason Merrill <jason@redhat.com>
12833
12834 * tree-eh.c (cleanup_is_dead_in): New.
12835 (lower_try_finally): Don't generate a dead cleanup region.
12836 (lower_cleanup): Likewise.
12837
14db98d4
JJ
128382010-05-21 Jakub Jelinek <jakub@redhat.com>
12839
12840 PR debug/44223
12841 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
12842 unchain each use from the cyclic next_regno_use chain first.
12843
d49b6e1e
SB
128442010-05-21 Steven Bosscher <steven@gcc.gnu.org>
12845
12846 * real: Do not include gmp.h, mpfr.h, and mpc.h.
12847 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
12848 (real_value_negate, real_value_abs): New prototypes.
12849 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
12850 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
12851 new include file for interface between MPFR and REAL_VALUE_TYPE.
12852 * real.c: Include realmpfr.h.
12853 (real_arithmetic2): Remove legacy function.
12854 (real_value_negate): New.
12855 (real_value_abs): New.
12856 (mfpr_from_real, real_from_mpfr): Move from here...
12857 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
12858 * builtins.c: Include realmpfr.h.
12859 * fold-const.c: Include realmpfr.h.
12860 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
12861 (fold_negate_const): Likewise.
12862 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
12863 * toplev.c: Include realmpfr.h.
12864 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
12865 and real_value_negate.
12866 * fixed-value.c (check_real_for_fixed_mode): Likewise.
12867 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
12868 (vfp3_const_double_index): Likewise.
12869 (arm_print_operand): Likewise.
12870 * Makefile.in: Update dependencies.
12871
5b4b1c9a
AK
128722010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12873
12874 * config/s390/s390.c (override_options): Increase the default
12875 of max-completely-peel-times.
12876
7c19c715
JB
128772010-05-21 Julian Brown <julian@codesourcery.com>
12878 Mark Mitchell <mark@codesourcery.com>
12879
12880 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
12881 sibling calls for Thumb-1.
12882 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
12883 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
12884 Thumb-2.
12885 (*call_insn, *call_value_insn): Don't use for Thumb-2.
12886 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
12887 for Thumb-2.
12888 (return): New expander.
12889 (*arm_return): New name for ARM return insn.
12890 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
12891
3943fe02
JS
128922010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
12893
12894 * config.gcc (sparc64-*-rtems*): New target.
12895
95f6e526
NF
128962010-05-21 Nathan Froyd <froydnj@codesourcery.com>
12897
12898 * tree.c (build_function_decl_skip_args): Fix grammar.
12899 (build_function_type_list_1): Fix typos, adjust formatting.
12900
40013784
SB
129012010-05-21 Steven Bosscher <steven@gcc.gnu.org>
12902
12903 * tree.h: Include real.h and fixed-value.h as basic datatypes.
12904 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
12905 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
12906 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
12907 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
12908 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
12909 tree-pretty-print.c, tree-loop-distribution.c,
12910 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
12911 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
12912 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
12913 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
12914 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
12915 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
12916 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
12917 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
12918 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
12919 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
12920 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
12921 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
12922 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
12923 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
12924 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
12925 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
12926 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
12927 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
12928 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
12929 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
12930 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
12931 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
12932 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
12933 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
12934 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
12935 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
12936 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
12937 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
12938 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
12939 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
12940 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
12941 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
12942 config/score/score7.c, config/score/score.c, config/arm/arm.c,
12943 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
12944 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
ade52657 12945 config/bfin/bfin.c: Clean up redundant includes.
40013784
SB
12946 * Makefile.in: Update accordingly.
12947
0a7561b7
NF
129482010-05-21 Nathan Froyd <froydnj@codesourcery.com>
12949
12950 PR middle-end/44204
12951 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
12952 statement has no arguments.
12953
e1935569
KT
129542010-05-21 Kai Tietz <kai.tietz@onevision.com>
12955
12956 PR/44139
12957 * varasm.c (emutls_decl): Merge attributes to new decl.
12958
46314d3e
EB
129592010-05-21 Eric Botcazou <ebotcazou@adacore.com>
12960
12961 PR middle-end/44101
12962 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
12963 around the uniquized constructor if its type requires a conversion.
12964
f99fcb3b
JJ
129652010-05-21 Jakub Jelinek <jakub@redhat.com>
12966
12967 PR debug/44205
12968 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
12969 at -O0 goto_locus of any of the incoming edges differs from
12970 goto_locus of outgoing edge, or gimple_location of any of the
12971 labels differs.
12972
0583835c
VM
129732009-09-14 Vladimir Makarov <vmakarov@redhat.com>
12974
12975 * ira.c (ira_non_ordered_class_hard_regs): Define.
ade52657 12976 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
0583835c
VM
12977 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
12978 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
12979 cost of unaligned hard regs when allocating multi-reg pseudos.
12980
9f946bc1
RS
129812010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
12982
12983 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
12984 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
12985 for TARGET_NO_FLOAT.
12986 * config/mips/mips.c (mips_file_start): Expand conditional expression
12987 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
12988 (mips_override_options): Move -mno-float override -msoft-float and
12989 -mhard-float.
12990 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
12991 Condition(TARGET_SUPPORTS_NO_FLOAT).
12992 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
12993 __mips_no_float here.
12994 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
12995 (TARGET_SUPPORTS_NO_FLOAT): Define.
12996 * config/mips/sdemtk.opt: Delete.
12997
69610617
SB
129982010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
12999
ade52657 13000 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
69610617 13001
953c29f7
UB
130022010-05-20 Uros Bizjak <ubizjak@gmail.com>
13003
13004 PR target/43733
13005 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
13006 * configure: Regenerate.
13007 * config.in: Regenerate.
13008 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
13009 instead of sahf only for 64bit targets.
13010
69b45d71
JJ
130112010-05-20 Jakub Jelinek <jakub@redhat.com>
13012
13013 PR debug/44178
13014 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
13015 setup_ref_regs for DEBUG_INSNs.
13016
a14f1878
JH
130172010-05-20 Jan Hubicka <jh@suse.cz>
13018
13019 PR middle-end/44197
13020 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
13021
5797be12
KZ
130222010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
13023
13024 PR bootstrap/43870
13025 * df-scan.c (df_ref_compare): Stabilize sort.
13026
f1ca3117
JJ
130272010-05-20 Jakub Jelinek <jakub@redhat.com>
13028
13029 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
13030 argument. Don't use DW_OP_piece if offset is non-zero,
13031 put offset into second DW_OP_bit_piece argument.
13032 (dw_sra_loc_expr): Adjust callers. For memory expressions
13033 compute offset.
13034
d8ec9c14
HPN
130352010-05-20 Hans-Peter Nilsson <hp@axis.com>
13036
13037 PR target/44202
13038 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
13039 settings for 16-bit-constant "addo" alternative.
13040
951771dc
JW
130412010-05-19 James E. Wilson <wilson@codesourcery.com>
13042
9af157ac
JW
13043 * config/mips/mips-dsp.md (add<DSPV:mode>3,
13044 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
13045
951771dc
JW
13046 PR target/43764
13047 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
13048 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
13049 Use it.
13050
676dd4d4
JM
130512010-05-19 Joseph Myers <joseph@codesourcery.com>
13052
13053 * diagnostic.c (FLOAT, FFS): Don't undefine.
13054 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
13055 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
13056 include ordering.
13057
caba7aaa
RS
130582010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
13059
13060 * combine.c (propagate_for_debug): Call make_compound_operation
13061 on the source value.
13062 (try_combine): When implementing a split chosen by find_split_point,
13063 either copy i2src or set it to null. Assert that i2src is not null
13064 before substituting into CALL_INSN_FUNCTION_USAGE.
13065
1961ffb8
AS
130662010-05-19 Anatoly Sokolov <aesok@post.ru>
13067
13068 * double-int.h (double_int_ior): New function.
13069 * tree.h (build_int_cst_wide_type): Remove.
13070 * tree.c (build_int_cst_wide_type): Remove.
13071 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
13072 of build_int_cst_wide_type.
13073 * stor-layout.c (set_sizetype): (Ditto.).
13074 * dojump.c (do_jump): Use build_int_cstu instead of
13075 build_int_cst_wide_type.
13076
616f1431
EB
130772010-05-19 Eric Botcazou <ebotcazou@adacore.com>
13078
13079 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
13080 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
13081 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
ade52657 13082 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
616f1431
EB
13083 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
13084 propagate the 'data' argument to copy_tree_r.
13085 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
13086 Propagate 'data' argument to walk_tree.
13087 (copy_if_shared): New function.
13088 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
13089 (unmark_visited): New function.
13090 (unshare_body): Call copy_if_shared instead of doing it manually.
13091 (unvisit_body): Call unmark_visited instead of doing it manually.
13092
f311c3b4
NF
130932010-05-19 Nathan Froyd <froydnj@codesourcery.com>
13094
13095 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
13096 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
13097 * hooks.c: Likewise.
13098 * target-def.h (TARGET_FOLD_BUILTIN): Define to
13099 hook_tree_tree_int_treep_bool_null.
ade52657 13100 * target.h (struct gcc_target): Update signature of fold_builtin
f311c3b4
NF
13101 field.
13102 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
13103 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
13104 instead of the call expression.
13105 (fold_builtin_call_array): Pass n and argarray directly.
13106 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
13107 consing a list.
13108 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
13109 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
13110 `i' and use it in place of `arity'.
13111 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
13112 Dereference `args' directly.
13113 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
13114
40f1bdd9
RO
131152010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13116
13117 * doc/sourcebuild.texi (Effective-Target Keywords): Document
13118 3dnow, sse3, sse2.
13119 (Directives): Document optional dg-require-effective-target
13120 selector.
13121
817c2996
RG
131222010-05-19 Richard Guenther <rguenther@suse.de>
13123
13124 PR lto/44196
13125 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
13126
c04b6b38
RG
131272010-05-19 Richard Guenther <rguenther@suse.de>
13128
13129 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
13130 * common.opt (fwhopr=): New.
13131 * opts.c (common_handle_option): Handle OPT_fwhopr.
13132 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
13133 * collect2.c (main): Match -fwhopr*.
13134 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
13135 Execute ltrans stage in parallel when jobs is bigger than 1.
13136
ed104137
RO
131372010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13138
13139 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
13140 pentiumpro on Solaris 8/x86 with Sun as.
13141 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
13142 hidden alias bug.
13143 (gcc_cv_as_ix86_quad): Check for .quad directive.
13144 * configure: Regenerate.
13145 * config.in: Regenerate.
13146 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
13147
749aa96d
MJ
131482010-05-19 Martin Jambor <mjambor@suse.cz>
13149
13150 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
13151 also for indirect edges. Actual printing moved...
13152 (ipa_print_node_jump_functions_for_edge): ...here.
13153 (ipa_compute_jump_functions): Renamed to
13154 ipa_compute_jump_functions_for_edge and made static.
13155 (ipa_compute_jump_functions): New function.
13156 (make_edge_direct_to_target): Check if the number of arguments on
13157 the newly direct edge is the same as the number of parametrs of
13158 the callee.
13159 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
13160 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
13161 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
13162 analysis functions unconditionally, call the new
13163 ipa_analyze_params_uses on the node instead of every edge.
13164
81f32326
CB
131652010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
13166
431043bd 13167 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
81f32326 13168 to tree.
431043bd 13169 (dump_mem_ref): Adopt debug code to handle a tree as step. This
81f32326
CB
13170 also checks for a constant int vs. non-constant but
13171 loop-invariant steps.
431043bd 13172 (find_or_create_group): Change the sort algorithm to only consider
81f32326 13173 steps that are constant ints.
431043bd 13174 (idx_analyze_ref): Adopt code to handle a tree instead of a
81f32326 13175 HOST_WIDE_INT for step.
431043bd 13176 (gather_memory_references_ref): Handle tree instead of int and be
81f32326 13177 prepared to see a NULL_TREE.
431043bd 13178 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
81f32326 13179 prefetches if the step cannot be calculated at compile time.
431043bd 13180 (issue_prefetch_ref): Issue prefetches for non-constant but
81f32326
CB
13181 loop-invariant steps.
13182
39b27b3a
NF
131832010-05-18 Nathan Froyd <froydnj@codesourcery.com>
13184
13185 Revert:
13186 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
13187
13188 * tree.h (build_call_list): Remove.
13189 * tree.c (build_call_list): Remove.
13190
3fcb9d1b
NF
131912010-05-18 Nathan Froyd <froydnj@codesourcery.com>
13192
13193 * tree.h (build_call_list): Remove.
13194 * tree.c (build_call_list): Remove.
13195
58efc3ac
JH
131962010-05-18 Jan Hubicka <jh@suse.cz>
13197
13198 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
13199
0495bafc
VM
132002010-05-18 Vladimir Makarov <vmakarov@redhat.com>
13201
13202 PR rtl-optimization/43332
13203 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
13204
abdbbf16
AS
132052010-05-18 Anatoly Sokolov <aesok@post.ru>
13206
13207 * tree.h (build_int_cstu): Implement as static inline.
13208 * tree.c (build_int_cstu): Remove function.
13209 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
13210 sign extended.
13211
cf96bae7
RG
132122010-05-18 Richard Guenther <rguenther@suse.de>
13213
13214 PR lto/44143
13215 * lto-wrapper.c (verbose): New variable. Initialize from -v.
13216 (debug): Initialize from -save-temps.
13217 (collect_execute): Print command-line when verbose.
13218 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
13219 for ltrans invocation. Produce -dumpbase flag again.
13220 (process_args): Remove.
13221 (main): Simplify.
13222 * collect2.c (maybe_run_lto_and_relink): Only pass object
13223 files to lto-wrapper.
13224 * gcc.c (LINK_COMMAND_SPEC): Likewise.
13225
80e2a014
JH
132262010-05-18 Jan Hubicka <jh@suse.cz>
13227
13228 * opts.c (decode_options): Do not disable whopr at ipa_cp.
13229 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
13230
174f391c
SB
132312010-05-18 Steven Bosscher <steven@gcc.gnu.org>
13232
13233 PR lto/44184
13234 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
13235 in a GIMPLE_ASM.
13236 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
13237 in a GIMPLE_ASM.
13238
13077931
JJ
132392010-05-18 Jakub Jelinek <jakub@redhat.com>
13240
13241 PR debug/41371
13242 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
13243 rtx_equal_p inline.
13244
02540df4
SB
132452010-05-18 Steven Bosscher <steven@gcc.gnu.org>
13246
13247 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
13248 lto-macho as lto_binary_reader.
13249
13250 * darwin.c (darwin_asm_named_section): Do not add assembler comment
13251 after .section directive; just print it before the directive instead.
13252
36576655
JH
132532010-05-17 Jan Hubicka <jh@suse.cz>
13254
13255 * cgraph.c (cgraph_create_virtual_clone): Only check
13256 versionable_function_p when not in wpa and checking is enabled.
13257 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
13258 there are no more functions to materialize.
13259
922f15c2
JH
132602010-05-17 Jan Hubicka <jh@suse.cz>
13261
13262 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
13263 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
13264 New functions.
13265 (output_cgraph): Call output_cgraph_opt_summary.
13266 (input_cgrpah): Call input_cgraph_opt_summary.
13267 (output_cgraph_opt_summary_p, output_node_opt_summary,
13268 input_node_opt_summary, input_cgraph_opt_section): New functions.
13269 * lto-section-in.c (lto_section_name): Add cgraphopt.
13270 * tree-inline.c (tree_function_versioning): Handle parm_num.
13271 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
13272 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
13273
d3a9b459
CF
132742010-05-17 Changpeng Fang <changpeng.fang@amd.com>
13275
13276 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
13277 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
13278 the insn to prefetch ratio heuristic to loops with known trip count.
13279
8532678c
CF
132802010-05-17 Changpeng Fang <changpeng.fang@amd.com>
13281
13282 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
13283 (schedule_prefetches): Do not generate a prefetch if the unroll factor
13284 is far from what is required by the prefetch.
13285
339f49ec
JH
132862010-05-17 Jan Hubicka <jh@suse.cz>
13287
13288 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
13289 (ipcp_estimate_growth): Likewise.
13290 (ipcp_const_param_count): Likewise.
13291 (ipcp_insert_stage): Likewise.
13292 * ipa-prop.c (visit_load_for_mod_analysis): New function.
13293 (visit_store_addr_for_mod_analysis): Set used flag.
13294 (ipa_detect_param_modifications): Set used flag for SSE params;
13295 update use of walk_stmt_load_store_addr_ops.
13296 (ipa_print_node_params): Print used flag.
13297 (ipa_write_node_info): Stream used flag.
13298 (ipa_read_node_info): Likewise.
13299 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
13300 (ipa_is_param_used): New function.
13301 (lto_ipa_fixup_call_notes): Remove unused declaration.
13302
2433310d
RO
133032010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13304
13305 PR target/44074
13306 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
13307 * configure: Regenerate.
13308 * config.in: Regenerate.
431043bd 13309 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
2433310d
RO
13310 !HAVE_AS_IX86_REP_LOCK_PREFIX.
13311 Don't emit whitespace.
13312 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
13313 (*rep_movsi): Likewise.
13314 (*rep_movsi_rex64): Likewise.
13315 (*rep_movqi): Likewise.
13316 (*rep_movqi_rex64): Likewise.
13317 (*rep_stosdi_rex64): Likewise.
13318 (*rep_stossi): Likewise.
13319 (*rep_stossi_rex64): Likewise.
13320 (*rep_stosqi): Likewise.
13321 (*rep_stosqi_rex64): Likewise.
13322 (*cmpstrnqi_nz_1): Use {%;} after repz.
13323 (*cmpstrnqi_nz_rex_1): Likewise.
13324 (*cmpstrnqi_1): Likewise.
13325 (*cmpstrnqi_rex_1): Likewise.
13326 (*strlenqi_1): Use {%;} after repnz.
13327 (*strlenqi_rex_1): Likewise.
13328 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
13329 (*sync_compare_and_swap<mode>): Likewise.
13330 (sync_double_compare_and_swap<mode>): Likewise.
13331 (*sync_double_compare_and_swapdi_pic): Likewise.
13332 (sync_old_add<mode>): Likewise.
13333 (sync_add<mode>): Likewise.
13334 (sync_sub<mode>): Likewise.
13335 (sync_<code><mode>): Likewise.
13336
b258210c
MJ
133372010-05-17 Martin Jambor <mjambor@suse.cz>
13338
13339 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
13340 otr_token and polymorphic.
13341 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
13342 (cgraph_clone_edge): Copy the above fields.
13343 * tree.c (get_binfo_at_offset): New function.
13344 * tree.h (get_binfo_at_offset): Declare.
13345 * ipa-prop.h (enum jump_func_type): Added known_type jump function
13346 type, reordered items, updated comments.
13347 (union jump_func_value): Added base_type field, reordered fields.
13348 (enum ipa_lattice_type): Moved down in the file.
13349 (struct ipa_param_descriptor): New field polymorphic.
13350 (ipa_is_param_polymorphic): New function.
13351 * ipa-prop.c: Include gimple.h and gimple-fold.h.
13352 (ipa_print_node_jump_functions): Print known type jump functions.
13353 (compute_complex_pass_through): Renamed to...
13354 (compute_complex_assign_jump_func): this.
13355 (compute_complex_ancestor_jump_func): New function.
13356 (compute_known_type_jump_func): Likewise.
13357 (compute_scalar_jump_functions): Create known type and complex ancestor
13358 jump functions.
13359 (ipa_note_param_call): New parameter polymorphic, set the corresponding
13360 flag in the call note accordingly.
13361 (ipa_analyze_call_uses): Renamed to...
13362 (ipa_analyze_indirect_call_uses): this. New parameter target, define
13363 variable var only in the block where it is used.
13364 (ipa_analyze_virtual_call_uses): New function.
13365 (ipa_analyze_call_uses): Likewise.
13366 (combine_known_type_and_ancestor_jfs): Likewise.
13367 (update_jump_functions_after_inlining): Implemented handling of a
13368 number of new jump function types combination.
13369 (print_edge_addition_message): Removed.
13370 (make_edge_direct_to_target): New function.
13371 (try_make_edge_direct_simple_call): Likewise.
13372 (try_make_edge_direct_virtual_call): Likewise.
13373 (update_call_notes_after_inlining): Renamed to...
13374 (update_indirect_edges_after_inlining): this. Moved edge creation for
13375 indirect calls to try_make_edge_direct_simple_call, also calls
13376 try_make_edge_direct_virtual_call for virtual calls.
13377 (ipa_print_node_params): Changed the header message.
13378 (ipa_write_jump_function): Stream also known type jump functions.
13379 (ipa_read_jump_function): Likewise.
13380 (ipa_write_indirect_edge_info): Stream new fields in
13381 cgraph_indirect_call_info.
13382 (ipa_read_indirect_edge_info): Likewise.
13383 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
13384 GIMPLE_FOLD_H.
13385
d5d74497
RO
133862010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13387
13388 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
13389
58a11859
NF
133902010-05-17 Nathan Froyd <froydnj@codesourcery.com>
13391
13392 * tree.h (CALL_EXPR_ARGS): Delete.
13393 (call_expr_arglist): Delete.
13394 * tree.c (call_expr_arglist): Delete.
13395 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
13396 targetm.fold_builtin.
13397 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
13398 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
13399 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
13400 arglist parameter. Use CALL_EXPR_ARG.
13401 (picochip_expand_builtin_3op): Likewise.
13402 (picochip_expand_builtin_2opvoid): Likewise.
13403 (picochip_expand_array_get): Likewise.
13404 (picochip_expand_array_put): Likewise.
13405 (picochip_expand_array_testport): Likewise.
13406 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
13407 rather than arglist.
13408 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
13409 CALL_EXPR_ARGS.
13410 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
13411 than TREE_VALUE and TREE_CHAIN.
13412 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
13413 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
13414 the arglist.
13415
f1de5107
JJ
134162010-05-17 Jakub Jelinek <jakub@redhat.com>
13417
f145213f
JJ
13418 PR bootstrap/42347
13419 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
13420 to have no fallthru edge.
13421
f1de5107
JJ
13422 PR middle-end/44102
13423 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
13424 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
13425 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
13426 add BARRIER after previous bb if needed.
13427
b64fca63 134282010-05-17 Nathan Froyd <froydnj@codesourcery.com>
431043bd 13429
b64fca63 13430 * tree.c (build_function_type_list_1): Remove bogus assert condition.
431043bd 13431
2882bfcc
AM
134322010-05-17 Alan Modra <amodra@gmail.com>
13433
13434 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
13435 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
13436 with copy_reg rtx param.
13437 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
13438 Correct cases where code for ABI_V4 did not initialise the reg
13439 used to access frame. Also leave frame_reg_rtx as sp for large
13440 frames that save no regs.
13441
5feb49f0
MJ
134422010-05-17 Martin Jambor <mjambor@suse.cz>
13443
13444 PR middle-end/44133
13445 * tree-sra.c (create_access_replacement): New parameter rename, mark
13446 the replaement for renaming only when it is true.
13447 (get_access_replacement): Pass true in the rename parameter of
13448 create_access_replacement.
13449 (get_unrenamed_access_replacement): New function.
13450 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
13451 replacement declaration from it.
13452
56731d64
BS
134532010-05-17 Bernd Schmidt <bernds@codesourcery.com>
13454
13455 * function.c (try_fit_stack_local, add_frame_space): New static
13456 functions.
13457 (assign_stack_local_1): Use them. Look for opportunities to use
13458 space previously wasted on alignment.
13459 * function.h (struct frame_space): New.
13460 (struct rtl_data): Add FRAME_SPACE_LIST member.
13461 * reload1.c (something_was_spilled): New static variable.
13462 (alter_reg): Set it.
13463 (reload): Test it in addition to testing if the frame size changed.
13464
24a235c8
CB
134652010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
13466
431043bd
UB
13467 * config/s390/s390.c: Define sane prefetch settings and activate
13468 flag_prefetch_loop_arrays on -O3.
13469 * config/s390/s390.h: Declare that read can use write prefetch.
24a235c8 13470
18252dcf
JJ
134712010-05-17 Jakub Jelinek <jakub@redhat.com>
13472
13473 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
13474 build.
13475
199f1dc4
JH
134762010-05-16 Jan Hubicka <jh@suse.cz>
13477
13478 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
13479 function body; do not check stdarg field of struct function.
13480
ccbbf8a2
JH
134812010-05-16 Jan Hubicka <jh@suse.cz>
13482
13483 * cgraph.c (dump_cgraph_node): Dump versionable flag.
13484 * cgraph.h (cgraph_local_info): Add versionable flag.
13485 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
13486 (ipcp_versionable_function_p): Use it.
13487 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
13488 versionable flag.
13489
91fbf0c7
JH
134902010-05-16 Jan Hubicka <jh@suse.cz>
13491
13492 * cgraph.c (cgraph_clone_node): Take decl argument and insert
13493 clone into hash when it is different from orig.
13494 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
13495 * cgraph.h (cgraph_clone_node): Update prototype.
13496 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
13497 (lto_cgraph_encoder_delete): Delete body map.
13498 (lto_cgraph_encoder_size): Move to header.
ccbbf8a2
JH
13499 (lto_cgraph_encoder_encode_body_p,
13500 lto_set_cgraph_encoder_encode_body): New.
91fbf0c7
JH
13501 (lto_output_node): Do not take written_decls argument; output clone_of
13502 pointer.
13503 (add_node_to): Add include_body_argument; call
13504 lto_set_cgraph_encoder_encode_body on master of the clone.
13505 (add_references): Update use of add_node_to.
13506 (compute_ltrans_boundary): Likewise.
13507 (output_cgraph): Do not create written_decls bitmap.
13508 (input_node): Take nodes argument; stream in clone_of correctly.
13509 (input_cgraph_1): Update use of input_node.
13510 * lto-streamer-out.c (lto_output): Use encoder info to decide
13511 what bodies to output.
13512 * ipa-inline.c (cgraph_clone_inlined_nodes,
13513 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
13514 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
13515 (lto_cgraph_encoder_size): Define here.
13516 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
13517 Declare.
13518
6b87d1b4
RG
135192010-05-16 Richard Guenther <rguenther@suse.de>
13520
13521 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
13522 -fipa-type-escape.
13523 * ipa-type-escape.c (gate_type_escape_vars): Run when
13524 -fipa-struct-reorg runs.
13525 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
13526 * common.opt (fipa-type-escape): Remove.
13527
203a92e3
EB
135282010-05-16 Eric Botcazou <ebotcazou@adacore.com>
13529
13530 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
13531 (decode_options): Likewise.
13532 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
13533
e419f710
JH
135342010-05-16 Jan Hubicka <jh@suse.cz>
13535
13536 * ipa.c (function_and_variable_visibility): Also bring local all
13537 aliases.
13538
2e0c984c
RG
135392010-05-16 Richard Guenther <rguenther@suse.de>
13540
13541 * alias.c (nonoverlapping_memrefs_p): Remove use of
13542 IPA type-escape information.
13543
32912286
JM
135442010-05-16 Joseph Myers <joseph@codesourcery.com>
13545
13546 * c-common.c (c_common_reswords): Add _Static_assert for C.
13547 * c-parser.c (c_token_starts_declaration,
13548 c_parser_next_token_starts_declaration,
13549 c_parser_static_assert_declaration_no_semi,
13550 c_parser_static_assert_declaration): New.
13551 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
13552 Handle static assertions if static_assert_ok.
13553 (c_parser_external_declaration, c_parser_declaration_or_fndef,
13554 c_parser_compound_statement_nostart, c_parser_label,
13555 c_parser_for_statement, c_parser_objc_methodprotolist,
13556 c_parser_omp_for_loop): All callers of
13557 c_parser_declaration_or_fndef changed.
13558 (c_parser_struct_declaration): Handle static assertions.
13559 (c_parser_compound_statement_nostart): Use
13560 c_parser_next_token_starts_declaration and
13561 c_token_starts_declaration to detect start of declarations.
13562 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
13563 Likewise.
13564
a3ca07e3
AS
135652010-05-16 Anatoly Sokolov <aesok@post.ru>
13566
13567 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
13568 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
13569 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
13570 TARGET_FUNCTION_VALUE_REGNO_P): Define.
13571 (mmix_function_outgoing_value): Rename to...
13572 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
13573 (mmix_function_value_regno_p): Make static.
13574 (mmix_libcall_value): New function.
13575 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
13576 mmix_function_value_regno_p): Remove declaration.
13577
29d17485
EB
135782010-05-16 Eric Botcazou <ebotcazou@adacore.com>
13579
13580 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
13581 BUILT_IN_ALLOCA if stack checking is enabled.
13582
a6590c31
RG
135832010-05-16 Richard Guenther <rguenther@suse.de>
13584
13585 * var-tracking.c (vars_copy_1): Inline ...
13586 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
13587 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
13588 (variable_merge_over_cur): Adjust. Merge asserts.
13589 (variable_merge_over_src): Likewise.
13590 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
13591 (variable_post_merge_new_vals): Merge asserts.
13592 (variable_post_merge_perm_vals): Likewise.
13593 (find_mem_expr_in_1pdv): Likewise.
13594 (dataflow_set_different_value): Remove.
13595 (onepart_variable_different_p): Merge asserts.
13596 (variable_different_p): Likewise.
13597 (dataflow_set_different_1): Inline ...
13598 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
13599 (emit_notes_for_differences_1): Merge asserts.
13600
6456e26e
RG
136012010-05-16 Richard Guenther <rguenther@suse.de>
13602
13603 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
13604 * optabs.c (libfunc_decl_hash): Likewise.
13605 * varasm.c (emutls_decl): Likewise.
13606
1d4c5fe9
SB
136072010-05-16 Steven Bosscher <steven@gcc.gnu.org>
13608
13609 * c-decl.c: Don't include gimple.h.
13610 (merge_decls): Do not copy gimple_body.
13611
9feb3d6a
JM
136122010-05-15 Jason Merrill <jason@redhat.com>
13613
13614 * c.opt: Add -fnothrow-opt.
13615
9b3cf76a
JH
136162010-05-15 Jan Hubicka <jh@suse.cz>
13617
29d17485
EB
13618 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
13619 analyzed.
9b3cf76a
JH
13620 * passes.c (ipa_write_summaries): Write all analyzed nodes.
13621
f4ce02c5
SB
136222010-05-15 Steven Bosscher <steven@gcc.gnu.org>
13623
13624 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
13625 * Makefile.in: Add it.
13626 Fix all other Makefile dependencies for changes below.
13627 * tree.h: Include it instead of defining VEC primitives here.
13628 * gimple.h: Likewise.
13629 * rtl.h: Likewise.
13630 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
13631 * except.h: Include vecir.h, break dependence on tree.h.
13632
13633 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
13634 Move from here...
13635 * tree-iterator.c: ...to here.
13636 * tree-iterator.h: Fix file introduction comment. Add extern markers.
13637
13638 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
13639 tm_p.h.
13640 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
13641 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
13642 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
13643 tree-mudflap.h, and target.h.
13644 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
13645 predict.h, tree-inline.h, gimple.h, and langhooks.h.
13646 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
13647 Add FIXME for why gimple.h is still included (should be unnecessary
13648 since GCC 4.5 gimplification unit-at-a-time).
13649 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
13650 * c-pragma.c: Add FIXME for why function.h needs to be included just
13651 for cfun, at front-end level.
13652 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
13653 Do not include ggc.h, but include vecprim.h for VEC(char).
13654 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
13655 Explain why target.h is included.
13656 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
13657 Explain why gimple.h is included.
13658 * c-ppoutput.c: Do not include tm.h.
13659 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
13660 * c-parses.c: Explain why rtl.h is included, and that this (and only
13661 this) is also why tm.h must be included.
13662 Do not include except.h.
13663 * c-lang.c: Do not include ggc.h.
13664
12201e48
UB
136652010-05-15 Uros Bizjak <ubizjak@gmail.com>
13666
13667 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
13668
4bdd0a60
JM
136692010-05-15 Joseph Myers <joseph@codesourcery.com>
13670
13671 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
13672 unions by default if those structs and unions have no tags. Do
13673 not condition anonymous struct and unions handling on flag_iso.
13674 Allow anonymous structs and unions for C1X.
13675 (finish_struct): Do not diagnose lack of named fields when
13676 anonymous structs and unions present for C1X. Accept flexible
13677 array members in structure with anonymous structs or unions but no
13678 directly named fields.
13679 * doc/extend.texi (Unnamed Fields): Update.
13680
d025732d
EB
136812010-05-15 Eric Botcazou <ebotcazou@adacore.com>
13682
13683 * gimple.h (compare_field_offset): Rename into...
13684 (gimple_compare_field_offset): ...this.
13685 * gimple.c (compare_field_offset): Rename into...
13686 (gimple_compare_field_offset): ...this. Compare the full access if
13687 the offset is self-referential.
13688 (gimple_types_compatible_p): Adjust for above renaming.
13689 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
13690 DECL_NONADDRESSABLE_P flag of fields before merging them.
13691
b75bdd29
NF
136922010-05-15 Nathan Froyd <froydnj@codesourcery.com>
13693
13694 * tree.h (ctor_to_list): Delete.
13695 * tree.c (ctor_to_list): Delete.
13696
f3380641
JH
136972010-05-15 Jan Hubicka <jh@suse.cz>
13698
13699 * ipa-reference.c: Include toplev.h
13700 (is_proper_for_analysis): Only add to all_module_statics
13701 if it is allocated.
13702 (write_node_summary_p, stream_out_bitmap,
13703 ipa_reference_write_optimization_summary,
13704 ipa_reference_read_optimization_summary): New.
13705 (struct ipa_opt_pass_d pass_ipa_reference): Add
13706 optimization summary streaming.
12201e48 13707 * lto-cgraph.c (referenced_from_this_partition_p,
f3380641
JH
13708 reachable_from_this_partition_p): New functions.
13709 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
13710 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
13711 * opts.c (decode_options): Enable ipa_reference.
13712 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
13713 * lto-streamer.h (referenced_from_this_partition_p,
13714 reachable_from_this_partition_p): Declare.
13715
9d0baae1
RG
137162010-05-15 Richard Guenther <rguenther@suse.de>
13717
13718 PR tree-optimization/44038
13719 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
13720 taking the address of a V_C_E of a constant.
13721
46c30019
JH
137222010-05-14 Jan Hubicka <jh@suse.cz>
13723
13724 * tree.h (memory_identifier_string): Remove.
13725 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
13726 (ipa_reference_global_vars_info_d): Remove statics_not_read and
13727 statics_not_written.
13728 (ipa_reference_optimization_summary_d): New structure.
13729 (ipa_reference_optimization_summary_t): New type and vector.
13730 (ipa_reference_vars_info_d): Embedd structures instead of using
13731 pointers.
13732 (reference_vars_to_consider): Remove out of GGC space.
13733 (module_statics_escape): Remove.
13734 (global_info_obstack): Rename to ...
13735 (optimization_summary_obstack): ... this one.
13736 (initialization_status_t): Remove.
13737 (memory_identifier_string): Remove.
13738 (get_reference_vars_info): Fix indenting.
13739 (set_reference_vars_info): Likewise.
13740 (get_reference_optimization_summary): New.
13741 (set_reference_optimization_summary): New.
13742 (get_global_reference_vars_info): Remove.
13743 (ipa_reference_get_read_global): Remove.
13744 (ipa_reference_get_written_global): Remove.
13745 (ipa_reference_get_not_read_global): Update.
13746 (ipa_reference_get_not_written_global): Update.
13747 (is_proper_for_analysis): Outlaw addressable.
13748 (propagate_bits): Update for new datastructures.
13749 (analyze_variable): Remove.
13750 (init_function_info): Update for new datastructures.
13751 (clean_function_local_data): Remove.
13752 (clean_function): Remove.
13753 (copy_global_bitmap): Use optimizations_summary_obstack.
13754 (duplicate_node_data): Duplicate optimization summary only.
13755 (remove_node_data): Remove optimization summary only.
13756 (generate_summary): Do not analyze variables; do not compute
13757 module_statics_escape; do not prune solutions by it.
13758 (read_write_all_from_decl): Fix typos in comments.
13759 (propagate): Doscover readonly and nonaddressable first;
13760 update for new datastructures; share global bitmaps.
13761 * ipa-reference.h (ipa_reference_get_read_global,
13762 ipa_reference_get_written_global): Remove.
13763 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
13764 * Makefile.in: Remove ipa-refereference from GT files.
13765
22bf7d17
JJ
137662010-05-14 Jakub Jelinek <jakub@redhat.com>
13767
13768 PR debug/44112
13769 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
13770 for all SYMBOL_REF_DECLs.
13771
4a444e58
JH
137722010-05-14 Jan Hubicka <jh@suse.cz>
13773
13774 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
13775 (varpool_all_refs_explicit_p): New inline function.
13776 * ipa-reference.c: Update comment.
13777 (module_statics_written): Remove.
13778 (get_static_decl): Remove.
13779 (ipa_init): Do not initialize module_statics_written.
13780 (analyze_function): Likewise.
13781 (generate_summary): Likewise; do not compute module_statics_readonly
13782 and do not update variable flags.
13783 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
13784 * ipa.c: Inlucde flags.h
13785 (cgraph_local_node_p): New.
13786 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
13787 promote functions to local.
13788 (ipa_discover_readonly_nonaddressable_vars): New function.
13789 (function_and_variable_visibility): Use cgraph_local_node_p.
13790 * varpool.c (varpool_finalize_decl): Set force_output for
13791 DECL_PRESERVE_P vars.
13792
bc8ddfe6
JH
137932010-05-14 Jan Hubicka <jh@suse.cz>
13794
13795 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
13796
4d2ab9e3
RG
137972010-05-14 Richard Guenther <rguenther@suse.de>
13798
13799 PR tree-optimization/44119
13800 * tree-ssa-pre.c (eliminate): Properly mark replacement of
13801 a PHI node necessary.
13802
9e87b842
EB
138032010-05-14 Eric Botcazou <ebotcazou@adacore.com>
13804
13805 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
13806
786f715d
JM
138072010-05-14 Jason Merrill <jason@redhat.com>
13808
9bb1a81b
JM
13809 PR c++/44127
13810 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
13811 (gimple_call_set_nothrow): New.
13812 * gimple.c (gimple_build_call_from_tree): Call it.
13813 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
13814
786f715d
JM
13815 PR c++/44127
13816 * gimplify.c (gimplify_seq_add_stmt): No longer static.
13817 * gimple.h: Declare it.
13818 * gimple.c (gimple_build_eh_filter): No ops.
13819
19fb0b86
JH
138202010-05-14 Jan Hubicka <jh@suse.cz>
13821
13822 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
13823 nodes already in queue.
9e87b842
EB
13824 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
13825 re-enqueueing node.
19fb0b86 13826
88c04a5d
JJ
138272010-05-14 Jakub Jelinek <jakub@redhat.com>
13828
13829 PR debug/44136
13830 * cfgexpand.c (expand_debug_expr): If non-memory op0
13831 has BLKmode, return NULL.
13832
1133125e
HJ
138332010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
13834
13835 * config.gcc: Add support for --with-cpu option for bdver1.
13836 * config/i386/i386.h (TARGET_BDVER1): New macro.
13837 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
13838 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
13839 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
13840 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
13841 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
13842 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
13843 (processor_type): Add PROCESSOR_BDVER1.
13844 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
13845 processor_type in config/i386/i386.h.
13846 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
13847 movaps <reg, reg> instead of movapd <reg, reg> when replacing
13848 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
13849 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
13850 to emit packed xor instead of packed double/packed integer
13851 xor for SSE and AVX when moving a zero value.
9e87b842
EB
13852 * config/i386/sse.md: Add check for
13853 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
13854 movapd/movdqa for SSE and AVX.
13855 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
13856 single logical operations i.e and, or and xor instead of packed double
13857 logical operations for SSE and AVX.
12201e48
UB
13858 * config/i386/i386-c.c (ix86_target_macros_internal):
13859 Add PROCESSOR_BDVER1.
1133125e
HJ
13860 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
13861 (has_fma4, has_xop): New.
13862 * config/i386/i386.c (bdver1_cost): New variable.
13863 (m_BDVER1): New macro.
13864 (m_AMD_MULTIPLE): Add m_BDVER1.
13865 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
9e87b842
EB
13866 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
13867 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
13868 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
13869 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
13870 x86_tune_sse_partial_reg_dependency,
13871 x86_tune_sse_unaligned_load_optimal,
13872 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
13873 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
13874 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
13875 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
13876 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
1133125e
HJ
13877 Enable/disable for bdver1.
13878 (processor_target_table): Add bdver1_cost.
13879 (cpu_names): Add bdver1.
13880 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
13881 processor_alias_table.
9e87b842
EB
13882 (ix86_expand_vector_move_misalign): Change.
13883 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
13884 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
13885 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
13886 of movupd/movdqu for SSE and AVX.
1133125e
HJ
13887 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
13888 (ix86_tune_adjust_cost): Add code for bdver1.
13889 (standard_sse_constant_opcode): Add check for
13890 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
13891 of packed double xor for SSE and AVX.
13892
e972cc7e
PH
138932010-05-14 Pat Haugen <pthaugen@us.ibm.com>
13894
13895 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
13896 result to unsigned.
13897
6a080096
TG
138982010-05-14 Tristan Gingold <gingold@adacore.com>
13899
13900 * toplev.c (default_debug_hooks): Remove this variable.
13901 (process_options): Remove assignments to default_debug_hooks.
13902
b5023f3c
MJ
139032010-05-14 Martin Jambor <mjambor@suse.cz>
13904
13905 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
13906 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
13907 * langhooks.h (struct lang_hooks_for_decls): Removed field
13908 fold_obj_type_ref.
13909 * tree.c (free_lang_data): Remove assignment to
13910 lang_hooks.fold_obj_type_ref.
13911 * tree.def (OBJ_TYPE_REF): Update comment.
13912
6141b7db
RG
139132010-05-14 Richard Guenther <rguenther@suse.de>
13914
13915 PR tree-optimization/44124
13916 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
13917
e15a8cbe
AM
139182010-05-14 Alan Modra <amodra@gmail.com>
13919
13920 PR target/44075
13921 * config/rs6000/rs6000.c (struct machine_function): Reorder
13922 fields for better packing. Add lr_save_state.
13923 (rs6000_ra_ever_killed): Return lr_save_state if set.
13924 (rs6000_emit_eh_reg_restore): Set lr_save_state.
13925
da405c74
JH
139262010-05-13 Jan Hubicka <jh@suse.cz>
13927
13928 * varpool.c (decide_is_variable_needed): Drop code checking
13929 TREE_SYMBOL_REFERENCED.
13930
152464d2
JH
139312010-05-13 Jan Hubicka <jh@suse.cz>
13932
13933 * final.c (output_addr_const): Do not call mark_decl_referenced.
13934 * cgraphunit.c (process_function_and_variable_attributes): Use
13935 mark_needed_node dirrectly.
13936 (assemble_thunk): Do not call mark_decl_referenced.
13937
32cbdf00
AS
139382010-05-13 Anatoly Sokolov <aesok@post.ru>
13939
13940 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
13941
e4f36d31
JL
139422010-05-13 Jeff Law <law@redhat.com>
13943
13944 * ira-conflicts.c (print_allocno_conflicts): New function broken out
13945 from...
13946 (print_conflicts): Call print_allocno_conflicts.
13947
1fcebc11
JJ
139482010-05-13 Jakub Jelinek <jakub@redhat.com>
13949
13950 PR debug/44104
13951 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
13952 if it is NULL.
13953
917ed773
KT
139542010-05-13 Kai Tietz <kai.tietz@onevision.com>
13955
13956 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
13957 t-mingw-w64 or t-mingw-w32 for multilib configuration.
13958 * config/i386/t-mingw-w32: New.
13959 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
12201e48 13960
1ae6fe9b
MJ
139612010-05-13 Martin Jambor <mjambor@suse.cz>
13962
13963 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
13964 gimple-fold.c).
13965 * gimple-fold.c (get_base_binfo_for_type): New function.
13966 (gimple_get_relevant_ref_binfo): Likewise.
13967 (gimple_fold_obj_type_ref_known_binfo): Likewise.
13968 (gimple_fold_obj_type_ref): Likewise.
13969 (fold_gimple_call): Simplify condition for folding virtual calls
13970 and call gimple_fold_obj_type_ref.
13971 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
13972 (gimple_fold_obj_type_ref_known_binfo): Likewise.
13973
78c7cabb
AS
139742010-05-13 Andreas Schwab <schwab@linux-m68k.org>
13975
13976 * config/rs6000/rs6000-protos.h
13977 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
13978 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
13979 (rs6000_debug_mode_dependent_address)
13980 (rs6000_mode_dependent_address_ptr): Likewise.
13981
823e9473
JJ
139822010-05-13 Jakub Jelinek <jakub@redhat.com>
13983
13984 PR debug/43983
13985 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
13986 by SRA.
13987 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
13988 * tree-sra.c (create_access_replacement): Call unshare_expr before
12201e48 13989 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
823e9473
JJ
13990 * dwarf2out.c: Include tree-flow.h.
13991 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
13992 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
13993 Handle DW_OP_bit_piece.
13994 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
13995 construct_piece_list, adjust_piece_list): New functions.
13996 (add_var_loc_to_decl): Handle SRA optimized variables.
13997 Adjust for var_loc_note to loc field renaming.
13998 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
13999 in VAR_LOCATION note.
14000 (new_loc_descr_op_bit_piece): New function.
14001 (dw_sra_loc_expr): New function.
14002 (dw_loc_list): Use it. Don't handle the last range after the
14003 loop, handle it inside of the loop. Adjust for var_loc_note
14004 to loc field renaming.
14005 (add_location_or_const_value_attribute): Only special case
14006 single entry loc lists if loc is NOTE_P. Adjust for
14007 var_loc_note to loc field renaming.
14008 (dwarf2out_var_location): Don't set newloc->var_loc_note
14009 and newloc->next here.
14010
bd3cdcc0
JH
140112010-05-12 Jan Hubicka <jh@suse.cz>
14012
c46a5e28
EB
14013 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
14014 flag.
bd3cdcc0
JH
14015 * cgraph.h (cgraph_only_called_directly_p,
14016 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
14017 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
14018 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
14019 (assemble
14020 * ipa.c (cgraph_remove_unreachable_nodes): Use
c46a5e28
EB
14021 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
14022 flags.
bd3cdcc0
JH
14023 * tree-inline.c (copy_bb): Check address_taken flag.
14024 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
14025 externally_visible flag.
14026
5116acc6
JM
140272010-05-12 Jason Merrill <jason@redhat.com>
14028
14029 PR bootstrap/44048
14030 PR target/44099
14031 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
14032 * sdbout.c (plain_type_1): Likewise.
14033 * dwarf2out.c (is_base_type): Likewise.
14034 (gen_type_die_with_usage): Likewise. Generate
14035 DW_TAG_unspecified_type for any LANG_TYPE.
14036
5f902d76
JH
140372010-05-12 Jan Hubicka <jh@suse.cz>
14038
14039 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
14040 indrect edges too.
14041 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
14042 (cgraph_clone_edge): Update.
14043 (cgraph_node_remove_callees): Remove indirect calls too.
14044 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
14045 (cgraph_create_indirect_edge): Update prototype.
14046 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
14047 is_proper_for_analysis.
14048 (add_new_function, visited_nodes, function_insertion_hook_holder,
14049 get_local_reference_vars_info, mark_address_taken, mark_address,
14050 mark_load, mark_store, check_asm_memory_clobber, check_call,
14051 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
14052 (ipa_init): Do not initialize visited_nodes;
14053 function_insertion_hook_holder.
14054 (analyze_variable): Rewrite.
14055 (analyze_function): Rewrite.
14056 (copy_local_bitmap): Remove.
14057 (duplicate_node_dat): Do not duplicate local info.
14058 (generate_summary): Simplify to only walk cgraph.
14059 (write_node_summary_p, ipa_reference_write_summary,
14060 ipa_reference_read_summary): Remove.
14061 (propagate): Do not remove function insertion;
14062 generate summary.
14063 (pass_ipa_reference): NULLify summary handling fields.
14064 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
14065 (input_edge): Input ecf_flags.
14066 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
14067 (update_indirect_edges_after_inlining): Ignore edges with unknown
14068 param.
14069
87a0ebfd
ST
140702010-05-12 Sriraman Tallam <tmsriram@google.com>
14071
14072 * implicit-zee.c: New file.
14073 * tree-pass.h (pass_implicit_zee): Declare.
14074 * passes.c (init_optimization_passes): Add zee pass.
14075 * common.opt (fzee): New flag.
14076 * timevar.def (TV_ZEE): Define.
14077 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
14078 and beyond.
14079 * Makefile.in (implicit-zee.o): Add new build file.
14080
01f0a9dc
KH
140812010-05-12 Kazu Hirata <kazu@codesourcery.com>
14082 Nathan Froyd <froydnj@codesourcery.com>
14083
14084 * c-common.c (sync_resolve_params): Remove write-only variable.
14085
cbda7dc6
AS
140862010-05-12 Anatoly Sokolov <aesok@post.ru>
14087
14088 * target.h (struct gcc_target): Add mode_dependent_address_p field.
14089 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
14090 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
14091 * targhooks.c (default_mode_dependent_address_p): New function.
14092 * targhooks.h (default_mode_dependent_address_p): Declare function.
14093 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
14094 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
ade52657 14095 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
cbda7dc6 14096 target hook. Change return type to bool.
ade52657 14097 * recog.h (mode_dependent_address_p): Change return type to bool.
cbda7dc6 14098
1df43907
KH
140992010-05-12 Kazu Hirata <kazu@codesourcery.com>
14100 Nathan Froyd <froydnj@codesourcery.com>
14101
14102 * tree-mudflap.c (build_function_type_0, build_function_type_1,
14103 build_function_type_2, build_function_type_3): Remove.
14104 (mudflap_init): Use build_function_type_list.
14105
f9b36bb3
KH
141062010-05-12 Kazu Hirata <kazu@codesourcery.com>
14107 Nathan Froyd <froydnj@codesourcery.com>
14108
14109 * coverage.c (build_fn_info_value): Call build_constructor instead of
14110 build_constructor_from_list.
14111 (build_ctr_info_value): Likewise.
14112 (build_gcov_info): Likewise.
14113
f88203b0
NF
141142010-05-12 Nathan Froyd <froydnj@codesourcery.com>
14115
14116 * tree.c (build_constructor): Compute TREE_CONSTANT for the
14117 resultant constructor.
14118 (build_constructor_single): Don't set TREE_CONSTANT.
14119 (build_constructor_from_list): Don't compute TREE_CONSTANT.
14120
b34fd25c
JH
141212010-05-12 Jan Hubicka <jh@suse.cz>
14122
14123 * cgraph.h (struct varpool_node): Add aux.
14124 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
14125 * varpool.c (varpool_remove_node): Do not remove initializer.
14126 (varpool_reset_queue): Export.
14127 (varpool_finalize_decl): Volatile vars are forced to be output.
14128 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
14129 replaced decl.
14130 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
14131 process_references, varpool_can_remove_if_no_refs): New functions.
14132 (cgraph_remove_unreachable_nodes): Handle variables too.
14133
49f19b1c
L
141342010-05-12 H.J. Lu <hongjiu.lu@intel.com>
14135
14136 PR target/44088
14137 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
14138
7c2db0d3
JJ
141392010-05-12 Jakub Jelinek <jakub@redhat.com>
14140
f22f4340
JJ
14141 PR middle-end/44085
14142 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
14143 change value of ORT_TASK.
14144 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
14145 (omp_notice_threadprivate_variable): New function.
14146 (omp_notice_variable): Call it for threadprivate variables.
14147 If enclosing ctx is a task, print enclosing task rather than
14148 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
14149 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
14150 if task has untied clause.
14151
7c2db0d3
JJ
14152 PR debug/42278
14153 * dwarf2out.c (base_type_die): Don't add name attribute here.
14154 (modified_type_die): Instead of sizetype use
14155 its underlying original type. If a DW_TAG_base_type doesn't
14156 have name added, add __unknown__.
14157 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
14158 always call force_type_die instead.
14159
623a6941
MK
141602010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
14161
14162 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
14163 for __stack_chk_guard.
14164
056928b2
JJ
141652010-05-11 Jakub Jelinek <jakub@redhat.com>
14166
9d000e83
JJ
14167 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
14168 don't call start_source_file debug hook here...
14169 (finish_options): ... but here, after outputting predefined and
14170 command line defines and undefs.
14171
3b5fda81
JJ
14172 PR middle-end/44071
14173 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
14174 no fallthru edge.
14175 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
14176 optimizing away empty bb with no successors, move over its
14177 footer chain to fallthru predecessor.
14178 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
14179 (rtl_split_edge): For asm goto call patch_jump_insn even if
14180 splitting fallthru edge.
14181
3895ec53
JJ
14182 PR c++/44059
14183 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
14184 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
14185 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
14186 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
14187 on DW.ref.* decls.
14188
056928b2
JJ
14189 PR c++/44062
14190 * c-parser.c (c_parser_expression): Mark LHS of a comma
14191 expression as read if it is a decl, handled component or
14192 COMPOUND_EXPR with that on the RHS.
14193 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
14194 if it is a decl or handled component.
14195
9a809897
JH
141962010-05-11 Jan Hubicka <jh@suse.cz>
14197
14198 * lto-symtab.c (lto_symtab_free): New function.
14199 * lto-streamer.h (lto_symtab_free): Declare.
14200
142012010-05-11 Jan Hubicka <jh@suse.cz>
14202
14203 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
14204 that if function is needed it is reachable.
14205 (lto_output_node): See if it the function is reachable or referenced.
14206 (output_cgraph): Update call of lto_output_node.
14207 * lto-streamer.h (reachable_from_other_partition_p): Declare.
14208
b8053194
JH
142092010-05-11 Jan Hubicka <jh@suse.cz>
14210
14211 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
14212 Mark as used.
14213
1aa14195
JH
142142010-05-11 Jan Hubicka <jh@suse.cz>
14215
14216 PR tree-optimize/44063
c46a5e28
EB
14217 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
14218 queue.
1aa14195
JH
14219 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
14220 limits.
14221 (estimate_function_body_sizes): Compute sizes even when disregarding.
14222
f088f0ae
KT
142232010-05-11 Kai Tietz <kai.tietz@onevision.com>
14224
14225 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
14226
dcda03f4
JH
142272010-05-11 Jan Hubicka <jh@suse.cz>
14228
14229 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
14230 into every boundary.
14231
ece02605
JH
142322010-05-11 Jan Hubicka <jh@suse.cz>
14233
14234 * matrix-reorg.c (matrix_reorg): Rebuild edges.
14235
cc56d170
JH
142362010-05-11 Jan Hubicka <jh@suse.cz>
14237
14238 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
14239 lto_streamer_cache_delete): Put nodes into heap.
979aeb33
JH
14240 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
14241 heap.
cc56d170 14242
99b766fc
JH
142432010-05-11 Jan Hubicka <jh@suse.cz>
14244
14245 * cgraphbuild.c (cgraph_rebuild_references): New.
a2acdf1f
JH
14246 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
14247 out extern inlines.
99b766fc
JH
14248 * cgraph.h (cgraph_rebuild_references): Declare.
14249 * tree-inline.c (tree_function_versioning): Use it.
14250 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
14251
a940b4d9
JH
142522010-05-11 Jan Hubicka <jh@suse.cz>
14253
14254 * cgraph.c: Include ipa-utils.h
14255 (cgraph_create_virtual_clone): Update references.
14256 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
14257
57762e97
CB
142582010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
14259
78c7cabb 14260 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
57762e97
CB
14261 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
14262 cache size.
14263
a8beb3a7
CB
142642010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
14265
78c7cabb 14266 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
a8beb3a7 14267
3f592b38
JJ
142682010-05-11 Jakub Jelinek <jakub@redhat.com>
14269
09b201fc
JJ
14270 * gcc.c (execute): For -### don't quote arguments that
14271 contain just alphanumerics and _/-. characters.
14272 * doc/invoke.texi: Document that change for -###.
14273
3f592b38
JJ
14274 PR debug/44023
14275 * df-problems.c (struct dead_debug): Add to_rescan field.
14276 (dead_debug_init): Clear to_rescan field.
14277 (dead_debug_finish): Rescan all debug insns in to_rescan
14278 bitmap and free the bitmap.
14279 (dead_debug_insert_before): Instead of rescanning debug insns
14280 immediately queue their rescanning until dead_debug_finish.
14281 (df_note_bb_compute): After dead_debug_add do continue instead
14282 of break.
14283
1de12eab
JJ
142842010-05-10 Jakub Jelinek <jakub@redhat.com>
14285
14286 PR debug/44028
14287 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
14288 clear also INSN_REG_USE_LIST.
14289
e472d6bf
RO
142902010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14291
14292 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
14293
6cd174f6
JH
142942010-05-10 Jan Hubicka <jh@suse.cz>
14295
c46a5e28
EB
14296 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
14297 commited change.
6cd174f6 14298
5c4f225f
JH
142992010-05-10 Jan Hubicka <jh@suse.cz>
14300
c46a5e28
EB
14301 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
14302 Allocate encoders.
5c4f225f
JH
14303 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
14304 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
14305 (lto_streamer_cache_create): Init alloc pool.
14306 (lto_streamer_cache_delete): Free alloc pool.
14307 * lto-streamer.h: Include alloc pool.
14308 (lto_streamer_cache_d): Use alloc pool.
14309 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
14310
de61f467
JH
143112010-05-10 Jan Hubicka <jh@suse.cz>
14312
14313 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
14314 * cgraphbuild.c: Include except.h
14315 (record_type_list, record_eh_tables): New function.
14316 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
14317
e4fa83d3
JH
143182010-05-10 Jan Hubicka <jh@suse.cz>
14319
14320 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
14321 __frame_dummy_init_array_entry, force_to_data): Attribute as used
14322 rather than unused.
14323
8a9ecffd
MM
143242010-05-10 Michael Matz <matz@suse.de>
14325
14326 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
14327 (can_reassociate_p): Use FLOAT_TYPE_P.
14328 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
14329 (vect_force_simple_reduction): ... this.
62e59133 14330 * tree-parloops.c (gather_scalar_reductions): Use
8a9ecffd
MM
14331 vect_force_simple_reduction.
14332 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
14333 vect_is_simple_reduction, add modify argument, if true rewrite
14334 "a-b" into "a+(-b)".
14335 (vect_is_simple_reduction, vect_force_simple_reduction): New
14336 functions.
14337 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
14338
143392010-05-10 H.J. Lu <hongjiu.lu@intel.com>
14340 Vladimir Makarov <vmakarov@redhat.com>
46044dd9
L
14341
14342 PR rtl-optimization/44012
14343 * ira-build.c (remove_unnecessary_allocnos): Nullify
14344 regno_allocno_map of the removed allocno.
14345
2e2b183b
RO
143462010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14347
14348 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
14349 to /dev/null.
14350 * configure: Regenerate.
14351
a93e1899
RO
143522010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14353
14354 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
14355 unused.
14356 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
14357 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
14358 support in Sun ld.
14359 * configure: Regenerate.
14360
571943de
RG
143612010-05-10 Richard Guenther <rguenther@suse.de>
14362
14363 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
14364 marked if the entry identifier is marked.
14365
0b7b376d
RG
143662010-05-10 Richard Guenther <rguenther@suse.de>
14367
14368 * c-common.c (struct c_common_attributes): Add fnspec attribute.
14369 (handle_fnspec_attribute): New function.
14370 * gimple.h (gimple_call_return_flags): Declare.
14371 (gimple_call_arg_flags): Likewise.
14372 * gimple.c (gimple_call_arg_flags): New function.
14373 (gimple_call_return_flags): Likewise.
14374 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
14375 New argument flags.
14376 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
14377 return value flags.
14378 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
14379 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
14380 main work to ...
14381 (make_heapvar_for): ... this new function.
14382 (handle_rhs_call): Handle fnspec attribute argument specifiers.
14383 (handle_lhs_call): Likewise.
14384 (find_func_aliases): Adjust.
14385
1755aad0
RG
143862010-05-10 Richard Guenther <rguenther@suse.de>
14387
14388 PR tree-optimization/44050
62e59133 14389 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
1755aad0 14390
333b67a9
WG
143912010-05-10 Wei Guozhi <carrot@google.com>
14392
14393 PR target/42879
14394 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
14395
0fb96aa4
JM
143962010-05-09 Joseph Myers <joseph@codesourcery.com>
14397
14398 PR c/10676
14399 * c-typeck.c (lookup_field): Take a type directly. Update
14400 recursive calls.
14401 (build_component_ref): Update call to lookup_field.
14402 (set_init_label): Use lookup_field to find initialized field.
14403 Handle returned list of fields like a sequence of designators.
14404
3d7a712a
RG
144052010-05-09 Richard Guenther <rguenther@suse.de>
14406
14407 PR middle-end/44024
14408 * fold-const.c (tree_single_nonzero_warnv_p): Properly
14409 handle &FUNCTION_DECL.
14410
492fc0ee
JM
144112010-05-09 Joseph Myers <joseph@codesourcery.com>
14412
14413 PR c/4784
14414 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
14415 structures and unions recursively.
14416 (detect_field_duplicates): Move duplicate detection with a hash to
14417 detect_field_duplicates_hash. Always use a hash if anonymous
14418 structures or unions are present.
14419 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
14420 give errors.
14421
44f276c6
L
144222010-05-09 H.J. Lu <hongjiu.lu@intel.com>
14423
14424 PR target/44046
14425 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
14426 detect Atom, Core 2 and Core i7.
14427
d6205185
RG
144282010-05-09 Richard Guenther <rguenther@suse.de>
14429
14430 * gcc.c (store_arg): Handle temporary file deletion for
14431 joined arguments.
14432
5588864d
RG
144332010-05-09 Richard Guenther <rguenther@suse.de>
14434
14435 PR middle-end/44043
14436 * ipa-inline.c (estimate_function_body_sizes): Return after
14437 disregarding inline limits.
14438
aa34f42c
RG
144392010-05-09 Richard Guenther <rguenther@suse.de>
14440
14441 * gcc.c (store_arg): Revert last change.
14442
844381e5
SL
144432010-05-08 Sandra Loosemore <sandra@codesourcery.com>
14444
14445 PR middle-end/28685
14446 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
14447 (optimize_ops_list): Call it.
14448
43896afb
RG
144492010-05-08 Richard Guenther <rguenther@suse.de>
14450
14451 PR tree-optimization/44030
14452 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
14453 NECESSARY flag if we propagate from a inserted expression.
14454
f56000ed
EB
144552010-05-08 Eric Botcazou <ebotcazou@adacore.com>
14456
14457 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
14458 domain types as equal if they are both PLACEHOLDER_EXPRs.
14459
1522167d
RG
144602010-05-08 Richard Guenther <rguenther@suse.de>
14461
14462 * lto-wrapper.c (run_gcc): Remove linker output from
14463 command line for LTRANS invocation.
14464
c082f9f3
SB
144652010-05-07 Steven Bosscher <steven@gcc.gnu.org>
14466
14467 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
14468 lto-macho as lto_binary_reader.
14469 * target.h (struct gcc_target): New hooks lto_start and lto_end.
14470 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
14471 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
14472 in lto_start and lto_end calls.
14473 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
14474 magic numbers.
14475 (scan_prog_file): Update is_elf_or_coff call.
14476 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
14477
14478 * collect2.c (main): Fix enum comparison.
14479
14480 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
14481 Add prototypes.
14482 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
14483 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
14484 and TARGET_ASM_LTO_END.
14485 * darwin.c: Include obstack.h and lto-streamer.h.
14486 (lto_section_names_offset, lto_section_names_obstack,
14487 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
14488 global variables.
14489 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
14490 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
14491 to a temporary file.
14492 (darwin_asm_lto_end): New function. Restore asm_out_file.
14493 (darwin_asm_named_section): For LTO sections, replace the name with
14494 the offset of the section name in a string table, and build this
14495 table.
14496 (darwin_file_start): Initialize global vars for LTO support.
14497 (darwin_file_end): If output to asm_out_file was redirected, append it
14498 to the proper asm_out_file here. Add the section names section.
14499
18bc5398
SB
145002010-05-07 Steven Bosscher <steven@gcc.gnu.org>
14501
14502 * c-pragma.c (pending_weak_d, pending_weak): New.
14503 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
14504 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
14505 handle_pragma_weak): Update the uses of pending_weaks.
14506
0f590a2d
RW
145072010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14508
14509 PR documentation/44016
14510 * doc/standards.texi (Standards): Link to unversioned
14511 cxx0x_status.html page.
14512
3bd5cdeb
IS
145132010-05-07 Iain Sandoe <iains@gcc.gnu.org>
14514
14515 PR target/43708
14516 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
14517 in addition to TREE_USED, to avoid "set but unused" warnings.
14518
9bf4598b
CF
145192010-05-07 Changpeng Fang <changpeng.fang@amd.com>
14520
14521 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
14522 (is_loop_prefetching_profitable): Do not insert prefetches
14523 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
14524 times the prefetch ahead distance.
14525
ccacf0e1
CF
145262010-05-07 Changpeng Fang <changpeng.fang@amd.com>
14527
14528 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
14529 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
14530 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
14531 the unroll_factor.
14532
55e5a2eb
CF
145332010-05-07 Changpeng Fang <changpeng.fang@amd.com>
14534
14535 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
14536 a diagnostic info when the insn-to-mem ratio is too small.
14537
5cd0e96b
RG
145382010-05-07 Richard Guenther <rguenther@suse.de>
14539
14540 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
14541 the linker plugin.
14542 (store_arg): Queue temp_filename for deletion instead of
14543 the whole argument.
14544
48cf395b
RB
145452010-05-07 Richard Guenther <rguenther@suse.de>
14546
14547 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
14548 (run_gcc): Handle LTRANS phase invocation.
62e59133 14549 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
48cf395b 14550
86b2c5b6
JJ
145512010-05-07 Jakub Jelinek <jakub@redhat.com>
14552
14553 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
14554 this is also meaningful on PARM_DECLs and RESULT_DECLs.
14555
c4e1e0b1
RO
145562010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14557
14558 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
14559
a7d4562a
RG
145602010-05-07 Richard Guenther <rguenther@suse.de>
14561
14562 PR tree-optimization/44020
14563 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
14564 code when PRE is not yet initialized.
14565
a6b02ef3
RO
145662010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14567
14568 * config/mips/dbxmdebug.h: Remove.
14569 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
14570
d42ba3b8
SZ
145712010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
14572
14573 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
14574 with null pointer and also warn about ordered comparison of zero with
14575 pointer if -Wextra.
14576
a6733c71
AS
145772010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
14578
14579 * graphite-blocking.c
14580 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
14581 * graphite-clast-to-gimple.c
14582 (clast_to_gcc_expression): Same.
14583 (precision_for_value): Same.
14584 (precision_for_interval): Same.
14585 (gcc_type_for_interval): Same.
14586 (graphite_create_new_guard): Same.
14587 (compute_bounds_for_level): Same.
14588 (graphite_create_new_loop_guard): Same.
14589 * graphite-interchange.c
14590 (build_linearized_memory_access): Same.
14591 (pdr_stride_in_loop): Same.
14592 (memory_strides_in_loop_1): Same.
14593 (memory_strides_in_loop): Same.
14594 (extend_scattering): Same.
14595 (psct_scattering_dim_for_loop_depth): Same.
14596 (pbb_number_of_iterations): Same.
14597 * graphite-poly.h
14598 (debug_iteration_domains): Same.
14599 * graphite-ppl.c
14600 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
14601 (ppl_set_inhomogeneous_gmp): Same.
14602 (ppl_strip_loop): Same.
14603 (ppl_lexico_compare_linear_expressions): Same.
14604 (ppl_read_polyhedron_matrix): Same.
14605 (ppl_max_for_le_pointset): Same.
14606 * graphite-ppl.h
14607 (ppl_read_polyhedron_matrix): Same.
14608 (tree_int_to_gmp): Same.
14609 (gmp_cst_to_tree): Same.
14610 (ppl_set_inhomogeneous): Same.
14611 (ppl_set_inhomogeneous_tree): Same.
14612 (ppl_set_coef): Same.
14613 (ppl_set_coef_tree): Same.
14614 * graphite-sese-to-poly.c
14615 (build_pbb_scattering_polyhedrons): Same.
14616 (build_scop_scattering): Same.
14617 (scan_tree_for_params_right_scev): Same.
14618 (scan_tree_for_params): Same.
14619 (find_params_in_bb): Same.
14620 (find_scop_parameters): Same.
14621 (add_upper_bounds_from_estimated_nit): Same.
14622 (build_loop_iteration_domains): Same.
14623 (add_condition_to_domain): Same.
14624 (pdr_add_memory_accesses): Same.
14625
146262010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
14627
14628 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
14629 CLooG's value_* macros to their respective mpz_* counterparts.
14630 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
14631 (graphite_create_new_loop_guard): Same.
14632 * graphite-interchange.c (build_linearized_memory_access): Same.
14633 (pdr_stride_in_loop): Same.
14634 (memory_strides_in_loop_1): Same.
14635 (1st_interchange_profitable_p): Same.
14636 * graphite-poly.c (extend_scattering): Same.
14637 (psct_scattering_dim_for_loop_depth): Same.
14638 (pbb_number_of_iterations): Same.
14639 (pbb_number_of_iterations_at_time): Same.
14640 * graphite-poly.h (new_1st_loop): Same.
14641 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
14642 (oppose_constraint): Same.
14643 (insert_constraint_into_matrix): Same.
14644 (ppl_set_inhomogeneous_gmp): Same.
14645 (ppl_set_coef_gmp): Same.
14646 (ppl_strip_loop): Same.
14647 (ppl_lexico_compare_linear_expressions): Same.
14648 (ppl_max_for_le_pointset): Same.
14649 (ppl_min_for_le_pointset): Same.
14650 (ppl_build_realtion): Same.
14651 * graphite-ppl.h (gmp_cst_to_tree): Same.
14652 (ppl_set_inhomogeneous): Same.
14653 (ppl_set_inhomogeneous_tree): Same.
14654 (ppl_set_coef): Same.
14655 (ppl_set_coef_tree): Same.
14656 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
14657 (build_scop_scattering): Same.
14658 (add_value_to_dim): Same.
14659 (scan_tree_for_params_right_scev): Same.
14660 (scan_tree_for_params_int): Same.
14661 (scan_tree_for_params): Same.
14662 (find_params_in_bb): Same.
14663 (find_scop_parameters): Same.
14664 (add_upper_bounds_from_estimated_nit): Same.
14665 (build_loop_iteration_domains): Same.
14666 (create_linear_expr_from_tree): Same.
14667 (add_condition_to_domain): Same.
14668 (pdr_add_memory_accesses): Same.
14669
14c2101d
JM
146702010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
14671 Jason Merrill <jason@redhat.com>
14672
14673 * c-common.c (c_common_reswords): Add nullptr.
14674 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
14675 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
14676 (gen_type_die_with_usage): Likewise.
14677 * dbxout.c (dbxout_type): Likewise.
14678 * sdbout.c (plain_type_1): Likewise.
14679
ebad5233
JM
146802010-05-06 Jason Merrill <jason@redhat.com>
14681
941f78d1
JM
14682 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
14683 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
14684 ret appropriately.
14685 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
14686
ebad5233
JM
14687 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
14688 stripping WITH_SIZE_EXPR.
14689 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
14690 change.
14691
9aaa1ee8
RO
146922010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14693
14694 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
14695 list of obsolete configurations.
14696 Disabled check for obsolete configurations.
14697 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
14698 Removed support for previous versions.
14699 * config/mips/iris.h: Removed.
14700 * config/mips/iris5.h: Removed.
14701 * config/mips/iris6.h: Merged old iris.h contents.
14702 (TARGET_IRIX): Removed.
14703 (DRIVER_SELF_SPECS): Removed mabi=32.
14704 (IDENT_ASM_OP): Removed undef.
14705 (STARTFILE_SPEC): Removed mabi=32.
14706 (ENDFILE_SPEC): Likewise.
14707 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
14708 (MACHINE_TYPE): Update for IRIX 6.5.
14709 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
14710 TARGET_IRIX by TARGET_IRIX6.
14711 (mips_file_start): Likewise.
14712 (mips_output_external): Remove IRIX 5/6 O32 support.
14713 (mips_output_function_prologue): Likewise.
14714 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
14715 TARGET_IRIX6.
14716 (TARGET_CPU_CPP_BUILTINS): Likewise.
14717 (TARGET_IRIX): Removed.
14718 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
14719 (MULTILIB_DIRNAMES): Removed 32.
14720 (MULTILIB_OSDIRNAMES): Removed ../lib.
62e59133 14721 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
9aaa1ee8 14722 (Specific, mips-sgi-irix5): Document removal.
62e59133 14723 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
9aaa1ee8
RO
14724 Remove references to older IRIX 6 releases and the O32 ABI.
14725
5b8bd3d5
JJ
147262010-05-06 Jakub Jelinek <jakub@redhat.com>
14727
14728 PR bootstrap/43994
14729 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
14730 instead of DF_REF_REAL_REG.
14731
e97580ce
DK
147322010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
14733
14734 PR target/43888
14735 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
14736 handling to still return true for x64 targets.
14737
f24d84cc
MK
147382010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
14739
14740 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
14741
ef38b551
JH
147422010-05-06 Jan Hubicka <jh@suse.cz>
14743
14744 PR tree-optimization/43791
14745 * ipa-inline.c (update_caller_keys): Remove bogus
14746 disregard_inline_limits check.
14747
0ab555de
MM
147482010-05-06 Michael Matz <matz@suse.de>
14749
14750 PR tree-optimization/43984
14751 * tree-ssa-pre.c (inserted_phi_names): Remove.
14752 (inserted_exprs): Change to bitmap.
14753 (create_expression_by_pieces): Set bits, don't append to vector.
14754 (insert_into_preds_of_block): Don't handle inserted_phi_names.
14755 (eliminate): Don't look at inserted_phi_names, remove deleted
14756 insns from inserted_exprs.
62e59133 14757 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
0ab555de
MM
14758 (init_pre, fini_pre): Allocate and free bitmaps.
14759 (execute_pre): Insert insns on edges before elimination.
14760
315a02da
MK
147612010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
14762
14763 * tree.c (initializer_zerop): Handle STRING_CST.
14764
3734d960
MLI
147652010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
14766
14767 PR 40989
14768 * doc/invoke.texi (Wimplicit): Document as C only.
14769 * opts.c (common_handle_option): Add argument kind.
14770 (handle_option): Rename as read_cmdline_option. Factor out code to...
14771 (handle_option): ... here. New.
14772 (handle_options): Rename as read_cmdline_options.
14773 (decode_options): Update call.
14774 (set_option): Use option index instead of option pointer. Classify
14775 diagnostics correctly.
14776 (enable_warning_as_error): Call handle_option.
14777 * opts.h (set_option): Update declaration.
14778 (handle_option): Declare.
62e59133 14779 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3734d960
MLI
14780 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
14781 * c-opts.c (set_Wimplicit): Delete.
14782 (c_family_lang_mask): New static constant.
14783 (c_common_handle_option): Add argument kind. Use handle_option
14784 instead of set_Wimplicit.
14785 (c_common_post_options): warn_implicit and warn_implicit_int
14786 are disabled by default.
14787 * c-common.c (warn_implicit): Do not define here.
14788 * c-common.h (warn_implicit): Do not declare here.
14789 (c_common_handle_option): Update declaration.
14790 * lto-opts.c (lto_reissue_options): Update call to set_option.
14791
2b90475a
RG
147922010-05-06 Richard Guenther <rguenther@suse.de>
14793
14794 PR tree-optimization/43571
14795 * domwalk.c (walk_dominator_tree): Walk the dominator
14796 sons in more optimal order.
14797
e3bdfed6
RG
147982010-05-06 Richard Guenther <rguenther@suse.de>
14799
14800 PR tree-optimization/43934
14801 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
14802 (stmt_cost): Likewise.
14803 (extract_true_false_args_from_phi): New helper.
14804 (determine_max_movement): For PHI nodes verify we can hoist them
14805 and compute their cost.
14806 (determine_invariantness_stmt): Handle PHI nodes.
14807 (move_computations_stmt): Likewise. Hoist PHI nodes in
14808 if-converted form using COND_EXPRs.
62e59133 14809 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
e3bdfed6
RG
14810 (tree_ssa_lim): Likewise.
14811 * tree-flow.h (tree_ssa_lim): Adjust prototype.
14812 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
14813
a81b065a
RG
148142010-05-06 Richard Guenther <rguenther@suse.de>
14815
14816 PR tree-optimization/43987
14817 * tree-ssa-structalias.c (could_have_pointers): For possibly
14818 address-taken variables force pointers to be recorded.
14819 (create_variable_info_for_1): Likewise.
14820 (push_fields_onto_fieldstack): Pass in wheter all fields
14821 must have pointers.
14822 (find_func_aliases): Query types instead of vars whether
14823 they contain pointers where appropriate.
14824
369451ec
JH
148252010-05-06 Jan Hubicka <jh@suse.cz>
14826
14827 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
14828 (record_reference, mark_address, mark_load, mark_store): Record
14829 references.
14830 (record_references_in_initializer): Update call of record_references.
14831 (rebuild_cgraph_edges): Remove all references before rebuiding.
14832 * cgraph.c (cgraph_create_node): Clear ref list.
14833 (cgraph_remove_node): Remove references.
14834 (dump_cgraph_node): Dump references.
14835 (cgraph_clone_node): Clone references.
14836 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
14837 (struct cgraph_node, varpool_node): Add ref_lst.
14838 * ipa-ref.c: New file.
14839 * ipa-ref.h: New file.
14840 * ipa-ref-inline.h: New file.
14841 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
14842 (referenced_from_other_partition_p): New function.
14843 (lto_output_varpool_node): Take set arugment; call
14844 referenced_from_other_partition.
14845 (lto_output_ref): New.
14846 (add_references): New.
14847 (output_refs): New.
62e59133 14848 (output_cgraph): Compute boundary based on references; output refs.
369451ec
JH
14849 (output_varpool): Accept cgraph_node_set argument.
14850 (input_ref): New.
14851 (input_refs): New.
14852 (input_cgraph): Call input_refs.
14853 * lto-section-in.c (lto_section_name): Add refs.
ade52657 14854 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
369451ec
JH
14855 (ipa-ref.o): New file.
14856 * varpool.c (varpool_node): Clear ipa ref list.
14857 (varpool_remove_node): Remove references.
14858 (dump_varpool_node): Dump references.
14859 (varpool_assemble_decl): Only compile finalized ones.
14860 (varpool_extra_name_alias): Initialize ref list.
14861 * lto-streamer.c (lto-get_section_name): Add .refs section.
14862 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
14863 (referenced_from_other_partition_p): Declared.
14864
7d8930a0
IR
148652010-05-06 Ira Rosen <irar@il.ibm.com>
14866
14867 PR tree-optimization/43901
14868 * tree-vect-stmts.c (vectorizable_call): Assert that vector
14869 type is not NULL if it's transformation phase, and return
14870 FALSE if it's analysis.
62e59133
UB
14871 (vectorizable_conversion, vectorizable_operation,
14872 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
7d8930a0 14873
a1c4f19f
AP
148742010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
14875
14876 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
14877 Delete.
14878 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
14879 New define.
14880 * config/mips/mips-protos.h
14881 (mips_small_register_classes_for_mode_p): Delete prototype.
14882
93b338c3
BS
148832010-05-06 Bernd Schmidt <bernds@codesourcery.com>
14884
14885 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
14886 * config/arm/arm.c (multiple_operation_profitable_p,
14887 compute_offset_order): New static functions.
14888 (load_multiple_sequence, store_multiple_sequence): Use them.
14889 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
14890 memory offsets, not register numbers.
14891 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
14892
50701474
SB
148932010-05-05 Steven Bosscher <steven@gcc.gnu.org>
14894
62e59133 14895 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
50701474
SB
14896 (get_pending_sizes, put_pending_size, put_pending_sizes):
14897 Update the uses of pending_sizes.
14898 * c-decl.c (store_parm_decls): Likewise.
14899 * c-tree.h (struct c_arg_info): Likewise.
14900 * tree.h: Update the prototype for get_pending_sizes and
14901 put_pending_sizes.
14902
564a129d
JM
149032010-05-05 Jason Merrill <jason@redhat.com>
14904
0f559c16
JM
14905 PR debug/43370
14906 * c-common.c (handle_aligned_attribute): Respect
14907 ATTR_FLAG_TYPE_IN_PLACE.
14908
564a129d
JM
14909 PR testsuite/43758
14910 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
14911 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
14912 (TARGET_INITIALIZER): Use it.
14913 * c-common.c (attribute_takes_identifier_p): Call it.
14914 * c-common.h: Update prototype.
14915 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
14916 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
14917
58c13acc
JJ
149182010-05-05 Jakub Jelinek <jakub@redhat.com>
14919
14920 PR debug/43950
14921 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
14922 DW_ID_down_case for Fortran compilation units.
14923
5b042919
JH
149242010-05-05 Jan Hubicka <jh@suse.cz>
14925
14926 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
14927 handle aliases.
14928
ca361dec
EB
149292010-05-05 Eric Botcazou <ebotcazou@adacore.com>
14930
14931 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
14932 a variable-sized RESULT_DECL.
14933
fa6aeae1
MK
149342010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
14935
14936 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
14937
6d729f28
JM
149382010-05-05 Jason Merrill <jason@redhat.com>
14939
14940 PR c++/43787
14941 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
14942 returns GS_OK.
14943 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
14944
e972a1d3
AO
149452010-05-05 Alexandre Oliva <aoliva@redhat.com>
14946 Jakub Jelinek <jakub@redhat.com>
14947
14948 PR debug/43478
14949 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
14950 (dead_debug_init, dead_debug_finish): New functions.
14951 (dead_debug_add, dead_debug_insert_before): Likewise.
14952 (df_note_bb_compute): Initialize a dead_debug object, add dead
14953 debug uses to it, insert debug bind insns before death insns,
14954 reset debug insns that refer to pending uses at the end.
14955 * rtl.h (make_debug_expr_from_rtl): New prototype.
14956 * varasm.c (make_debug_expr_from_rtl): New function.
14957
2f41ecf5
JH
149582010-05-05 Jan Hubicka <jh@suse.cz>
14959
14960 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
62e59133
UB
14961 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
14962 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
14963 lto_varpool_encoder_deref, lto_varpool_encoder_size,
2f41ecf5
JH
14964 lto_varpool_encoder_encode_initializer_p,
14965 lto_set_varpool_encoder_encode_initializer): New functions.
14966 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
14967 call output_varpool.
14968 (input_varpool_node): Do not always set analyzed.
14969 (input_cgraph_1): Return vector of cgraph nodes.
14970 (input_varpool_1): Return vector of varpools.
14971 (input_cgraph): Free the vectors.
14972 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
14973 output only initializers needed.
14974 (lto_output): Only call output_cgraph.
14975 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
14976 * lto-section-out.c (lto_new_out_decl_state): Initialize
14977 state->varpool_node_encoder.
14978 * lto-streamer.h (lto_varpool_encoder_d): New.
62e59133 14979 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
2f41ecf5
JH
14980 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
14981 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
14982 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
14983 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
14984 Declare.
14985 (output_varpool, input_varpool): Remove declarations.
14986
9e0546ef
JH
149872010-05-05 Jan Hubicka <jh@suse.cz>
14988
14989 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
14990 with body can prevail.
14991
149922010-05-05 Jan Hubicka <jh@suse.cz>
14993
14994 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
14995 size.
14996
0277fabf
LB
149972010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
14998
62e59133 14999 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
0277fabf
LB
15000
15001 * gengtype.h (erro_at_line): Constify pos argument.
15002
15003 * gengtype.c: Include hashtab.h.
15004 (enum gc_used): Document GC_MAYBE_POINTED_TO.
15005 (error_at_line): Constify pos argument.
15006 (do_typedef): Initialize p->opt field.
15007 (get_file_gtfilename): Fix comment typo.
15008 (struct walk_type_data): Constify line field.
15009 (get_output_file_for_structure): New function.
15010 (write_local_func_for_structure): Constify orig_s argument.
15011 Use get_output_file_for_structure.
15012 (write_func_for_structure): Use get_output_file_for_structure.
15013 (INDENT): New define.
15014 (dump_pair, dump_type, dump_type_list, dump_typekind)
15015 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
15016 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
15017 functions.
15018 (seen_types): New variable.
15019 (main): New variable do_dump. Process "-d" command line option.
15020 Call dump_everything if dump requested.
15021
dbb2a2cb
JJ
150222010-05-05 Jakub Jelinek <jakub@redhat.com>
15023
15024 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
15025 in a temporary instead of invoking the macro multiple times.
15026 (track_expr_p): Likewise.
15027
650cfcab
NV
150282010-05-04 Neil Vachharajani <nvachhar@google.com>
15029
15030 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
15031 per new semantics.
15032 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
15033 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
15034 conditions for printing notes.
15035 * common.opt (-Wcoverage-mismatch): Allow negative, default to
15036 true, update documentation.
15037 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
650cfcab 15038
97e3c923
JJ
150392010-05-04 Jakub Jelinek <jakub@redhat.com>
15040
15041 PR c/43981
15042 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
15043 on dimen.
15044
ade6a9ac
L
150452010-05-04 H.J. Lu <hongjiu.lu@intel.com>
15046
15047 PR target/43799
62e59133 15048 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
ade6a9ac
L
15049 (*sse_prologue_save_insn1): Likewise.
15050 (SSE prologue save splitter): Likewise.
15051
7ef5e86c
EB
150522010-05-04 Eric Botcazou <ebotcazou@adacore.com>
15053
15054 * tree.c (free_lang_data_in_one_sizepos): New inline function.
15055 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
15056 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
15057 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
15058 all decls. Call it on DECL_FIELD_OFFSET of fields.
15059 (find_decls_types_r): Follow DECL_VALUE_EXPR.
15060 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
15061
6cbd3b6a
MJ
150622010-05-04 Martin Jambor <mjambor@suse.cz>
15063
15064 * tree-sra.c (build_access_from_expr_1): The first parameter type
15065 changed to simple tree.
15066 (build_access_from_expr): Likewise, gsi parameter was eliminated.
15067 (scan_assign_result): Renamed to assignment_mod_result, enum elements
15068 renamed as well.
15069 (build_accesses_from_assign): Removed all parameters except for a
15070 simple gimple statement. Now returns a simple bool.
15071 (scan_function): All non-analysis parts moved to separate functions
15072 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
15073 parameters and updated both callers.
15074 (sra_modify_expr): Removed parameter data.
15075 (sra_modify_function_body): New function.
15076 (perform_intra_sra): Call sra_modify_function_body to modify the
15077 function body.
15078 (replace_removed_params_ssa_names): Parameter data changed into
15079 adjustments vector.
15080 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
15081 changed the parameter dont_convert to convert with the opposite
15082 meaning.
15083 (sra_ipa_modify_assign): Parameter data changed into adjustments
15084 vector, return value changed to bool.
15085 (ipa_sra_modify_function_body): New function.
15086 (sra_ipa_reset_debug_stmts): Updated a comment.
15087 (modify_function): Use ipa_sra_modify_function_body to modify function
15088 body.
15089
2147c71c
L
150902010-05-04 H.J. Lu <hongjiu.lu@intel.com>
15091
15092 PR middle-end/43671
15093 * alias.c (true_dependence): Handle the same VALUE in x and mem.
15094 (canon_true_dependence): Likewise.
15095 (write_dependence_p): Likewise.
15096
85912441
JH
150972010-05-04 Jan Hubicka <jh@suse.cz>
15098
15099 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
15100 * cgraphbuild.c: Include ipa-utils.h
15101 (record_reference_ctx): New struct.
15102 (record_reference): Simplify to work on initializers; not statements.
15103 (mark_address, mark_load, mark_store): New.
15104 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
15105 walk PHI nodes too.
15106 (record_references_in_initializer): Update use of record_reference.
15107 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
15108 walk PHI nodes too.
15109
688a10c2
JH
151102010-05-04 Jan Hubicka <jh@suse.cz>
15111
15112 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
15113 node will be removed anyway.
15114 (lto_varpool_replace_node): Allow also unanalyzed nodes;
15115 relink aliases of node into prevailing node.
15116 * varpool.c (varpool_remove_node): Remove aliases properly;
15117 when removing node, remove all its aliases too; remove DECL_INITIAL
15118 of removed node; ggc_free the varpool node.
15119
27c2cfa6
RG
151202010-05-04 Richard Guenther <rguenther@suse.de>
15121
15122 PR tree-optimization/43879
15123 * tree-ssa-structalias.c (alias_get_name): Use
15124 DECL_ASSEMBLER_NAME if available.
15125 (create_function_info_for): Return the varinfo node.
15126 (ipa_pta_execute): Associate same-body aliases and extra names
15127 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
15128
9c265c4d
KK
151292010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
15130
62e59133 15131 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
9c265c4d 15132
a5c011cd
MP
151332010-05-04 Mikael Pettersson <mikpe@it.uu.se>
15134
15135 PR bootstrap/43964
15136 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
15137 only if HONOR_REG_ALLOC_ORDER is not defined.
15138
622d360e
RG
151392010-05-04 Richard Guenther <rguenther@suse.de>
15140
15141 PR tree-optimization/43949
15142 * tree-vrp.c (extract_range_from_binary_expr): Only handle
15143 TRUNC_MOD_EXPR.
15144
cbb4feb3
JM
151452010-04-26 Jason Merrill <jason@redhat.com>
15146
15147 * c.opt (-fstrict-enums): New.
15148 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
15149
67e67979
DU
151502010-05-03 David Ung <davidu@mips.com>
15151 James E. Wilson <wilson@codesourcery.com>
15152
e492f63b 15153 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
67e67979
DU
15154 emit the trap instruction before the divide for TUNE_74K.
15155
42db504c
SB
151562010-05-03 Steven Bosscher <steven@gcc.gnu.org>
15157
15158 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
15159 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
15160 based on the above, for new target hook.
15161
15162 * hooks.c (hook_bool_mode_true): New generic hook.
15163 * hooks.h (hook_bool_mode_true): Add prototype.
15164
15165 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
15166 target hook.
15167 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
15168 target hook, set to hook_bool_mode_false.
15169 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
15170 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
15171 with targetm.small_register_classes_for_mode_p.
15172 (find_reusable_reload): Likewise.
15173 (combine_reloads): Likewise.
15174 * reload1.c (reload_as_needed): Likewise.
15175 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
15176 * ifcvt.c (noce_process_if_block, check_cond_move_block,
15177 dead_or_predicable): Likewise.
15178 * regmove.c (optimize_reg_copy_1): Likewise.
15179 * calls.c (prepare_call_address): Likewise.
15180 (precompute_register_parameters): Likewise.
15181
15182 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
15183 hook definition.
15184 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
15185 implementation of the hook that considers all register classes
15186 small except for SH64.
15187 (sh_override_options): Use the new hook.
15188 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
15189 Add prototype.
15190
15191 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
15192 hook definition.
15193 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
15194 implementation of the hook that considers all register classes
15195 small for THUMB1.
15196 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
15197 Add prototype.
15198
15199 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
15200 hook definition.
15201 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
15202 implementation of the hook that considers all register classes
15203 small for MIPS16.
15204 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
15205 Add prototype.
15206
15207 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
15208 hook definition.
15209 * config/m32c/m32c.h: Likewise.
15210 * config/pdp11/pdp11.h: Likewise.
15211 * config/avr/avr.h: Likewise.
15212 * config/xtensa/xtensa.h: Likewise.
15213 * config/m68hc11/m68hc11.h: Likewise.
15214 * config/mn10300/mn10300.h: Likewise.
15215 * config/mcore/mcore.h: Likewise.
15216 * config/h8300/h8300.h: Likewise.
15217 * config/bfin/bfin.h: Likewise.
15218
15219 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
15220 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
15221
e6693cfa
AS
152222010-05-03 Anatoly Sokolov <aesok@post.ru>
15223
15224 * double-int.h (tree_to_double_int): Remove macro.
15225 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
15226 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
15227 (tree_to_double_int): New function.
15228 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
15229 Move ...
15230 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
15231
8eb7bc3c
RG
152322010-05-03 Richard Guenther <rguenther@suse.de>
15233
15234 PR tree-optimization/43971
15235 * tree-ssa-structalias.c (get_constraint_for_1): Fix
15236 constraints in the !flag_delete_null_pointer_checks case.
15237
c4e26da1
JJ
152382010-05-03 Jakub Jelinek <jakub@redhat.com>
15239
15240 PR debug/43972
15241 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
15242 result mode matches original rtl mode.
15243
2dfccd83
DK
152442010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
15245
2385a470 15246 PR target/43888
2dfccd83
DK
15247 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
15248
18fdef20
UB
152492010-05-02 Uros Bizjak <ubizjak@gmail.com>
15250
15251 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
15252 when processing flag options.
15253
7c393241
UB
152542010-05-02 Uros Bizjak <ubizjak@gmail.com>
15255
15256 * gcov-iov.c (main): Change format string placeholder
15257 from %#08x to 0x%08x.
15258 * genchecksum.c (dosum): Change format string placeholder
15259 from %#02x to 0x%02x.
15260
52c307ba
RG
152612010-05-02 Richard Guenther <rguenther@suse.de>
15262
15263 PR tree-optimization/43879
7c393241 15264 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
52c307ba 15265
4896c7b8
BH
152662010-05-02 Bruno Haible <bruno@clisp.org>
15267
15268 * doc/extend.texi (Function Attributes): Fix a typo.
15269
34a47f6f
UB
152702010-05-02 Uros Bizjak <ubizjak@gmail.com>
15271
15272 Revert:
15273 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
15274 placeholder from 0x%x to %#x.
15275 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
7c393241
UB
15276 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
15277 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
15278 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
15279 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
15280 * config/i386/i386.c (ix86_target_string): Ditto.
34a47f6f 15281 * config/i386/i386.c (output_pic_addr_const): Ditto.
7c393241 15282 (print_operand): Ditto.
34a47f6f 15283
35c59d9c
UB
152842010-05-02 Uros Bizjak <ubizjak@gmail.com>
15285
15286 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
15287 placeholder from 0x%x to %#x.
15288 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
15289 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
15290 (ASM_OUTPUT_DEBUG_DATA): Ditto.
15291 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
15292 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
15293 * optc-gen.awk: Ditto.
15294 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
15295 (HOST_WIDE_INT_PRINT_HEX): Ditto.
15296 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
15297 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
35c59d9c 15298
82f81f18
AS
152992010-05-01 Anatoly Sokolov <aesok@post.ru>
15300
15301 * target.h (struct calls): Add function_value_regno_p field.
15302 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
15303 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
15304 * targhooks.c (default_function_value_regno_p): New function.
15305 * targhooks.h (default_function_value_regno_p): Declare function.
15306 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
15307 * builtins.c. (apply_result_size): (Ditto.).
15308 * combine.c. (likely_spilled_retval_p): (Ditto.).
15309 * mode-switching.c. Include 'target.h'.
15310 (create_pre_exit): Use function_value_regno_p hook.
15311 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
15312 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
15313 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
15314
15315 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
15316 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
15317 (ix86_function_value_regno_p): Declare as static, change argument
15318 type to const unsigned int.
15319 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
15320
bab4d587
RG
153212010-05-01 Richard Guenther <rguenther@suse.de>
15322
15323 PR tree-optimization/43949
15324 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
15325 types.
15326 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
15327
3e93ff81
AS
153282010-05-01 Anatoly Sokolov <aesok@post.ru>
15329
15330 * rtl.h (CONST_DOUBLE_P): Define.
15331 (rtx_to_double_int): Declare.
15332 * emit-rtl.c (rtx_to_double_int): New function.
15333 * dwarf2out.c (insert_double): New function.
15334 (loc_descriptor, add_const_value_attribute): Clean up, use
15335 rtx_to_double_int and insert_double functions.
15336
bcbc9564
JW
153372010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
15338
15339 * doc/extend.texi (Inline): Add missing return keyword to examples.
15340 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
15341 "command-line".
15342
ce276b61
EB
153432010-04-30 Eric Botcazou <ebotcazou@adacore.com>
15344
15345 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
15346 the variable part of the offset as well. Use highest_pow2_factor for
15347 all alignment checks.
15348
82677400
RB
153492010-04-30 Richard Guenther <rguenther@suse.de>
15350
15351 PR tree-optimization/43879
15352 * tree-ssa-structalias.c (type_could_have_pointers): Functions
15353 can have pointers.
15354
cd71491e
JH
153552010-04-30 Jan Hubicka <jh@suse.cz>
15356
82677400
RB
15357 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
15358 varpool.
cd71491e
JH
15359 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
15360
ace72c88
JH
153612010-04-30 Jan Hubicka <jh@suse.cz>
15362
82677400
RB
15363 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
15364 New.
ace72c88
JH
15365 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
15366 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
15367 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
15368 cgraph_node_set_needs_ltrans_p): Remove.
15369
b6feb796
SB
153702010-04-30 Steven Bosscher <steven@gcc.gnu.org>
15371
15372 * sdbout.c: Include vec.h, do not include varray.h.
15373 (deferred_global_decls, sdbout_global_decl,
15374 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
15375 * toplev.c: Do not include varray.h.
15376 (dump_memory_report): Do not dump VARRAY statistics.
15377 * gengtype.c (open_base_file): Ignore varray.h.
15378 * Makefile.in: Update for abovementioned changes.
15379 Remove all traces of varray.c and varray.h.
15380 * varray.c: Remove file.
15381 * varray.h: Remove file.
15382
05575e07
JH
153832010-04-30 Jan Hubicka <jh@suse.cz>
15384
15385 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
15386 references.
15387
9c6e0798
JH
153882010-04-30 Jan Hubicka <jh@suse.cz>
15389
15390 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
15391 needed.
15392
47d8a903
RG
153932010-04-30 Richard Guenther <rguenther@suse.de>
15394
15395 * tree-ssa-structalias.c (get_constraint_for_1): Generate
15396 constraints for CONSTRUCTOR.
15397
b6050cb7
RG
153982010-04-30 Richard Guenther <rguenther@suse.de>
15399
15400 PR lto/43946
15401 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
15402 first after all lowering passes.
15403
9aae8d16
SB
154042010-04-30 Steven Bosscher <steven@gcc.gnu.org>
15405
15406 * toplev.c: Include varray.h for statistics dumping.
15407 * tree.h: Do not declare varray_head_tag.
15408 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
15409 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
15410 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
15411 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
15412 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
15413 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
15414 c-common.c, c-common.h, reg-stack.c, basic-block.h,
15415 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
15416 include varray.h.
15417 * Makefile.in: Update for abovementioned changes.
15418
a07ecd2b
JJ
154192010-04-30 Jakub Jelinek <jakub@redhat.com>
15420
15421 PR debug/43942
15422 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
15423
41700fc3
HS
154242010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
15425
15426 * config/picochip/picochip.c (picochip_legitimize_address): Define.
15427 Use this function to do machine-specific conversion.
15428 (picochip_legitimize_reload_address): Likewise.
15429 (picochip_legitimate_address_p): Check valid base register only if
15430 strict.
15431 (picochip_check_conditional_copy): Check for modw only if opnd is
15432 register.
15433 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
15434 to call the function in c.
15435 * config/picochip/picochip-protos.h
15436 (picochip_legitimize_reload_address): Define.
15437 * config/picochip/picochip.md (supported_compare1): Define.
15438
8b4765bf
JH
154392010-04-30 Jan Hubicka <jh@suse.cz>
15440
15441 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
15442 (cgraph_global_info): Remove inlined.
15443 (LTO_cgraph_tag_names): Remove.
15444 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
15445 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
15446 simplify cgraph tags and document.
15447 (lto_output_node): Use only LTO_cgraph_unavail_node and
15448 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
35c59d9c 15449 for_functions_valid, global info, process and output flags.
8b4765bf 15450 (input_overwrite_node): Initialize estimated stack size and
35c59d9c 15451 estimated growth. Do not read flags we no longer store.
8b4765bf
JH
15452 (input_node): Likewise do not read info no longer stored.
15453 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
15454 flag.
15455
4be68d9a
RG
154562010-04-30 Richard Guenther <rguenther@suse.de>
15457
15458 PR tree-optimization/43879
15459 * tree-ssa-structalias.c (get_constraint_for_1): Properly
15460 handle non-zero initializers.
15461
06468254
RG
154622010-04-30 Richard Guenther <rguenther@suse.de>
15463
15464 * builtins.c (fold_builtin_1): Delete free (0).
15465
8b4765bf 154662010-04-29 Jan Hubicka <jh@suse.cz>
49ba8180
JH
15467
15468 * gengtype.c (open_base_files): Add lto-streamer.h
15469 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
15470 (pass_ipa_cp): GGC collect.
15471 * toplev. (compile_file): Do not output symbols.
15472 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
15473 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
15474 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
15475 * lto-section-in.c: Include ggc.h
15476 (lto_new_in_decl_state): Alloc in GGC.
15477 (lto_delete_in_decl_state): Likewise.
35c59d9c
UB
15478 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
15479 Collect.
49ba8180 15480
5a733826
BS
154812010-04-29 Bernd Schmidt <bernds@codesourcery.com>
15482
15483 PR target/42895
15484 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
15485 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
15486 (HONOR_REG_ALLOC_ORDER): Describe new macro.
15487 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
15488 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
15489 account only if HONOR_REG_ALLOC_ORDER is not defined.
15490 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
15491 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
35c59d9c
UB
15492
154932010-04-29 Jon Grant <04@jguk.org>
15494
7c6d86cc
JG
15495 * collect2.c (vflag): Change type from int to bool.
15496 (debug): Likewise.
15497 (helpflag): New global bool.
35c59d9c
UB
15498 (main): Set vflag and debug with boolean, not integer truth values.
15499 Accept new "--help" option and output usage text if found.
7c6d86cc
JG
15500 * collect2.h (vflag): Update prototype.
15501 (debug): Likewise.
35c59d9c 15502
55040b34
L
155032010-04-29 H.J. Lu <hongjiu.lu@intel.com>
15504
716a3481 15505 PR bootstrap/43936
35c59d9c 15506 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
55040b34 15507
46e70c4e
RG
155082010-04-29 Richard Guenther <rguenther@suse.de>
15509
15510 PR bootstrap/43935
15511 * plugin.h (invoke_plugin_callbacks): Annotate arguments
15512 with ATTRIBUTE_UNUSED.
15513
0d0539f0
L
155142010-04-29 H.J. Lu <hongjiu.lu@intel.com>
15515
15516 PR target/43921
15517 * config/i386/i386.c (get_some_local_dynamic_name): Replace
15518 INSN_P with NONDEBUG_INSN_P.
15519 (distance_non_agu_define): Likewise.
15520 (distance_agu_use): Likewise.
15521
8e5f0b49
BS
155222010-04-29 Bernd Schmidt <bernds@codesourcery.com>
15523
15524 From Dominique d'Humieres <dominiq@lps.ens.fr>
15525 PR bootstrap/43858
15526 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
15527 test_set.
15528
35c59d9c 155292010-04-29 Brian Hackett <bhackett1024@gmail.com>
efda3807
BH
15530
15531 * plugin.h (invoke_plugin_callbacks): New inline function.
15532 * plugin.c (flag_plugin_added): New global flag.
15533 (add_new_plugin): Initialize above flag.
15534 (invoke_plugin_callbacks): Rename to ...
15535 (invoke_plugin_callbacks_full): ... this.
15536
2942c502
JH
155372010-04-28 Jan Hubicka <jh@suse.cz>
15538
15539 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
15540 (lto_varpool_replace_node): New.
15541 (lto_symtab_resolve_symbols): Resolve varpool nodes.
15542 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
15543 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
15544 * cgraph.h (varpool_node_ptr): New type.
15545 (varpool_node_ptr): New vector.
15546 (varpool_node_set_def): New structure.
15547 (varpool_node_set): New type.
15548 (varpool_node_set): New vector.
15549 (varpool_node_set_element_def): New structure.
15550 (varpool_node_set_element, const_varpool_node_set_element): New types.
15551 (varpool_node_set_iterator): New type.
15552 (varpool_node): Add prev pointers, add used_from_other_partition,
15553 in_other_partition.
15554 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
15555 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
15556 varpool_get_node, varpool_remove_node): Declare.
15557 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
15558 varpool_node_set_size): New inlines.
15559 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
15560 * tree-pass.h (varpool_node_set_def): Forward declare.
15561 (ipa_opt_pass_d): Summary writting takes vnode sets too.
15562 (ipa_write_optimization_summaries): Update prototype.
15563 * ipa-cp.c (ipcp_write_summary): Update.
15564 * ipa-reference.c (ipa_reference_write_summary): Update.
15565 * lto-cgraph.c (lto_output_varpool_node): New static function.
15566 (output_varpool): New function.
15567 (input_varpool_node): New static function.
15568 (input_varpool_1): New function.
15569 (input_cgraph): Input varpool.
15570 * ipa-pure-const.c (pure_const_write_summary): Update.
15571 * lto-streamer-out.c (lto_output): Update, output varpool too.
15572 (write_global_stream): Kill WPA hack.
15573 (produce_asm_for_decls): Update.
15574 (output_alias_pair_p): Handle variables.
15575 (output_unreferenced_globals): Output only needed partition of varpool.
15576 * ipa-inline.c (inline_write_summary): Update.
35c59d9c
UB
15577 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
15578 cgraph.
2942c502
JH
15579 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
15580 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
15581 varpool_node_set_new, varpool_node_set_add,
15582 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
15583 debug_varpool_node_set): New functions.
15584 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
15585 (execute_one_pass): Process new decls too.
15586 (ipa_write_summaries_2): Pass around vsets.
15587 (ipa_write_summaries_1): Likewise.
15588 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
15589 to add.
15590 (ipa_write_optimization_summaries_1): Pass around vsets.
15591 (ipa_write_optimization_summaries): Likewise.
15592 * varpool.c (varpool_get_node): New.
15593 (varpool_node): Update doubly linked lists.
15594 (varpool_remove_node): New.
15595 (dump_varpool_node): More dumping.
15596 (varpool_enqueue_needed_node): Update doubly linked lists.
15597 (decide_is_variable_needed): Kill ltrans hack.
15598 (varpool_finalize_decl): Kill lto hack.
15599 (varpool_assemble_decl): Skip decls in other partitions.
15600 (varpool_assemble_pending_decls): Update doubly linkes lists.
15601 (varpool_empty_needed_queue): Likewise.
15602 (varpool_extra_name_alias): Likewise.
15603 * lto-streamer.c (lto_get_section_name): Add vars section.
15604 * lto-streamer.h (lto_section_type): Update.
15605 (output_varpool, input_varpool): Declare.
15606
da7f2697
MS
156072010-04-28 Mike Stump <mikestump@comcast.net>
15608
74ca3393 15609 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
da7f2697 15610
91eace2b
EB
156112010-04-28 Eric Botcazou <ebotcazou@adacore.com>
15612
15613 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
15614 record or union type with RECORD_OR_UNION_TYPE_P predicate.
15615 (lto_input_ts_type_tree_pointers): Likewise.
15616 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
15617 (lto_output_ts_type_tree_pointers): Likewise.
15618
8478130d
EB
156192010-04-28 Eric Botcazou <ebotcazou@adacore.com>
15620
15621 Uniquization of constants at the Tree level
20225a9b 15622 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
8478130d
EB
15623 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
15624 bit to the end.
15625 (tree_output_constant_def): Declare.
20225a9b 15626 * gimplify.c (gimplify_init_constructor): When using block copy, first
8478130d 15627 uniquize the constant constructor on the RHS.
20225a9b
EB
15628 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
15629 DECL_IN_CONSTANT_POOL flag.
8478130d 15630 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
20225a9b
EB
15631 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
15632 constant pool.
8478130d
EB
15633 (assemble_variable): Deal with symbols belonging to the tree constant
15634 pool.
15635 (get_constant_section): Add ALIGN parameter and simplify.
15636 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
15637 (assemble_constant_contents): Use the expression of the VAR_DECL.
15638 (output_constant_def_contents): Use the alignment of the VAR_DECL.
15639 (tree_output_constant_def): New global function.
15640 (mark_constant): Use the expression of the VAR_DECL.
20225a9b
EB
15641 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
15642 its expression.
8478130d
EB
15643 (output_object_block): Likewise and assemble the expression.
15644
331c7fcd
EB
156452010-04-28 Eric Botcazou <ebotcazou@adacore.com>
15646
15647 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
15648 hash_tree, eq_tree): New tree hash table.
15649 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
15650 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
15651 lto_orig_address_remove): Reimplement.
15652
34f97b94
XDL
156532010-04-28 Xinliang David Li <davidxl@google.com>
15654
15655 PR c/42643
15656 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
15657 (compute_uninit_opnds_pos): New function.
15658 (is_non_loop_exit_postdominating): New function.
15659 (compute_control_dep_chain): New function.
15660 (find_pdom): New function.
15661 (convert_control_dep_chain_into_preds): New function.
15662 (find_predicates): New function.
15663 (find_control_equiv_block): New function.
15664 (collect_phi_def_edges): New function.
15665 (find_def_preds): New function.
15666 (find_dom): New function.
15667 (dump_predicates): New function.
15668 (get_cmp_code): New function.
15669 (is_value_included_in): New function.
15670 (find_matching_predicate_in_rest_chains): New function.
15671 (use_pred_not_overlap_with_undef_path_pred): New function.
15672 (is_use_properly_guarded): New function.
15673 (normalize_cond_1): New function.
15674 (is_and_or_or): New function.
15675 (normalize_cond): New function.
15676 (is_gcond_subset_of): New function.
15677 (is_subset_of_any): New function.
15678 (is_or_set_subset_of): New function.
15679 (is_and_set_subset_of): New function.
15680 (is_norm_cond_subset_of): New function.
15681 (is_pred_expr_subset_of): New function.
15682 (is_pred_chain_subset_of): New function.
15683 (is_included_in): New function.
15684 (is_superset_of): New function.
15685 (find_uninit_use): New function.
15686 (warn_uninitialized_phi): New function.
15687 (compute_possibly_undefined_names): New function.
15688 (ssa_undefined_value_p): New function.
15689 (execute_late_warn_uninitialized): New function.
15690 * tree-ssa.c (ssa_undefined_value_p): Removed.
15691 (warn_uninit): Changed to extern.
15692 (warn_uninitialized_phi): Removed.
15693 (warn_uninitialized_vars): Changed to extern.
15694 (execute_late_warn_uninitialized): Removed
15695 * tree-flow.h: Add new prototypes.
15696 * timevar.def: Add new time variable.
15697 * Makefile.in: Add new build file.
15698
85fac79c
UB
156992010-04-28 Uros Bizjak <ubizjak@gmail.com>
15700
15701 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
15702 type if available.
15703
902a51a1
RO
157042010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15705
15706 PR target/22224
15707 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
15708
e33c6cd6
MJ
157092010-04-28 Martin Jambor <mjambor@suse.cz>
15710
15711 * cgraph.h (struct cgraph_node): New field indirect_calls.
15712 (struct cgraph_indirect_call_info): New type.
15713 (struct cgraph_edge): Removed field indirect_call. New fields
15714 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
15715 (cgraph_create_indirect_edge): Declare.
15716 (cgraph_make_edge_direct): Likewise.
15717 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
15718 * ipa-prop.h (struct ipa_param_call_note): Removed.
15719 (struct ipa_node_params): Removed field param_calls.
15720 (ipa_create_all_structures_for_iinln): Declare.
15721 * cgraph.c: Described indirect edges and uids in initial comment.
15722 (cgraph_add_edge_to_call_site_hash): New function.
15723 (cgraph_edge): Search also among the indirect edges, use
15724 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
15725 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
15726 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
15727 site hash.
15728 (initialize_inline_failed): Assign a reason to indirect edges.
15729 (cgraph_create_edge_1): New function.
15730 (cgraph_create_edge): Moved some functionality to
15731 cgraph_create_edge_1.
15732 (cgraph_create_indirect_edge): New function.
15733 (cgraph_edge_remove_callee): Add an assert checking for
15734 non-indirectness.
15735 (cgraph_edge_remove_caller): Special-case indirect edges.
15736 (cgraph_remove_edge): Likewise.
15737 (cgraph_set_edge_callee): New function.
15738 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
15739 (cgraph_make_edge_direct): New function.
15740 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
15741 the declaration of the call statement matches.
15742 (cgraph_node_remove_callees): Special-case indirect edges.
15743 (cgraph_clone_edge): Likewise.
15744 (cgraph_clone_node): Clone also the indirect edges.
15745 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
15746 indirect_call, dump count of indirect_calls edges.
15747 * ipa-prop.c (iinlining_processed_edges): New variable.
15748 (ipa_note_param_call): Create indirect edges instead of
15749 creating notes. New parameter node.
15750 (ipa_analyze_call_uses): New parameter node, pass it on to
15751 ipa_note_param_call.
15752 (ipa_analyze_stmt_uses): Likewise.
15753 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
15754 (print_edge_addition_message): Work on edges rather than on notes.
15755 (update_call_notes_after_inlining): Likewise, renamed to
15756 update_indirect_edges_after_inlining.
15757 (ipa_create_all_structures_for_iinln): New function.
15758 (ipa_free_node_params_substructures): Do not free notes.
15759 (ipa_edge_duplication_hook): Propagate bits within
15760 iinlining_processed_edges bitmap.
15761 (ipa_node_duplication_hook): Do not duplicate notes.
15762 (free_all_ipa_structures_after_ipa_cp): Renamed to
15763 ipa_free_all_structures_after_ipa_cp.
15764 (free_all_ipa_structures_after_iinln): Renamed to
62e59133 15765 ipa_free_all_structures_after_iinln.
e33c6cd6
MJ
15766 (ipa_write_param_call_note): Removed.
15767 (ipa_read_param_call_note): Removed.
15768 (ipa_write_indirect_edge_info): New function.
15769 (ipa_read_indirect_edge_info): Likewise.
15770 (ipa_write_node_info): Do not stream notes, do stream information
15771 in indirect edges.
15772 (ipa_read_node_info): Likewise.
15773 (lto_ipa_fixup_call_notes): Removed.
15774 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
15775 * ipa-inline.c (pass_ipa_inline): Likewise.
15776 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
15777 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
15778 * tree-inline.c (copy_bb): Removed an unnecessary double check for
15779 is_gimple_call.
15780 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
15781 edges.
15782 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
15783 (output_cgraph): Stream also indirect edges.
15784 (lto_output_edge): Added capability to stream indirect edges.
15785 (input_edge): Likewise.
15786 (input_cgraph_1): Likewise.
f3d1b157
MJ
15787 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
15788 of indirect edges.
e33c6cd6 15789
18abb35e
RG
157902010-04-28 Richard Guenther <rguenther@suse.de>
15791
15792 PR tree-optimization/43879
15793 PR tree-optimization/43909
15794 * tree-ssa-structalias.c (struct variable_info): Add
15795 only_restrict_pointers flag.
15796 (new_var_info): Initialize it. Increment stats.total_vars here.
62e59133 15797 (create_function_info_for): Do not increment stats.total_vars here.
18abb35e
RG
15798 (get_function_part_constraint): Fix build with C++.
15799 (insert_into_field_list): Remove.
15800 (push_fields_onto_fieldstack): Properly merge fields.
15801 (create_variable_info_for): Split and simplify.
15802 (create_variable_info_for_1): New piece.
15803 (intra_create_variable_infos): Properly make restrict constraints
15804 from parameters.
15805
c718820a
RG
158062010-04-28 Richard Guenther <rguenther@suse.de>
15807
15808 PR c++/43880
35c59d9c 15809 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
c718820a 15810
5dc16b19
MLI
158112010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
15812 Jan Hubicka <hubicka@ucw.cz>
15813
15814 * doc/invoke.texi (-Wsuggest-attribute=const,
15815 -Wsuggest-attribute=pure): Document.
15816 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
15817 (function_always_visible_to_compiler_p,
15818 suggest_attribute, warn_function_pure, warn_function_const):
15819 New functions.
15820 (check_call): Improve debug info.
15821 (analyze_function): Do not check availability.
15822 (add_new_function): Check availability.
15823 (propagate): Output warnings.
15824 (skip_function_for_local_pure_const): New function.
15825 (local_pure_const): Use it; output warnings.
15826 * common.opt (Wsuggest-attribute=const,
15827 Wsuggest-attribute=pure): New.
15828
78b41ae2
JJ
158292010-04-27 Jakub Jelinek <jakub@redhat.com>
15830
15831 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
15832 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
15833 or DW_CFA_def_cfa_offset{,_sf}.
15834
62107106
EB
158352010-04-27 Eric Botcazou <ebotcazou@adacore.com>
15836
15837 * tree.h: Fix truncated long macros.
15838
ad211091
KT
158392010-04-27 Kai Tietz <kai.tietz@onevision.com>
15840
15841 * collect2.c (TARGET_64BIT): Redefine to target's default.
15842 * tlink.c: Likewise.
15843 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
15844 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
15845 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
15846 for underscoring __USER_LABEL_PREFIX__.
15847 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
15848 (SUB_LINK_ENTRY32): New.
15849 (SUB_LINK_ENTRY64): New.
85fac79c 15850 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
ad211091
KT
15851 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
15852 (SUB_LINK_ENTRY64): New.
15853 (SUB_LINK_ENTRY): New.
15854 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
15855 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
15856 x64 target is choosen.
15857 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
15858 * configure: Regenerated.
15859 * configure.ac (leading-mingw64-underscores): Option added.
15860
e65bb9be
JH
158612010-04-27 Jan Hubicka <jh@suse.cz>
15862
15863 * doc/invoke.texi (-fipa-profile): Document.
15864 * opts.c (decode_options): Enable ipa-profile at -O1.
15865 * timevar.def (TV_IPA_PROFILE): Define.
15866 * common.opt (fipa-profile): Add.
62107106
EB
15867 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
15868 flag for clones.
e65bb9be
JH
15869 (cgraph_propagate_frequency): Handle only local ones.
15870 * tree-pass.h (pass_ipa_profile): Declare.
15871 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
15872 (pass_ipa_profile): Use TV_IPA_PROFILE.
15873 * ipa.c (ipa_profile): New function.
15874 (gate_ipa_profile): Likewise.
15875 (pass_ipa_profile): New global variable.
15876 * passes.c (pass_ipa_profile): New.
15877
8606c81d
NF
158782010-04-27 Nathan Froyd <froydnj@codesourcery.com>
15879
15880 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
15881
78eaf7bf
MJ
158822010-04-27 Martin Jambor <mjambor@suse.cz>
15883
15884 PR middle-end/43812
15885 * ipa.c (dissolve_same_comdat_group_list): New function.
15886 (function_and_variable_visibility): Call
15887 dissolve_same_comdat_group_list when comdat group contains external or
15888 newly local nodes.
15889 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
15890 lists are circular and that they contain only DECL_ONE_ONLY nodes.
15891
5b56d3bb
EB
158922010-04-27 Eric Botcazou <ebotcazou@adacore.com>
15893
15894 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
15895 (const_hash_1) <VECTOR_CST>: New case.
15896 (compare_constant) <VECTOR_CST>: Likewise.
15897 <ADDR_EXPR>: Deal with LABEL_REFs.
15898 (copy_constant) <VECTOR_CST>: New case.
15899
fa5f5e27
JH
159002010-04-27 Jan Hubicka <jh@suse.cz>
15901
15902 * cgraph.c (cgraph_propagate_frequency): New function.
15903 * cgraph.h (cgraph_propagate_frequency): Declare.
15904 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
15905 cgraph_propagate_frequency.
15906
934f5b42
JJ
159072010-04-27 Jakub Jelinek <jakub@redhat.com>
15908
15909 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
15910
cb751cbd
BS
159112010-04-27 Bernd Schmidt <bernds@codesourcery.com>
15912
15913 PR target/40657
15914 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
15915 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
15916 here to determine which regs to push and how much stack to reserve.
15917
a5027830
JZ
159182010-04-27 Jie Zhang <jie@codesourcery.com>
15919
15920 * doc/gimple.texi (gimple_statement_with_ops): Remove
15921 addresses_taken field.
15922 (gimple_statement_with_memory_ops): Likewise.
15923
d89488ec
JH
159242010-04-27 Jan Hubicka <jh@suse.cz>
15925
15926 * tree-inline.c (eni_inlining_weights): Remove.
15927 (estimate_num_insns): Special case more builtins.
15928
637f1455 159292010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
85fac79c 15930
637f1455
SZ
15931 PR c/32207
15932 * c-typeck.c (build_binary_op): Move forward check for comparison
15933 pointer with null pointer constant and adjust the diagnostic message.
15934
f0423078
DK
159352010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
15936
15937 PR lto/42776
15938 * configure.ac (gcc_cv_as_section_has_align): Set if installed
15939 binutils supports extended .section directive needed by LTO, or
15940 warn if older binutils found.
15941 (LTO_BINARY_READER): New AC_SUBST'd variable.
15942 (LTO_USE_LIBELF): Likewise.
15943 * gcc/config.gcc (lto_binary_reader): New target-specific configure
15944 variable.
15945 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
15946 (LTO_USE_LIBELF): Likewise.
15947 * configure: Regenerate.
15948
15949 * collect2.c (is_elf): Rename from this ...
15950 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
15951 object files in addition to ELF-formatted ones.
15952 (scan_prog_file): Caller updated. Also allow for LTO info marker
15953 symbol to be prefixed or not by an extra underscore.
15954
15955 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
15956 * config/i386/winnt.c: Also #include lto-streamer.h
15957 (i386_pe_asm_named_section): Specify 1-byte section alignment for
15958 LTO named sections.
15959 (i386_pe_asm_output_aligned_decl_common): Add comment.
15960 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
15961
68e87fc9
HPN
159622010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
15963
45c384e3 15964 PR target/43889
68e87fc9
HPN
15965 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
15966 Add missing earlyclobber for second alternative.
15967
823ff7b4
BS
159682010-04-26 Bernd Schmidt <bernds@codesourcery.com>
15969
15970 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
15971 bits for artificial defs at the top of the block.
15972 * fwprop.c (single_def_use_enter_block): Don't call it.
15973
1637c2e1 159742010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
9ec69d2e
JH
15975
15976 PR 43715
15977 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
15978 instead of "$gcc_cv_objdump -T".
15979 Use "-undefined dynamic_lookup" on darwin.
15980 * gcc/configure: Regenerate.
15981
b83a701b
JJ
159822010-04-26 Jakub Jelinek <jakub@redhat.com>
15983
15984 PR c/43893
15985 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
15986
8415f317
NF
159872010-04-26 Nathan Froyd <froydnj@codesourcery.com>
15988
15989 * c-parser.c (struct c_token): Move location field up.
15990 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
15991 (struct c_declspecs): Convert typespec_word, storage_class, and
15992 default_int_p into bitfields.
15993 (struct c_declarator): Move loc field up.
15994
448f65db
NF
159952010-04-26 Nathan Froyd <froydnj@codesourcery.com>
15996
15997 * cfgloop.h (struct loop): Move can_be_parallel field up.
15998 * ipa-prop.h (struct ip_node_params): Move bitfields up.
15999 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
16000 down.
16001 (struct iv_cand): Convert pos field into a bitfield.
16002 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
16003 field up.
16004 (struct _stmt_vec_info): Shuffle fields for better packing.
16005
736865e1
EB
160062010-04-26 Eric Botcazou <ebotcazou@adacore.com>
16007
16008 * varasm.c (IN_NAMED_SECTION): Remove guard.
16009 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
16010 (IN_NAMED_SECTION_P): ...this.
16011 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
16012 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
16013
06ec59e6
EB
160142010-04-26 Eric Botcazou <ebotcazou@adacore.com>
16015
16016 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
16017 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
16018 of shadowing it. Fix comments.
16019
5fefcf92
JH
160202010-04-26 Jan Hubicka <jh@suse.cz>
16021
16022 * cgraph.c (cgraph_create_node): Set node frequency to normal.
16023 (cgraph_clone_node): Copy function frequency.
16024 * cgraph.h (node_frequency): New enum
16025 (struct cgraph_node): Add.
16026 * final.c (rest_of_clean_state): Update.
16027 * lto-cgraph.c (lto_output_node): Output node frequency.
16028 (input_overwrite_node): Input node frequency.
16029 * tre-ssa-loop-ivopts (computation_cost): Update.
06ec59e6
EB
16030 * lto-streamer-out.c (output_function): Do not output function
16031 frequency.
16032 * predict.c (maybe_hot_frequency_p): Update and handle functions
16033 executed once.
5fefcf92
JH
16034 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
16035 attribute lookup.
16036 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
06ec59e6
EB
16037 (compute_function_frequency): Set noreturn functions to be executed
16038 once.
5fefcf92
JH
16039 (choose_function_section): Update.
16040 * lto-streamer-in.c (input_function): Do not input function frequency.
06ec59e6
EB
16041 * function.c (allocate_struct_function): Do not initialize function
16042 frequency.
5fefcf92
JH
16043 * function.h (function_frequency): Remove.
16044 (struct function): Remove function frequency.
16045 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
16046 (try_update): Update.
16047 * tree-inline.c (initialize_cfun): Do not update function frequency.
16048 * passes.c (pass_init_dump_file): Update.
16049 * i386.c (ix86_compute_frame_layout): Update.
16050 (ix86_pad_returns): Update.
16051
330af32c
JZ
160522010-04-26 Jie Zhang <jie@codesourcery.com>
16053
16054 PR tree-optimization/43833
16055 * tree-vrp.c (range_int_cst_p): New.
16056 (range_int_cst_singleton_p): New.
16057 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
16058 when both operands are constants. Use range_int_cst_p in
16059 BIT_IOR_EXPR case.
16060
ae2b0888
JH
160612010-04-26 Jan Hubicka <jh@suse.cz>
16062
16063 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
16064
98b2dfbb
RG
160652010-04-26 Richard Guenther <rguenther@suse.de>
16066
16067 PR lto/43080
16068 * gimple.c (gimple_decl_printable_name): Deal gracefully
16069 with a NULL DECL_NAME.
16070
1ae3075b
RG
160712010-04-26 Richard Guenther <rguenther@suse.de>
16072
16073 PR lto/42425
16074 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
16075 if emitting debug information and it is either a function
16076 or a namespace decl.
16077
4b5caab7
IR
160782010-04-26 Ira Rosen <irar@il.ibm.com>
16079
85fac79c
UB
16080 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
16081 determine if the statement is vectorizable, and a macro to access it.
16082 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
16083 Skip statements that can't be vectorized. If the analysis fails,
16084 mark the statement as unvectorizable if vectorizing basic block.
4b5caab7 16085 (vect_compute_data_refs_alignment): Likewise.
85fac79c 16086 (vect_verify_datarefs_alignment): Skip statements marked as
4b5caab7 16087 unvectorizable. Add print.
85fac79c
UB
16088 (vect_analyze_group_access): Skip statements that can't be
16089 vectorized. If the analysis fails, mark the statement as
4b5caab7 16090 unvectorizable if vectorizing basic block.
85fac79c
UB
16091 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
16092 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4b5caab7
IR
16093 generated stmts for SLP.
16094 (new_stmt_vec_info): Initialize the new field.
85fac79c 16095 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4b5caab7
IR
16096 statements marked as unvectorizable.
16097
2778d766
JM
160982010-04-25 Joseph Myers <joseph@codesourcery.com>
16099
16100 * c-common.c (flag_isoc1x): New.
16101 (flag_isoc99): Update comment.
16102 * c-common.h (flag_isoc1x): New.
16103 (flag_isoc99): Update comment.
16104 * c-cppbuiltin.c (builtin_define_float_constants): Also define
16105 __<type>_DECIMAL_DIG__.
16106 * c-opts.c (set_std_c1x): New.
16107 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
16108 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
16109 * c.opt (-std=c1x, -std=gnu1x): New options.
16110 * doc/cpp.texi: Mention -std=c1x.
16111 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
16112 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
16113 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
16114 * doc/standards.texi: Mention C1X.
16115 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
16116 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
16117 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
16118 Define for C1X.
16119
3d416346
UB
161202010-04-25 Uros Bizjak <ubizjak@gmail.com>
16121
16122 * config/i386/gmon-sol2.c (_mcleanup): Change format string
16123 placeholder from 0x%x to %#x.
16124 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
16125 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
16126 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
16127 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
16128 * config/i386/i386.c (ix86_target_string): Ditto.
16129 (output_pic_addr_const): Ditto.
16130 (print_operand): Ditto.
16131
910ed7dc
PB
161322010-04-25 Paolo Bonzini <bonzini@gnu.org>
16133
16134 * combine.c (find_split_point): Add third argument. Use it
16135 to find nested multiply-accumulate instructions. Adjust calls.
16136 (try_combine): Adjust call to find_split_point.
16137
423b2799
GP
161382010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
16139
16140 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
16141
27d0d96a
BS
161422010-04-24 Bernd Schmidt <bernds@codesourcery.com>
16143
16144 PR tree-optimization/41442
16145 * fold-const.c (merge_truthop_with_opposite_arm): New function.
16146 (fold_binary_loc): Call it.
16147
c7d0de89
MLI
161482010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
16149
3d416346 16150 * toplev.c (general_init): Set default for fdiagnostics-show-option.
c7d0de89 16151 * opts.c (common_handle_option): Allow disabling it.
3d416346
UB
16152 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
16153
915f5921
EB
161542010-04-23 Eric Botcazou <ebotcazou@adacore.com>
16155
16156 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
16157 between modes if both types are integral.
16158
4e708ff7
RG
161592010-04-23 Richard Guenther <rguenther@suse.de>
16160
16161 PR tree-optimization/43572
16162 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
16163
8fd8a06f
RG
161642010-04-23 Richard Guenther <rguenther@suse.de>
16165
16166 PR lto/43455
16167 * tree-inline.c (tree_can_inline_p): Also check compatibility
16168 of return types.
16169
77620011
MJ
161702010-04-23 Martin Jambor <mjambor@suse.cz>
16171
16172 PR tree-optimization/43846
16173 * tree-sra.c (struct access): New flag grp_assignment_read.
16174 (build_accesses_from_assign): Set grp_assignment_read.
16175 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
16176 (enum mark_read_status): New type.
16177 (analyze_access_subtree): Propagate grp_assignment_read, create
16178 accesses also if both direct_read and root->grp_assignment_read.
16179
5c20baf1
MJ
161802010-04-23 Martin Jambor <mjambor@suse.cz>
16181
16182 PR middle-end/43835
16183 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
16184 function does not have type attributes.
16185
c67f69a3
RG
161862010-04-23 Richard Guenther <rguenther@suse.de>
16187
16188 PR lto/42653
16189 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
16190 of FUNCTION_DECLs.
16191
086058c2
LB
161922010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
16193
16194 * sese.h (create_if_region_on_edge): Remove.
16195
16196 * sese.c (create_if_region_on_edge): Make static.
16197
16198 * tree-inline.c: Do not include ggc.h.
16199
16200 * expr.c: Do not include ggc.h.
16201
16202 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
16203 dependencies.
16204
fc9c984d
KK
162052010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
16206
16207 PR target/43744
16208 * config/sh/sh.c (find_barrier): Don't emit a constant pool
16209 in the middle of insns for casesi_worker_2.
16210
cf42f095
DE
162112010-04-22 David Edelsohn <edelsohn@gnu.org>
16212
16213 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
16214
162152010-04-22 Ira Rosen <irar@il.ibm.com>
74500b3e 16216
5bdd895c 16217 PR tree-optimization/43842
d5dceab8 16218 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
74500b3e
IR
16219 loop unrolling in update of exit phis. Fix comment.
16220 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
d5dceab8 16221 least two reduction statements in the loop before starting SLP
74500b3e
IR
16222 analysis.
16223
d5f4a527
NC
162242010-04-22 Nick Clifton <nickc@redhat.com>
16225
16226 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
16227
44741f03
AM
162282010-04-22 Alexander Monakov <amonakov@ispras.ru>
16229
16230 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
16231 to simplify a + ~a.
16232
f873b205
LB
162332010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
16234
16235 * tree-parloops.c (loop_parallel_p): New argument
16236 parloop_obstack. Pass it down.
16237 (parallelize_loops): New variable parloop_obstack. Initialize it,
16238 pass it down, free it.
16239
16240 * tree-loop-linear.c (linear_transform_loops): Pass down
16241 lambda_obstack.
16242
16243 * tree-data-ref.h (lambda_compute_access_matrices): New argument
16244 of type struct obstack *.
16245
16246 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
16247 scratch_obstack. Initialize it, pass down, free it.
16248
16249 * lambda.h (lambda_loop_new): Remove.
16250 (lambda_matrix_new, lambda_matrix_inverse)
16251 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
16252 argument of type struct obstack *.
16253
16254 * lambda-trans.c (lambda_trans_matrix_new): New argument
16255 lambda_obstack. Pass it down, use obstack allocation for ret.
16256 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
16257 it down.
16258
16259 * lambda-mat.c (lambda_matrix_get_column)
16260 (lambda_matrix_project_to_null): Remove.
16261 (lambda_matrix_new): New argument lambda_obstack. Use obstack
16262 allocation for mat.
16263 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
16264 lambda_obstack.
16265
16266 * lambda-code.c (lambda_loop_new): New function.
16267 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
16268 (lambda_compute_auxillary_space, lambda_compute_target_space)
16269 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
16270 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
16271 (build_access_matrix): New argument lambda_obstack. Use obstack
16272 allocation for am.
16273 (lambda_compute_step_signs, lambda_compute_access_matrices): New
16274 argument lambda_obstack. Pass it down.
16275
b99279f3
BS
162762010-04-22 Bernd Schmidt <bernds@codesourcery.com>
16277
16278 * optabs.h (expand_widening_mult): Declare.
16279
b3be2694
RG
162802010-04-22 Richard Guenther <rguenther@suse.de>
16281
16282 PR tree-optimization/43845
16283 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
16284 lookup the CALL_EXPR function and arguments.
16285
038eab67
NC
162862010-04-22 Nick Clifton <nickc@redhat.com>
16287
16288 * config/stormy16/stormy16.c
d5dceab8 16289 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
038eab67
NC
16290 * config/stormy16/stormy16.h: Tidy up formatting.
16291 (DONT_USE_BUILTIN_SETJMP): Remove definition.
16292 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
16293 (ineqbranchsi): Delete pattern.
16294 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
16295 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
16296 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
16297 stormy16-lib2-ucmpsi2.c.
16298
907deb1a
BS
162992010-04-22 Bernd Schmidt <bernds@codesourcery.com>
16300
16301 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
16302 df_simulate_find_noclobber_defs as appropriate. Keep track of an
16303 extra set merge_set_noclobber, and use it to relax the final test
16304 slightly.
16305 * df.h (df_simulate_find_noclobber_defs): Declare.
16306 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
16307 conditional defs.
16308 (df_simulate_find_noclobber_defs): New function.
16309
6a0447ba
UB
163102010-04-22 Uros Bizjak <ubizjak@gmail.com>
16311
16312 * config/i386/i386.md: Use {} around multi-line preparation statements.
16313
a1e3b3d9
LB
163142010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
16315
16316 * c-tree.h (push_init_level, pop_init_level, set_init_index)
16317 (process_init_element): New argument of type struct obstack *.
16318
16319 * c-typeck.c (push_init_level, pop_init_level, set_designator)
16320 (set_init_index, set_init_label, set_nonincremental_init)
16321 (set_nonincremental_init_from_string, find_init_member)
16322 (output_init_element, output_pending_init_elements)
16323 (process_init_element): New argument braced_init_obstack. Pass it
16324 down.
16325 (push_range_stack, add_pending_init): New argument
16326 braced_init_obstack. Use obstack allocation.
16327
16328 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
16329 braced_init_obstack. Pass it down.
16330 (c_parser_braced_init): New variables ret, braced_init_obstack.
16331 Initialize obstack, pass it down and finally free it.
16332
5b58b39b
BS
163332010-04-22 Bernd Schmidt <bernds@codesourcery.com>
16334
16335 PR middle-end/29274
5b58b39b
BS
16336 * tree-pass.h (pass_optimize_widening_mul): Declare.
16337 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
16338 gate_optimize_widening_mul): New static functions.
16339 (pass_optimize_widening_mul): New.
3d416346 16340 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
5b58b39b
BS
16341 <case MULT_EXPR>: Remove support for widening multiplies.
16342 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
16343 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
16344 simplify_gen_unary rather than directly building extensions.
16345 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
16346 WIDEN_MULT_EXPR.
16347 * expmed.c (expand_widening_mult): New function.
16348 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
16349
bc58d7e1
JH
163502010-04-21 Jan Hubicka <jh@suse.cz>
16351
16352 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
16353 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
16354 * lto-wpa-fixup.c: Remove.
16355 * Makefile.in (lto-wpa-fixup.o): Remove.
16356 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
16357 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
16358 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
16359
e792884f
JH
163602010-04-21 Jan Hubicka <jh@suse.cz>
16361
16362 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
16363 add write_optimization_summary, read_optimization_summary.
16364 (ipa_write_summaries_of_cgraph_node_set): Remove.
16365 (ipa_write_optimization_summaries): Declare.
16366 (ipa_read_optimization_summaries): Declare.
16367 * ipa-cp.c (pass_ipa_cp): Update.
16368 * ipa-reference.c (pass_ipa_reference): Update.
16369 * ipa-pure-const.c (pass_ipa_pure_const): Update.
16370 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
16371 Update.
16372 * ipa-inline.c (pass_ipa_inline): Update.
16373 * ipa.c (pass_ipa_whole_program): Update.
16374 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
16375 * passes.c (ipa_write_summaries_1): Do not test wpa.
16376 (ipa_write_optimization_summaries_1): New.
16377 (ipa_write_optimization_summaries): New.
16378 (ipa_read_summaries): Do not test ltrans.
16379 (ipa_read_optimization_summaries_1): New.
16380 (ipa_read_optimization_summaries): New.
16381
ecd03d10
JH
163822010-04-21 Jan Hubicka <jh@suse.cz>
16383
16384 * lto-cgraph.c (lto_output_node): Do not output comdat groups
16385 for boundary nodes.
16386 (output_cgraph): Do not arrange comdat groups for boundary nodes.
16387
71a810c3
JJ
163882010-04-21 Jakub Jelinek <jakub@redhat.com>
16389
16390 PR debug/40040
16391 * dwarf2out.c (add_name_and_src_coords_attributes): Add
16392 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
16393
dd6d1ad7
JH
163942010-04-21 Jan Hubicka <jh@suse.cz>
16395
16396 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
16397
c9945504
JH
163982010-04-21 Jan Hubicka <jh@suse.cz>
16399
16400 * varpool.c (decide_is_variable_needed): Variable is always needed
16401 during ltrans.
16402
e7cfce71
JH
164032010-04-21 Jan Hubicka <jh@suse.cz>
16404
16405 * opts.c (decode_options): Enable pure-const pass for whopr.
16406
0115e6c7
JH
164072010-04-21 Jan Hubicka <jh@suse.cz>
16408
16409 * cgraph.c (dump_cgraph_node): Dump also assembler name.
16410 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
16411 at WPA dumping.
16412 (cgraph_decide_inlining): Do not expect callee to be removed in all
16413 cases.
16414
96c2a0d6
EW
164152010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
16416
16417 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
16418
656ef6bb
UB
164192010-04-21 Uros Bizjak <ubizjak@gmail.com>
16420
16421 * config/i386/i386.md (x86_shrd): Add athlon_decode and
16422 amdfam10_decode attributes.
16423
78db7d92
JJ
164242010-04-21 Jakub Jelinek <jakub@redhat.com>
16425
16426 PR middle-end/43570
16427 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
16428 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
16429 (lower_copyprivate_clauses): Use private var in outer
16430 context instead of original var. Make sure the types
16431 are correct for VLAs.
16432
11152c95
RG
164332010-04-21 Richard Guenther <rguenther@suse.de>
16434
16435 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
16436 to non-pointer objects.
16437
8f65940d
JJ
164382010-04-21 Jakub Jelinek <jakub@redhat.com>
16439
0f2f44c0
JJ
16440 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
16441 last chain entry if it starts with the still current label.
16442 (add_location_or_const_value_attribute): Check that
6a0447ba 16443 loc_list->first->next is NULL instead of comparing ->first with ->last.
0f2f44c0
JJ
16444 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
16445 to add_var_loc_to_decl.
16446
8f65940d 16447 * dwarf2out.c (output_call_frame_info): For dw_cie_version
6a0447ba 16448 >= 4 add also address size and segment size fields into CIE header.
8f65940d
JJ
16449
16450 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
16451 long as address size is the same as sizeof (void *) and
16452 segment size is 0.
16453 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
16454 address size or segment size is unexpected, return DW_EH_PE_omit.
16455 (classify_object_over_fdes): If get_cie_encoding returned
16456 DW_EH_PE_omit, return -1.
16457 (init_object): If classify_object_over_fdes returned -1,
16458 pretend there were no FDEs at all.
16459
2d2d5a91
UB
164602010-04-21 Uros Bizjak <ubizjak@gmail.com>
16461
16462 * config/i386/i386.md (bswap<mode>2): Macroize expander from
16463 bswap{si,di}2 using SWI48 mode iterator.
16464 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
16465 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
16466 set modrm attribute of bswap insn to 0 and remove length attribute.
16467 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
16468 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
16469 set mode attribute to <MODE> and remove length attribute.
16470
4811db8d
JW
164712010-04-20 James E. Wilson <wilson@codesourcery.com>
16472
16473 PR rtl-optimization/43520
16474 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
16475 zero available registers.
16476
3c642f92
KG
164772010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16478
16479 * builtins.c (fold_builtin_cproj): Fold more cases.
16480
43272bf5
KG
164812010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16482
16483 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
16484 (fold_builtin_1): Fold builtin cproj.
16485 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
16486 Use ATTR_CONST_NOTHROW_LIST.
16487
e96ccb30
UB
164882010-04-20 Uros Bizjak <ubizjak@gmail.com>
16489
16490 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
16491 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
16492 ffsi2_no_cmove for !TARGET_CMOVE.
16493 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
16494 (ffssi2): Remove expander.
16495 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
16496 mode iterator.
16497 (ctz<mode>2): Ditto from ctz{si,di}2.
16498 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
16499 mode iterator.
16500 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
16501 mode iterator.
16502
4c0ab69d
JJ
165032010-04-20 Jakub Jelinek <jakub@redhat.com>
16504
16505 * dwarf2out.c (AT_linkage_name): Define.
16506 (clone_as_declaration): Handle DW_AT_linkage_name.
16507 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
16508 of DW_AT_MIPS_linkage_name.
16509 (move_linkage_attr): Likewise.
16510 (dwarf2out_finish): Likewise.
16511
94e85e0a
XDL
165122010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
16513
16514 PR middle-end/41952
e96ccb30 16515 * fold-const.c (fold_comparison): New folding rule.
94e85e0a 16516
4c0ab69d 165172010-04-20 Anatoly Sokolov <aesok@post.ru>
54fb1ae0
AS
16518
16519 * double-int.h (double_int_setbit): Declare.
16520 * double-int.c (double_int_setbit): New function.
16521 * rtl.h (immed_double_int_const): Declare.
16522 * emit-rtl.c (immed_double_int_const): New function.
16523 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
16524 and immed_double_int_const functions.
16525 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
16526 expand_copysign_bit): (Ditto.).
16527 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
16528 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
16529 * dojump.c (prefer_and_bit_test): (Ditto.).
16530 * expr.c (convert_modes, reduce_to_bit_field_precision,
16531 const_vector_from_tree): (Ditto.).
16532 * expmed.c (mask_rtx, lshift_value): (Ditto.).
16533
a837268b
JH
165342010-04-20 Jan Hubicka <jh@suse.cz>
16535
16536 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
16537 (dump_cgraph_node): Dump new flags.
e96ccb30
UB
16538 * cgraph.h (struct cgraph_node): Add flags
16539 reachable_from_other_partition and in_other_partition.
16540 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
16541 other partition can not be removed.
16542 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
16543 the other partition must be output; silence sanity checking on
16544 leaking functions bodies from other paritition.
a837268b
JH
16545 * lto-cgraph.c (reachable_from_other_partition_p): New function.
16546 (lto_output_node): Output new flags; do not sanity check that inline
16547 clones are output; drop lto_forced_extern_inline_p code; do not mock
16548 visibility flags at partition boundaries.
16549 (add_node_to): New function.
16550 (output_cgraph): Use it to sort functions so masters appear before
16551 clones.
16552 (input_overwrite_node): Input new flags.
16553 * passes.c (ipa_write_summaries): Do not call
16554 lto_new_extern_inline_states.
74ca3393
EB
16555 * lto-section-out.c (forced_extern_inline,
16556 lto_new_extern_inline_states lto_delete_extern_inline_states,
16557 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
a837268b
JH
16558 * lto-streamer.h (lto_new_extern_inline_states,
16559 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
16560 lto_forced_extern_inline_p): Kill.
16561
3c323b52
RG
165622010-04-20 Richard Guenther <rguenther@suse.de>
16563
16564 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
16565 from vars that can have pointers.
16566 (process_constraint): Dump useless constraints.
16567
b28ae58f
RG
165682010-04-20 Richard Guenther <rguenther@suse.de>
16569
e96ccb30 16570 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
b28ae58f
RG
16571 (dump_sa_points_to_info): Remove asserts.
16572 (init_base_vars): nothing_id isn't an escape point nor does it
16573 have pointers.
16574
1197ce8e
JJ
165752010-04-20 Jakub Jelinek <jakub@redhat.com>
16576
16577 * tree.h (TYPE_REF_IS_RVALUE): Define.
16578 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
16579 should_move_die_to_comdat, prune_unused_types_walk): Handle
16580 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
16581 (modified_type_die, gen_reference_type_die): Emit
16582 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
16583 if TYPE_REF_IS_RVALUE and -gdwarf-4.
16584
72e2cf16
AK
165852010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16586
16587 PR target/43635
16588 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
16589 calls for -fpic -m31 if they have been sibcall optimized.
16590
810d71d0
JW
165912010-04-19 James E. Wilson <wilson@codesourcery.com>
16592
4a863f3a
JW
16593 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
16594 ar.lc fixed and call-used.
16595
810d71d0
JW
16596 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
16597
3ee2243c
JH
165982010-04-19 Jan Hubicka <jh@suse.cz>
16599
16600 * opts.c (decode_options): Disable whpr incompatible passes.
16601 * lto/lto.c (lto_1_to_1_map): Skip clones.
16602 (read_cgraph_and_symbols): Do not mark everything as needed.
16603 (do_whole_program_analysis): Do map only after optimizing;
16604 set proper cgraph_state; use passmanager.
16605
576319a7
DD
166062010-04-19 DJ Delorie <dj@redhat.com>
16607
16608 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
16609 POINTER_PLUS_EXPR and fix them.
16610
578ad141
EW
166112010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
16612
16613 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
16614 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
16615 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
16616 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
16617 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
16618 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
16619 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
16620 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
16621 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
16622 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
16623 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
16624
d321bd2d
EB
166252010-04-19 Eric Botcazou <ebotcazou@adacore.com>
16626
16627 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
16628 (check_cond_move_block): Likewise.
16629 (cond_move_process_if_block): Likewise.
16630 (noce_find_if_block): Improve formatting.
16631 (find_if_header): Pass 0 to memset and tweak conditions.
16632 (cond_exec_find_if_block): Fix long lines and tweak conditions.
16633
74e27d0d
JJ
166342010-04-19 Jakub Jelinek <jakub@redhat.com>
16635
e96ccb30
UB
16636 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
16637 for -gdwarf-4.
74e27d0d 16638
fd2e4e99
JJ
16639 PR middle-end/43337
16640 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
16641 with non-local decl doesn't need chain.
16642
ec995732
VM
166432010-04-19 Vladimir Makarov <vmakarov@redhat.com>
16644
16645 * ira-color.c (allocno_reload_assign): Avoid accumulating
16646 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
16647
acd63801
MJ
166482010-04-19 Martin Jambor <mjambor@suse.cz>
16649
16650 * gimple.h (create_tmp_reg): Declare.
16651 * gimplify.c (create_tmp_reg): New function.
16652 (gimplify_return_expr): Use create_tmp_reg.
16653 (gimplify_omp_atomic): Likewise.
16654 (gimple_regimplify_operands): Likewise.
16655 * tree-dfa.c (make_rename_temp): Likewise.
16656 * tree-predcom.c (predcom_tmp_var): Likewise.
16657 (reassociate_to_the_same_stmt): Likewise.
16658 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
16659 (get_replaced_param_substitute): Likewise.
16660 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
16661 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
16662 * tree-ssa-pre.c (get_representative_for): Likewise.
16663 (create_expression_by_pieces): Likewise.
16664 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
16665 (create_tailcall_accumulator): Likewise.
16666
0b6e2868
MJ
166672010-04-19 Martin Jambor <mjambor@suse.cz>
16668
16669 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
16670 new_stmt.
16671 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
16672
1936a7d4
RG
166732010-04-19 Richard Guenther <rguenther@suse.de>
16674
16675 PR tree-optimization/43796
16676 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
16677 from SCEV in the lattice.
16678 (vrp_visit_phi_node): Dump change.
16679
479881c3
RG
166802010-04-19 Richard Guenther <rguenther@suse.de>
16681
16682 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
16683 * configure: Re-generated.
16684
d53bed0b
RG
166852010-04-19 Richard Guenther <rguenther@suse.de>
16686
16687 PR tree-optimization/43783
16688 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
16689 constant ARRAY_REF operands two and three if possible.
16690
90f775a9
UB
166912010-04-19 Uros Bizjak <ubizjak@gmail.com>
16692
16693 PR target/43766
16694 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
16695
8d9b7be5
JZ
166962010-04-19 Jie Zhang <jie@codesourcery.com>
16697
16698 PR target/43662
90f775a9 16699 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
8d9b7be5 16700
d5dceab8 167012010-04-19 Ira Rosen <irar@il.ibm.com>
b5aeb3bb
IR
16702
16703 PR tree-optimization/37027
e96ccb30 16704 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
b5aeb3bb
IR
16705 and macro to access it.
16706 (vectorizable_reduction): Add argument.
16707 (vect_get_slp_defs): Likewise.
16708 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
16709 statements for possible use in SLP.
16710 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
16711 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
16712 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
16713 add new argument.
16714 (vectorizable_reduction): Likewise.
e96ccb30 16715 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
b5aeb3bb
IR
16716 vect_get_slp_defs.
16717 (vectorizable_type_demotion, vectorizable_type_promotion,
16718 vectorizable_store): Likewise.
16719 (vect_analyze_stmt): Update call to vectorizable_reduction.
16720 (vect_transform_stmt): Likewise.
16721 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
16722 (vect_build_slp_tree): Fix indentation. Check that there are no loads
16723 from different interleaving chains in same node.
16724 (vect_slp_rearrange_stmts): New function.
e96ccb30 16725 (vect_supported_load_permutation_p): Allow load permutations for
b5aeb3bb
IR
16726 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
16727 inside SLP nodes if necessary.
16728 (vect_analyze_slp_instance): Handle reductions.
16729 (vect_analyze_slp): Try to build SLP instances originating from groups
16730 of reductions.
16731 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
16732 (vect_get_constant_vectors): Create initial vectors for reductions
16733 according to reduction code. Add new argument.
e96ccb30 16734 (vect_get_slp_defs): Add new argument, pass it to
b5aeb3bb
IR
16735 vect_get_constant_vectors.
16736 (vect_schedule_slp_instance): Remove SLP tree root statements.
16737
5a2fa9e8
JJ
167382010-04-19 Jakub Jelinek <jakub@redhat.com>
16739
16740 * tree.h (ENUM_IS_SCOPED): Define.
16741 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
16742 for ENUM_IS_SCOPED enums.
16743
3b9e5d95
EB
167442010-04-18 Eric Botcazou <ebotcazou@adacore.com>
16745
16746 * fold-const.c (fold_comparison): Use ssizetype.
16747 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
16748 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
16749 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
16750 * tree-object-size.c (compute_object_sizes): Use size_type_node.
16751
16752 * tree.h (initialize_sizetypes): Remove parameter.
16753 (build_common_tree_nodes): Remove second parameter.
16754 * stor-layout.c (initialize_sizetypes): Remove parameter.
16755 Always create an unsigned type.
16756 (set_sizetype): Assert that the passed type is unsigned and simplify.
16757 * tree.c (build_common_tree_nodes): Remove second parameter.
16758 Adjust call to initialize_sizetypes.
16759 * c-decl.c (c_init_decl_processing): Remove second argument in call to
16760 build_common_tree_nodes.
16761
b3c35965
MK
167622010-04-18 Matthias Klose <doko@ubuntu.com>
16763
16764 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
16765
d5dceab8 167662010-04-18 Ira Rosen <irar@il.ibm.com>
59eefaa6
IR
16767
16768 PR tree-optimization/43771
16769 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
16770 load permutation doesn't have gaps.
16771
07b3ef2e
JH
167722010-04-18 Jan Hubicka <jh@suse.cz>
16773
16774 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
16775 (sse_prologue_save_insn expander): Use new pattern.
16776 (sse_prologue_save_insn1): New pattern and splitter.
16777 (sse_prologue_save_insn): Update to deal also with 64bit aligned
16778 blocks.
90f775a9
UB
16779 * i386.c (setup_incoming_varargs_64): Do not compute jump
16780 destination here.
07b3ef2e 16781 (ix86_gimplify_va_arg): Update alignment needed.
90f775a9 16782 (ix86_local_alignment): Do not align all local arrays to 128bit.
07b3ef2e 16783
6a8cd100
JH
167842010-04-17 Jan Hubicka <jh@suse.cz>
16785
16786 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
16787
9e315505
RE
167882010-04-17 Richard Earnshaw <rearnsha@arm.com>
16789
16790 * arm.md (negdi2): Remove redundant code to force values into a
16791 register.
16792
6f0668cf
RE
167932010-04-17 Richard Earnshaw <rearnsha@arm.com>
16794
16795 * arm/bpabi.S: Add EABI alignment attributes to objects.
16796 * arm/bpabi-v6m.S: Likewise.
16797 * arm/crti.asm: Likewise.
16798 * arm/crtn.asm: Likewise.
16799 * arm/lib1funcs.asm: Likewise.
16800 * arm/libunwind.S: Likewise.
16801
1b78f575
RE
168022010-04-17 Richard Earnshaw <rearnsha@arm.com>
16803
16804 * arm-protos.h (tune_params): New structure.
16805 * arm.c (current_tune): New variable.
16806 (arm_constant_limit): Delete.
16807 (struct processors): Add pointer to the tune parameters.
16808 (arm_slowmul_tune): New tuning option.
16809 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
16810 (all_cores): Adjust to pick up the tuning model.
16811 (arm_constant_limit): New function.
16812 (arm_override_options): Select the appropriate tuning model. Delete
16813 initialization of arm_const_limit.
16814 (arm_split_constant): Use the new constant-limit model.
16815 (arm_rtx_costs): Pick up the current tuning model.
16816 * arm.md (is_strongarm, is_xscale): Delete.
16817 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
16818 for Xscale variant architectures.
16819 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
16820
80d56d04
RR
168212010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16822
1b78f575
RE
16823 * config/arm/arm.c (arm_gen_constant): Remove unused variable
16824 can_shift.
80d56d04
RR
16825 (arm_rtx_costs_1): Remove unused variable extra_cost.
16826 (arm_unwind_emit_set): Use variable offset.
16827 (thumb1_output_casesi): Remove unused variable flags.
16828
6190446b
JL
168292010-04-16 Jeff Law <law@redhat.com>
16830
16831 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
016f9d9d
JL
16832 needing assignment rather than doing a two-phase assignment. Remove
16833 unused variable 'm'.
6190446b 16834
24f8d71e
JJ
168352010-04-16 Jakub Jelinek <jakub@redhat.com>
16836
16837 PR bootstrap/43767
16838 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
16839
f1665f5c
DK
168402010-04-16 Doug Kwan <dougkwan@google.com>
16841
16842 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
16843 (next_operand_entry_id): New static variable.
16844 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
16845 (add_to_ops_vec): Assigned unique ID to operand entry.
16846 (struct oecount_s): New field ID.
16847 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
16848 (undistribute_ops_list): Assign unique IDs to oecounts.
16849 (init_reassoc): reset next_operand_entry_id.
16850
f638261a
DK
168512010-04-16 Doug Kwan <dougkwan@google.com>
16852
16853 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
16854 missing left parenthesis.
e96ccb30 16855
4a81b412
UB
168562010-04-16 Uros Bizjak <ubizjak@gmail.com>
16857
16858 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
16859 *btdi_rex64 using SWI48 mode iterator.
16860 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
16861 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
16862 *jcc_btdi_mask_rex64.
16863
9d4d1f8e
AS
168642010-04-16 Anatoly Sokolov <aesok@post.ru>
16865
16866 * double-int.h (tree_to_double_int): Convert to macro.
16867 * double-int.c (tree_to_double_int): Remove.
16868
835eb810
JJ
168692010-04-16 Jakub Jelinek <jakub@redhat.com>
16870
16871 PR debug/43762
16872 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
16873 with want_address 2 and in case a single element list might be
16874 possible, call it again with want_address 0.
16875
168762010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
db624ecb 16877
0f6b820c
KP
16878 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
16879 case 'W' print operands for HI mode.
16880 * config/h8300/h8300.h (Y0, Y2) : New constraints.
16881 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
16882 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
16883 * config/h8300/predicate.md (bit_register_indirect_operand): New.
16884
a7494d9e
KP
16885 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
16886
e96ccb30 16887 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
8cb81753
KP
16888 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
16889 #xx:3 and #xx:4 mode.
16890
60744089
KP
16891 * config/h8300/h8300.md (inverted load with HImode dest): Add
16892 support for H8300SX.
16893
db624ecb
KP
16894 * config/h8300/predicate.md (bit_operand): Allow immediate values that
16895 satisfy 'U' constraint.
16896
8ccb78f2
RO
168972010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16898
e96ccb30 16899 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
8ccb78f2
RO
16900 * configure: Regenerate.
16901 * config.in: Regenerate.
16902 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
16903 works.
16904
bc9c331d
RG
169052010-04-16 Richard Guenther <rguenther@suse.de>
16906
16907 * tree.h (struct tree_decl_minimal): Move pt_uid ...
16908 (struct tree_decl_common): ... here.
16909 (DECL_PT_UID): Adjust.
16910 (SET_DECL_PT_UID): Likewise.
16911 (DECL_PT_UID_SET_P): Likewise.
16912
12de6355
RG
169132010-04-16 Richard Guenther <rguenther@suse.de>
16914
16915 PR tree-optimization/43572
16916 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
16917 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
16918 * tree-flow.h (is_call_clobbered): Remove.
16919 * tree-flow-inline.h (is_call_clobbered): Likewise.
16920 * tree-dfa.c (dump_variable): Do not dump call clobber state.
16921 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
16922 (execute_return_slot_opt): Adjust.
16923 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
16924 check for call clobbered vars here.
16925 (find_tail_calls): Move tailcall verification to the
16926 proper place.
16927
6ab643b5
DN
169282010-04-16 Diego Novillo <dnovillo@google.com>
16929
e96ccb30 16930 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
6ab643b5 16931
f0c6475a
BS
169322010-04-16 Bernd Schmidt <bernds@codesourcery.com>
16933
16934 PR target/40603
16935 * config/arm/arm.md (cbranchqi4): New pattern.
16936 * config/arm/predicates.md (const0_operand,
16937 cbranchqi4_comparison_operator): New predicates.
16938
f0107145
RG
169392010-04-16 Richard Guenther <rguenther@suse.de>
16940
16941 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
16942 (dump_gimple_stmt): Likewise.
16943
f0c6475a 169442010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6ddfdb0f
BS
16945
16946 * recog.h (struct recog_data): New field is_operator.
16947 (struct insn_operand_data): New field is_operator.
16948 * recog.c (extract_insn): Set recog_data.is_operator.
16949 * genoutput.c (output_operand_data): Emit code to set the
16950 is_operator field.
16951 * reload.c (find_reloads): Use it rather than testing for an
16952 empty constraint string.
16953
6ea007e4
BS
16954 PR target/41514
16955 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
16956 If the previous insn is a cbranchsi4_insn with the same arguments,
16957 omit the compare instruction.
16958
3302cfa1
BS
16959 * config/arm/arm.md (addsi3_cbranch): If destination is a high
16960 register, inputs must be low registers and we need a low register
16961 scratch. Handle alternative 2 like alternative 3.
16962
5312b066
JJ
169632010-04-16 Jakub Jelinek <jakub@redhat.com>
16964
16965 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
16966 don't call get_addr on both. If one expression is a VALUE and
16967 the other a REG, check VALUE's locs if the REG isn't among them.
16968
7a296495
CB
169692010-04-16 Christian Bruel <christian.bruel@st.com>
16970
16971 * config/sh/sh.h (sh_frame_pointer_required): New function.
16972 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
16973 (flag_omit_frame_pointer) Set.
16974 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
16975 (rounded_frame_size): Adjust size with outgoing_args_size.
16976 (sh_set_return_address): Must return from stack pointer.
16977 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
16978 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
16979 (ACCUMULATE_OUTGOING_ARGS): Define.
16980 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
ade52657 16981 * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
7a296495 16982
7140f0f9
KK
169832010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
16984
16985 PR target/43471
16986 * config/sh/sh.c (sh_legitimize_reload_address): Use
16987 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
16988 Remove a unneeded check for offset_base.
16989
bafaef55
L
169902010-04-15 H.J. Lu <hongjiu.lu@intel.com>
16991
16992 * configure: Regenerated.
16993
e8de8fea
AK
169942010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16995
16996 * config/s390/s390.c (s390_call_save_register_used): Switch back
16997 to HARD_REGNO_NREGS.
16998
038a39d1
RG
169992010-04-15 Richard Guenther <rguenther@suse.de>
17000
17001 * alias.c (alias_set_subset_of): Handle alias-set zero
17002 child properly.
17003
28907f9a
MS
170042010-04-15 Mark Shinwell <shinwell@codesourcery.com>
17005 Julian Brown <julian@codesourcery.com>
17006
17007 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
17008 alternatives according to use of high and low regs.
17009 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
17010 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
17011 optimizing for size on Thumb-2.
17012
3f56ef8b
TS
170132010-04-15 Thomas Schwinge <tschwinge@gnu.org>
17014
17015 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
17016
25a6a873
RG
170172010-04-15 Richard Guenther <rguenther@suse.de>
17018
17019 * tree-ssa-structalias.c (struct variable_info): Add
17020 is_fn_info flag.
17021 (new_var_info): Initialize it.
17022 (dump_constraints): Support printing last added constraints.
17023 (debug_constraints): Adjust.
17024 (dump_constraint_graph): Likewise.
17025 (make_heapvar_for): Check for NULL cfun.
17026 (get_function_part_constraint): New function.
17027 (get_fi_for_callee): Likewise.
17028 (find_func_aliases): Properly implement IPA PTA constraints.
17029 (process_ipa_clobber): New function.
17030 (find_func_clobbers): Likewise.
17031 (insert_into_field_list_sorted): Remove.
17032 (create_function_info_for): Properly allocate vars for IPA mode.
17033 Do not use insert_into_field_list_sorted.
17034 (create_variable_info_for): Properly generate constraints for
17035 global vars in IPA mode.
17036 (dump_solution_for_var): Always dump the solution.
17037 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
17038 (find_what_var_points_to): Adjust.
17039 (pt_solution_set): Change.
17040 (pt_solution_ior_into): New function.
17041 (pt_solution_empty_p): Export.
17042 (pt_solution_includes_global): Adjust.
17043 (pt_solution_includes_1): Likewise.
17044 (pt_solutions_intersect_1): Likewise.
17045 (dump_sa_points_to_info): Check some invariants.
17046 (solve_constraints): Move constraint dumping ...
17047 (compute_points_to_sets): ... here.
17048 (ipa_pta_execute): ... and here.
17049 (compute_may_aliases): Do not re-compute points-to info
17050 locally if IPA info is available.
17051 (ipa_escaped_pt): New global var.
17052 (ipa_pta_execute): Properly implement IPA PTA.
17053 * tree-into-ssa.c (dump_decl_set): Support dumping
17054 decls not in referenced-vars.
17055 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
17056 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
17057 (dump_points_to_solution): Likewise.
17058 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
17059 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
e96ccb30 17060 (remap_gimple_stmt): Reset call clobber/use information if necessary.
25a6a873
RG
17061 (copy_decl_to_var): Copy DECL_PT_UID.
17062 (copy_result_decl_to_var): Likewise.
17063 * tree.c (make_node_stat): Initialize DECL_PT_UID.
17064 (copy_node_stat): Copy it.
17065 * tree.h (DECL_PT_UID): New macro.
17066 (SET_DECL_PT_UID): Likewise.
17067 (DECL_PT_UID_SET_P): Likewise.
17068 (struct tree_decl_minimal): Add pt_uid member.
17069 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
17070 (pt_solution_empty_p): Declare.
17071 (pt_solution_set): Adjust.
17072 (ipa_escaped_pt): Declare.
17073 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
17074 * gimple-pretty-print.c (pp_points_to_solution): New function.
17075 (dump_gimple_call): Dump call clobber/use information.
17076 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
17077 * tree-pass.h (TDF_ALIAS): New dump option.
17078 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
17079 * doc/invoke.texi (-fipa-pta): Update documentation.
17080
cbdd87d4
RG
170812010-04-15 Richard Guenther <rguenther@suse.de>
17082
17083 * Makefile.in (OBJS-common): Add gimple-fold.o.
17084 (gimple-fold.o): New rule.
17085 * tree.h (maybe_fold_offset_to_reference,
17086 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
17087 prototypes ...
17088 * gimple.h: ... here.
17089 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
17090 may_propagate_address_into_dereference): Move prototypes ...
17091 * gimple.h: ... here.
17092 * tree-ssa-ccp.c (get_symbol_constant_value,
17093 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
17094 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
17095 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
17096 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
17097 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
17098 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
17099 gimplify_and_update_call_from_tree): Move ...
17100 * gimple-fold.c: ... here. New file.
17101 (ccp_fold_builtin): Rename to ...
17102 (gimple_fold_builtin): ... this.
17103 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
17104
330db1e3
RG
171052010-04-15 Richard Guenther <rguenther@suse.de>
17106
17107 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
17108 fit_double_type, force_fit_type_double, add_double_with_sign,
17109 neg_double, mul_double_with_sign, lshift_double, rshift_double,
17110 lrotate_double, rrotate_double, div_and_round_double): Move ...
17111 * double-int.c: ... here.
17112 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
17113 add_double, neg_double, mul_double_with_sign, mul_double,
17114 lshift_double, rshift_double, lrotate_double, rrotate_double,
17115 div_and_round_double): Move prototypes ...
17116 * double-int.h: ... here.
17117
f0c6475a 171182010-04-15 Bernd Schmidt <bernds@codesourcery.com>
077668e3
BS
17119
17120 PR target/43742
17121 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
17122 matching constraints to ensure inputs match the output.
17123
fa66fc40
KK
171242010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
17125
17126 PR target/43742
17127 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
e96ccb30 17128 in an input-only operand.
fa66fc40 17129
2bd1333d
AS
171302010-04-15 Anatoly Sokolov <aesok@post.ru>
17131
17132 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
17133 (double_int_not, double_int_lshift, double_int_rshift): Declare.
17134 (double_int_negative_p): Convert to static inline function.
74ca3393 17135 * double-int.c (double_int_lshift, double_int_lshift): New functions.
2bd1333d 17136 (double_int_negative_p): Remove.
e96ccb30 17137 * tree.h (lshift_double, rshift_double):
2bd1333d
AS
17138 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
17139 * fold-const.c (fold_convert_const_int_from_real,
17140 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
17141 (lshift_double): Change type of arith argument to bool.
17142 (rshift_double): Change type of arith argument to bool. Correct
17143 comment.
17144 * expmed.c (mask_rtx, lshift_value): (Ditto.).
17145
f0c6475a 171462010-04-14 Bernd Schmidt <bernds@codesourcery.com>
e96ccb30 17147
31ce8a53
BS
17148 PR target/21803
17149 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
17150 at the start and end of the then/else blocks, and omit them from the
17151 conversion.
17152 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
17153 argument; all callers changed. Pass zero to old_insns_match_p instead.
17154 (flow_find_head_matching_sequence): New function.
17155 (old_insns_match_p): Check REG_EH_REGION notes for calls.
17156 * basic-block.h (flow_find_cross_jump,
17157 flow_find_head_matching_sequence): Declare functions.
17158
943f82e7
JM
171592010-04-14 Jason Merrill <jason@redhat.com>
17160
17161 PR c++/36625
17162 * c-common.c (attribute_takes_identifier_p): New fn.
17163 * c-common.h: Declare it.
17164
feeb8c52
UB
171652010-04-14 Uros Bizjak <ubizjak@gmail.com>
17166
17167 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
17168 splitter condition.
17169 (*udivmod<mode>4): Ditto.
17170
4a5528cc
UB
171712010-04-14 Uros Bizjak <ubizjak@gmail.com>
17172
17173 * config/i386/i386.md (maxmin_int): Rename code attribute from
17174 maxminiprefix and update all users.
17175 (maxmin_float): Ditto from maxminfprefix.
17176 (logic): Ditto from logicprefix.
17177 (absneg_mnemonic): Ditto from absnegprefix.
17178 * config/i386/mmx.md: Update all users of maxminiprefix,
4a81b412 17179 maxminfprefix and logicprefix for rename.
4a5528cc
UB
17180 * config/i386/sse.md: Ditto.
17181 * config/i386/sync.md (sync_<code><mode>): Update for
17182 logicprefix rename.
17183
289fcbbd
MLI
171842010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
17185
17186 PR 42966
17187 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
17188 warnings converted to errors.
17189
d58770e7
UB
171902010-04-14 Uros Bizjak <ubizjak@gmail.com>
17191
17192 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
17193 used insn_type variable.
17194 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
17195 to avoid set-but-not-used warning.
17196
a3f1cee4
UB
171972010-04-14 Uros Bizjak <ubizjak@gmail.com>
17198
17199 * df-core.c (df_ref_debug): Change format string placeholder
17200 from 0x%x to %#x.
17201 * dwarf2asm.c (dw2_asm_output_data_raw,
17202 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
17203 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
17204 * dwarf2out.c (output_cfi, output_cfi_directive,
17205 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
17206 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
17207 Ditto.
17208 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
17209 * print-rtl.c (print_rtx): Ditto.
17210
3eb4dbe3
MM
172112010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
17212
17213 PR middle-end/42694
17214 * builtins.c (expand_builtin_pow_root): New function to expand pow
17215 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
17216 series of sqrt and cbrt calls under -ffast-math.
17217 (expand_builtin_pow): Call it.
17218
fc249fe5
MM
172192010-04-14 Michael Matz <matz@suse.de>
17220
17221 PR tree-optimization/42963
17222 * tree-cfg.c (touched_switch_bbs): New static variable.
17223 (group_case_labels_stmt): New function broken out from ...
17224 (group_case_labels): ... here, use the above.
17225 (start_recording_case_labels): Allocate touched_switch_bbs.
17226 (end_recording_case_labels): Deallocate it, call
17227 group_case_labels_stmt.
17228 (gimple_redirect_edge_and_branch): Remember index of affected BB.
17229
0fcbf3ed
UB
172302010-04-14 Uros Bizjak <ubizjak@gmail.com>
17231
17232 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
17233 from insn template.
17234
3f529c2c
UB
172352010-04-14 Uros Bizjak <ubizjak@gmail.com>
17236
17237 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
17238
1ce18dc8
JH
172392010-04-13 Jan Hubicka <jh@suse.cz>
17240
17241 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
17242 of optimized out static functions.
17243 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
17244 cost computation. Also sanity check for overflows.
17245 (update_caller_keys): Update cgraph_edge_badness call; properly
17246 update fibheap and sanity check that it is up to date.
17247 (add_new_edges_to_heap): Update cgraph_edge_badness.
17248 (cgraph_decide_inlining_of_small_function): Likewise;
17249 add sanity checking that badness in heap is up to date;
17250 improve dumping of reason; Update badness of calls to the
17251 offline copy of function currently inlined; dump badness
17252 of functions not inlined because of unit growth limits.
17253
9e9ef331
EB
172542010-04-13 Eric Botcazou <ebotcazou@adacore.com>
17255
17256 PR middle-end/32628
17257 * c-common.c (pointer_int_sum): Disregard overflow that occured only
17258 because of sign-extension change when converting to sizetype here...
17259 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
17260
17261 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
17262 the folding to constants. Remove redundant final conversion.
17263 (fold_binary) <associate>: Do not associate if the re-association of
17264 constants alone overflows.
17265 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
17266 to the end of the list.
17267 (multiple_of_p) <COND_EXPR>: New case.
17268
9db94baa
MLI
172692010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
17270
17271 * opt-functions.awk (opt_sanitized_name): New.
17272 (opt_enum): New.
17273 * optc-gen.awk: Use it
17274 * opth-gen.awk: Use it.
17275
0f2ffb9a
MJ
172762010-04-13 Martin Jambor <mjambor@suse.cz>
17277
17278 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
17279 (sra_modify_assign): Delete stmts loading dead data even if racc has no
17280 children. Call replace_uses_with_default_def_ssa_name to handle
17281 SSA_NAES on lhs.
17282
f78b86c0
MM
172832010-04-13 Michael Matz <matz@suse.de>
17284
17285 PR middle-end/43730
17286 * builtins.c (expand_builtin_interclass_mathfn): Also create
17287 a register if the predicate doesn't match.
17288
0e6229c2
DN
172892010-04-13 Diego Novillo <dnovillo@google.com>
17290
17291 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
17292 * c-pch.c: Include timevar.h.
17293 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
3f529c2c 17294 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
0e6229c2 17295 * ggc-common.c: Include timevar.h.
3f529c2c 17296 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
0e6229c2
DN
17297 * timevar.def (TV_PCH_SAVE): Define.
17298 (TV_PCH_CPP_SAVE): Define.
17299 (TV_PCH_PTR_REALLOC): Define.
17300 (TV_PCH_PTR_SORT): Define.
17301 (TV_PCH_RESTORE): Define.
17302 (TV_PCH_CPP_RESTORE): Define.
17303
143597ff
MM
173042010-04-13 Michael Matz <matz@suse.de>
17305
17306 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
17307 into MINUS_EXPRs.
17308 (can_reassociate_p): New function.
17309 (break_up_subtract_bb, reassociate_bb): Use it.
17310
54c5ec4f
RG
173112010-04-13 Richard Guenther <rguenther@suse.de>
17312
17313 PR bootstrap/43737
17314 * builtins.c (c_readstr): Fix assert.
17315
719938ae
UB
173162010-04-13 Uros Bizjak <ubizjak@gmail.com>
17317
17318 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
17319 when generating cltd insn.
17320
17321 (*ashl<mode>3_1): Remove special handling for register operand 2.
17322 (*ashlsi3_1_zext): Ditto.
17323 (*ashlhi3_1): Ditto.
17324 (*ashlhi3_1_lea): Ditto.
17325 (*ashlqi3_1): Ditto.
17326 (*ashlqi3_1_lea): Ditto.
17327 (*<shiftrt_insn><mode>3_1): Ditto.
17328 (*<shiftrt_insn>si3_1_zext): Ditto.
17329 (*<shiftrt_insn>qi3_1_slp): Ditto.
17330 (*<rotate_insn><mode>3_1): Ditto.
17331 (*<rotate_insn>si3_1_zext): Ditto.
17332 (*<rotate_insn>qi3_1_slp): Ditto.
17333
3e8542ca
RG
173342010-04-13 Richard Guenther <rguenther@suse.de>
17335
17336 * tree-ssa-structalias.c (callused_id): Remove.
17337 (call_stmt_vars): New.
17338 (get_call_vi): Likewise.
17339 (lookup_call_use_vi): Likewise.
17340 (lookup_call_clobber_vi): Likewise.
17341 (get_call_use_vi): Likewise.
17342 (get_call_clobber_vi): Likewise.
17343 (make_transitive_closure_constraints): Likewise.
17344 (handle_const_call): Adjust to do per-call call-used handling.
17345 (handle_pure_call): Likewise.
17346 (find_what_var_points_to): Remove general callused handling.
17347 (init_base_vars): Likewise.
17348 (init_alias_vars): Initialize call_stmt_vars.
17349 (compute_points_to_sets): Process call-used and call-clobbered
17350 vars for call statements.
17351 (delete_points_to_sets): Free call_stmt_vars.
17352
777e1f09
RG
173532010-04-13 Richard Guenther <rguenther@suse.de>
17354
17355 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
17356 Only add RW dependence for dependence distance zero.
17357 Adjust maximal vectorization factor according to dependences.
17358 Move alignment handling ...
17359 (vect_find_same_alignment_drs): ... here. New function.
17360 (vect_analyze_data_ref_dependences): Adjust.
17361 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
17362 (vect_analyze_data_refs): Adjust minimal vectorization factor
17363 according to data references.
17364 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
17365 dependences before determining the vectorization factor.
17366 Analyze alignment after determining the vectorization factor.
17367 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
17368 dependences before alignment.
17369 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
17370 Adjust prototype.
17371 (vect_analyze_data_refs): Likewise.
17372 (MAX_VECTORIZATION_FACTOR): New define.
17373
1a710808
DS
173742010-04-13 Duncan Sands <baldrick@free.fr>
17375
17376 * except.h (lang_eh_type_covers): Remove.
17377 * except.c (lang_eh_type_covers): Likewise.
17378
9602b6a1 173792010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3f529c2c
UB
17380 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
17381
9602b6a1
AK
17382 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
17383 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
3f529c2c 17384 UNITS_PER_LONG where it is ABI relevant.
9602b6a1
AK
17385 (s390_return_addr_rtx): Likewise.
17386 (s390_back_chain_rtx): Likewise.
17387 (s390_frame_area): Likewise.
17388 (s390_frame_info): Likewise.
17389 (s390_initial_elimination_offset): Likewise.
17390 (save_gprs): Likewise.
17391 (s390_emit_prologue): Likewise.
17392 (s390_emit_epilogue): Likewise.
17393 (s390_function_arg_advance): Likewise.
17394 (s390_function_arg): Likewise.
17395 (s390_va_start): Likewise.
17396 (s390_gimplify_va_arg): Likewise.
17397 (s390_function_profiler): Likewise.
17398 (s390_optimize_prologue): Likewise.
17399 (s390_rtx_costs): Likewise.
17400 (s390_secondary_reload): Likewise.
17401 (s390_promote_function_mode): Likewise.
17402 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
17403 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
17404 registers available.
17405 (s390_unwind_word_mode): New function.
17406 (s390_function_value): Split 64 bit values into register pair if
17407 used as return value.
17408 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
17409 function call parameters. Handle parallels.
17410 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
17411 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
17412 (DWARF_CIE_DATA_ALIGNMENT): New macro.
17413 (s390_expand_setmem): Remove unused variable src_addr.
17414 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
3f529c2c 17415 deal with 64 bit registers.
9602b6a1
AK
17416 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
17417 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
17418 (UNITS_PER_LONG): New macro.
17419 * libjava/include/s390-signal.h: Define extended ucontext
17420 structure containing the upper halfs of the 64 bit registers.
17421
3b123595
SB
174222010-04-13 Simon Baldwin <simonb@google.com>
17423
17424 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
17425
cb3d597d
EB
174262010-04-13 Eric Botcazou <ebotcazou@adacore.com>
17427
17428 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
17429 rvalue on the RHS if the LHS is of a non-renamable type.
17430 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
17431
4adbd5dd
MK
174322010-04-13 Matthias Klose <doko@ubuntu.com>
17433
17434 * gcc.c (cc1_options): Handle -iplugindir before processing
17435 the cc1 spec. Only add -iplugindir once.
17436 (cpp_unique_options): Add -iplugindir option if -fplugin* options
17437 found.
17438 * common.opt (iplugindir): Remove `Separate' property, initialize.
17439 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
17440 option.
17441 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
17442 (distclean): Remove plugin dir.
17443 * doc/invoke.texi: Document -iplugindir.
17444
174452010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
17446
17447 * doc/plugins.texi (Loading Plugins): Document short
17448 -fplugin=foo option.
17449 (Plugin API): Mention default_plugin_dir_name function.
17450
17451 * gcc.c (find_file_spec_function): Add new declaration.
17452 (static_spec_func): Use it for "find-file".
17453 (find_file_spec_function): Add new function.
17454 (cc1_options): Add -iplugindir option if -fplugin* options found.
17455
17456 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
17457
17458 * plugin.c (add_new_plugin): Updated comment, and handle short
17459 plugin name.
17460 (default_plugin_dir_name): Added new function.
17461
719938ae 17462 * common.opt (iplugindir): New option to set the plugin directory.
4adbd5dd 17463
e0db9cc6
UB
174642010-04-12 Uros Bizjak <ubizjak@gmail.com>
17465
17466 * config/i386/i386.md (any_rotate): New code iterator.
17467 (rotate_insn): New code attribute.
17468 (rotate): Ditto.
17469 (SWIM124): New mode iterator.
17470 (<rotate_insn>ti3): New expander.
17471 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
17472 any_rotate code iterator.
17473 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
17474 using any_rotate code iterator and SWIM124 mode iterator.
17475 (ix86_rotlti3): New insn_and_split pattern.
17476 (ix86_rotrti3): Ditto.
17477 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
17478 ix86_rotl{di,ti}3 patterns.
17479 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
17480 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
17481 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
17482 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
17483 code iterator and SWI mode iterator.
17484 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
17485 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
17486 code iterator.
17487 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
17488 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
17489 (bswap rotatert splitter): Add splitter.
17490 (bswap splitter): Macroize splitter using any_rotate code iterator.
17491 Add insn predicate to split only for TARGET_USE_XCHGB or when
17492 optimizing function for size.
17493
077c8ada
SE
174942010-04-12 Steve Ellcey <sje@cup.hp.com>
17495
17496 * config/pa/pa.c (emit_move_sequence): Remove use of
17497 deleted variable flag_argument_noalias.
17498
c7392d11
RO
174992010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17500
17501 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
17502 configurations.
17503 Add to unsupported targets list.
17504 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
17505 sparc*-sun-solaris2.[567]* from target lists.
17506 * configure: Regenerate.
17507 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
17508 removal.
17509 Remove Solaris 7 patch references.
17510 (Specific, sparc-sun-solaris2.7): Removed.
17511 (sparc-sun-solaris2*): Update Solaris 7 example.
17512 (sparc64-*-solaris2*): Likewise.
17513
8c200350
RO
175142010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17515
17516 * config.build (alpha*-dec-osf4*): Remove.
17517 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
17518 of obsolete configurations.
17519 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
17520 support.
17521 * config/alpha/t-osf4: Renamed to ...
17522 * config/alpha/t-osf5: ... this.
17523 * config/alpha/osf.h: Renamed to ...
17524 * config/alpha/osf5.h: ... this.
17525 Merged old osf5.h contents.
17526 Update comments.
17527 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
17528 (EXTRA_SPECS): Removed.
17529 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
17530 reflect removal of Tru64 UNIX V4.0/V5.0 support.
17531 Document that.
17532
887204da
RO
175332010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17534
17535 * doc/contrib.texi (Contributors, Rainer Orth): Update.
17536
c1b8e139
KT
175372010-04-12 Kai Tietz <kai.tietz@onevision.com>
17538
17539 PR/43702
17540 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
17541 __thiscall convention.
17542
b38bccca
SE
175432010-04-12 Steve Ellcey <sje@cup.hp.com>
17544
17545 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
17546 orig_base.
17547 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
17548
fc2f1f53
SE
175492010-04-12 Steve Ellcey <sje@cup.hp.com>
17550
17551 * function.c (assign_parms_initialize_all): Add unused attribute
17552 to fntype.
17553
d086d311
RG
175542010-04-12 Richard Guenther <rguenther@suse.de>
17555
17556 * gsstruct.def (GSS_CALL): New.
17557 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
17558 * gimple.h: Include tree-ssa-alias.h.
17559 (struct gimple_statement_call): New.
17560 (union gimple_statement_struct_d): Add gimple_call member.
17561 (gimple_call_reset_alias_info): Declare.
17562 (gimple_call_use_set): New function.
17563 (gimple_call_clobber_set): Likewise.
17564 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
17565 * gimple.c (gimple_call_reset_alias_info): New function.
17566 (gimple_build_call_1): Call it.
17567 * lto-streamer-in.c (input_gimple_stmt): Likewise.
17568 * tree-inline.c (remap_gimple_stmt): Likewise.
17569 (expand_call_inline): Remove callused handling.
17570 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
17571 * tree-dfa.c (dump_variable): Likewise.
17572 * tree-parloops.c (parallelize_loops): Likewise.
17573 * tree-ssa.c (init_tree_ssa): Likewise.
17574 (delete_tree_ssa): Likewise.
17575 * tree-flow-inline.h (is_call_used): Remove.
17576 * tree-flow.h (struct gimple_df): Remove callused member.
17577 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
17578 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
17579 (ref_maybe_used_by_call_p_1): Simplify.
17580 (call_may_clobber_ref_p_1): Likewise.
17581 * tree-ssa-structalias.c (compute_points_to_sets): Set
17582 the call stmt used and clobbered sets.
17583 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
17584 (find_tail_calls): Verify the tail call.
17585
af961c7f
RG
175862010-04-12 Richard Guenther <rguenther@suse.de>
17587
17588 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
17589 single-iteration always-inline inlining.
17590 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
e0db9cc6 17591 (cgraph_decide_inlining): Do not handle always-inline specially.
af961c7f
RG
17592 (try_inline): Remove always-inline cycle detection special case.
17593 Do not recurse on always-inlines.
17594 (cgraph_early_inlining): Do not iterate if not optimizing.
17595 (cgraph_gate_early_inlining): remove.
17596 (pass_early_inline): Run unconditionally.
17597 (gate_cgraph_decide_inlining): New function.
17598 (pass_ipa_inline): Use it. Do not run the IPA inliner if
17599 not inlining or optimizing.
17600 (cgraph_decide_inlining_of_small_functions): Also consider
17601 always-inline functions.
17602 (cgraph_default_inline_p): Return true for nodes which should
17603 disregard inline limits.
17604 (estimate_function_body_sizes): Assume zero size and time for
17605 nodes which are marked as disregarding inline limits.
17606 (cgraph_decide_recursive_inlining): Do not perform recursive
17607 inlining on always-inline nodes.
17608
fa8351f8
JJ
176092010-04-12 Jakub Jelinek <jakub@redhat.com>
17610
17611 PR bootstrap/43699
17612 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
17613 for exprs satisfying handled_component_p.
17614
675c873b
EB
176152010-04-12 Eric Botcazou <ebotcazou@adacore.com>
17616
17617 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
17618 non-constant aggregate elements.
17619
17620 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
17621 is a real initialization.
17622
c4712597
SZ
176232010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
17624
17625 PR c/36774
17626 * c-decl.c (start_function): Move forward check for nested function.
17627
6f50eb9c
KK
176282010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
17629
17630 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
17631 * config/sh/sh.c: Include reload.h.
17632 (sh_legitimize_reload_address): New.
17633 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
17634 sh_legitimize_reload_address.
17635
c11c09f9
KP
176362010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
17637
17638 * config/sh/sh.md (*movqi_pop): New insn pattern.
17639 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
17640
d72ebc16
UB
176412010-04-11 Uros Bizjak <ubizjak@gmail.com>
17642
17643 * config/i386/i386.md (any_shiftrt): New code iterator.
17644 (shiftrt_insn): New code attribute.
17645 (shiftrt): Ditto.
e0db9cc6
UB
17646 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
17647 using any_shiftrt code iterator.
d72ebc16 17648 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
e0db9cc6 17649 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
d72ebc16
UB
17650 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
17651 pattern from corresponding peephole2 patterns.
e0db9cc6
UB
17652 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
17653 using any_shiftrt code iterator.
17654 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
17655 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
17656 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
17657 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
17658 *{ashr,lshr}<mode>3_cmp_zext.
17659 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
d72ebc16 17660
59caab22
UB
176612010-04-11 Uros Bizjak <ubizjak@gmail.com>
17662
17663 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
17664 scratch register.
17665 (*lshr<mode>3_cconly): Ditto.
17666
9200ac72
UB
176672010-04-11 Uros Bizjak <ubizjak@gmail.com>
17668
17669 * config/i386/i386.md (lshr<mode>3): Macroize expander from
17670 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
17671 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
17672 pattern from *lshr{di,ti}3_1 and corresponding splitters using
17673 DWI mode iterator.
17674 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
17675 from corresponding peephole2 patterns.
17676 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
17677 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
17678 and *lshrdi3_1_rex64 using SWI mode iterator.
d72ebc16 17679 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
9200ac72
UB
17680 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
17681 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
17682 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
17683 and *lshrdi3_cmp_rex64 using SWI mode iterator.
17684 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
17685 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
17686 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
17687 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
17688 SWI mode iterator.
17689
27431d88
UB
176902010-04-10 Uros Bizjak <ubizjak@gmail.com>
17691
17692 * config/i386/i386.md (ashr<mode>3): Macroize expander from
17693 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
17694 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
17695 pattern from *ashr{di,ti}3_1 and corresponding splitters using
17696 DWI mode iterator.
17697 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
17698 from corresponding peephole2 patterns.
17699 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
17700 (ashrsi3_cvt): Rename from ashrsi3_31.
17701 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
17702 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
17703 and x86_64_shift_adj_3 using SWI48 mode iterator.
17704 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
17705 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
17706 and *ashrdi3_1_rex64 using SWI mode iterator.
d72ebc16 17707 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
27431d88
UB
17708 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
17709 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
17710 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
17711 and *ashrdi3_cmp_rex64 using SWI mode iterator.
17712 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
17713 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
17714 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
17715 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
17716 SWI mode iterator.
59caab22 17717 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
27431d88 17718 * config/i386/i386.c (ix86_split_ashr): Update for renamed
9200ac72 17719 x86_shift<mode>_adj_3 expanders.
27431d88 17720
85c9bcd4
WG
177212010-04-10 Wei Guozhi <carrot@google.com>
17722
17723 PR target/42601
17724 * config/arm/arm.c (arm_pic_static_addr): New function.
17725 (legitimize_pic_address): Call arm_pic_static_addr when it detects
17726 a static symbol.
17727 (arm_output_addr_const_extra): Output expression for new pattern.
17728 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
17729
f0c6475a 177302010-04-10 Bernd Schmidt <bernds@codesourcery.com>
979740a0
BS
17731
17732 * ira-costs.c (record_reg_classes): Ignore alternatives that are
17733 not enabled.
4143fd36
BS
17734
17735 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
17736 * web.c: Include "insn-config.h" and "recog.h".
17737 (union_match_dups): New function.
17738 (web_main): Call it.
17739 (union_defs): Don't try to recognize match_dups.
17740
52c1d580
BS
17741 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
17742 if doing so would replace the entire pattern.
17743
ef0f4a03
UB
177442010-04-09 Uros Bizjak <ubizjak@gmail.com>
17745
17746 PR target/43707
17747 PR target/43709
17748 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
17749 and splitter pattern. Change splitter operand 1 predicate to
17750 nonmemory_operand.
17751
add5d998
MJ
177522010-04-09 Martin Jambor <mjambor@suse.cz>
17753
17754 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
17755 lattices are addresses of CONST_DECLs with the same initial value.
17756 (ipcp_print_all_lattices): Print values of CONST_DECLs.
17757 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
17758
43ba743c 177592010-04-09 Eric Botcazou <ebotcazou@adacore.com>
f0c6475a 17760 Bernd Schmidt <bernds@codesourcery.com>
43ba743c
EB
17761
17762 * loop-invariant.c (replace_uses): New static function.
17763 (move_invariant_reg): Use it to ensure we can replace the uses.
17764
177652010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
c3fd7b4d 17766
27431d88
UB
17767 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
17768 function template.
43ba743c 17769 (picochip_override_options): Enable section anchors only above -O1.
c3fd7b4d
HS
17770 (picochip_reorg): Fixed a couple of build warnings.
17771
fcf52686
RO
177722010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17773
17774 * configure.ac (plugin -rdynamic test): Log result.
17775 * configure: Regenerate.
17776 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
17777 (RDYNAMIC_SPEC): Define.
17778 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
17779
55c4f715
RO
177802010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17781
17782 * configure.ac: Determine Sun ld version numbers.
17783 (comdat_group): Restrict GNU ld version checks to gld.
17784 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
17785 (enable_comdat): Support --enable-comdat.
17786 * configure: Regenerate.
17787 * doc/install.texi (Configuration): Document --enable-comdat.
17788
62e08523
RO
177892010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17790
ef0f4a03 17791 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
62e08523
RO
17792 * config/sol2-gld.h: ... here.
17793 * config.gcc (sparc*-*-solaris2*): Reflect this.
17794 (i[34567]86-*-solaris2*): Use it.
17795
034288ef
SE
177962010-04-09 Steve Ellcey <sje@cup.hp.com>
17797
17798 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
17799 setup_clocks_p.
17800 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
17801
d0b8780d
MLI
178022010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
17803
17804 PR 42965
17805 * diagnostic.c (diagnostic_initialize): Initialize
17806 some_warnings_are_errors.
17807 (diagnostic_finish): New.
17808 (diagnostic_action_after_output): Call it before exiting.
17809 (diagnostic_report_diagnostic): Do not print message here. Set
17810 some_warnings_are_errors.
17811 * diagnostic.h (diagnostic_context): Delete
17812 issue_warnings_are_errors_message. Add some_warnings_are_errors.
17813 (diagnostic_finish): Declare.
17814 * toplev.c (toplev_main): Call it before exit.
17815
93e9807a
JM
178162010-04-09 Jason Merrill <jason@redhat.com>
17817
cb6addf4
JM
17818 PR c++/42623
17819 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
17820 for incomplete type.
17821
93e9807a
JM
17822 PR c++/41788
17823 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
17824 based on a warning flag.
17825
74367220
RG
178262010-04-09 Richard Guenther <rguenther@suse.de>
17827
43ba743c 17828 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
74367220 17829
8351bca7
IS
178302010-04-09 Iain Sandoe <iains@gcc.gnu.org>
17831
17832 PR bootstrap/43684
ef0f4a03 17833 * varasm.c (default_assemble_visibility): Wrap vars that are
8351bca7 17834 set, but unused, by targets without GAS.
ade52657 17835 * config/rs6000/rs6000.c (paired_emit_vector_compare):
8351bca7
IS
17836 Remove set, but unused, vars.
17837 (rs6000_legitimize_tls_address): Likewise.
17838 (altivec_expand_dst_builtin): Likewise.
17839 * config/darwin.c (machopic_classify_symbol): Likewise.
17840 (machopic_indirection_name): Likewise.
ef0f4a03 17841
014753cc
UB
178422010-04-09 Uros Bizjak <ubizjak@gmail.com>
17843
17844 * config/i386/i386.md (DWI): New mode iterator.
17845 (S): New mode attribute.
17846 (shift_operand): Ditto.
17847 (shift_immediate_operand): Ditto.
17848 (ashl_input_operand): Ditto.
17849 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
17850 using SDWIM mode iterator.
17851 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
17852 pattern from *ashl{di,ti}3_1 and corresponding splitters using
17853 DWI mode iterator.
17854 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
17855 from corresponding peephole2 patterns.
17856 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
17857 and x86_64_shift_adj_1 using SWI48 mode iterator.
17858 (x86_shift<mode>_adj_2): Ditto.
17859 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
17860 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
17861 using SWI48 mode iterator.
17862 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
17863 *ashldi3_cmp_rex64 using SWI mode iterator.
17864 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
17865 *ashldi3_cconly_rex64 using SWI mode iterator.
17866 * config/i386/i386.c (ix86_split_ashl): Update for renamed
17867 x86_shift<mode>_adj_{1,2}.
17868 (ix86_split_ashr): Ditto.
17869 (ix86_split_lshr): Ditto.
17870
88dd7150
RG
178712010-04-09 Richard Guenther <rguenther@suse.de>
17872
17873 * target.h (builtin_conversion): Pass in input and output types.
17874 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
17875 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
17876 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
17877 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
17878
17879 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
17880 Handle AVX modes.
17881 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
17882
3f2060fd
RG
178832010-04-09 Richard Guenther <rguenther@suse.de>
17884
17885 PR target/43152
17886 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
17887
b690cc0f
RG
178882010-04-09 Richard Guenther <rguenther@suse.de>
17889
17890 * tree-vectorizer.h (struct _stmt_vec_info): Document
17891 that vectype is the type of the LHS.
59caab22 17892 (supportable_widening_operation, supportable_narrowing_operation):
b690cc0f
RG
17893 Get both input and output vector types as arguments.
17894 (vect_is_simple_use_1): Declare.
17895 (get_same_sized_vectype): Likewise.
17896 * tree-vect-loop.c (vect_determine_vectorization_factor):
17897 Set STMT_VINFO_VECTYPE to the vector type of the def.
17898 (vectorizable_reduction): Adjust.
17899 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
17900 Adjust. Specify the output vector type.
17901 (vect_pattern_recog_1): Adjust.
17902 * tree-vect-stmts.c (get_same_sized_vectype): New function.
17903 (vectorizable_call): Adjust.
17904 (vectorizable_conversion): Likewise.
17905 (vectorizable_operation): Likewise.
17906 (vectorizable_type_demotion): Likewise.
17907 (vectorizable_type_promotion): Likewise.
17908 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
17909 the def.
17910 (vect_is_simple_use_1): New function.
17911 (supportable_widening_operation): Get both input and output
17912 vector types.
17913 (supportable_narrowing_operation): Likewise.
17914 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
17915
3e65f251
KT
179162010-04-09 Kai Tietz <kai.tietz@onevision.com>
17917
17918 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
17919 __thiscall and _thiscall as predefined macros.
17920 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
17921 thiscall attribute handling.
17922 (ix86_comp_type_attributes): Likewise.
17923 (ix86_function_regparm): Likewise.
17924 (ix86_return_pops_args): Likewise.
17925 (init_cumulative_args): Likewise.
17926 (find_drap_reg): Likewise.
17927 (ix86_static_chain): Likewise.
17928 (x86_this_parameter): Likewise.
17929 (x86_output_mi_thunk): Likewise.
17930 (ix86_attribute_table): Add description for thiscall attribute.
014753cc 17931 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
3e65f251 17932 * doc/extend.texi: Add documentation for thiscall.
27431d88 17933
dc8d2739
MLI
179342010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
17935
17936 PR c++/28584
17937 * c.opt (Wint-to-pointer-cast): Available in C++.
17938 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
17939
d47d0a8d
EB
179402010-04-08 Eric Botcazou <ebotcazou@adacore.com>
17941
17942 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
17943 * calls.c (expand_call): Pass the function type to aggregate_value_p.
17944 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
17945 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
17946 function type instead. Reorder and simplify checks.
17947
17948 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
17949
dc5ee869
JY
179502010-04-08 Jing Yu <jingyu@google.com>
17951 Zdenek Dvorak <ook@ucw.cz>
17952
17953 PR tree-optimization/42720
17954 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
014753cc
UB
17955 loop unswitch conditions here from ...
17956 (tree_unswitch_single_loop): ... here.
dc5ee869 17957
98c07c54
SP
179582010-04-08 Sebastian Pop <sebastian.pop@amd.com>
17959
17960 * tree-if-conv.c: Fix comments and simplify logic.
17961
6cbcfa9d
SP
179622010-04-08 Sebastian Pop <sebastian.pop@amd.com>
17963
17964 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
17965 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
17966 (main_tree_if_conversion): Update call to tree_if_conversion.
17967
1401cf37
MLI
179682010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
17969
17970 PR 42485
17971 * doc/invoke.texi (-b,-V): Delete.
17972 * doc/tm.texi: Do not mention -b.
17973 * gcc.c (display_help): Delete -b and -V.
17974 (process_command): Delete -b and -V.
17975 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6cbcfa9d 17976
40ac4f73 179772010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
27431d88 17978 Wolfgang Gellerich <gellerich@de.ibm.com>
40ac4f73 17979
014753cc
UB
17980 Implement target hook for loop unrolling
17981 * target.h (loop_unroll_adjust): Add a new target hook function.
17982 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
17983 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
17984 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
17985 (s390_loop_unroll_adjust): Implement the new target hook for s390.
17986 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
17987 target hook.
17988 (decide_unroll_stupid): Likewise.
40ac4f73 17989
07c60ef7
RO
179902010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17991
17992 PR target/43643
17993 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
17994
dd178909
RO
179952010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17996
17997 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
17998 (Specific, *-*-solaris2*): Likewise.
17999 Don't prefer Sun as over GNU as.
18000
cc6ae6a1
WG
180012010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
18002
c46a5e28
EB
18003 * config/s390/s390.c (override_options): Adjust the z10 defaults
18004 for max-unroll-times, max-completely-peeled-insns
18005 and max-completely-peel-times.
cc6ae6a1 18006
adfa3cd3
AK
180072010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
18008
18009 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
18010 instructions for z10.
18011 (s390_expand_setmem): Likewise.
18012 (s390_expand_cmpmem): Likewise.
18013
84ae6d7b
RG
180142010-04-08 Richard Guenther <rguenther@suse.de>
18015
18016 PR tree-optimization/43679
18017 * tree-ssa-pre.c (eliminate): Only propagate copies.
18018
5a905a2b
JJ
180192010-04-08 Jakub Jelinek <jakub@redhat.com>
18020
18021 PR bootstrap/43681
18022 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
18023 set but not used variable warning.
18024
7548c1be
WG
180252010-04-08 Wei Guozhi <carrot@google.com>
18026
18027 PR target/41653
18028 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
18029 (arm_size_rtx_costs): Call the new function when optimized for size.
18030
aa847cc8
JJ
180312010-04-08 Jakub Jelinek <jakub@redhat.com>
18032
18033 PR debug/43670
18034 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
18035 op0 is not a MEM, just return NULL instead of assertion
18036 failure.
18037 (discover_nonconstant_array_refs): Don't walk debug stmts.
18038
1dcc82c2
DK
180392010-04-08 Doug Kwan <dougkwan@google.com>
18040
18041 * configure.ac: Recognize gold and do not use its version number
18042 to test ld features.
18043 * configure: Regenerate.
18044
b0aef8a8
MK
180452010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
18046
18047 PR middle-end/40815
18048 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
18049 (negate_value): Move code to push elements to broken_up_substracts ...
18050 (eliminate_plus_minus_pair): ... here. Push operands that have no
18051 negative pair to plus_negates.
18052 (repropagate_negates, init_reassoc, fini_reassoc): Update.
18053
7a50adb7
RW
180542010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18055
2d413304
RW
18056 * doc/install.texi (Configuration): Move description of
18057 --enable-lto, --with-libelf*, --enable-gold from Java section to
18058 general section.
18059
7a50adb7
RW
18060 * doc/generic.texi (Working with declarations)
18061 (Function Properties, C and C++ Trees): Fix typos.
18062 * doc/sourcebuild.texi (Top Level): Likewise.
18063
60d3aec4
JJ
180642010-04-07 Jakub Jelinek <jakub@redhat.com>
18065
ebfbbdc5
JJ
18066 PR c/18624
18067 * tree.h (DECL_READ_P): Define.
18068 (struct tree_decl_common): Add decl_read_flag.
18069 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
18070 a set but not used warning.
18071 (merge_decls): Merge DECL_READ_P flag.
18072 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
18073 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
18074 * c-common.c (handle_used_attribute, handle_unused_attribute):
18075 Likewise.
18076 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
18077 New prototypes.
18078 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
18079 New functions.
18080 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
18081 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
18082 c_parser_binary_expression, c_parser_cast_expression,
18083 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
18084 Call default_function_array_read_conversion instead of
18085 default_function_array_conversion where needed.
18086 (c_parser_unary_expression, c_parser_conditional_expression,
18087 c_parser_postfix_expression_after_primary, c_parser_initelt):
18088 Likewise. Call mark_exp_read where needed.
18089 (c_parser_statement_after_labels, c_parser_asm_operands,
18090 c_parser_typeof_specifier, c_parser_sizeof_expression,
18091 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
18092 where needed.
18093 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
18094 New.
18095 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
18096 (warn_unused_but_set_parameter): Default to warn_unused
18097 && extra_warnings.
18098 * doc/invoke.texi: Document -Wunused-but-set-variable and
18099 -Wunused-but-set-parameter.
18100
60d3aec4
JJ
18101 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
18102 used count variable.
18103 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
18104 when operandN variables aren't used in the body of the expander
18105 or splitter.
18106 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
18107 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
18108 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
18109 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
18110 FOR_EACH_IMM_USE_ON_STMT): Likewise.
18111 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
18112 * tree.c (PROCESS_ARG): Likewise.
18113
87cf0651
SB
181142010-04-07 Simon Baldwin <simonb@google.com>
18115
18116 * diagnostic.h (diagnostic_override_option_index): New macro to
18117 set a diagnostic's option_index.
18118 * c-tree.h (c_cpp_error): Add warning reason argument.
18119 * opts.c (_warning_as_error_callback): New.
18120 (register_warning_as_error_callback): Store callback for
18121 warnings enabled via enable_warning_as_error.
18122 (enable_warning_as_error): Call callback, minor code tidy.
18123 * opts.h (register_warning_as_error_callback): Declare.
18124 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
18125 response to -Werror=.
18126 (c_common_init_options): Register warning_as_error_callback in opts.c.
18127 * common.opt: Add -Wno-cpp option.
18128 * c-common.c (struct reason_option_codes_t): Map cpp warning
18129 reason codes to gcc option indexes.
18130 * (c_option_controlling_cpp_error): New function, lookup the gcc
18131 option index for a cpp warning reason code.
18132 * (c_cpp_error): Add warning reason argument, call
18133 c_option_controlling_cpp_error for diagnostic_override_option_index.
18134 * doc/invoke.texi: Document -Wno-cpp.
18135
2ea9dc64
RG
181362010-04-07 Richard Guenther <rguenther@suse.de>
18137
18138 * ipa-reference.c (mark_load): Use get_base_address.
18139 (mark_store): Likewise.
18140
18141 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
18142 inserting GIMPLE_NOPs into the IL.
18143 * tree-ssa-structalias.c (get_constraint_for_component_ref):
18144 Explicitly strip handled components and indirect references.
59caab22 18145
2ea9dc64
RG
18146 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
18147 folding address expressions.
18148 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
18149 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
18150 operand_equal_p to compare decls.
18151 (ptr_deref_may_alias_decl_p): Likewise.
18152 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
18153 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
18154 Handle reversed comparison ops.
18155 * tree-sra.c (asm_visit_addr): Use get_base_address.
014753cc 18156 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
2ea9dc64
RG
18157 * ipa-reference.c (mark_address): Use get_base_address.
18158
95d938ee
RG
181592010-04-07 Richard Guenther <rguenther@suse.de>
18160
18161 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
18162 Propagate constants everywhere.
18163
1a299ae4
JJ
181642010-04-07 Jakub Jelinek <jakub@redhat.com>
18165
18166 PR debug/43516
18167 * tree.c (MAX_INT_CACHED_PREC): Define.
18168 (nonstandard_integer_type_cache): New array.
18169 (build_nonstandard_integer_type): Cache results for precision
18170 <= MAX_INT_CACHED_PREC.
18171
0d3c82d6
RG
181722010-04-07 Richard Guenther <rguenther@suse.de>
18173
18174 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
18175 -fargument-noalias-global, -fargument-noalias-anything): Remove.
18176 * common.opt: Likewise.
014753cc
UB
18177 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
18178 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
0d3c82d6
RG
18179 (nonoverlapping_memrefs_p): Likewise.
18180 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
18181 * opts.c (common_handle_option): Handle OPT_fargument_alias,
18182 OPT_fargument_noalias, OPT_fargument_noalias_anything and
18183 OPT_fargument_noalias_global for backward compatibility.
18184
12bd5a1e
RG
181852010-04-07 Richard Guenther <rguenther@suse.de>
18186
18187 PR tree-optimization/43270
014753cc 18188 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
12bd5a1e
RG
18189 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
18190 * tree-ssa-pre.c (phi_translate_1): Adjust.
18191 (fully_constant_expression): Split out vn_reference handling to ...
18192 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
18193 Fold reads from constant strings.
18194 (vn_reference_lookup): Handle fully constant references.
18195 (vn_reference_lookup_pieces): Likewise.
18196 * Makefile.in (expmed.o-warn): Add -Wno-error.
18197
a7752396
MJ
181982010-04-07 Martin Jambor <mjambor@suse.cz>
18199
18200 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
18201
6392bea6
IS
182022010-04-07 Iain Sandoe <iains@gcc.gnu.org>
18203
18204 PR driver/41594
18205 * gcc.c: Add -static-libstdc++ to list of recognized options.
18206
9af27220
RO
182072010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18208
014753cc 18209 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
9af27220 18210
83a416b0
RG
182112010-04-07 Richard Guenther <rguenther@suse.de>
18212
18213 PR middle-end/42617
014753cc
UB
18214 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
18215 bases build simple mem attributes to retain points-to information.
83a416b0 18216
366f945f
RG
182172010-04-07 Richard Guenther <rguenther@suse.de>
18218
18219 PR middle-end/42617
18220 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
18221 preserve points-to related information.
18222
56c47f22
RG
182232010-04-07 Richard Guenther <rguenther@suse.de>
18224
18225 PR middle-end/42617
18226 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
18227 discard plain indirect references.
014753cc 18228 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
56c47f22
RG
18229 * tree.c (tree_nop_conversion): Likewise.
18230
a42f1217
DS
182312010-04-07 Dodji Seketeli <dodji@redhat.com>
18232
18233 PR debug/43628
18234 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
18235
b97b2634
KT
182362010-04-06 Kai Tietz <kai.tietz@onevision.com>
18237
18238 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
18239 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
18240
62ef2431
SP
182412010-04-07 Sebastian Pop <sebastian.pop@amd.com>
18242
18243 * tree-if-conv.c: Fix indentation and comments.
18244
baaa8e96
SP
182452010-04-07 Sebastian Pop <sebastian.pop@amd.com>
18246
18247 * tree-if-conv.c: Sort static functions in topological order.
18248
b6779d81
SP
182492010-04-07 Sebastian Pop <sebastian.pop@amd.com>
18250
18251 * tree-if-conv.c: Fix indentation and comments.
18252
9310a3e2
SP
182532010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18254
18255 PR middle-end/43519
18256 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
014753cc
UB
18257 lang_hooks.types.type_for_size instead of
18258 build_nonstandard_integer_type.
9310a3e2
SP
18259 When converting an unsigned type to signed, double its precision.
18260 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
18261 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
014753cc
UB
18262 (graphite_create_new_loop_guard): When ub + 1 wraps around,
18263 use lb <= ub.
9310a3e2
SP
18264
182652010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18266
18267 PR middle-end/43519
18268 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
18269 POINTER_PLUS_EXPR for pointer types.
18270
182712010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18272
18273 PR middle-end/43519
18274 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
18275 * graphite-clast-to-gimple.c: Include langhooks.h.
18276 (max_signed_precision_type): New.
18277 (max_precision_type): Takes two types as arguments.
18278 (precision_for_value): New.
18279 (precision_for_interval): New.
18280 (gcc_type_for_interval): New.
18281 (gcc_type_for_value): New.
18282 (gcc_type_for_clast_term): New.
18283 (gcc_type_for_clast_red): New.
18284 (gcc_type_for_clast_bin): New.
18285 (gcc_type_for_clast_expr): Split up into several functions.
18286 (gcc_type_for_clast_eq): Rewritten.
18287 (compute_bounds_for_level): New.
18288 (compute_type_for_level_1): New.
18289 (compute_type_for_level): New.
18290 (gcc_type_for_cloog_iv): Removed.
18291 (gcc_type_for_iv_of_clast_loop): Rewritten.
18292 (graphite_create_new_loop): Compute the lower and upper bound types
18293 with gcc_type_for_clast_expr.
18294 (graphite_create_new_loop_guard): Same.
18295 (find_cloog_iv_in_expr): Removed.
18296 (compute_cloog_iv_types_1): Removed.
18297 (compute_cloog_iv_types): Removed.
18298 (gloog): Do not call compute_cloog_iv_types.
18299 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
18300 GBB_CLOOG_IV_TYPES.
18301 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
18302 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
18303 (GBB_CLOOG_IV_TYPES): Removed.
18304
183052010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18306
18307 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
18308 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
18309 (detect_commutative_reduction): Same.
18310
a3b9e73c
SP
183112010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18312
18313 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
18314 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
18315 argument.
18316 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
18317 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
18318 (rewrite_commutative_reductions_out_of_ssa): Same.
18319 * passes.c (execute_function_todo): Call verify_ssa for every pass
18320 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
18321 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
18322 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
18323 with an extra argument.
18324 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
18325 verify_ssa only when the extra argument is true.
18326 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
18327 with an extra argument.
18328 (tree_transform_and_unroll_loop): Same.
18329
98b6e9dd
SP
183302010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18331
18332 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
18333 for all the passes of the LNO having LOOP_CLOSED_SSA.
18334 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
18335 * tree-loop-distribution.c (pass_loop_distribution): Same.
18336 * tree-pass.h (TODO_verify_loops): Removed.
18337 * tree-ssa-loop.c (pass_tree_loop_init): Same.
18338 (pass_lim): Same.
18339 (pass_tree_unswitch): Same.
18340 (pass_predcom): Same.
18341 (pass_vectorize): Same.
18342 (pass_linear_transform): Same.
18343 (pass_graphite_transforms): Same.
18344 (pass_iv_canon): Same.
18345 (pass_complete_unroll): Same.
18346 (pass_complete_unrolli): Same.
18347 (pass_parallelize_loops): Same.
18348 (pass_loop_prefetch): Same.
18349 (pass_iv_optimize): Same.
18350
c86a3947
CF
183512010-04-06 Changpeng Fang <changpeng.fang@amd.com>
18352
18353 PR middle-end/32824
18354 * passes.c (init_optimization_passes): Move pass_lim before
18355 pass_copy_prop and pass_dce_loop.
18356
37794981
JJ
183572010-04-06 Jakub Jelinek <jakub@redhat.com>
18358
18359 PR target/43667
18360 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
18361 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
18362 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
18363 MULTI_* defines for 4 argument vpermil2p* builtins.
18364
d079b87f
UB
183652010-04-06 Uros Bizjak <ubizjak@gmail.com>
18366
18367 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
18368 * config/i386/i386.c (x86_maybe_negate_const_int): New.
18369 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
18370 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
18371 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
18372 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
18373 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
18374 Use x86_maybe_negate_const_int to output insn mnemonic.
18375 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
18376 check from instruction predicate. Update comments.
18377 * config/i386/sync.md (sync_add<mode>): Use
18378 x86_maybe_negate_const_int to output insn mnemonic.
b1a0b3b4 18379
d079b87f
UB
183802010-04-06 Jan Hubicka <jh@suse.cz>
18381
18382 PR tree-optimization/42906
18383 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
18384 IGNORE_SELF argument. Set visited_control_parents for fully
18385 processed BBs.
b1a0b3b4
JH
18386 (find_obviously_necessary_stmts): Update call of
18387 mark_control_dependent_edges_necessary.
d079b87f 18388 (propagate_necessity): Likewise. Handle PHI edges more curefully.
b1a0b3b4 18389
6593d123
UB
183902010-04-06 Uros Bizjak <ubizjak@gmail.com>
18391
18392 * config/i386/i386.md: Remove comment about 'e' and 'E'
18393 operand modifier.
18394
56186ac2
RG
183952010-04-06 Richard Guenther <rguenther@suse.de>
18396
18397 PR tree-optimization/43627
18398 * tree-vrp.c (extract_range_from_unary_expr): Widenings
18399 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
18400 not varying.
18401
7d11d368
JJ
184022010-04-06 Jakub Jelinek <jakub@redhat.com>
18403
d3bccded
JJ
18404 * BASE-VER: Change to 4.6.0.
18405
7d11d368
JJ
18406 PR target/43638
18407 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
18408 handling.
18409
eb12d0ae
RG
184102010-04-06 Richard Guenther <rguenther@suse.de>
18411
18412 PR middle-end/43661
18413 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
18414
53b79425
RW
184152010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18416
18417 * doc/invoke.texi (Optimize Options): Document that LTO
18418 won't remove object access purely due to incompatible
18419 declarations.
18420
7e0ec110
MK
184212010-04-04 Matthias Klose <doko@ubuntu.com>
18422
18423 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
18424 Initialize variable.
18425
2b22e382
RG
184262010-04-03 Richard Guenther <rguenther@suse.de>
18427
18428 PR middle-end/42509
18429 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
18430 require a non-NULL MEM_OFFSET.
18431
c75c517d
SB
184322010-04-02 Steven Bosscher <steven@gcc.gnu.org>
18433
d079b87f 18434 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
c75c517d
SB
18435 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
18436 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
18437 config/alpha/predicates.md, config/arm/arm.md,
18438 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
18439 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
18440 config/darwin9.h, config/darwin.c, config/darwin.h,
18441 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
18442 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
18443 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
18444 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
18445 config/mips/mips.md, config/mn10300/mn10300.c,
18446 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
18447 config/rs6000/aix.h, config/rs6000/dfp.md,
18448 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
18449 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
18450 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
18451 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
18452 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
18453 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
18454 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
18455 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
18456 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
18457 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
18458 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
18459 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
18460 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
18461 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
18462 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
18463 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
18464 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
18465 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
18466 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
18467 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
18468 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
18469 opt-functions.awk, opth-gen.awk, params.def, passes.c,
18470 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
18471 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
18472 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
18473 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
18474 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
18475 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
18476 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
18477 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
18478 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
18479 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
18480 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
18481 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
18482 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
18483 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
18484
4d9e8446
RW
184852010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18486
18487 PR other/43620
18488 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
18489 * aclocal.m4: Regenerate.
18490
1cdaa211
RG
184912010-04-02 Richard Guenther <rguenther@suse.de>
18492
18493 PR tree-optimization/43629
18494 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
18495 if we have seen a constant value.
18496
d33da5cd
JM
184972010-04-02 Joseph Myers <joseph@codesourcery.com>
18498
014753cc 18499 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
d33da5cd 18500
2e5505a4
RE
185012010-04-02 Richard Earnshaw <rearnsha@arm.com>
18502
18503 PR target/43469
d079b87f 18504 * arm.c (legitimize_tls_address): Adjust call to
2e5505a4
RE
18505 gen_tls_load_dot_plus_four.
18506 (arm_note_pic_base): New function.
18507 (arm_cannot_copy_insn_p): Use it.
18508 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
18509 constraint.
18510
bdfbd9df
RW
185112010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18512
18513 PR bootstrap/43531
18514
18515 Revert:
18516 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18517
18518 * Makefile.in ($(out_object_file)): Depend on
18519 gt-$(basename $(notdir $(out_file))).h.
18520
2bc40daa
RC
185212010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
18522
014753cc 18523 * config.gcc (lm32-*-rtems*): Add t-lm32.
2bc40daa
RC
18524
185252010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
18526
014753cc
UB
18527 * config.gcc: Add lm32-*-rtems*.
18528 * config/lm32/rtems.h: New file.
2bc40daa 18529
abfb38d7
DK
185302010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
18531
18532 PR target/42609
18533 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
18534
2f43d500
JJ
185352010-04-01 Jakub Jelinek <jakub@redhat.com>
18536
18537 * dwarf2out.c (output_compilation_unit_header): For
18538 -gdwarf-4 use version 4 instead of version 3.
18539 (output_line_info): For version 4 and above emit additional
18540 maximum ops per insn header field.
18541 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
18542
18543 * dwarf2out.c (is_c_family, is_java): Remove.
18544 (lower_bound_default): New function.
18545 (add_bound_info, gen_descr_array_type_die): Use it.
18546
777351a5
DS
185472010-04-01 Dodji Seketeli <dodji@redhat.com>
18548
18549 PR debug/43325
18550 * dwarf2out.c (gen_variable_die): Allow debug info for variable
18551 re-declaration when it happens in a function.
18552
6544865a
AH
185532010-04-01 Aldy Hernandez <aldyh@redhat.com>
18554
18555 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
18556 (cgraph_remove_function_insertion_hook): Same.
18557 (cgraph_call_function_insertion_hooks): Same.
18558
5e9fb3db
RG
185592010-04-01 Richard Guenther <rguenther@suse.de>
18560
18561 PR middle-end/43614
18562 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
18563 and TREE_THIS_VOLATILE.
18564 (copy_ref_info): Likewise.
18565 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
18566 * tree.c (build6_stat): Ignore side-effects of all but arg5
18567 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
18568 TARGET_MEM_REF.
18569
eb258d7f
RG
185702010-04-01 Richard Guenther <rguenther@suse.de>
18571
18572 PR tree-optimization/43607
18573 * ipa-type-escape.c (check_call): Do not access non-existing
18574 arguments.
18575
aa8bfcad
RG
185762010-04-01 Richard Guenther <rguenther@suse.de>
18577
18578 PR middle-end/43602
18579 Revert
18580 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
014753cc 18581 Jack Howarth <howarth@bromo.med.uc.edu>
aa8bfcad
RG
18582
18583 * tree-profile.c (tree_init_ic_make_global_vars): Make static
18584 variables TLS.
18585
8c5cfa89
RO
185862010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18587
18588 * doc/install.texi (Prerequisites): Document libelf usability on
18589 IRIX 5/6 and Solaris 2.
18590 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
18591 Update GNU as, GNU ld requirements.
18592 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
18593 Document Sun Studio compiler download.
18594 Update and simplify as, ld recommendations.
18595 (Specific, *-*-solaris2.7): Note obsoletion, removal.
18596
ddcc3550
RO
185972010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18598
9af27220 18599 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
ddcc3550
RO
18600 with_tune_32 to pentium4.
18601
93234e58
UB
186022010-04-01 Uros Bizjak <ubizjak@gmail.com>
18603
18604 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
18605
ef369ad8
RO
186062010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18607
18608 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
18609 obsoletion, removal.
18610 Update IDO URL.
18611 Document GNU as requirement.
18612 Update configure requirements.
014753cc 18613 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
ef369ad8
RO
18614 Recomment IRIX 6.5.18+.
18615 Document IDF/IDL requirement.
18616 Document GNU as requirement.
18617 Document GNU ld bootstrap failure.
18618 Remove freeware.sgi.com reference.
18619
92d80770
RO
186202010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18621
18622 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
18623 UNIX V4.0, V5.0 obsoletion, removal.
18624 Remove --with-gc=simple reference.
18625 Update VM requirements during bootstrap.
18626 Remove -oldas bootstrap description.
18627 Update binutils reference.
18628 Remove comparison failure note.
18629
25d635d9
SP
186302010-03-31 Richard Guenther <rguenther@suse.de>
18631 Zdenek Dvorak <ook@ucw.cz>
18632 Sebastian Pop <sebastian.pop@amd.com>
18633
18634 PR middle-end/43464
18635 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
18636 with multiple arguments.
18637 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
18638
186392010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18640
18641 * graphite-dependences.c (print_pddr): Call print_pdr with an
18642 extra argument.
18643 * graphite-poly.c (debug_pdr): Add an extra argument for the
18644 verbosity level.
18645 (print_pdr): Same.
18646 (print_pbb_domain): Same.
18647 (print_pbb): Same.
18648 (print_scop_context): Same.
18649 (print_scop): Same.
18650 (print_cloog): Same.
18651 (debug_pbb_domain): Same.
18652 (debug_pbb): Same.
18653 (print_pdrs): Same.
18654 (debug_pdrs): Same.
18655 (debug_scop_context): Same.
18656 (debug_scop): Same.
18657 (debug_cloog): Same.
18658 (print_scop_params): Same.
18659 (debug_scop_params): Same.
18660 (print_iteration_domain): Same.
18661 (print_iteration_domains): Same.
18662 (debug_iteration_domain): Same.
18663 (debug_iteration_domains): Same.
18664 (print_scattering_function): Same.
18665 (print_scattering_functions): Same.
18666 (debug_scattering_function): Same.
18667 (debug_scattering_functions): Same.
18668 * graphite-poly.h (debug_pdr): Update declaration.
18669 (print_pdr): Same.
18670 (print_pbb_domain): Same.
18671 (print_pbb): Same.
18672 (print_scop_context): Same.
18673 (print_scop): Same.
18674 (print_cloog): Same.
18675 (debug_pbb_domain): Same.
18676 (debug_pbb): Same.
18677 (print_pdrs): Same.
18678 (debug_pdrs): Same.
18679 (debug_scop_context): Same.
18680 (debug_scop): Same.
18681 (debug_cloog): Same.
18682 (print_scop_params): Same.
18683 (debug_scop_params): Same.
18684 (print_iteration_domain): Same.
18685 (print_iteration_domains): Same.
18686 (debug_iteration_domain): Same.
18687 (debug_iteration_domains): Same.
18688 (print_scattering_function): Same.
18689 (print_scattering_functions): Same.
18690 (debug_scattering_function): Same.
18691 (debug_scattering_functions): Same.
18692
186932010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18694
18695 * graphite-poly.c (print_scattering_function_1): New.
18696 (print_scattering_function): Call it.
18697 (print_scop_params): Remove spaces at the end of lines.
18698 (print_cloog): New.
18699 (debug_cloog): New.
18700 * graphite-poly.h (print_cloog): Declared.
18701 (debug_cloog): Declared.
18702
187032010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18704
18705 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
18706 in loop->header.
18707 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
18708 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
18709 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
18710 to switch between adding the IV bump in loop->latch or in loop->header.
18711
187122010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18713
18714 * graphite-poly.c (print_scattering_function): Pretty print following
18715 the scoplib format.
18716 (print_pdr): Same.
18717 (print_pbb_domain): Same.
18718 (dump_gbb_cases): Same.
18719 (dump_gbb_conditions): Same.
18720 (print_pdrs): Same.
18721 (print_pbb): Same.
18722 (print_scop_params): Same.
18723 (print_scop_context): Same.
18724 (print_scop): Same.
18725 (print_pbb_body): New.
18726 (lst_indent_to): New.
18727 (print_lst): Start new lines with a #.
18728 * graphite-poly.h (pbb_bb): New.
18729 (pbb_index): Use pbb_bb.
18730 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
18731 disjuncts.
18732 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
18733
2080bd29
JJ
187342010-03-31 Jakub Jelinek <jakub@redhat.com>
18735
290d8971
JJ
18736 * dwarf2out.c (size_of_die): For -gdwarf-4 use
18737 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
18738 and 0 instead of 1 for dw_val_class_flag.
18739 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
18740 dw_val_class_range_list, dw_val_class_loc_list,
18741 dw_val_class_lineptr and dw_val_class_macptr, use
18742 DW_FORM_flag_present for dw_val_class_flag and
18743 DW_FORM_exprloc for dw_val_class_loc.
18744 (output_die): For -gdwarf-4 print dw_val_class_loc
18745 size as uleb128 instead of 1 or 2 bytes and don't print
18746 anything for dw_val_class_flag.
18747
109f4af3
JJ
18748 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
18749 instead of cselib_lookup following by tweaking locs->setting_insn.
18750
2080bd29
JJ
18751 PR bootstrap/43596
18752 * cselib.c (cselib_process_insn): Clear cselib_current_insn
18753 even before returning from label, setjmp call or volatile asm
18754 handling.
18755
33283dad
RG
187562010-03-31 Richard Guenther <rguenther@suse.de>
18757
18758 PR middle-end/43600
18759 * cgraphunit.c (cgraph_output_in_order): Do not allocate
18760 temporary data on stack.
18761
a0c21029
RO
187622010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18763
18764 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
18765 (PUSHSECTION_ASM_OP): Remove.
18766 (POPSECTION_ASM_OP): Remove.
18767 (PUSHSECTION_FORMAT): Remove.
18768 * config/sol2.h (PUSHSECTION_FORMAT): Define.
18769 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
18770 * config/sol2.c (solaris_output_init_fini): Use it.
18771
a3f410a2
JZ
187722010-03-31 Jie Zhang <jie@codesourcery.com>
18773
18774 PR 43574
18775 * opt-functions.awk (var_type_struct): Use signed char type
18776 for simple variables.
18777
f0c01ffd
RO
187782010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18779
18780 * config/sol2.c: Include output.h.
18781 (solaris_assemble_visibility): New function.
18782 * config/t-sol2 (sol2.o): Add output.h dependency.
18783 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
18784 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
18785 Redefine.
18786
132b4e82
JJ
187872010-03-31 Jakub Jelinek <jakub@redhat.com>
18788
d8d55ac0
JJ
18789 PR target/43580
18790 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
18791 V2SImode or XFmode on PRE_DEC.
18792
132b4e82
JJ
18793 PR debug/43557
18794 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
18795 BLKmode.
18796
dc12b70e
JZ
187972010-03-31 Jie Zhang <jie@codesourcery.com>
18798
18799 PR 43562
18800 * reload.h (caller_save_initialized_p): Declare.
18801 * toplev.c (backend_init_target): Don't call
93234e58 18802 init_caller_save but set caller_save_initialized_p to false.
dc12b70e
JZ
18803 * caller-save.c (caller_save_initialized_p): Define.
18804 (init_caller_save): Check caller_save_initialized_p.
18805 * ira.c (ira): Call init_caller_save if flag_caller_saves.
18806
4a2f22ff
RO
188072010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18808
18809 PR target/39048
18810 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
18811 and soft-fp/t-softfp to tmake_file.
18812 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
18813 (LIBGCC2_TF_CEXT): Define.
18814 (TF_SIZE): Define.
18815
5847e8da
AO
188162010-03-30 Alexandre Oliva <aoliva@redhat.com>
18817
18818 PR debug/42977
18819 * cselib.c (n_useless_values): Document handling of debug locs.
18820 (n_useless_debug_values, n_debug_values): New variables.
18821 (new_elt_loc_list): Don't add to debug values, keep count.
18822 (promote_debug_loc): New.
18823 (cselib_reset_table): Zero new variables.
18824 (entry_and_rtx_equal_p): Promote debug locs.
18825 (discard_useless_locs): Increment n_useless_debug_values for
18826 debug values.
18827 (remove_useless_values): Adjust n_useless_values and n_debug_values
18828 with n_useless_debug_values.
18829 (add_mem_for_addr): Promote debug locs.
18830 (cselib_lookup_mem): Likewise.
18831 (cselib_lookup_addr): Renamed to...
93234e58 18832 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
5847e8da
AO
18833 (cselib_log_lookup): ... this. Turn into...
18834 (cselib_lookup_addr): ... new wrapper.
18835 (cselib_lookup_from_insn): New.
18836 (cselib_invalidate_regno): Increment n_useless_debug_values for
18837 debug values.
18838 (cselib_invalidate_mem): Likewise.
18839 (cselib_process_insn): Take n_deleted and n_debug_values into
18840 account to guard remove_useless_value call.
18841 (cselib_finish): Zero n_useless_debug_values.
18842 * cselib.h (cselib_lookup_from_insn): Declare.
18843 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
18844 (sched_analyze_2): Likewise.
18845
03a5f060
JJ
188462010-03-30 Jakub Jelinek <jakub@redhat.com>
18847
e9e00885
JJ
18848 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
18849 functions.
18850 (adjust_mems): Replace narrowing SUBREG of expression containing
18851 just PLUS, MINUS, MULT and ASHIFT of registers and constants
18852 with operations in the narrower mode.
18853
03a5f060 18854 PR debug/43593
93234e58
UB
18855 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
18856 regs_invalidated_by_call instead all call_used_reg_set registers.
03a5f060 18857
8533c9d8
SP
188582010-03-30 Sebastian Pop <sebastian.pop@amd.com>
18859
18860 PR middle-end/43430
18861 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
18862 pointer comparisons with types_compatible_p.
18863 * tree-vect-stmts.c (vectorizable_call): Same.
18864 (vectorizable_condition): Same.
18865
a3e7e012
AK
188662010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
18867
18868 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
18869 stack check if the mask would be zero.
18870
40ae6799
SP
188712010-03-30 Seongbae Park <seongbae.park@gmail.com>
18872 Jack Howarth <howarth@bromo.med.uc.edu>
18873
18874 * tree-profile.c (tree_init_ic_make_global_vars): Make static
18875 variables TLS.
18876
2bcba94b
JM
188772010-03-30 Joseph Myers <joseph@codesourcery.com>
18878
18879 PR other/25232
18880 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
18881 and __unordtf2.
18882 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
18883 Include ___unordxf2 and ___unordtf2.
18884 * config/i386/libgcc-glibc.ver: Do not define inheritance from
18885 GCC_4.4.0 here.
18886
15baf7f8
TG
188872010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
18888
18889 * config/lm32/t-lm32: New file.
18890 * config.gcc: Use the above file when targetting lm32.
18891
fba48836
DS
188922010-03-28 Duncan Sands <baldrick@free.fr>
18893
93234e58 18894 * Makefile.in (PLUGIN_HEADERS): Add except.h.
fba48836 18895
49a71bc8
SP
188962010-03-29 Sebastian Pop <sebastian.pop@amd.com>
18897
18898 PR middle-end/43431
18899 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
18900 Improve vectorization cost model diagnostic.
18901
22a8be9e
SP
189022010-03-29 Sebastian Pop <sebastian.pop@amd.com>
18903
18904 PR middle-end/43436
18905 * tree-vect-data-refs.c (vect_analyze_data_refs): When
18906 compute_data_dependences_for_loop returns false, early exit
18907 and output an extra diagnostic for the failed data reference
18908 analysis.
18909
58adb739
RG
189102010-03-29 Richard Guenther <rguenther@suse.de>
18911
18912 PR tree-optimization/43560
93234e58
UB
18913 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
18914 (can_sm_ref_p): Treat stores to readonly locations as trapping.
58adb739 18915
3b34d92c
JZ
189162010-03-29 Jie Zhang <jie@codesourcery.com>
18917
18918 PR 43564
18919 * toplev.c (process_options): Set optimization_default_node
18920 and optimization_current_node.
18921 * opts.c (decode_options): Don't set optimization_default_node
18922 and optimization_current_node.
18923
090f6087
RC
189242010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
18925
18926 * config/rtems.h: Abandon -qrtems_debug.
18927
88cc1e04
JH
189282010-03-28 Jan Hubicka <jh@suse.cz>
18929
18930 PR tree-optimization/43505
18931 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
18932 map should not be copied.
18933
b932b8b1
JDA
189342010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18935
18936 PR middle-end/41674
18937 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
18938 cdtors, set DECL_PRESERVE_P.
18939 * ipa.c (cgraph_externally_visible_p): Return true if declaration
18940 should be preseved.
18941
fb6807b8
UB
189422010-03-27 Uros Bizjak <ubizjak@gmail.com>
18943
18944 PR tree-optimization/43528
18945 * stor-layout.c (place_field): Check that constant fits into
18946 unsigned HWI when skipping calculation of MS bitfield layout.
18947
a9deb256
JH
189482010-03-27 Jan Hubicka <jh@suse.cz>
18949
18950 PR middle-end/43391
18951 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
18952 notice_global_symbol work.
18953
5a9c8a1b
JJ
189542010-03-27 Jakub Jelinek <jakub@redhat.com>
18955
18956 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
18957 instead of dwarf2out_decl.
18958 (struct var_loc_node): Remove section_label field.
18959 (dwarf2out_function_decl): New function.
18960 (dwarf2out_var_location): Don't set section_label field.
18961 (dwarf2out_begin_function): Don't empty decl_loc_table here.
18962
62f7fd21
MM
189632010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
18964
18965 PR tree-optimization/43544
18966 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
18967 First argument for builtin vectorized function hook is now a
18968 tree to be able to distinguish between machine specific and
18969 standard builtins.
18970 * targhooks.c (default_builtin_vectorized_function): Ditto.
18971 * targhooks.h (default_builtin_vectorized_function): Ditto.
18972 * target.h (struct gcc_target): Ditto.
18973 * tree-vect-stmts.c (vectorizable_function): Ditto.
18974 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
18975 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
18976 Ditto.
18977
10e76c1a
JM
189782010-03-26 Joseph Myers <joseph@codesourcery.com>
18979
18980 PR c/43381
18981 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
18982 nested binding iff it is a FUNCTION_DECL.
18983 (store_parm_decls_newstyle): Pass nested=true to bind for
18984 FUNCTION_DECLs amongst parameters.
18985
89245ef2
JJ
189862010-03-26 Jakub Jelinek <jakub@redhat.com>
18987
2155f963
JJ
18988 * var-tracking.c (vt_expand_loc_callback): Don't run
18989 cselib_expand_value_rtx_cb in dummy mode if
18990 cselib_dummy_expand_value_rtx_cb returned false.
18991
e80691a0
JJ
18992 * var-tracking.c (emit_note_insn_var_location): For one part
18993 notes with offset 0, don't add EXPR_LIST around the location.
18994 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
18995 add_location_or_const_value_attribute): Adjust for that change.
18996
89245ef2
JJ
18997 PR debug/43540
18998 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
18999 into first operand and location into second.
19000 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
19001 dw_cfi_oprnd_loc for DW_CFA_expression.
19002 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
19003 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
19004 assume first argument is regnum and second argument is location.
19005
c5e43cc4
UB
190062010-03-26 Uros Bizjak <ubizjak@gmail.com>
19007
19008 PR target/42113
19009 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
19010 of scratch register to DImode. Split to DImode comparison operator.
19011 Use SImode subreg of scratch register in the multiplication.
19012 (*cmp_sadd_sidi): Ditto.
19013 (*cmp_ssub_si): Ditto.
19014 (*cmp_ssub_sidi): Ditto.
19015
fb04bb84
UB
190162010-03-26 Uros Bizjak <ubizjak@gmail.com>
19017
19018 PR target/43524
19019 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
19020 Remove invalid assert and wrong comment.
19021
6ca5d1f6
JJ
190222010-03-26 Jakub Jelinek <jakub@redhat.com>
19023
19024 PR debug/43516
19025 * flags.h (final_insns_dump_p): New extern.
19026 * final.c (final_insns_dump_p): New variable.
19027 (rest_of_clean_state): Set it before -fdump-final-insns=
19028 dumping, clear afterwards.
19029 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
19030 MEM_ALIAS_SET on MEMs.
19031
46bc665f
DM
190322010-03-26 David S. Miller <davem@davemloft.net>
19033
19034 * configure.ac: Fix sparc GOTDATA_OP bug check.
19035 * configure: Rebuild.
19036
9fa195b8
AM
190372010-03-26 Alan Modra <amodra@gmail.com>
19038
19039 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
19040
9b7e6950
RO
190412010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19042
19043 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
19044 TLS_SECTION_ASM_FLAG.
19045
d53c73e0
JJ
190462010-03-25 Jakub Jelinek <jakub@redhat.com>
19047
935ec2c9
JJ
19048 PR bootstrap/43511
19049 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
19050 Clear first_function_block_is_cold.
19051
d53c73e0
JJ
19052 PR c/43385
19053 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
19054 argument if the argument is truth_value_p.
19055
871c9abb
MM
190562010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
19057
fb04bb84 19058 * config/rs6000/constraints.md: Update copyright year for my changes.
94ad7adc 19059
871c9abb
MM
19060 PR target/43484
19061 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
19062 used in reg+reg addressing, swap registers.
19063
81ef7e24
JJ
190642010-03-24 Jakub Jelinek <jakub@redhat.com>
19065
6d217c32
JJ
19066 PR debug/43293
19067 * target.h (struct gcc_target): Add code_end hook.
19068 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
19069 if not yet defined.
19070 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
19071 * toplev.c (compile_file): Call targetm.asm_out.code_end
19072 hook before unwind info/debug info output.
19073 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
19074 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
19075 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
19076 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
19077 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
19078 * config/i386/i386.c (ix86_file_end): Renamed to...
19079 (ix86_code_end): ... this. Make static. Don't call
19080 file_end_indicate_exec_stack. Emit unwind info using
19081 final_start_function/final_end_function.
19082 (darwin_x86_file_end): Remove.
19083 (TARGET_ASM_CODE_END): Define.
19084 * config/i386/i386.h (TARGET_ASM_FILE_END,
19085 NEED_INDICATE_EXEC_STACK): Don't define.
19086 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
19087 (TARGET_ASM_FILE_END): Define to darwin_file_end.
19088 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
19089 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
19090
81ef7e24
JJ
19091 PR target/43498
19092 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
19093 at the beginning and final_end_function at the end.
19094 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
19095
f1c26cad
RO
190962010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19097
19098 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
19099 and Sun as TLS syntax.
19100 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
19101 * configure: Regenerate.
19102 * config.in: Regenerate.
19103 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
19104 (default_elf_asm_named_section): Use it.
19105 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
19106 (i386_output_dwarf_dtprel): Likewise.
19107 (output_addr_const_extra): Likewise.
19108 (output_pic_addr_const): Lowercase @GOTTPOFF.
19109 (output_addr_const_extra): Likewise.
19110 (output_pic_addr_const): Lowercase @GOTNTPOFF.
19111 (output_addr_const_extra): Likewise.
19112 (output_pic_addr_const): Lowercase @INDNTPOFF.
19113 (output_addr_const_extra): Likewise.
19114 (output_pic_addr_const): Lowercase @NTPOFF.
19115 (output_addr_const_extra): Likewise.
19116 (output_pic_addr_const): Lowercase @TPOFF.
19117 (output_addr_const_extra): Likewise.
fb04bb84 19118 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
f1c26cad
RO
19119 (*tls_global_dynamic_64): Likewise.
19120 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
19121 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
19122
19123 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
19124 (ASM_OUTPUT_TLS_COMMON): Use it.
19125 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
19126
19127 PR target/38118
fb04bb84 19128 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
f1c26cad
RO
19129 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
19130 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
19131 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
19132 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
19133 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
19134
d2af65b9
RO
191352010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19136
19137 * config/i386/i386.c (override_options): Don't accept
19138 -mtls-dialect=sun any longer.
19139 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
19140 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
19141 (*tls_local_dynamic_base_32_sun): Likewise.
19142 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
19143
d0ed412a
JJ
191442010-03-24 Jakub Jelinek <jakub@redhat.com>
19145
1db0ea00
JJ
19146 PR debug/43508
19147 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
19148 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
19149
3a6191b1
JJ
19150 PR debug/43479
19151 * ira.c (adjust_cleared_regs): New function.
19152 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
19153
d0ed412a
JJ
19154 PR debug/19192
19155 PR debug/43479
19156 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
19157 from gimple_block.
19158 * expr.c (expand_expr_real): Restore previous
19159 curr_insn_source_location and curr_insn_block after
19160 expand_expr_real_1 call.
19161 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
19162 instead of expand_expr_real_1.
19163
478ab26d
VM
191642010-03-23 Vladimir Makarov <vmakarov@redhat.com>
19165
19166 PR rtl-optimization/43413
19167 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
19168 hard regs too.
19169
67b476d1
JW
191702010-03-22 James E. Wilson <wilson@codesourcery.com>
19171
19172 PR target/43348
19173 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
fb04bb84 19174 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
67b476d1 19175
99eaa2e7
L
191762010-03-22 H.J. Lu <hongjiu.lu@intel.com>
19177
fb04bb84
UB
19178 * config/i386/i386.c (ix86_target_string): Add -mfma.
19179 Fix a typo in comment.
99eaa2e7 19180
212066e6
MS
191812010-03-22 Mike Stump <mikestump@comcast.net>
19182
19183 PR target/23071
19184 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
19185 Don't overly align based upon packed packed fields.
19186
ce30e6fd
JM
191872010-03-22 Jason Merrill <jason@redhat.com>
19188
19189 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
19190 Use () rather than [], and move before the element type.
19191
3a1ef68a
RO
191922010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19193
19194 * doc/configfiles.texi (Configuration Files): Removed
19195 fixinc/Makefile*, intl/Makefile.*.
fb04bb84
UB
19196 * doc/makefile.texi: Fixed markup. Abstract from version
19197 control system used.
3a1ef68a
RO
19198 (Makefile): Removed obsolete gcc/java/parse.y example.
19199 * doc/sourcebuild.texi: Likewise.
19200 (Top Level): Added config, gnattools, libdecnumber, libgcc,
fb04bb84 19201 libgomp, libssp. Removed fastjar.
3a1ef68a
RO
19202 (Miscellaneous Docs): Clarify location.
19203 Added COPYING3, COPYING3.LIB.
fb04bb84 19204 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
3a1ef68a 19205
7f5441df
RO
192062010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19207
19208 PR target/38085
19209 * config/i386/i386.c (x86_function_profiler)
19210 [!NO_PROFILE_COUNTERS]: Fix typo.
19211 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
19212 instead of callq.
19213
d4f3924a
JJ
192142010-03-22 Janis Johnson <janis187@us.ibm.com>
19215 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19216
19217 * doc/sourcebuild.texi (Test Directives): Split into six
19218 subsections, with most of the current text in new subsections
19219 Directives, Selectors, and Final Actions.
19220 (Directives): Split list of test directives into multiple
19221 subsubsections.
19222 (Selectors): Describe use and syntax of selectors.
19223 (Effective-Target Keywords): Describe all existing keywords.
19224 (Add Options): Describe features for dg-add-options.
19225 (Require Support): Describe variants of dg-require-support.
19226 (Final Actions): Describe commands to use in dg-final.
19227
047550e9
MM
192282010-03-22 Michael Matz <matz@suse.de>
19229
19230 PR middle-end/43475
19231 * recog.c (validate_replace_rtx_group): Replace also in
19232 REG_EQUAL and REG_EQUIV notes.
19233
6d7971b8
RG
192342010-03-22 Richard Guenther <rguenther@suse.de>
19235
19236 PR tree-optimization/43390
19237 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
19238 sure vector extracts are type correct.
19239
6af84c85
RG
192402010-03-22 Richard Guenther <rguenther@suse.de>
19241
19242 PR middle-end/40106
19243 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
19244 x * sqrt (x) even when optimizing for size if the target
19245 has native support for sqrt.
19246
539eb459
JJ
192472010-03-22 Jakub Jelinek <jakub@redhat.com>
19248
be36dd85
JJ
19249 * varasm.c (make_decl_rtl_for_debug): Also clear
19250 flag_mudflap for the duration of make_decl_rtl call.
19251
539eb459
JJ
19252 PR debug/43443
19253 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
19254 locs from preserved VALUEs.
19255
19c1be39
JDA
192562010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19257
19258 PR middle-end/42718
19259 * pa.md (movmemsi): Set align to one if zero.
19260 (movmemdi): Likewise.
19261
f8b68ed3
RE
192622010-03-21 Richard Earnshaw <rearnsha@arm.com>
19263
19264 PR target/42321
19265 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
19266 with their corresponding prologue pushes.
19267
941ce52b
AP
192682010-03-20 Andrew Pinski <pinskia@gmail.com>
19269
19270 PR target/43156
19271 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
19272 at the begining or end.
19273 (spu_expand_epilogue): Likewise.
19274
d491d2af
RG
192752010-03-20 Richard Guenther <rguenther@suse.de>
19276
19277 PR rtl-optimization/43438
19278 * combine.c (make_extraction): Properly zero-/sign-extend an
19279 extraction of the low part of a CONST_INT. Also handle
19280 CONST_DOUBLE.
19281
4dd9ee92
MS
192822010-03-19 Mike Stump <mikestump@comcast.net>
19283
19284 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
19285 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
19286 (override_options): Use SUBTARGET32_DEFAULT_CPU.
19287
e49a760f
AP
192882010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
19289
6644642e 19290 PR c/43211
fb04bb84
UB
19291 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
19292 an error.
e49a760f 19293
f0c6475a 192942010-03-19 Bernd Schmidt <bernds@codesourcery.com>
002b2dee
BS
19295
19296 PR rtl-optimization/42258
19297 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
19298 use that may match DEF.
19299
c99102b8
BS
19300 PR target/40697
19301 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
19302 the cost of loading the constant rather than assuming
19303 COSTS_N_INSNS (1).
19304 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
19305 outer code is AND, do the same tests as the andsi3 expander and
19306 return COSTS_N_INSNS (1) if and is cheap.
fdb2c684
BS
19307
19308 * optabs.c (avoid_expensive_constant): Fix formatting.
19309
f9ceed32
MM
193102010-03-19 Michael Matz <matz@suse.de>
19311
19312 PR c++/43116
19313 * attribs.c (decl_attributes): When rebuilding a function pointer
19314 type use the same qualifiers as the original pointer type.
19315
3795eae6
MJ
193162010-03-19 Martin Jambor <mjambor@suse.cz>
19317
19318 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
19319 and is_gimple_ip_invariant_address.
19320
ae0bef88
RR
193212010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19322
19323 Revert
19324 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19325
19326 * config/arm/arm.c (arm_override_options): Turn off
19327 flag_dwarf2_cfi_asm for AAPCS variants.
19328
9abf5d7b
RR
193292010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19330
19331 PR target/43399
19332 * config/arm/arm.c (emit_multi_reg_push): Update comments.
19333 Use PRE_MODIFY instead of PRE_DEC.
19334 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
19335 (vfp_emit_fstmd): Likewise.
19336
8a0b1aa4
MM
193372010-03-19 Michael Matz <matz@suse.de>
19338
19339 PR target/43305
19340 * builtins.c (expand_builtin_interclass_mathfn,
19341 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
19342 if that fails.
19343
3e999e7b
RG
193442010-03-19 Richard Guenther <rguenther@suse.de>
19345
19346 PR tree-optimization/43415
19347 * tree-ssa-pre.c (phi_translate): Split out worker to ...
19348 (phi_translate_1): ... this.
19349 (phi_translate): Move all caching here. Cache all NARY
19350 and REFERENCE translations.
19351
9fd52c6c
DM
193522010-03-19 David S. Miller <davem@davemloft.net>
19353
19354 With help from Eric Botcazou.
19355 * config/sparc/sparc.c: Include dwarf2out.h.
19356 (emit_pic_helper): Delete.
19357 (pic_helper_symbol_name): Delete.
19358 (pic_helper_emitted_p): Delete.
19359 (pic_helper_needed): New.
19360 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
19361 (get_pc_thunk_name): New.
19362 (load_pic_register): Remove 'delay_pic_helper' arg. Use
19363 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
19364 Set pic_helper_needed to true. Don't call emit_pic_helper.
19365 (sparc_expand_prologue): Update load_pic_register call.
19366 (sparc_output_mi_thunk): Likewise.
19367 (sparc_file_end): Emit a hidden comdat symbol for the PIC
19368 thunk if possible. Output CFI information as needed.
19369
a29d9e20 193702010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
b6010cab
FXC
19371 Jack Howarth <howarth@bromo.med.uc.edu>
19372
19373 PR target/36399
48019e3d 19374 * config/i386/i386.h: Fix ABI on darwin x86-32.
b6010cab 19375
b1aa0655
AH
193762010-03-18 Aldy Hernandez <aldyh@redhat.com>
19377
19378 * tree.h: Declare make_decl_rtl_for_debug.
19379 * varasm.c (make_decl_rtl_for_debug): New.
19380 * dwarf2out.c (rtl_for_decl_location): Call it.
19381 * cfgexpand.c (expand_debug_expr): Call it.
19382
f0c12fcc
JJ
193832010-03-18 Jakub Jelinek <jakub@redhat.com>
19384
9a05b749
JJ
19385 PR bootstrap/43399
19386 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
19387 mem_mode.
19388
f0c12fcc
JJ
19389 PR bootstrap/43403
19390 * var-tracking.c (vt_init_cfa_base): Do nothing if
fb04bb84 19391 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
f0c12fcc 19392
e999b0c9
AO
193932010-03-18 Alexandre Oliva <aoliva@redhat.com>
19394
19395 PR debug/42873
19396 * var-tracking.c (canonicalize_vars_star): New.
19397 (dataflow_post_merge_adjust): Use it.
19398
5644a3d0
JJ
193992010-03-18 Jakub Jelinek <jakub@redhat.com>
19400
19401 PR debug/43058
19402 * var-tracking.c (non_suitable_const): New function.
19403 (add_uses): For DEBUG_INSNs with constants, don't record any
19404 value, instead just the constant value itself.
19405 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
19406 is not VAR_LOC_UNKNOWN_P, set var to the constant.
19407 (emit_notes_in_bb): Likewise.
19408 (emit_note_insn_var_location): For onepart variables if
19409 cur_loc is a VOIDmode constant, use DECL_MODE.
19410
8132a837
MJ
194112010-03-18 Martin Jambor <mjambor@suse.cz>
19412
19413 PR middle-end/42450
19414 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
19415 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
19416 all non-clones. Moved call redirection...
fb04bb84 19417 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
8132a837
MJ
19418 (cgraph_materialize_all_clones): Dispose of all
19419 combined_args_to_skip bitmaps.
19420 (verify_cgraph_node): Do not check for edges pointing to wrong
19421 nodes in inline clones.
19422 * tree-inline.c (copy_bb): Call
19423 cgraph_redirect_edge_call_stmt_to_callee.
19424 * ipa.c (cgraph_remove_unreachable_nodes): Call
19425 cgraph_node_remove_callees even when there are used clones.
19426
7893d7ac
L
194272010-03-18 H.J. Lu <hongjiu.lu@intel.com>
19428
19429 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
19430
cdfedab1
L
194312010-03-18 H.J. Lu <hongjiu.lu@intel.com>
19432
19433 PR target/43383
19434 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
19435 for 32bit.
19436
c21372c4
MM
194372010-03-18 Michael Matz <matz@suse.de>
19438
19439 PR middle-end/43419
19440 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
19441 into sqrt(x) if we need to preserve signed zeros.
19442
82fa5f8a
L
194432010-03-18 Steven Bosscher <steven@gcc.gnu.org>
19444 Eric Botcazou <ebotcazou@adacore.com>
19445
19446 PR rtl-optimization/43360
19447 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
19448 note if we don't know its invariant status.
19449
eb45755f
MM
194502010-03-18 Michael Matz <matz@suse.de>
19451
19452 PR tree-optimization/43402
19453 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
19454 PHI chains of ssa names registered for update.
19455
60936b22
PB
194562010-03-17 Peter Bergner <bergner@vnet.ibm.com>
19457
19458 PR target/42427
19459 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
19460 non-offsettable and pre_modify update addressing.
19461 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
19462 and "2" alternatives "#".
19463 (*movdd_softfloat32): Make all alternatives "#";
19464 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
19465 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
19466 (*movdf_softfloat32): Make all alternatives "#";
19467 (movdi): Use the new DIFD mode iterator to create a common splitter
19468 for movdi, movdf and movdd patterns.
19469
316fc112
SZ
194702010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
19471
19472 * common.opt (dumpdir): Remove redundant tab.
19473
ec24771f
MJ
194742010-03-17 Martin Jambor <mjambor@suse.cz>
19475
19476 PR tree-optimization/43347
19477 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
19478 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
19479
e33c42db
BS
194802010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
19481
19482 PR rtl-optimization/42216
19483 * regrename.c (create_new_chain): New function, broken out from...
19484 (scan_rtx_reg): ... here. Call it. Handle the case where we are
19485 appending a use to an empty chain.
19486 (build_def_use): Remove previous changes that convert OP_INOUT to
19487 OP_OUT operands; instead detect the case where an OP_INOUT operand
fb04bb84 19488 uses a previously untracked register and create an empty chain for it.
e33c42db 19489
4c4177dc
RW
194902010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19491
19492 * doc/extend.texi (Function Attributes): Rewrite unfinished
19493 sentence in ms_abi documentation.
19494
60ac9511
AM
194952010-03-17 Alan Modra <amodra@gmail.com>
19496
19497 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
19498 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
19499 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
19500 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
19501
e19d1f06
RH
195022010-03-16 Richard Henderson <rth@redhat.com>
19503
19504 PR middle-end/43365
19505 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
19506 (lower_try_finally): Save and restore eh_seq around the expansion
19507 of the try-finally.
19508
c36fed0c
AH
195092010-03-16 Aldy Hernandez <aldyh@redhat.com>
19510
19511 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
19512 statements before splitting block.
19513
17a7cb4e
RO
195142010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19515
19516 * doc/sourcebuild.texi (Testsuites): Fix markup.
19517 Use pathnames relative to gcc/testsuite.
19518 (Test Directives): Move description of how timeout is determined.
19519 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
19520 (C Tests): Correct gcc.misc-tests directory.
19521 Framework tests now live in gcc.test-framework.
19522
7686fb74
RG
195232010-03-16 Richard Guenther <rguenther@suse.de>
19524
19525 PR middle-end/43379
fb04bb84
UB
19526 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
19527 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7686fb74 19528
7a181764
AH
195292010-03-16 Aldy Hernandez <aldyh@redhat.com>
19530 Alexandre Oliva <aoliva@redhat.com>
19531
19532 PR tree-optimization/42917
19533 * lambda-code.c (remove_iv): Skip debug statements.
19534 (lambda_loopnest_to_gcc_loopnest): Likewise.
19535 (not_interesting_stmt): Debug statements are not interesting.
19536
457eeaae
JJ
195372010-03-16 Jakub Jelinek <jakub@redhat.com>
19538
19539 PR debug/43051
19540 PR debug/43092
19541 * cselib.c (cselib_preserve_constants,
19542 cfa_base_preserved_val): New static variables.
19543 (preserve_only_constants): New function.
19544 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
fb04bb84 19545 clear its REG_VALUES. If cselib_preserve_constants, don't
457eeaae
JJ
19546 empty the whole hash table, but preserve there VALUEs with constants,
19547 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
19548 (cselib_preserve_cfa_base_value): New function.
19549 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
19550 (cselib_init): Change argument to int bitfield. Set
19551 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
19552 is in it.
19553 (cselib_finish): Clear cselib_preserve_constants and
19554 cfa_base_preserved_val.
19555 * cselib.h (enum cselib_record_what): New enum.
19556 (cselib_init): Change argument to int.
19557 (cselib_preserve_cfa_base_value): New prototype.
19558 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
19559 * dse.c (dse_step1): Likewise.
19560 * cfgcleanup.c (thread_jump): Likewise.
19561 * sched-deps.c (sched_analyze): Likewise.
19562 * gcse.c (local_cprop_pass): Likewise.
19563 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
19564 If FN is non-NULL, call the callback always and whenever it returns
19565 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
19566 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
19567 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
19568 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
19569 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
19570 * var-tracking.c: Include recog.h.
19571 (bb_stack_adjust_offset): Remove.
19572 (vt_stack_adjustments): Don't call it, instead just gather the
19573 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
19574 (adjust_stack_reference): Remove.
19575 (compute_cfa_pointer): New function.
19576 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
19577 (struct adjust_mem_data): New type.
19578 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
19579 functions.
19580 (get_address_mode): New function.
19581 (replace_expr_with_values): Use it.
19582 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
19583 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
19584 (adjust_sets): Remove.
19585 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
19586 Use get_address_mode.
19587 (get_adjusted_src): Remove.
19588 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
19589 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
19590 (add_with_sets): Don't call adjust_sets.
19591 (fp_setter, vt_init_cfa_base): New functions.
19592 (vt_initialize): Change return type to bool. Move most of pool etc.
19593 initialization to the beginning of the function from end. Pass
19594 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
19595 If !frame_pointer_needed, call vt_stack_adjustment before mos
19596 vector is filled, call vt_init_cfa_base if argp/framep has been
19597 eliminated to sp. If frame_pointer_needed and argp/framep has
19598 been eliminated to hard frame pointer, set
19599 hard_frame_pointer_adjustment and call vt_init_cfa_base after
19600 encountering fp setter in the prologue. For MO_ADJUST, call
19601 log_op_type before pusing the op into mos vector, not afterwards.
19602 Call adjust_insn before cselib_process_insn/add_with_sets,
19603 call cancel_changes (0) afterwards.
19604 (variable_tracking_main_1): Adjust for vt_initialize calling
19605 vt_stack_adjustments and returning whether it succeeded or not.
19606
7dee65d8
AH
196072010-03-15 Aldy Hernandez <aldyh@redhat.com>
19608
19609 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
19610 debug statements.
19611
6019a098
JJ
196122010-03-15 Jakub Jelinek <jakub@redhat.com>
19613
19614 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
19615 has been set.
19616 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
19617 drap_reg has not been set.
19618
c2172338
MM
196192010-03-15 Michael Matz <matz@suse.de>
19620
19621 PR middle-end/43300
19622 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
19623 use it to expand block copies.
19624 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
19625 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
19626 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
19627
610b64e2
RG
196282010-03-15 Richard Guenther <rguenther@suse.de>
19629
19630 PR tree-optimization/43367
19631 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
19632 elimination check.
19633
610de68d
RB
196342010-03-15 Richard Guenther <rguenther@suse.de>
19635
19636 PR tree-optimization/43317
19637 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
19638
932e2e64
MJ
196392010-03-15 Martin Jambor <mjambor@suse.cz>
19640
610de68d 19641 PR tree-optimization/43141
932e2e64
MJ
19642 * tree-sra.c (create_abstract_origin): New function.
19643 (modify_function): Call create_abstract_origin.
19644
c8c520dd
CD
196452010-03-15 Chris Demetriou <cgd@google.com>
19646
19647 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
19648 wasn't copied.
19649
7f931500
SP
196502010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19651
19652 PR middle-end/43354
19653 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
19654 call insert_out_of_ssa_copy for default definitions.
19655
196562010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19657
19658 * graphite-clast-to-gimple.c (my_long_long): Defined.
19659 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
19660 * graphite-sese-to-poly.c (my_long_long): Defined.
19661 (scop_ivs_can_be_represented): Use it.
19662
196632010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19664
19665 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
19666 graphite-max-bbs-per-function, and loop-block-tile-size.
19667 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
19668 with "maximum".
19669 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
19670
196712010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19672
19673 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
19674 forward declaration.
19675 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
19676 (add_upper_bounds_from_estimated_nit): New.
19677 (build_loop_iteration_domains): Use it.
19678
196792010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19680
19681 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
19682
196832010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19684
19685 PR middle-end/43306
19686 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
19687 should be an INTEGER_CST. Also handle CASE_CONVERT.
19688
196892010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19690
19691 * graphite.c (graphite_initialize): To bound the number of bbs per
19692 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
19693 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
19694 * doc/invoke.texi: Document it.
19695
196962010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19697
19698 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
19699 * graphite-sese-to-poly.h (build_poly_scop): Same.
19700
197012010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19702
19703 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
19704 the number of parameters in the scop. Use as an upper bound
19705 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
19706 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
19707 * doc/invoke.texi: Document it.
19708
929769f4
JQ
197092010-03-13 Jerry Quinn <jlquinn@optonline.net>
19710
19711 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
19712 * doc/c-tree.texi: Remove.
19713 * doc/generic.texi: Merge c-tree.texi here.
19714 * doc/gccint.texi (Trees): Remove menu entry.
19715 (c-tree.texi): Remove @include.
19716 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
19717 * doc/languages.texi (Reading RTL): Ditto.
19718
9c8cab44
SE
197192010-03-12 Steve Ellcey <sje@cup.hp.com>
19720
19721 PR target/42869
19722 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
19723
08f9d725
MM
197242010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
19725
19726 PR middle-end/42431
19727 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
19728 code added to work around reload clobbering CONST insns.
19729
70235ab9
JJ
197302010-03-12 Jakub Jelinek <jakub@redhat.com>
19731
0de3e43f
JJ
19732 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
19733 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
19734 (cselib_preserve_only_values): Remove retain argument, don't
19735 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
19736 * cselib.h (cselib_preserve_only_values): Remove retain argument.
19737 * var-tracking.c (micro_operation): Move insn field before union.
19738 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
19739 (struct variable_tracking_info_def): Remove n_mos field, change
19740 mos into a vector of micro_operations.
19741 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
19742 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
19743 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
19744 changing into a vector.
19745 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
19746 come before all other uops generated by add_stores.
19747 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
19748 argument removal.
19749 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
19750 a vector. Run just one pass over the bbs instead of separate counting
19751 and computation phase.
19752 (vt_finalize): Free VTI (bb)->mos vector instead of array.
19753
70235ab9
JJ
19754 PR debug/43329
19755 * tree-inline.c (remap_decls): Put old_var rather than origin_var
19756 into *nonlocalized_list vector.
19757 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
19758 even if origin is non-NULL.
19759 (gen_variable_die): Likewise.
19760 (process_scope_var): Don't change origin.
19761 (gen_decl_die): Likewise.
19762 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
19763 before adding new edges instead of after it, fix moving over
19764 debug stmts.
19765
7ac22e17
DM
197662010-03-11 David S. Miller <davem@davemloft.net>
19767
77514c73
UB
19768 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
19769 of four.
7ac22e17
DM
19770 * configure: Rebuild.
19771
0e0a1359
MJ
197722010-03-11 Martin Jambor <mjambor@suse.cz>
19773
19774 PR tree-optimization/43257
19775 * tree.c (assign_assembler_name_if_neeeded): New function.
19776 (free_lang_data_in_cgraph): Assembler name assignment moved to the
19777 above new function.
19778 * tree.h (assign_assembler_name_if_neeeded): Declare.
19779 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
19780 the function if needed.
19781
1d9edd01
CD
197822010-03-11 Chris Demetriou <cgd@google.com>
19783
19784 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
19785 include/stdint-gcc.h, and include/stdint.h world-readable.
19786
ff0a0c1d
RG
197872010-03-11 Richard Guenther <rguenther@suse.de>
19788
19789 PR tree-optimization/43255
19790 * tree-vrp.c (process_assert_insertions_for): Do not insert
19791 asserts for trivial conditions.
19792
b509e1fc
AK
197932010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19794
19795 PR tree-optimization/43280
77514c73
UB
19796 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
19797 generation. Move calculation of size out of the if branch.
b509e1fc
AK
19798 (find_bswap): Modify compare number generation.
19799
108ba00b
RG
198002010-03-11 Richard Guenther <rguenther@suse.de>
19801
19802 PR lto/43200
19803 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
19804 (input_gimple_stmt): Fixup handled component types during
19805 operand read. Also fix up decls in ADDR_EXPRs.
19806
f37f5bb9
EB
198072010-03-10 Eric Botcazou <ebotcazou@adacore.com>
19808
19809 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
19810 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
19811
e9fecf0e
JH
198122010-03-10 Jan Hubicka <jh@suse.cz>
19813
19814 PR c/43288
19815 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
19816 * varasm.c (get_variable_section): Don't do that here...
19817 (make_decl_rtl): ... and here.
19818 (do_assemble_alias): Produce decl RTL.
19819 (assemble_alias): Likewise.
19820
23f39b37
JJ
198212010-03-10 Jakub Jelinek <jakub@redhat.com>
19822
19823 PR debug/43290
19824 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
19825 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
19826 of fde->vdrap_reg.
19827 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
19828 (based_loc_descr): Only express drap or vdrap regno based expressions
19829 using DW_OP_fbreg when not optimizing.
19830 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
19831 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
19832 REG_CFA_SET_VDRAP note.
19833
6edd8198
AM
198342010-03-10 Alexander Monakov <amonakov@ispras.ru>
19835
19836 PR tree-optimization/43236
19837 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
19838 error in calculation of base address in reverse iteration case.
19839 (generate_builtin): Take number of latch executions if the statement
19840 is in the latch.
19841
9f698956
AB
198422010-03-10 Andrey Belevantsev <abel@ispras.ru>
19843
19844 PR middle-end/42859
19845 * tree-eh.c: Include pointer-set.h.
19846 (lower_eh_dispatch): Filter out duplicate case labels and
19847 remove the unneeded edge when the label is unused. Return
19848 true when some edges are removed.
19849 (execute_lower_eh_dispatch): When any lowering resulted in
19850 removing an edge, also delete unreachable blocks.
19851
ff4f03c3
JJ
198522010-03-10 Jakub Jelinek <jakub@redhat.com>
19853
19854 PR bootstrap/43287
19855 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
19856 UNSPEC_MACHOPIC_OFFSET.
19857
7b0f476d
AS
198582010-03-09 Andreas Schwab <schwab@linux-m68k.org>
19859
19860 PR target/43294
19861 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
19862 (m68k_delegitimize_address): New function.
19863
3b7998ea
JJ
198642010-03-09 Jakub Jelinek <jakub@redhat.com>
19865
eb1fcdaa
JJ
19866 PR debug/43299
19867 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
19868
69b89883
JJ
19869 PR debug/43299
19870 * var-tracking.c (adjust_sets): New function.
19871 (count_with_sets, add_with_sets): Use it.
19872 (get_adjusted_src): New inline function.
19873 (add_stores): Use it.
19874
3b7998ea
JJ
19875 PR debug/43304
19876 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
19877 call cselib_dummy_expand_value_rtx_cb instead of
19878 cselib_expand_value_rtx_cb.
bded9b70
JJ
19879
19880 PR debug/43293
19881 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
19882 * config/i386/i386.c: Include debug.h and dwarf2out.h.
19883 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
19884 and .cfi_endproc around the pic thunks.
19885 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
19886 all queued unwind info register saves are saved before the call.
19887 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
19888 considered as sp-=4 for unwind info and the pop as sp+=4 which
19889 also clobbers dest, but doesn't actually restore it.
4398467a
JJ
19890
19891 PR debug/43290
19892 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
19893 RTX_FRAME_RELATED_P.
19894
81ad4ac0
JZ
198952010-03-09 Jie Zhang <jie@codesourcery.com>
19896
19897 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
19898 whitespaces in output template.
19899
dc344e87
JZ
199002010-03-09 Jie Zhang <jie@codesourcery.com>
19901
19902 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
19903 out array boundary.
19904
ff12d3a6
JJ
199052010-03-08 Jakub Jelinek <jakub@redhat.com>
19906
19907 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
19908 builtins.exp in a separate job.
19909
b58543c3
SP
199102010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19911
19912 * graphite-sese-to-poly.c (add_param_constraints): Use
19913 lower_bound_in_type and upper_bound_in_type.
19914
199152010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19916
19917 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
19918 instead of unsigned_type_node.
19919
199202010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19921 Reza Yazdani <reza.yazdani@amd.com>
19922
19923 PR middle-end/43065
19924 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
19925 on pointer type parameters.
19926
199272010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
19928
19929 PR middle-end/42644
19930 PR middle-end/42130
19931 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
19932 handle conversions from pointer to integers.
19933 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
77514c73 19934 induction variable, to be able to work with code generated by CLooG.
b58543c3
SP
19935 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
19936 (build_poly_scop): Bail out if we cannot codegen a loop.
19937
199382010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
19939
19940 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
19941 code generation with gloog_error.
19942
199432010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19944
19945 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
19946 Call fold_convert on all the returned values.
77514c73
UB
19947 (expand_scalar_variables_expr): Pass to
19948 expand_scalar_variables_ssa_name the type of the resulting expression.
b58543c3
SP
19949
199502010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19951
19952 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
77514c73
UB
19953 ppl_min_for_le_pointset.
19954 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
b58543c3
SP
19955 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
19956
199572010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19958
19959 * graphite-dependences.c (map_into_dep_poly): Removed.
19960 (dependence_polyhedron_1): Use combine_context_id_scat.
19961
199622010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19963
19964 * graphite-poly.h (struct poly_scattering): Add layout documentation.
19965 (struct poly_bb): Same.
19966 (combine_context_id_scat): New.
19967
199682010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19969
19970 PR middle-end/42326
19971 * sese.c (name_defined_in_loop_p): Return false for default
19972 definitions.
19973
199742010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19975
19976 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
19977 and clean up the logic.
19978
199792010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19980
19981 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
19982 early return.
19983
1feb8238
JJ
199842010-03-08 Jakub Jelinek <jakub@redhat.com>
19985
19986 * var-tracking.c (remove_cselib_value_chains): Define only for
19987 ENABLE_CHECKING.
19988 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
19989 delete_slot_part, emit_notes_for_differences_1): Don't call
19990 remove_cselib_value_chains here.
19991 (set_slot_part, emit_notes_for_differences_2): Don't call
19992 add_cselib_value_chains here.
19993 (preserved_values): New vector.
19994 (preserve_value): New function.
19995 (add_uses, add_stores, vt_add_function_parameters): Use it
19996 instead of cselib_preserve_value.
19997 (changed_values_stack): New vector.
19998 (check_changed_vars_0): New function.
19999 (check_changed_vars_1, check_changed_vars_2): Use it.
20000 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
20001 changed_values_stack VALUEs.
20002 (vt_emit_notes): For all preserved_values call
20003 add_cselib_value_chains. If ENABLE_CHECKING call
20004 remove_cselib_value_chains before verifying value_chains is empty.
20005 Initialize and free changed_values_stack.
20006 (vt_initialize): Initialize preserved_values.
20007 (vt_finalize): Free preserved_values.
20008
cc788fcc
RG
200092010-03-08 Richard Guenther <rguenther@suse.de>
20010
20011 PR tree-optimization/43269
20012 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
20013 region detection.
20014
69c103c7
MJ
200152010-03-08 Martin Jambor <mjambor@suse.cz>
20016
20017 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
20018 (ipa_is_param_called): Removed.
20019 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
20020 (ipa_print_node_params): Do not print the called flag.
20021 (ipa_write_node_info): Do not stream the called flag.
20022 (ipa_read_node_info): Likewise.
20023
864ddef7
JJ
200242010-03-07 Jakub Jelinek <jakub@redhat.com>
20025
20026 PR debug/43176
20027 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
20028 * cselib.c (struct expand_value_data): Add dummy field.
20029 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
20030 dummy to false.
20031 (cselib_dummy_expand_value_rtx_cb): New function.
20032 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
20033 any rtl.
20034 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
20035 * var-tracking.c: Include pointer-set.h.
20036 (variable): Change n_var_parts to char from int. Add
20037 cur_loc_changed and in_changed_variables fields.
20038 (variable_canonicalize): Remove.
20039 (shared_var_p): New inline function.
20040 (unshare_variable): Maintain cur_loc_changed and
20041 in_changed_variables fields. If var was in changed_variables,
20042 replace it there with new_var. Just copy cur_loc instead of
20043 resetting it to something else.
20044 (variable_union): Don't recompute cur_loc. Use shared_var_p.
20045 (dataflow_set_union): Don't call variable_canonicalize.
20046 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
20047 of their DEBUG_EXPR_TREE_DECLs.
20048 (canonicalize_loc_order_check): Verify that cur_loc is NULL
20049 and in_changed_variables and cur_loc_changed is false.
20050 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
20051 and cur_loc_changed. Don't update cur_loc here.
20052 (variable_merge_over_src): Don't call variable_canonicalize.
20053 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
20054 removing loc that is equal to cur_loc, clear cur_loc,
20055 set cur_loc_changed and ensure variable_was_changed is called.
20056 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
20057 compare pointers in cur_loc check, if it is equal to loc,
20058 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
20059 (variable_different_p): Remove compare_current_location argument,
20060 don't compare cur_loc.
20061 (dataflow_set_different_1): Adjust variable_different_p caller.
20062 (variable_was_changed): If dv had some var in changed_variables
20063 already, reset in_changed_variables flag for it and propagate
20064 cur_loc_changed over to the new variable. On empty var
20065 always set cur_loc_changed. Set in_changed_variables on whatever
20066 var is added to changed_variables.
20067 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
20068 Use shared_var_p. When removing loc that is equal to cur_loc,
20069 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
20070 end, don't set it to something else, just call variable_was_changed.
20071 (delete_slot_part): Use shared_var_p. When cur_loc equals to
20072 loc being removed, clear cur_loc and set cur_loc_changed.
20073 Set cur_loc_changed if all locations have been removed.
20074 (struct expand_loc_callback_data): New type.
20075 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
20076 allocated. Always create SUBREGs if simplify_subreg failed.
20077 Prefer to use cur_loc, when that fails and still in
20078 changed_variables (and seen first time) recompute it. Set
20079 cur_loc_changed of variables which had to change cur_loc and
20080 compute elcd->cur_loc_changed if any of the subexpressions used
20081 had to change cur_loc.
20082 (vt_expand_loc): Adjust to pass arguments in
20083 expand_loc_callback_data structure.
20084 (vt_expand_loc_dummy): New function.
20085 (emitted_notes): New variable.
20086 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
20087 that weren't used for any other decl in current
20088 emit_notes_for_changes call call vt_expand_loc_dummy to update
20089 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
20090 first loc_chain location if NULL before. Always use just
20091 cur_loc instead of first loc_chain location. When cur_loc_changed
20092 is false, when not --enable-checking=rtl just don't emit any note.
20093 When rtl checking, compute the note and assert it is the same
20094 as previous note. Clear cur_loc_changed and in_changed_variables
20095 at the end before removing from changed_variables.
20096 (check_changed_vars_3): New function.
20097 (emit_notes_for_changes): Traverse changed_vars to call
20098 check_changed_vars_3 on each changed var.
20099 (emit_notes_for_differences_1): Clear cur_loc_changed and
20100 in_changed_variables. Recompute cur_loc of new_var.
77514c73 20101 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
864ddef7
JJ
20102 (vt_emit_notes): Initialize and destroy emitted_notes.
20103
c4137918
BS
201042010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
20105
20106 PR rtl-optimization/42220
20107 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
20108 Use verify_reg_tracked to determine if we should use OP_OUT rather
20109 than OP_INOUT.
20110 (build_def_use): If we see an in-out operand for a register that we
20111 know nothing about, treat is an output if possible, fail the block if
20112 not.
20113
cd6549e8
AO
201142010-03-06 Alexandre Oliva <aoliva@redhat.com>
20115
20116 PR debug/42897
20117 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
20118 permanently.
20119
aba09491
AO
201202010-03-06 Alexandre Oliva <aoliva@redhat.com>
20121
20122 PR debug/42897
20123 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
20124 uses of relevant DEFs that are dead outside the loop too.
20125
60d7a09b
AO
201262010-03-06 Alexandre Oliva <aoliva@redhat.com>
20127
20128 * var-tracking.c (dataflow_set_merge): Swap src and src2.
20129 Reverted:
20130 2010-01-13 Jakub Jelinek <jakub@redhat.com>
20131 PR debug/41371
20132 * var-tracking.c (values_to_unmark): New variable.
20133 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
20134 values_to_unmark vector. Moved body to...
20135 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
20136 instead queue it into values_to_unmark vector.
20137 (vt_find_locations): Free values_to_unmark vector.
20138
eeb971c9
EB
201392010-03-05 Eric Botcazou <ebotcazou@adacore.com>
20140
20141 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
20142 (site.exp): Export them when plugins are enabled.
20143
ccc5b640
SP
201442010-03-05 Sebastian Pop <sebastian.pop@amd.com>
20145
20146 PR middle-end/42326
20147 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
20148 that contain scevs.
20149 (chrec_fold_multiply): Same.
20150
3e23fb2e
AP
201512010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
20152
20153 PR c/43248
20154 * c-decl.c (build_compound_literal): Return early if init is
20155 an error_mark_node.
20156
76f76cd0
MJ
201572010-03-04 Martin Jambor <mjambor@suse.cz>
20158
20159 PR tree-optimization/43164
20160 PR tree-optimization/43191
20161 * tree-sra.c (type_consists_of_records_p): Reject records with
20162 zero-size bit-fields at the end.
20163
b2d244d1
MS
201642010-03-04 Mike Stump <mikestump@comcast.net>
20165
20166 * Makefile.in (TAGS): Remove *.y.
20167
9ca87236
RB
201682010-03-04 Richard Guenther <rguenther@suse.de>
20169
20170 PR tree-optimization/40761
20171 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
20172 in reverse order.
20173 (my_rev_post_order_compute): New function.
20174 (init_pre): Call it.
20175
572ae476
CF
201762010-03-04 Changpeng Fang <changpeng.fang@amd.com>
20177
8c0386a4 20178 PR middle-end/43209
9ca87236
RB
20179 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
20180 decrease the cost of an IV candidate when the cost is infinite.
572ae476 20181
f8723eb6
RW
201822010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20183
20184 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
20185 Use '3DNow!' for the extension of that name, ensure normal space
20186 after the string.
20187 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
20188
d8a60d24
JL
201892010-03-03 Jeff Law <law@redhat.com>
20190
20191 * PR middle-end/32693
20192 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
20193 than gen_rtx_SUBREG.
20194 (extract_bit_field_1): Likewise.
20195
8ec49cff
JJ
201962010-03-03 Janis Johnson <janis187@us.ibm.com>
20197
20198 * doc/sourcebuild.texi (Test directives): Document that arguments
20199 include-opts and exclude-opts are now optional for dg-skip-if,
20200 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
20201
2c71ac78
JM
202022010-03-03 Jason Merrill <jason@redhat.com>
20203
20204 PR c++/12909
20205 * cgraph.h (varpool_node): Add extra_name field.
20206 * varpool.c (varpool_extra_name_alias): New.
20207 (varpool_assemble_decl): Emit extra name aliases.
20208 (varpool_mark_needed_node): Look past an extra name alias.
1d5053d6
JM
20209 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
20210 * lto-streamer-in.c (lto_input_tree): Read it.
20211 * lto-streamer-out.c (output_unreferenced_globals): Write it.
2c71ac78 20212
2587aa3b
EB
202132010-03-03 Eric Botcazou <ebotcazou@adacore.com>
20214
20215 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
20216 (sparc*-*-solaris2*): ...this.
20217
db51bb34
JJ
202182010-03-03 Jakub Jelinek <jakub@redhat.com>
20219
7ece48b1
JJ
20220 PR debug/43229
20221 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
20222 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
20223 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
20224 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
20225
0508bed7
JJ
20226 PR debug/43237
20227 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
20228 fallthrough to default handling, just with want_address 0 instead of 2.
20229 For single element lists, add_AT_loc directly, otherwise create an
20230 artificial variable DIE and stick location list to it.
20231
db51bb34
JJ
20232 PR debug/43177
20233 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
20234 (VAL_EXPR_HAS_REVERSE): Define.
20235 (reverse_op): New function.
20236 (add_stores): For reversible operations add an extra MO_VAL_USE.
20237
7428bc26
JM
202382010-03-02 Jason Merrill <jason@redhat.com>
20239
20240 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
20241
d1ced155
EB
202422010-03-02 Eric Botcazou <ebotcazou@adacore.com>
20243
20244 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
20245 (sparc64-*-linux*): Likewise.
20246 (sparc64-*-solaris2*): Include assembler files before linker ones.
20247 (sparc-*-solaris2*): Simplify and reorder to match previous case.
20248 * config/sparc/gas.h: Delete.
20249 * config/sparc/sol2-64.h: Add copyright notice.
20250 * config/sparc/sol2-gas-bi.h: Likewise.
20251 * config/sparc/sol2-gld.h: Likewise.
20252 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
20253 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
20254 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
20255 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
20256 (sparc_elf_asm_named_section): Rename into...
20257 (sparc_solaris_elf_asm_named_section): ...this. Always define.
20258
02d43000
UB
202592010-03-02 Uros Bizjak <ubizjak@gmail.com>
20260
20261 * config/alpha/alpha.c (override_options): Fix -mtune error message.
20262
f6c86fab
JL
202632010-03-02 Jeff Law <law@redhat.com>
20264
4e222e63 20265 PR middle-end/42431
f6c86fab
JL
20266 * reload1.c (rtx_p, substitute_stack): Declare.
20267 (substitute): Record addresses of changed rtxs.
20268 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
20269 Restore the original rtx when complete.
20270 (reload): Free subsitute_stack when complete.
20271
500cdcb0
JJ
202722010-03-02 Janis Johnson <janis187@us.ibm.com>
20273
20274 * doc/gccint.texi (menu): Add Testsuites as a chapter.
20275 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
20276 new chapter.
20277 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
20278 LTO Testing, gcov Testing, profopt Testing, compat Testing,
20279 Torture Tests): Change from subsection to section.
20280
d9a6979d
JJ
202812010-03-02 Jakub Jelinek <jakub@redhat.com>
20282 Steven Bosscher <steven@gcc.gnu.org>
20283
02d43000
UB
20284 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
20285 instead of bb.
d9a6979d 20286
61226dc8
SP
202872010-03-02 Reza Yazdani <reza.yazdani@amd.com>
20288
20289 PR middle-end/42640
20290 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
20291 the assignment from the new induction variable to the assignment
20292 of the value from the original loop PHI function.
20293
15e7a617
JJ
202942010-03-01 Janis Johnson <janis187@us.ibm.com>
20295 Daniel Jacobowitz <dan@codesourcery.com>
20296
20297 * doc/sourcebuild.texi (Test directives): Clarify options to
20298 dg-skip-if.
20299
eb2573ee
RO
203002010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20301
20302 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
20303 Disable cfi directives unless GCC and gas agree on using read-only
20304 .eh_frame sections for 64-bit.
20305 * configure: Regenerate.
20306
12f9ddbc
RG
203072010-03-01 Richard Guenther <rguenther@suse.de>
20308
20309 PR tree-optimization/43220
20310 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
20311 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
20312
f0c10f0f 203132010-03-01 Richard Guenther <rguenther@suse.de>
02d43000 20314 Martin Jambor <mjambor@suse.cz>
f0c10f0f
RG
20315
20316 PR middle-end/41250
20317 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
20318 gimplified parameters.
20319
c40b5400
CB
203202010-03-01 Christian Bruel <christian.bruel@st.com>
20321
20322 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
61226dc8 20323
3c775d2d
L
203242010-03-01 H.J. Lu <hongjiu.lu@intel.com>
20325
20326 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
20327
434c8f4b
RG
203282010-03-01 Richard Guenther <rguenther@suse.de>
20329
20330 PR middle-end/43213
20331 * expr.c (expand_assignment): Use the alias-oracle to tell
20332 if the rhs aliases the result decl.
20333
291c0a12
RO
203342010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20335
20336 PR pch/14940
20337 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
20338 to sol_gt_pch_get_address.
20339 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
20340 64-bit, SPARC and x86.
20341 (sol_gt_pch_get_address): New function.
20342
61226dc8 203432010-03-01 Marco Poletti <poletti.marco@gmail.com>
894e2652
SZ
20344
20345 * toplev.h (inform_n, error_n): Declare.
20346 * diagnostic.c (inform_n, error_n): New function.
20347
6c6366f6
JJ
203482010-03-01 Jakub Jelinek <jakub@redhat.com>
20349
20350 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
20351 has no rtl yet when processing local_decls, queue it and recheck
20352 if deferred stack allocation hasn't assigned it rtl.
20353
826159e5
KK
203542010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
20355
20356 * config/sh/sh.c (unspec_bbr_uid): New.
20357 (gen_block_redirect): Use it instead of INSN_UID.
20358 (gen_far_branch): Likewise.
20359
746ecbcd
L
203602010-02-28 H.J. Lu <hongjiu.lu@intel.com>
20361
20362 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
20363 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
20364
02a9370c
RW
203652010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20366
20367 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
20368 (Warning Options): -Wno-conversion-null is valid for
20369 Objective-C++ as well.
20370 * doc/tm.texi (Named Address Spaces): Likewise.
20371 * doc/plugins.texi (Plugins): Replace TABs with spaces.
20372 * doc/tree-ssa.texi (Tree SSA): Likewise.
20373
91ad7e13
L
203742010-02-27 H.J. Lu <hongjiu.lu@intel.com>
20375
20376 PR bootstrap/43202
20377 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
20378 by default. Don't set the default arch for
20379 i[34567]86-*-darwin*|x86_64-*-darwin*.
20380
55c4eeaa
L
203812010-02-27 H.J. Lu <hongjiu.lu@intel.com>
20382
20383 PR bootstrap/43202
20384 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
20385 default. Set the default 32bit/64bit archs with $with_arch
20386 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
20387
30bc1dca
RG
203882010-02-27 Richard Guenther <rguenther@suse.de>
20389
20390 PR tree-optimization/43186
20391 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
20392 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
20393 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
20394 unroller iterations.
20395
c6b9174f
L
203962010-02-27 H.J. Lu <hongjiu.lu@intel.com>
20397
20398 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
20399 required and i[34567]86-*-* targets don't support 64bit ISA.
20400
2743db69
EB
204012010-02-26 Eric Botcazou <ebotcazou@adacore.com>
20402
20403 PR ada/43096
20404 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
20405 the same alias set.
20406
4d16c0dc
L
204072010-02-26 H.J. Lu <hongjiu.lu@intel.com>
20408
20409 * config.gcc: Set the default arch at least to Prescott for
20410 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
20411 if SSE math is enabled.
20412
0e94b750
MLI
204132010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
20414
20415 * diagnostic.c (diagnostic_initialize): Update.
20416 (diagnostic_report_diagnostic): Test inhibit_notes_p for
20417 informative notes.
20418 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
20419 (diagnostic_inhibit_notes): New.
20420 * toplev.c (process_options): inhibit notes with -fcompare-debug.
20421
7e1542b9
MLI
204222010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
20423
20424 PR c/20631
20425 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
20426 * doc/standards.texi: Likewise.
20427 * doc/extend.texi: Likewise.
20428 * doc/trouble.texi: Likewise.
61226dc8 20429 * doc/cppopts.texi: Likewise.
7e1542b9
MLI
20430 * doc/install.texi: Likewise.
20431 * c.opt (std=c90,std=gnu90): New options.
20432 * c-opts.c (c_common_handle_option): Handle them.
20433
0b901e4c
MLI
204342010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
20435
20436 PR c/24577
20437 * c-decl.c (undeclared_variable): Use an informative note.
20438
37530014
RG
204392010-02-26 Richard Guenther <rguenther@suse.de>
20440
20441 PR tree-optimization/43186
20442 * gimple.h (gimple_fold): Remove.
20443 * gimple.c (gimple_fold): Remove. Inline into single user ...
20444 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
20445 Try harder for conditions.
20446
095c7b3c
JJ
204472010-02-26 Jakub Jelinek <jakub@redhat.com>
20448
20449 PR debug/43190
20450 * function.c (used_types_insert): Don't skip through named pointer
20451 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
20452 and it is different from the main variant's type.
20453
a1e205cf
NC
204542010-02-26 Nick Clifton <nickc@redhat.com>
20455
20456 * config/rx/rx.md (sminsi3): Remove bogus alternative.
20457
a3af5e26
L
204582010-02-26 H.J. Lu <hongjiu.lu@intel.com>
20459
20460 * config.gcc: Support --with-fpmath=sse for x86.
20461
20462 * config/i386/ssemath.h: New.
20463
20464 * doc/install.texi (--with-fpmath=sse): Documented.
20465
2f816591
RG
204662010-02-26 Richard Guenther <rguenther@suse.de>
20467
20468 PR tree-optimization/43188
20469 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
20470 vector types of over-aligned element type.
20471
7ce321b3
L
204722010-02-26 Uros Bizjak <ubizjak@gmail.com>
20473
20474 PR target/43175
20475 * config/i386/i386.c (expand_vec_perm_blend): Use correct
02d43000 20476 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
7ce321b3 20477
b55b184a
JK
204782010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
20479
20480 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
20481
e7140c8d
JJ
204822010-02-26 Jakub Jelinek <jakub@redhat.com>
20483
6764d92c
JJ
20484 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
20485 * var-tracking.c: Include diagnostic.h.
20486 (debug_dv): New function.
20487 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
20488
5a309965
JJ
20489 PR debug/43160
20490 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
20491 (add_value_chain, add_value_chains, remove_value_chain,
20492 remove_value_chains): Handle DEBUG_EXPRs.
20493 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
20494
e7140c8d
JJ
20495 PR debug/43161
20496 * regcprop.c (struct queued_debug_insn_change): New type.
20497 (struct value_data_entry): Add debug_insn_changes field.
20498 (struct value_data): Add n_debug_insn_changes field.
20499 (debug_insn_changes_pool): New variable.
20500 (free_debug_insn_changes, apply_debug_insn_changes,
20501 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
20502 (kill_value_one_regno): Call free_debug_insn_changes if needed.
20503 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
20504 fields.
20505 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
20506 changes for them.
20507 (copyprop_hardreg_forward_1): Don't call apply_change_group for
20508 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
20509 changes, call cprop_find_used_regs via note_stores.
20510 (copyprop_hardreg_forward): When copying vd from predecessor
20511 which has any queued DEBUG_INSN changes, make sure the pointers are
20512 cleared. At the end call df_analyze and then if there are any
20513 DEBUG_INSN changes queued at the end of some basic block for still
20514 live registers, apply them.
20515 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
20516
894b386f
UB
205172010-02-25 Uros Bizjak <ubizjak@gmail.com>
20518
20519 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
20520 (arm*-*-*): Ditto.
20521
3fd77630
L
205222010-02-25 H.J. Lu <hongjiu.lu@intel.com>
20523
20524 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
20525 targets. Set the default with_cpu/with_arch from arch/cpu.
20526 Allow x86-64 and native for with_cpu/with_arch.
20527
4b9c6075
NB
205282010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
20529
20530 * ebitmap.c: Change calls to verify_popcount with calls to
20531 sbitmap_verify_popcount.
20532 (ebitmap_clear_bit): Fixed map->cacheindex test and
20533 map>cache update when bit clearing results in an empty
20534 element.
20535
2fcd8e02
MM
205362010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
20537
20538 PR target/43154
20539 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
20540 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
20541 and support both V2DF and V2DI modes.
20542 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
20543 support both V2DF and V2DI modes.
20544 (general): Delete trailing whitespace from a few patterns.
20545
20546 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
20547 V2DF/V2DI interleave high/low builtins.
20548
20549 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
20550 new VSX builtins.
20551
20552 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
20553 interleave high/low functions.
20554
f61ae065
GP
205552010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
20556
20557 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
20558 #pragma extern_prefix.
20559
7d5d39bb
JJ
205602010-02-25 Jakub Jelinek <jakub@redhat.com>
20561
06796564
JJ
20562 PR debug/43166
20563 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
20564 BLKmode, assert op0 is a MEM and just adjust its mode.
20565
7d5d39bb
JJ
20566 PR debug/43165
20567 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
20568 if bitpos isn't multiple of mode's bitsize.
20569
124e0d27
MLI
205702010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
20571
20572 * c.opt (-ftemplate-depth=): New.
20573 (-ftemplate-depth-): Deprecate.
20574 * optc-gen.awk: Handle -ftemplate-depth=.
20575 * opth-gen.awk: Likewise.
20576 * c-opts.c (c_common_handle_option): Likewise.
02d43000 20577 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
124e0d27 20578
0e7750a0
JM
205792010-02-24 Jason Merrill <jason@redhat.com>
20580
20581 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
20582
c26238f4
RO
205832010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20584
20585 * cfg.c (alloc_aux_for_block): Remove inline.
20586 (alloc_aux_for_edge): Likewise.
20587
bef64e0f
RO
205882010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20589
20590 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
20591
68ba2afe
RO
205922010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20593
20594 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
20595 * config/i386/sol2-gas.h: New file.
20596 * config.gcc (i[34567]86-*-solaris2*): Use it.
20597
2d2e923f
MLI
205982010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
20599
20600 PR c/43128
20601 * c-typeck.c (ep_convert_and_check): New.
20602 (build_conditional_expr): Use it.
20603 (build_binary_op): Likewise.
20604
2e957792
JJ
206052010-02-24 Jakub Jelinek <jakub@redhat.com>
20606
a46368b2
JJ
20607 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
20608
2e957792
JJ
20609 PR debug/43150
20610 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
20611 bounds even for -O+.
20612 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
20613 expr needs to have DECL_NAME set.
20614
12a54f54
NC
206152010-02-24 Nick Clifton <nickc@redhat.com>
20616
20617 * config/mep/mep.c: Include gimple.h.
20618 (mep_function_uses_sp): Delete unused function.
20619 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
20620 parameters. Use unsigned integers to count args. Return a
20621 NULL_RTX instead of an error_mark_node. Toidy up formatting.
20622
8f40ad50
JJ
206232010-02-23 Jakub Jelinek <jakub@redhat.com>
20624
20625 PR target/43107
20626 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
20627 greater or equal to nelt instead of 2 * nelt.
20628 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
20629 with nelt - 1.
20630
a3b20e90
JM
206312010-02-23 Jason Merrill <jason@redhat.com>
20632
3adcf52c
JM
20633 PR debug/42800
20634 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
20635 in cfun->local_decls even if they have register types.
20636
a3b20e90
JM
20637 PR c++/42837
20638 * stor-layout.c (place_field): Don't warn about unnecessary
20639 DECL_PACKED if the type is packed.
20640
5ead99fa
JJ
206412010-02-23 Jakub Jelinek <jakub@redhat.com>
20642
20643 PR target/43139
20644 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
20645 GOTOFF relocs, even when the base reg isn't pic pointer.
20646
2a8e30fb
MM
206472010-02-23 Michael Matz <matz@suse.de>
20648
20649 PR debug/43077
20650 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
20651 (expand_gimple_basic_block): Generate and use debug temps if there
20652 are debug uses left after the last real use of TERed ssa names.
20653 Unlink debug immediate uses when they are expanded.
20654
38170f34
MLI
206552010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
20656
20657 PR 43123
20658 * config/i386/i386.c (override_options): Reorganise to provide
20659 better error messages.
20660
0f9c8f56
SP
206612010-02-22 Sebastian Pop <sebastian.pop@amd.com>
20662
20663 PR middle-end/43083
20664 * graphite-scop-detection.c (create_single_exit_edge): Move
20665 the call to find_single_exit_edge to....
20666 (create_sese_edges): ...here. Don't handle multiple edges
20667 exiting the function.
20668 (build_graphite_scops): Don't handle multiple edges
20669 exiting the function.
20670
206712010-02-22 Sebastian Pop <sebastian.pop@amd.com>
20672
20673 PR middle-end/43097
20674 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
20675 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
20676
206772010-02-22 Sebastian Pop <sebastian.pop@amd.com>
20678
20679 PR middle-end/43026
20680 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
20681
a98c2819
MLI
206822010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
20683
20684 PR c++/43126
20685 * c-typeck.c (convert_arguments): Print declaration location.
20686 * c-common.c (validate_nargs): Rename as
20687 builtin_function_validate_nargs.
20688 (check_builtin_function_arguments): Update.
20689
ea2edf88
RG
206902010-02-22 Richard Guenther <rguenther@suse.de>
20691
20692 PR lto/43045
20693 * tree-inline.c (declare_return_variable): Use the type of
20694 the call stmt lhs if available.
20695
669887fc
DS
206962010-02-22 Duncan Sands <baldrick@free.fr>
20697
20698 * passes.c (register_pass): Always consider all pass lists when
20699 ref_pass_instance_number is zero.
20700
9efc83f4
RG
207012010-02-22 Richard Guenther <rguenther@suse.de>
20702
20703 PR tree-optimization/42749
20704 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
20705 parameter. Do arithmetic in the original type.
20706 (update_accumulator_with_ops): Likewise.
20707 (adjust_accumulator_values): Adjust.
20708
0a88561f
AK
207092010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
20710
20711 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
20712 (QI to BLKmode splitter): New splitter.
20713
5c91eb02
L
207142010-02-22 H.J. Lu <hongjiu.lu@intel.com>
20715
20716 * config/i386/i386.c (initial_ix86_tune_features): Turn on
20717 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
20718
69e3b47f
RG
207192010-02-22 Richard Guenther <rguenther@suse.de>
20720
20721 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
5c91eb02 20722
45df0e43
HPN
207232010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
20724
20725 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
20726 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
20727 ($(T)crti.o, $(T)crtn.o): Remove rules.
20728
72bd130e
TB
207292010-02-21 Tobias Burnus <burnus@net-b.de>
20730
20731 PR fortran/35259
20732 * doc/invoke.texi (-fassociative-math): Document that this
20733 option is automatically enabled for Fortran.
20734
878ee0ab
DM
207352010-02-20 David S. Miller <davem@davemloft.net>
20736
20737 * configure.ac: Test if linker and assembler properly support
20738 GOTDATA_OP relocations.
20739 * configure: Rebuild.
20740 * config.in: Likewise.
20741 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
20742 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
20743 (movsi_high_pic): Likewise.
20744 (movdi_lo_sum_pic): Likewise.
20745 (movdi_high_pic): Likewise.
20746 (movsi_pic_gotdata_op): New pattern.
20747 (movdi_pic_gotdata_op): Likewise.
20748 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
20749 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
02d43000 20750
78c201a4
UB
207512010-02-20 Uros Bizjak <ubizjak@gmail.com>
20752
20753 PR target/43067
20754 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
20755 attribute to ssemul.
20756 (xop_mulv2div2di3_high): Ditto.
20757
17251338
MLI
207582010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
20759
20760 PR c++/35669
20761 * c.opt (Wconversion-null): New option.
20762 * doc/invoke.texi (Wconversion-null): Document.
20763
e7a84854
MLI
207642010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
20765
20766 * common.opt (Wlarger-than-): Add Undocumented.
78c201a4 20767
f233f7ed
MS
207682010-02-19 Mike Stump <mikestump@comcast.net>
20769
20770 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
20771
d88900d7
JM
207722010-02-19 Jason Merrill <jason@redhat.com>
20773
20774 PR target/40332
20775 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
20776 * configure: Likewise.
20777
715a4e08
AM
207782010-02-20 Alan Modra <amodra@gmail.com>
20779
20780 PR middle-end/42344
20781 * cgraph.h (cgraph_make_decl_local): Declare.
20782 * cgraph.c (cgraph_make_decl_local): New function.
20783 (cgraph_make_node_local): Use it.
20784 * cgraphunit.c (cgraph_function_versioning): Likewise.
20785 * ipa.c (function_and_variable_visibility): Likewise.
20786
ad3b056c
JJ
207872010-02-19 Jakub Jelinek <jakub@redhat.com>
20788
20789 PR bootstrap/43121
20790 * except.c (sjlj_emit_function_enter): Don't call
20791 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
20792 directly.
20793 * rtl.h (add_reg_br_prob_note): Remove prototype.
20794
58076e21
MLI
207952010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
20796
20797 PR 41779
20798 * c-common.c (conversion_warning): Remove widening conversions
20799 before checking the conversion of integers to reals.
20800
b42186f1
MS
208012010-02-19 Mike Stump <mikestump@comcast.net>
20802
c387e067
MS
20803 PR middle-end/43125
20804 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
20805
b42186f1
MS
20806 PR objc/43061
20807 * cgraphunit.c (process_function_and_variable_attributes): Check
20808 DECL_PRESERVE_P instead of looking up attribute "used".
20809 * ipa-pure-const.c (check_decl): Likewise.
20810 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
20811 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
20812 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
20813 instead of attribute "used".
20814 * config/sol2-c.c (solaris_pragma_init): Likewise.
20815 (solaris_pragma_fini): Likewise.
20816
8ac074e8
JJ
208172010-02-19 Jakub Jelinek <jakub@redhat.com>
20818
25c0cad4
JJ
20819 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
20820 Use XCNEW instead of xcalloc.
20821 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
20822 XNEW instead of xmalloc.
20823 (get_fields): Use XNEWVEC instead of xmalloc.
20824
e19bcb67
JJ
20825 PR debug/43084
20826 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
20827 populate vars array.
20828 (create_new_general_access): For debug stmts just reset value.
20829 (get_stmt_accesses): For accesses within debug stmts just record them
20830 using add_access_to_acc_sites instead of preventing the peeling or
20831 counting them as accesses.
20832
8ac074e8
JJ
20833 PR middle-end/42233
20834 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
20835
c7da0354
RG
208362010-02-19 Richard Guenther <rguenther@suse.de>
20837
20838 PR tree-optimization/42916
20839 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
20840 instructions.
20841
e5dfb95f
AS
208422010-02-19 Andreas Schwab <schwab@linux-m68k.org>
20843
20844 * configure.ac: Replace all uses of changequote in macro arguments
20845 with proper quoting.
20846
2bdd49f4
JJ
208472010-02-19 Jakub Jelinek <jakub@redhat.com>
20848
20849 PR middle-end/42233
20850 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
20851
604d0dbc
RG
208522010-02-19 Richard Guenther <rguenther@suse.de>
20853
20854 PR tree-optimization/42944
20855 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
20856 test for aliasing with errno.
20857
554cf330
JJ
208582010-02-19 Jakub Jelinek <jakub@redhat.com>
20859
40e90eac
JJ
20860 PR middle-end/42233
20861 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
20862 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
20863 * dojump.c: Include output.h.
20864 (inv): New inline function.
20865 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
20866 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
20867 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
20868 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
20869 argument, pass it down to other calls.
20870 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
20871 add REG_BR_PROB note to the conditional jump.
20872 * cfgexpand.c (add_reg_br_prob_note): Removed.
20873 (expand_gimple_cond): Don't call it, add the probability
20874 as last argument to jumpif_1/jumpifnot_1.
20875 * Makefile.in (dojump.o): Depend on output.h.
20876 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
20877 callers.
20878 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
20879 * stmt.c (do_jump_if_equal): Likewise.
20880 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
20881 * loop-unswitch.c (compare_and_jump_seq): Likewise.
20882 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
20883 Likewise.
20884 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
20885 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
20886 jumpifnot_1 callers.
20887 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
20888 callers.
20889 (store_expr): Adjust jumpifnot caller.
20890 (store_constructor): Adjust jumpif caller.
20891
554cf330
JJ
20892 PR middle-end/42233
20893 * gimplify.c (gimple_boolify): For __builtin_expect call
20894 gimple_boolify also on its first argument.
20895
1a242e3c
UB
208962010-02-18 Uros Bizjak <ubizjak@gmail.com>
20897
20898 * configure.ac (gnu-unique-object): Wrap regexps using [] in
20899 changequote block.
20900 (__stack_chk_fail): Ditto. Remove quadrigraphs.
20901 * configure: Regenerated.
20902
86866b28
UW
209032010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20904
20905 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
20906 lang_hooks.types_compatible_p instead of comptypes.
20907
8168ccc0
SH
209082010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
20909
20910 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
20911 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
20912 if __prefer_thumb__ is defined.
20913
746e119f
MJ
209142010-02-18 Martin Jambor <mjambor@suse.cz>
20915
20916 PR tree-optimization/43066
20917 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
20918 array with zero-sized element type.
20919
82cf0c8c
JJ
209202010-02-18 Jakub Jelinek <jakub@redhat.com>
20921
20922 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
20923 rtx, allocate struct var_loc_node here and return it to the
20924 caller, and only if it is actually needed.
20925 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
20926 move it earlier and return immediately if it returns NULL.
20927
ccb265d6
MP
209282010-02-17 Mikael Pettersson <mikpe@it.uu.se>
20929
20930 * config/sparc/gas.h: New file. Restore
20931 TARGET_ASM_NAMED_SECTION to its ELF default.
20932 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
20933 check !HAVE_GNU_AS.
20934 * config/sparc/sparc.c (sparc_elf_asm_named_section):
20935 Likewise. Add ATTRIBUTE_UNUSED to prototype.
20936 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
20937 after sparc/sysv4.h.
20938
a30f3def
DK
209392010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
20940
20941 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
20942
2f6c5b27
SB
209432010-02-17 Steven Bosscher <steven@gcc.gnu.org>
20944
20945 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
20946 patterns from predicated pattern.
20947
b5e33e04
UB
209482010-02-17 Uros Bizjak <ubizjak@gmail.com>
20949
20950 PR target/43103
20951 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
20952 for insn mnemonic suffix.
20953
a95740b3
RG
209542010-02-17 Richard Guenther <rguenther@suse.de>
20955
20956 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
20957 to loop PHI nodes.
20958
169e464e
JJ
209592010-02-17 Jakub Jelinek <jakub@redhat.com>
20960
20961 PR debug/42918
20962 * caller-save.c (save_call_clobbered_regs): If BB ends with
20963 a DEBUG_INSN, move any notes in between last real insn and the last
20964 DEBUG_INSN after the last DEBUG_INSN.
20965
5498b6d2
JR
209662010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
20967
20968 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
20969 Fix return type. Fix argument type. Explain meaning of return value.
20970
b09bae68
RG
209712010-02-16 Richard Guenther <rguenther@suse.de>
20972
20973 PR tree-optimization/41043
b5e33e04 20974 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
b09bae68
RG
20975 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
20976 statements ...
20977 (vrp_visit_phi_node): ... but only for loop PHI nodes.
20978
d5dceab8 209792010-02-16 Ira Rosen <irar@il.ibm.com>
99f51320
IR
20980
20981 PR tree-optimization/43074
20982 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
20983 * tree-vect-loop.c (vect_analyze_loop_operations): Add
20984 vectorizable cycles in hybrid SLP check.
20985 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
20986
f47e08d9
RG
209872010-02-16 Richard Guenther <rguenther@suse.de>
20988
b5e33e04 20989 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
f47e08d9
RG
20990 (true_dependence): If memrefs_conflict_p computes must-alias
20991 trust it. Move TBAA check after offset-based disambiguation.
20992 (canon_true_dependence): Likewise.
20993
ec8c3978
JJ
209942010-02-16 Alexandre Oliva <aoliva@redhat.com>
20995
20996 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
20997 * doc/invoke.texi: Document it.
20998 * var-tracking.c: Include toplev.h and params.h.
20999 (vt_find_locations): Return bool indicating success. Compute
21000 hash sizes unconditionally. Check new parameter, report.
21001 (variable_tracking_main_1): Check vt_find_locations results and
21002 retry. Renamed from...
21003 (variable_tracking_main): ... this. New wrapper to preserve
21004 flag_var_tracking_assignments.
21005 * Makefile.in (var-tracking.o): Adjust dependencies.
21006
3bf6b403 210072010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
b5e33e04 21008 Jakub Jelinek <jakub@redhat.com>
3bf6b403
JH
21009
21010 PR target/42854
21011 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
21012 if weak_import attribute is present.
21013 * config/darwin.c (machopic_select_section): Likewise.
21014
a934eb2d
JR
210152010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
21016
21017 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
21018 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
21019 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
21020 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
21021
74ca3393
EB
21022 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
21023 types.
a934eb2d
JR
21024
21025 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
21026 Fix argument types.
21027
21028 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
21029 Rewrite text to refer to the names.
21030
02edd2f6
SP
210312010-02-15 Sebastian Pop <sebastian.pop@amd.com>
21032
21033 * config/i386/i386-builtin-types.def
21034 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
21035 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
21036 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
21037 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
21038 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
21039 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
21040 IX86_BUILTIN_VPERMIL2PS256.
21041 (MULTI_ARG_4_DF2_DI_I): Defined.
21042 (MULTI_ARG_4_DF2_DI_I1): Defined.
21043 (MULTI_ARG_4_SF2_SI_I): Defined.
21044 (MULTI_ARG_4_SF2_SI_I1): Defined.
21045 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
21046 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
21047 __builtin_ia32_vpermil2ps256.
21048 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
21049 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
21050 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
21051 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
21052 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
21053 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
21054 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
21055 CODE_FOR_xop_vpermil2v8sf3.
21056 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
21057 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
21058 * config/i386/xopintrin.h (_mm_permute2_pd): New.
21059 (_mm256_permute2_pd): New.
21060 (_mm_permute2_ps): New.
21061 (_mm256_permute2_ps): New.
21062
ac447f25
NC
210632010-02-15 Nick Clifton <nickc@redhat.com>
21064
d079b87f 21065 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
ac447f25
NC
21066 boolean parameters. Use emit_jump_insn when emitting a pop
21067 instruction containing a return insn.
b5e33e04
UB
21068 (push): Use 'true' rather than '1' as second parameter to F.
21069 (h8300_expand_prologue): Likewise.
21070 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
21071 (h8300_expand_epilogue): Likewise.
ac447f25 21072
313333a6
RG
210732010-02-15 Richard Guenther <rguenther@suse.de>
21074
21075 PR middle-end/43068
21076 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
21077 if that is zero.
21078
653958e8
NC
210792010-02-15 Nick Clifton <nickc@redhat.com>
21080
21081 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
21082 delta.
21083
0f667308
MP
210842010-02-14 Marco Poletti <poletti.marco@gmail.com>
21085
21086 * intl.c (fake_ngettext): New function.
21087 * intl.h (fake_ngettext): Declare.
21088 (ngettext): Define macro.
21089 * collect2.c (notice_translated): New function.
21090 (main): Use notice_translated and ngettext.
21091 * collect2.h (notice_translated): Declare.
21092
912eb5a4
SB
210932010-02-14 Steven Bosscher <steven@gcc.gnu.org>
21094
21095 * reorg.c (delete_computation): Comment fixes.
21096 * caller-save.c (setup_save_areas): Idem.
21097 * sel-sched-dump.c (dump_lv_set): Idem.
21098 * rtl.def: Idem.
21099
244e6c5c
AK
211002010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
21101
21102 * config/s390/s390.c (s390_sched_init): New function.
21103 (TARGET_SCHED_INIT): Target hook defined.
21104
9ab99933
DK
211052010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
21106 Jack Howarth <howarth@bromo.med.uc.edu>
21107 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
21108
21109 PR target/42982
21110 Partial revert of unintended change in fix for PR41605.
21111 * config/darwin.h: Fix typo.
21112 * config/darwin9.h: Same.
21113
ed5bdeb6
JJ
211142010-02-11 Jakub Jelinek <jakub@redhat.com>
21115
21116 * c-pch.c (pch_init): Clear v.
21117
f432760f
SP
211182010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21119
21120 PR middle-end/42930
21121 * graphite-scop-detection.c (graphite_can_represent_scev): Call
21122 graphite_can_represent_init for MULT_EXPR.
21123
211242010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21125
21126 PR middle-end/42914
21127 PR middle-end/42530
21128 * graphite-sese-to-poly.c (remove_phi): New.
21129 (translate_scalar_reduction_to_array): Call remove_phi.
21130
211312010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21132
21133 PR middle-end/42771
21134 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
21135 * graphite-clast-to-gimple.h (gloog): Update declaration.
21136 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
21137 * graphite-poly.h (struct poly_bb): Add missing comments.
21138 (struct scop): Add poly_scop_p field.
21139 (POLY_SCOP_P): New.
21140 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
21141 * graphite.c (graphite_transform_loops): Build the polyhedral
21142 representation for each scop before code generation.
21143 * sese.c (rename_variables_in_operand): Removed.
21144 (rename_variables_in_expr): Return the renamed expression.
21145 (rename_sese_parameters): New.
21146 * sese.h (rename_sese_parameters): Declared.
21147
6d892147
RG
211482010-02-11 Richard Guenther <rguenther@suse.de>
21149
21150 PR tree-optimization/42998
21151 * tree-ssa-pre.c (create_expression_by_pieces): Treat
21152 POINTER_PLUS_EXPR properly.
21153
04eadb13
SP
211542010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21155 Changpeng Fang <changpeng.fang@amd.com>
21156
21157 PR middle-end/40886
21158 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
21159 the cost of an IV candidate when the IV is used in a test against zero.
21160
21161 * gcc.dg/tree-ssa/ivopts-3.c: New.
21162
91753e21
RG
211632010-02-11 Richard Guenther <rguenther@suse.de>
21164
21165 PR lto/41664
21166 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
21167 pointer-vs-decl case by swapping refs. Handle some cases
21168 of pointer-vs-decl disambiguations more conservatively.
21169 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
21170 to false after expanding.
21171
f68df07c
RG
211722010-02-11 Richard Guenther <rguenther@suse.de>
21173
21174 PR driver/43021
21175 * gcc.c (process_command): Handle LTO file@offset case more
21176 appropriately.
21177
d2d36740
JJ
211782010-02-11 Jakub Jelinek <jakub@redhat.com>
21179
8f6aedba
JJ
21180 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
21181 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
21182 of DEBUG_INSNs.
21183 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
21184
d2d36740
JJ
21185 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
21186 if MEM's mode size isn't DWARF2_ADDR_SIZE.
21187 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
21188 Optimize eq/ne comparisons when both arguments are known to be
21189 zero-extended.
21190 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
21191 Don't mask operands unnecessarily if they are known to be already
21192 zero-extended.
21193
56592e03
VM
211942010-02-10 Vladimir Makarov <vmakarov@redhat.com>
21195
21196 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
21197 instead of loop.
21198
5418fe84
RG
211992010-02-10 Richard Guenther <rguenther@suse.de>
21200
21201 PR tree-optimization/43017
21202 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
21203 for wrapping signed arithmetic.
21204
92e8e53a
JJ
212052010-02-10 Jakub Jelinek <jakub@redhat.com>
21206
21207 PR debug/43010
21208 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
21209 if no debug info should be emitted for it.
21210
bd55b817
KK
212112010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
21212
21213 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
21214 note when flag_exceptions is set.
21215
2ab43a52
DS
212162010-02-10 Duncan Sands <baldrick@free.fr>
21217
21218 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
21219
d977cb9c
RG
212202010-02-10 Richard Guenther <rguenther@suse.de>
21221
21222 PR c/43007
21223 * tree.c (get_unwidened): Handle constants.
21224 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
21225
563cb662
MJ
212262010-02-10 Martin Jambor <mjambor@suse.cz>
21227
21228 PR lto/42985
21229 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
21230 check for variable argument counts independently.
21231
9e3c399e
CB
212322010-02-10 Christian Bruel <christian.bruel@st.com>
21233
21234 PR target/42841
21235 * config/sh/sh.c (find_barrier): Increase length for non delayed
21236 conditional branches.
01305d24 21237
e938feb4
CB
212382010-02-10 Christian Bruel <christian.bruel@st.com>
21239
21240 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
01305d24 21241
cbb1ab10
JJ
212422010-02-10 Jakub Jelinek <jakub@redhat.com>
21243
21244 * builtins.c (set_builtin_user_assembler_name): Also handle
21245 ffs if int is smaller than word.
21246
b09495c1
VM
212472010-02-09 Vladimir Makarov <vmakarov@redhat.com>
21248
21249 PR middle-end/42973
21250 * ira-conflicts.c (get_dup): Remove.
21251 (process_reg_shuffles): Add new parameter. Use it as an
21252 additional guard for copy generation.
21253 (add_insn_allocno_copies): Rewrite.
21254
57257f0d
AM
212552010-02-09 Alexander Monakov <amonakov@ispras.ru>
21256
21257 * common.opt (fsched2-use-traces): Preserved for backward
21258 compatibility.
21259 * doc/invoke.texi: Remove the documentation about option
21260 -fsched2-use-traces.
21261 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
21262 flag_sched2_use_traces.
21263 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
21264 the backward compatibility flag section.
21265
72d182d3
RG
212662010-02-09 Richard Guenther <rguenther@suse.de>
21267
21268 PR tree-optimization/43008
21269 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
21270 make HEAP variables initialized from global memory if they
21271 are not known builtin functions.
21272 (find_func_aliases): Adjust.
21273
9605a606
RG
212742010-02-09 Richard Guenther <rguenther@suse.de>
21275
21276 PR tree-optimization/43000
21277 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
21278 arithmetic manually.
21279
8d9eca14
JJ
212802010-02-08 Jakub Jelinek <jakub@redhat.com>
21281
21282 PR tree-optimization/42931
21283 * tree-loop-linear.c (try_interchange_loops): Don't call
21284 double_int_mul if estimated_loop_iterations failed.
21285
d3545524
MJ
212862010-02-08 Martin Jambor <mjambor@suse.cz>
21287
21288 PR middle-end/42898
21289 * tree-sra.c (build_accesses_from_assign): Do not mark in
21290 should_scalarize_away_bitmap if stmt has volatile ops.
21291 (sra_modify_assign): Do not process assigns piecemeal if if stmt
21292 has volatile ops.
21293
8a9a2486
JR
212942010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
21295
21296 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
21297
7bf25dd6
AN
212982010-02-07 Adam Nemet <adambnmet@gmail.com>
21299
21300 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
21301 before the pattern.
21302
a46edbff
AP
213032010-02-07 Andrew Pinski <pinskia@gmail.com>
21304
21305 PR middle-end/42946
21306 * df-core.c (df_finish_pass): Change type of saved_flags to int.
21307
86da963e
SP
213082010-02-07 Sebastian Pop <sebastian.pop@amd.com>
21309
21310 PR middle-end/42988
21311 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
21312 to unknown_dependence.
21313 (graphite_legal_transform_dr): Handle the unknown_dependence.
21314 (graphite_carried_dependence_level_k): Same.
21315
213162010-02-07 Sebastian Pop <sebastian.pop@amd.com>
21317
21318 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
21319
997ac87b
RG
213202010-02-07 Richard Guenther <rguenther@suse.de>
21321
21322 PR middle-end/42991
21323 * expr.c (get_inner_reference): Always initialize *pbitsize.
21324
cb6b911a
RG
213252010-02-07 Richard Guenther <rguenther@suse.de>
21326
21327 PR middle-end/42956
21328 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
21329 new ARRAY_REFs on variable size element or minimal index arrays.
21330 Complete.
21331 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
21332 gimple_fold_indirect_ref.
21333
b761dbe6
RE
213342010-02-06 Richard Earnshaw <rearnsha@arm.com>
21335
21336 PR target/42957
21337 * arm.c (arm_override_options): Just return if the user has specified
21338 an invalid fpu name.
21339
b2469a9b
JM
213402010-02-03 Jason Merrill <jason@redhat.com>
21341
21342 PR c++/42870
21343 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
21344 i386_pe_maybe_record_exported_symbol.
21345
1f65437d
SE
213462010-02-05 Steve Ellcey <sje@cup.hp.com>
21347
21348 PR target/42924
21349 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
21350 (pa_delegitimize_address): New function.
21351
126edba2
OS
213522010-02-05 Ozkan Sezer <sezeroz@gmail.com>
21353
21354 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
21355 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
21356
532df904
RG
213572010-02-05 Richard Guenther <rguenther@suse.de>
21358
21359 PR lto/42762
21360 * lto-streamer-in.c (get_resolution): Deal with references
21361 to undefined functions.
21362
5c95f07b
RG
213632010-02-05 Richard Guenther <rguenther@suse.de>
21364
b5e33e04 21365 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
5c95f07b
RG
21366 (fold_const_aggregate_ref): Likewise.
21367 (ccp_fold_stmt): Substitute loads.
21368 (maybe_fold_reference): Verify types before substituting.
21369 Unshare properly.
21370 (fold_gimple_assign): Unshare properly.
b5e33e04 21371 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
5c95f07b 21372
64aa00b1
NF
213732010-02-05 Nathan Froyd <froydnj@codesourcery.com>
21374
21375 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
21376 for rs6000_gen_cell_microcode.
21377
b0f19292
RG
213782010-02-04 Richard Guenther <rguenther@suse.de>
21379
21380 PR rtl-optimization/42952
21381 * dse.c (const_or_frame_p): Remove MEM handling.
21382
f7eb48b5
NC
213832010-02-04 Nick Clifton <nickc@redhat.com>
21384
21385 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
21386 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
21387 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
21388 (mn10300_asm_output_mi_thunk): New function.
21389 (mn10300_can_output_mu_thunk): New function.
21390 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
21391 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
21392 (FUNCTION_ARG): Delete incorrect comment.
21393
2aac1924
JM
213942010-02-03 Jason Merrill <jason@redhat.com>
21395
21396 PR c++/40138
21397 * fold-const.c (operand_equal_p): Handle erroneous types.
21398
3e5f930f 213992010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
07738b87
KP
21400
21401 * config/h8300/h8300.md (can_delay): Fix attibute condition.
21402
a7f3e500
VM
214032010-02-03 Vladimir Makarov <vmakarov@redhat.com>
21404
3e5f930f 21405 PR rtl-optimization/42941
a7f3e500
VM
21406 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
21407 of xmalloc.
21408
59d49708
JM
214092010-02-03 Jason Merrill <jason@redhat.com>
21410
21411 PR c++/35652
21412 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
21413
5440c0e7
AO
214142010-02-03 Alexandre Oliva <aoliva@redhat.com>
21415
21416 PR debug/42896
02d43000 21417 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
5440c0e7
AO
21418 (cselib_reset_table): Renamed from...
21419 (cselib_reset_table_with_next_value): ... this.
21420 (cselib_get_next_uid): Renamed from...
21421 (cselib_get_next_unknown_value): ... this.
21422 * cselib.c (next_uid): Renamed from...
21423 (next_unknown_value): ... this.
21424 (cselib_clear_table): Adjust.
21425 (cselib_reset_table): Adjust. Renamed from...
21426 (cselib_reset_table_with_next_value): ... this.
21427 (cselib_get_next_uid): Adjust. Renamed from...
21428 (cselib_get_next_unknown_value): ... this.
21429 (get_value_hash): Use hash.
21430 (cselib_hash_rtx): Likewise.
21431 (new_cselib_val): Adjust. Set and dump uid.
21432 (cselib_lookup_mem): Pass next_uid as hash.
21433 (cselib_subst_to_values): Likewise.
21434 (cselib_log_lookup): Dump uid.
21435 (cselib_lookup): Pass next_uid as hash. Adjust.
21436 (cselib_process_insn): Adjust.
21437 (cselib_init): Initialize next_uid.
21438 (cselib_finish): Adjust.
21439 (dump_cselib_table): Likewise.
21440 * dse.c (canon_address): Dump value uid.
21441 * print-rtl.c (print_rtx): Print value uid.
21442 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
21443 (dvuid): New type.
21444 (dv_uid): New function, sort of renamed from...
21445 (dv_htab_hash): ... this, reimplemented in terms of it and...
21446 (dv_uid2hash): ... this. New.
21447 (variable_htab_eq): Drop excess assertions.
21448 (tie_break_pointers): Removed.
21449 (canon_value_cmp): Compare uids.
21450 (variable_post_merge_New_vals): Print uids.
21451 (vt_add_function_parameters): Adjust.
21452 (vt_initialize): Reset table. Adjust.
21453
e3c70387
RG
214542010-02-03 Richard Guenther <rguenther@suse.de>
21455
21456 PR tree-optimization/42944
b5e33e04 21457 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
e3c70387
RG
21458 (call_may_clobber_ref_p_1): Likewise. Properly handle
21459 malloc and calloc clobbering errno.
21460
4cad6dba
SB
214612010-02-03 Steven Bosscher <steven@gcc.gnu.org>
21462
21463 * doc/invoke.texi: Fix name of sched1 dump.
21464
21465 * opts.c (decode_options): Set flag_tree_switch_conversion
21466 only conditionally on optimize >= 2.
21467
21468 * gcse.c: Assorted comment fixes in pass description.
21469
693ee8cf
AG
214702010-02-03 Anthony Green <green@moxielogic.com>
21471
21472 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
21473 nop padding in order to maintain alignment of storage location of
21474 target function address.
21475 (moxie_trampoline_init): Store target function address at newly
21476 aligned location.
21477 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
21478 to 32.
21479 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
21480
bf8e3b77
RG
214812010-02-03 Richard Guenther <rguenther@suse.de>
21482
21483 PR middle-end/42927
21484 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
21485
bde17fdc
RO
214862010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21487
21488 * config.gcc: Reenable check for obsolete targets.
21489 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
21490 mips-sgi-irix6.[0-4]*.
21491
c9c27b72
NC
214922010-02-02 Nick Clifton <nickc@redhat.com>
21493
21494 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
21495 constant size of 4 as being the same as 0.
21496 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
21497 can take values in the range 0..4.
21498
fc15bd03
JH
214992010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
21500
21501 PR java/41991
21502 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
21503 as _darwin10_Unwind_FindEnclosingFunction().
21504 * libgcc-libsystem.ver: New.
21505
6eeea7a7
VM
215062010-02-01 Vladimir Makarov <vmakarov@redhat.com>
21507
21508 PR target/41399
21509 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
21510 implicitly set registers.
21511
87d05b44
RE
215122010-02-01 Richard Earnshaw <rearnsha@arm.com>
21513
21514 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
21515 (arm_override_options): Allow automatic selection of the thread
21516 pointer register if thumb2.
21517 (legitimize_pic_address): Improve code sequences for Thumb2.
21518 (arm_call_tls_get_addr): Likewise.
21519 (legitimize_tls_address): Likewise.
21520 * arm.md (pic_load_addr_arm): Delete. Replace with ...
21521 (pic_load_addr_32bit): ... this. New named pattern.
21522 * thumb2.md (pic_load_addr_thumb2): Delete.
21523 (pic_load_dot_plus_four): Delete.
21524 (tls_load_dot_plus_four): New named pattern.
21525
cb717ac4
RO
215262010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21527
21528 PR libgomp/29986
21529 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
21530 Document fix for TLS bug.
21531
44f89620
RG
215322010-01-31 Richard Guenther <rguenther@suse.de>
21533
21534 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
21535 conservatively correct.
21536
747b0aed
JDA
215372010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
21538
21539 PR target/42850
21540 Revert:
21541 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
21542
21543 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
21544
362c6d2f
KG
215452010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21546
21547 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
21548
8370a62a
KT
215492010-01-31 Kai Tietz <kai.tietz@onevision.com>
21550
21551 * config.gcc: Adjust order of makefile fragments for mingw targets.
21552
61c7cbf8
RG
215532010-01-31 Richard Guenther <rguenther@suse.de>
21554
21555 PR middle-end/42898
21556 * gimplify.c (gimplify_init_constructor): For volatile LHS
21557 initialize a temporary.
21558
b0a69d20
MK
215592010-01-31 Matthias Klose <doko@ubuntu.com>
21560
21561 * configure.ac: Fix __stack_chk_fail check for cross builds configured
21562 --with-headers
21563 * configure: Regenerate.
21564
55eb4dab
EB
215652010-01-29 Eric Botcazou <ebotcazou@adacore.com>
21566
21567 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
21568 the same alias set and their sizes different constantness.
21569 (aliasing_component_refs_p): Revert 2009-10-24 change.
21570
f9e06dbc
RO
215712010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21572
21573 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
21574 unused.
21575
eb6b98c7
RG
215762010-01-29 Richard Guenther <rguenther@suse.de>
21577
21578 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
21579 Assert we successfully updated the call.
21580
c23cd1d6
JJ
215812010-01-29 Jakub Jelinek <jakub@redhat.com>
21582
21583 PR rtl-optimization/42889
21584 * df.h (df_set_bb_dirty_nonlr): New prototype.
21585 * df-core.c (df_set_bb_dirty_nonlr): New function.
21586 * df-scan.c (df_insn_rescan): Call it instead of
21587 df_set_bb_dirty for DEBUG_INSNs.
21588
38bc76da
RG
215892010-01-29 Richard Guenther <rguenther@suse.de>
21590
21591 PR middle-end/37448
21592 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
21593 quadratic behavior in most cases.
21594
d819472d
UB
215952010-01-28 Uros Bizjak <ubizjak@gmail.com>
21596
21597 PR target/42891
21598 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
21599 in the call to gen_x86_movsicc_0_m1.
21600
3ed7d068
RG
216012010-01-28 Richard Guenther <rguenther@suse.de>
21602
21603 PR tree-optimization/42871
01305d24 21604 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3ed7d068 21605
830bc550
RG
216062010-01-28 Richard Guenther <rguenther@suse.de>
21607
21608 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
21609 into call arguments.
21610
28e5ca15
RB
216112010-01-28 Richard Guenther <rguenther@suse.de>
21612
21613 PR middle-end/42883
21614 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
21615 the forwarder if the destination is an EH landing pad.
21616
216172010-01-28 Razya Ladelsky <razya@il.ibm.com>
8adfe01d 21618
d819472d 21619 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
8adfe01d
RL
21620 block list passed to gimple_duplicate_sese_tail.
21621 (parallelize_loops): Avoid parallelization when the function
21622 has_nonlocal_label.
21623 Avoid parallelization when the preheader is IRREDUCIBLE.
21624 Try to optimize when estimated_loop_iterations_int is unresolved.
21625 Add the loop's location to the dump file.
28e5ca15 21626 * tree-cfg.c (add_phi_args_after_redirect): Remove.
8adfe01d
RL
21627 (gimple_duplicate_sese_tail): Remove the check for the latch.
21628 Redirect nexits to the exit block.
21629 Remove handling of the incoming edges to the latch.
21630 Redirect the backedge from the copied latch to the exit bb.
21631
3d952fb7
MM
216322010-01-28 Michael Matz <matz@suse.de>
21633
21634 PR target/42881
21635 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
21636 Wrap force_reg into a sequence, emit it before user.
21637
4fc2b1aa
ST
216382010-01-28 Stephen Thomas <stephen.thomas@arm.com>
21639
21640 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
21641 (arm_rev): New.
21642 (arm_legacy_rev): Likewise.
21643 (thumb_legacy_rev): Likewise.
21644
0f277ad4
JJ
216452010-01-27 Jakub Jelinek <jakub@redhat.com>
21646
21647 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
21648 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
21649 on MEM's address failed, try avoid_constant_pool_reference and
21650 recurse if it returned something different.
21651 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
21652 address, try avoid_constant_pool_reference and recurse if it
21653 returned something different.
21654 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
21655 address and avoid_constant_pool_reference returned something
21656 different, don't set have_address.
21657
fb4cbb9f
AO
216582010-01-27 Alexandre Oliva <aoliva@redhat.com>
21659
21660 PR debug/42861
21661 * var-tracking.c (val_store): Add modified argument, obey it.
21662 Adjust callers.
21663 (count_uses): Move down logging of main.
21664 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
21665 don't need resolution.
21666 (emit_notes_in_bb): Likewise.
21667
e87da263
RG
216682010-01-27 Richard Guenther <rguenther@suse.de>
21669
21670 PR middle-end/42878
21671 * tree-inline.c (remap_decl): Delay remapping of SSA name
21672 default definitions until we need them.
21673
c6d99cad
JJ
216742010-01-27 Jakub Jelinek <jakub@redhat.com>
21675
9a78eb71
JJ
21676 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
21677 (rs6000_delegitimize_address): New function.
21678
e8d8f497
JJ
21679 * config/s390/s390.c (s390_delegitimize_address): Call
21680 delegitimize_mem_from_attrs.
21681
c6d99cad
JJ
21682 PR middle-end/42874
21683 * tree-inline.c (cannot_copy_type_1): Removed.
21684 (copy_forbidden): Don't forbid copying of functions containing
21685 records/unions with variable length fields.
21686
4f6fee0f
CB
216872010-01-27 Christian Bruel <christian.bruel@st.com>
21688
21689 Revert:
21690 PR target/42841
21691 * config/sh/sh.c (find_barrier): Increase length for non delayed
21692 conditional branches.
d819472d 21693
cdf6bfb7
MK
216942010-01-27 Matthias Klose <doko@ubuntu.com>
21695
21696 * configure.ac (gnu-unique-object): Fix ldd version check.
21697 * configure: Regenerate.
21698
31b21739
RO
216992010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21700
21701 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
21702 HAVE_GNU_AS value.
21703 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
21704 Test for HAVE_GNU_AS value.
21705
dc4f0670
RO
217062010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21707
21708 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
21709 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
21710 INT64_TYPE): Define.
21711 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
21712 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
21713 INT_LEAST64_TYPE): Define.
21714 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
21715 UINT_LEAST64_TYPE): Define.
21716 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
21717 INT_FAST64_TYPE): Define.
21718 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
21719 UINT_FAST64_TYPE): Define.
21720 (INTMAX_TYPE, UINTMAX_TYPE): Define.
21721 (INTPTR_TYPE, UINTPTR_TYPE): Define.
21722 (SIG_ATOMIC_TYPE): Define.
21723
a099f7d4
RG
217242010-01-26 Richard Guenther <rguenther@suse.de>
21725
21726 * df-scan.c (df_scan_set_bb_info): Remove assert.
21727 (df_insn_rescan_debug_internal): Merge asserts.
21728 (df_install_ref): Likewise.
21729 (df_mark_reg): Use bitmap_set_range.
21730 (df_hard_reg_used_p): Remove assert.
21731 (df_hard_reg_used_count): Likewise.
21732
0d9b0371
RG
217332010-01-26 Richard Guenther <rguenther@suse.de>
21734
21735 PR rtl-optimization/42685
21736 * web.c (web_main): Ignore DEBUG_INSNs.
21737
7a241624
JR
217382010-01-26 Joern Rennecke <amylaar@spamcop.net>
21739
21740 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
21741
21742 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
21743 Fix types of fndecl and arglist parameters.
21744
3333cd50
RG
217452010-01-26 Richard Guenther <rguenther@suse.de>
21746
21747 PR middle-end/42806
21748 * tree-eh.c (unsplit_eh): Skip debug insns.
21749
7f657dde
RG
217502010-01-26 Richard Guenther <rguenther@suse.de>
21751
21752 PR tree-optimization/42250
21753 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
21754
057dd91d
JJ
217552010-01-26 Jakub Jelinek <jakub@redhat.com>
21756
21757 PR fortran/42866
21758 * omp-low.c (expand_omp_sections): Only use single_pred if
21759 l2_bb is single_pred_p.
21760
69b18163
CB
217612010-01-25 Christian Bruel <christian.bruel@st.com>
21762
21763 PR target/42841
21764 * config/sh/sh.c (find_barrier): Increase length for non delayed
21765 conditional branches.
21766 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
21767
00f88f07
DM
217682010-01-24 David S. Miller <davem@davemloft.net>
21769
31b21739 21770 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
00f88f07 21771 define if not using GAS.
31b21739 21772 * config/sparc/sparc.c (sparc_elf_asm_named_section):
00f88f07
DM
21773 Likewise. Delete SECTION_MERGE code, which is only applicable
21774 when using GAS.
21775
d147cbd9
MM
217762010-01-24 Mark Mitchell <mark@codesourcery.com>
21777
21778 PR c++/42748
21779 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
21780 mangling of va_list in system headers.
21781
a90352a0
TM
217822010-01-23 Toon Moene <toon@moene.org>
21783
21784 * tree-predcom.c (combine_chains): Return NULL, not false.
21785
e96d7dd7
JR
217862010-01-23 Joern Rennecke <amylaar@spamcop.net>
21787
21788 * tree-loop-distribution.c (distribute_loop): Fix declaration and
21789 initialization of variable res to agree with return type.
21790
65c0a517
SE
217912010-01-22 Steve Ellcey <sje@cup.hp.com>
21792
21793 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
21794 * tree-sra.c: Add include of expr.h.
21795
c47987fa
JJ
217962010-01-22 Jakub Jelinek <jakub@redhat.com>
21797
21798 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
21799 insert the debug stmt on the single non-EH edge from the stmt.
21800
002cda0a
RH
218012010-01-22 Richard Henderson <rth@redhat.com>
21802
21803 PR tree-opt/42833
21804 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
21805 the RHS until after generate_subtree_copies has insertted its
21806 code before the current statement.
21807
728d406c
JR
218082010-01-22 Joern Rennecke <amylaar@spamcop.net>
21809
21810 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
21811
45bbb86d
JR
21812 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
21813
7744b697
MJ
218142010-01-21 Martin Jambor <mjambor@suse.cz>
21815
21816 PR tree-optimization/42585
21817 * tree-sra.c (struct access): New field grp_total_scalarization.
21818 (dump_access): Dump the new field.
21819 (should_scalarize_away_bitmap): New variable.
21820 (cannot_scalarize_away_bitmap): Likewise.
21821 (sra_initialize): Allocate new bitmaps.
21822 (sra_deinitialize): Free new bitmaps.
21823 (create_access_1): New function.
21824 (create_access): Parts moved to create_access_1.
21825 (type_consists_of_records_p): New function.
21826 (completely_scalarize_record): Likewise.
21827 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
21828 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
21829 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
21830 access.
21831 (analyze_all_variable_accesses): Completely scalarize small eligible
21832 records.
21833
fff08961
MJ
218342010-01-21 Martin Jambor <mjambor@suse.cz>
21835
21836 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
21837
a288b143
AH
218382010-01-21 Andrew Haley <aph@redhat.com>
21839
d819472d
UB
21840 * gcc.c (process_command): Move lang_specific_driver before
21841 setting cc_libexec_prefix.
a288b143 21842
4e62a017
RG
218432010-01-21 Richard Guenther <rguenther@suse.de>
21844
21845 PR middle-end/19988
21846 * fold-const.c (negate_expr_p): Pretend only negative
21847 real constants are easily negatable.
21848
ebf0bf7f
JJ
218492010-01-20 Janis Johnson <janis187@us.ibm.com>
21850 Jason Merrill <jason@redhat.com>
21851
21852 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
21853 (TYPE_TRANSPARENT_AGGR): this, for union and record.
21854 * calls.c (initialize argument_information): Handle it.
21855 * c-common.c (handle_transparent_union_attribute): Use new name.
21856 * c-decl.c (finish_struct): Ditto.
21857 * c-typeck.c (type_lists_compatible_p): Ditto.
21858 (convert_for_assignment): Use new name and also handle record.
21859 * function.c (aggregate_value_p): Handle it.
21860 (pass_by_reference): Ditto.
21861 (assign_parm_data_types): Ditto.
21862 * print-tree.c (print_node): Ditto.
21863 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
21864 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
21865 * tree.c (first_field): New fn.
21866
907c6efd
DK
218672010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
21868
21869 PR target/42818
21870 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
21871 even when linking statically, for now.
21872
f827f659
AO
218732010-01-20 Alexandre Oliva <aoliva@redhat.com>
21874
21875 PR debug/42715
21876 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
21877 without a cselib val.
21878 (count_uses): Accept MO_VAL_SET with no val on stores.
21879 (add_stores): Likewise.
21880
a85caf9e
JJ
218812010-01-20 Jakub Jelinek <jakub@redhat.com>
21882
21883 * var-tracking.c (check_value_val): Add a compile time assertion.
21884 (dv_is_decl_p): Simplify.
21885 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
21886 gcc_assert if ENABLE_CHECKING.
21887
4a4d4c08
AO
218882010-01-20 Alexandre Oliva <aoliva@redhat.com>
21889
21890 PR debug/42782
21891 * var-tracking.c: Include tree-flow.h.
21892 (mem_dies_at_call): New.
21893 (dataflow_set_preserve_mem_locs): Use it.
21894 (dataflow_set_remove_mem_locs): Likewise.
21895 (dump_var): Renamed from dump_variable. Adjust all callers.
21896 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
21897 * Makefile.in (var-tracking.o): Adjust deps.
21898
50e87e30
JR
218992010-01-20 Joern Rennecke <amylaar@spamcop.net>
21900
21901 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
21902
e9a8afaa
RG
219032010-01-20 Richard Guenther <rguenther@suse.de>
21904
21905 PR tree-optimization/42717
21906 * tree-ssa-dce.c (get_live_post_dom): Remove.
21907 (forward_edge_to_pdom): Take an arbitrary edge to copy
21908 degenerate PHI args from.
21909 (remove_dead_stmt): Use the first post-dominator even if it
21910 does not contain live statements as redirection destination.
21911
be2fd187
RG
219122010-01-20 Richard Guenther <rguenther@suse.de>
21913
21914 * tree-inline.c (estimate_num_insns): Handle EH builtins.
21915
1124098b
JJ
219162010-01-20 Jakub Jelinek <jakub@redhat.com>
21917
21918 * sel-sched.c (create_speculation_check): Remove set but not used
21919 variable twin.
21920 (try_transformation_cache): Remove set but not used variable ds.
21921 (calculate_privileged_insns): Remove set but not used variables
21922 cur_insn and min_spec_insn.
21923 (find_best_expr): Remove set but not used variable avail_n.
21924 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
21925 variable e.
21926 * cgraphunit.c (assemble_thunk): Remove set but not used variable
21927 false_label.
21928 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
21929 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
21930 new_scop_exit_edge.
21931
83a5ef25
FW
219322010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
21933
21934 PR bootstrap/42786
21935 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
21936 cpu types. Add support for *-sse3 cpu types.
21937 (x86_64-*-*): Ditto.
21938
b5c0899b
JJ
219392010-01-20 Jakub Jelinek <jakub@redhat.com>
21940
21941 PR middle-end/42803
21942 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
21943 argument, call initializer_constant_valid_p_1 instead of
21944 initializer_constant_valid_p, pass CACHE to it, return NULL
21945 immediately if first call returns NULL.
21946 (initializer_constant_valid_p_1): New function.
21947 (initializer_constant_valid_p): Use it.
21948
5f8f3f94
TQ
219492010-01-20 Thomas Quinot <quinot@adacore.com>
21950
21951 * tree.def (PLACEHOLDER_EXPR): Fix comment.
21952
80c35b40
JJ
219532010-01-20 Jakub Jelinek <jakub@redhat.com>
21954
21955 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
21956 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
21957 (loc_list_from_tree): Don't handle unsigned division. Handle
21958 signed modulo using DW_OP_{over,over,div,mul,minus}.
21959 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
21960 modulo instead of signed.
21961
c72ea086
DD
219622010-01-20 DJ Delorie <dj@redhat.com>
21963
21964 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
21965 (Fpa): Pass it
21966 (h8300_emit_stack_adjustment): Propogate it.
21967 (push): Pass it.
21968 (h8300_expand_prologue): Likewise.
21969 (h8300_expand_epilogue): Likewise.
21970
b61b1f17
MM
219712010-01-19 Michael Matz <matz@suse.de>
21972
21973 PR tree-optimization/41783
21974 * tree-data-ref.c (toplevel): Include flags.h.
21975 (dump_data_dependence_relation): Also dump the inputs if the
21976 result will be unknown.
21977 (split_constant_offset_1): Look through some conversions.
21978 * tree-predcom.c (determine_roots_comp): Restart a new chain if
21979 the offset from last element is too large.
21980 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
21981 (reassociate_to_the_same_stmt): Handle vector registers.
21982 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
21983 (e.g. conversions).
31b21739 21984 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
b61b1f17
MM
21985 wide_prolog_niters argument, emit widening instructions.
21986 (vect_do_peeling_for_alignment): Adjust caller, use widened
21987 variant of the iteration cound.
21988 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
21989
b3d7e191
RR
219902010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
21991
b61b1f17
MM
21992 PR target/38697
21993 * config/arm/neon-testgen.m (emit_automatics): New parameter
b3d7e191
RR
21994 features. Adjust for Fixed_return_reg feature.
21995 (test_intrinsic): Call emit_automatics with new feature.
b61b1f17 21996 * config/arm/neon.ml: Update copyright years.
b3d7e191
RR
21997 (features): New Fixed_return_reg feature.
21998 (ops): Update feature for Vget_low.
21999
2178b0f9
JJ
220002010-01-19 Jakub Jelinek <jakub@redhat.com>
22001
d6600130
JJ
22002 PR tree-optimization/42719
22003 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
22004 stmt uses.
22005
2178b0f9
JJ
22006 PR debug/42728
22007 * fwprop.c (all_uses_available_at): Return false if def_set dest
22008 is a REG that is used in def_insn.
22009
ab7e224a
JR
220102010-01-19 Joern Rennecke <amylaar@spamcop.net>
22011
22012 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
22013
22014 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
22015 Add argument names.
22016
22017 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
22018
f7154d49
JR
22019 * target.h (struct gcc_target) <secondary_reload>: Change type
22020 of last argument to secondary_reload_info *.
22021
f249b405
UB
220222010-01-18 Uros Bizjak <ubizjak@gmail.com>
22023
22024 PR target/42774
22025 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
22026 memory references with unaligned offsets. Remove CQImode handling.
22027 (unaligned_memory_operand): Return 1 for memory references with
22028 unaligned offsets. Remove CQImode handling.
22029
e23817b3
RG
220302010-01-18 Richard Guenther <rguenther@suse.de>
22031
22032 PR middle-end/39954
22033 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
22034 builtin calls.
22035
1cfd38be
RG
220362010-01-18 Richard Guenther <rguenther@suse.de>
22037
22038 PR tree-optimization/42781
22039 * tree-ssa-structalias.c (find_what_var_points_to): Skip
b5e33e04 22040 restrict processing only if the original variable was artificial.
1cfd38be 22041
72392b81
JR
220422010-01-18 Joern Rennecke <amylaar@spamcop.net>
22043
22044 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
22045 find number of popped argument bytes.
22046
22047 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
22048 Fix the text that describes the return value for invalid insns.
22049
22050 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
22051
22052 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
22053 Clarify what 'cost of the -dependence' is. Fix quoting.
22054
0678ade0
JR
22055 * toplev.c (default_get_pch_validity): Rename argument to "sz".
22056 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
22057
e5165811
JJ
220582010-01-17 Jakub Jelinek <jakub@redhat.com>
22059
22060 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
22061 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
22062
3b3f318a
RG
220632010-01-17 Richard Guenther <rguenther@suse.de>
22064
22065 PR middle-end/42248
22066 * function.c (split_complex_args): Take a VEC to modify.
22067 (assign_parms_augmented_arg_list): Build a VEC instead of
22068 a chain of PARM_DECLs.
22069 (assign_parms_unsplit_complex): Take a VEC of arguments.
22070 Do not fixup unmodified parms.
22071 (assign_parms): Deal with the VEC.
22072 (gimplify_parameters): Likewise.
22073
8eacd016
RG
220742010-01-17 Richard Guenther <rguenther@suse.de>
22075
22076 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
22077 node existence check.
22078 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
22079 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
22080 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
22081 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
22082 (gimple_execute_on_growing_pred): Likewise.
22083
9adf0570
RG
220842010-01-17 Richard Guenther <rguenther@suse.de>
22085
22086 PR tree-optimization/42773
22087 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
22088 (compute_antic_aux): Likewise.
22089 (compute_partial_antic_aux): Likewise.
22090
a90110c3
JZ
220912010-01-17 Jie Zhang <jie.zhang@analog.com>
22092
22093 PR debug/42767
22094 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
22095 and US_TRUNCATE.
22096
914d25dc
JR
220972010-01-17 Joern Rennecke <amylaar@spamcop.net>
22098
22099 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
22100 appearance.
22101
22102 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
22103 Fix markup for strict argument.
22104
22105 (TARGET_SCHED_REORDER2): Fix argument types.
22106
22107 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
22108 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
22109
22110 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
22111 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
22112
22113 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
22114 Add argument name.
22115
22116 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
22117 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
22118 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
22119 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
22120 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
22121
22122 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
22123
22124 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
22125
22126 (TARGET_ASM_RELOC_RW_MASK): Add return type.
22127 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
22128
22129 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
22130
22131 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
22132 Use prototype.
22133
22134 (TARGET_ASM_NAMED_SECTION): Fix argument list.
22135
22136 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
22137 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
22138
22139 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
22140
22141 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
22142
22143 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
22144 referring to it. Fix language.
22145
22146 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
22147
22148 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
22149
22150 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
22151
22152 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
22153
22154 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
22155 '@var{stream}. Remove stray 'and'.
22156
22157 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
22158
22159 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
22160
22161 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
22162
31b21739 22163 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
914d25dc
JR
22164 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
22165
22166 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
22167 Fix description of return value.
22168 Rename argument "sz" to "len."
22169
22170 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
22171 Clarify meaning of 'true' return value.
22172
22173 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
22174
22175 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
22176 rep_mode versus mode_rep.
22177
22178 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
22179
22180 (TARGET_BUILTIN_DECL): Fix name.
22181
22182 (TARGET_COMMUTATIVE_P): Fix type of first argument.
22183
22184 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
22185
22186 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
22187
22188 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
22189
22190 (TARGET_RELAXED_ORDERING): Use @deftypevr.
22191
22192 (TARGET_GET_DRAP_RTX): Note that this is a hook.
22193 Clarify language.
22194
5eb7ce91
JR
22195 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
22196 Rename argument tm_fn to md_fn.
22197
d2143a2f
JR
22198 (TARGET_OPTION_PRINT): Fix argument list.
22199
8f7fd2da
HJ
222002010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
22201
22202 PR target/42664
22203 * config/i386/i386.c (ix86_fixup_binary_operands):
22204 Revert FMA4 fixup of operands.
22205
2fdb618d
RW
222062010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22207
22208 PR gcc/42525
22209 * Makefile.in (write_entries_to_file, install-plugin):
22210 Use \012 instead of \n with tr.
22211
636cf8b1
RS
222122010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
22213
22214 * configure.ac (HAVE_AS_REF): New C macro.
22215 * configure: Regenerate.
22216 * config.in: Likewise.
22217 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
22218 if HAVE_AS_REF.
22219 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
22220 if HAVE_AS_REF.
22221
b6fd8800
JR
222222010-01-16 Joern Rennecke <amylaar@spamcop.net>
22223
22224 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
22225
22226 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
22227
22228 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
22229
22230 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
22231
22232 (TARGET_IN_SMALL_DATA_P): Fix argument type.
22233
22234 (TARGET_BINDS_LOCAL_P): Fix argument type.
22235
22236 (TARGET_ASM_FILE_END): Use prototype.
22237
22238 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
22239
22240 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
22241
22242 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
22243
22244 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
22245
22246 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
22247 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
22248
22249 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
22250 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
22251
22252 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
22253 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
22254 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
22255 (TARGET_ADDR_SPACE_CONVERT): Likewise.
22256
22257 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
22258
22259 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
22260
22261 (TARGET_INIT_BUILTINS): Use prototype.
22262
22263 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
22264 Put 'const char *' in braces. Fix parameter types.
22265 (TARGET_INVALID_CONVERSION): Fix parameter types.
22266 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
22267 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
22268
22269 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
22270 Fix argument type.
22271
22272 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
22273
22274 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
22275
9ddb66ef
JR
222762010-01-15 Joern Rennecke <amylaar@spamcop.net>
22277
22278 * doc/tm.texi (TARGET_HELP): Fix return type.
22279
22280 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
22281 in braces. Fix argument types.
22282
22283 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
22284
22285 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
22286
22287 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
22288
22289 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
22290 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
22291
22292 (TARGET_MANGLE_TYPE): Fix argument types.
22293
22294 (TARGET_IRA_COVER_CLASSES): Use prototype.
22295
22296 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
22297
22298 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
22299
22300 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
22301
22302 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
22303
22304 (TARGET_CALLEE_COPIES): Fix argument types.
22305
22306 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
22307
22308 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
22309
22310 (TARGET_FUNCTION_VALUE): Fix argument types.
22311
22312 (TARGET_RETURN_IN_MSB): Fix argument type.
22313
22314 (TARGET_RETURN_IN_MEMORY): Fix argument types.
22315
22316 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
22317
22318 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
22319
22320 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
22321 agree with return type.
22322
22323 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
22324
4a62494d
JY
223252010-01-15 Jing Yu <jingyu@google.com>
22326
22327 PR rtl-optimization/42691
22328 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
22329 a pseudo to a constant and are merged, and adjust comments.
22330
a1b5171b
EB
223312010-01-15 Eric Botcazou <ebotcazou@adacore.com>
22332
22333 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
22334
1197e789
RG
223352010-01-15 Richard Guenther <rguenther@suse.de>
22336
22337 PR middle-end/42739
22338 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
22339 labels of computed or non-local gotos to the destination.
22340 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
22341 landing pad label is the first label.
22342
cbe80ff8
RG
223432010-01-15 Richard Guenther <rguenther@suse.de>
22344
22345 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
22346
c919858d
MM
223472010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
22348
22349 PR target/42747
22350 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
22351 to allow generation of the xssqrtdp instruction on power7.
22352 (sqrtdf2_fpr): Ditto.
22353
5b1cbe14
JJ
223542010-01-14 Jakub Jelinek <jakub@redhat.com>
22355
ef5d1181
JJ
22356 PR middle-end/42674
22357 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
22358 functions with noreturn attribute.
22359
5b1cbe14
JJ
22360 PR c++/42608
22361 * varasm.c (declare_weak): Add weak attribute to decl if it
22362 doesn't have one already.
22363 (assemble_external): Only add decls to weak_decls if they also
22364 have weak attribute.
22365
7d2a8452
AO
223662010-01-14 Alexandre Oliva <aoliva@redhat.com>
22367
22368 * var-tracking.c (var_reg_delete): Don't delete the association
22369 between REGs and values or one-part variables if the register
22370 isn't clobbered.
22371
d17af147
JJ
223722010-01-14 Jakub Jelinek <jakub@redhat.com>
22373
22374 PR debug/42657
22375 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
22376 because its first operand is a non-localized variable.
22377
2f3cdcf5
MJ
223782010-01-14 Martin Jambor <mjambor@suse.cz>
22379
22380 PR tree-optimization/42706
22381 * tree-sra.c (encountered_recursive_call): New variable.
22382 (encountered_unchangable_recursive_call): Likewise.
22383 (sra_initialize): Initialize both new variables.
22384 (callsite_has_enough_arguments_p): New function.
22385 (scan_function): Call decl and flags check only for IPA-SRA, check
22386 whether there is a recursive call and whether it has enough arguments.
22387 (all_callers_have_enough_arguments_p): New function.
22388 (convert_callers): Look for recursive calls only when
22389 encountered_recursive_call is set.
22390 (ipa_early_sra): Bail out either if
22391 !all_callers_have_enough_arguments_p or
22392 encountered_unchangable_recursive_call.
22393
c02e2d5c
AM
223942010-01-14 Alexander Monakov <amonakov@ispras.ru>
22395
22396 * sel-sched.c: Add 2010 to copyright years.
22397 * sel-sched-ir.c: Likewise.
22398 * sel-sched-ir.h: Likewise.
22399
92e97cdd
MJ
224002010-01-14 Martin Jambor <mjambor@suse.cz>
22401
22402 PR tree-optimization/42714
22403 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
22404 constructors specially.
22405
a0463099
AK
224062010-01-14 Andi Kleen <ak@linux.intel.com>
22407
22408 * config/i386/drivers-i386.c (detect_caches_intel):
22409 Add l2sizekb parameter and fill in.
22410 (host_detect_local_cpu): Add l2sizekb, fill in.
22411 Add Atom small cache heuristic.
22412
224132010-01-14 Andi Kleen <ak@linux.intel.com>
22414
22415 * config/i386/drivers-i386.c (detect_caches_cpuid4):
22416 Add level3 parameter and fill in.
22417 (detect_caches_intel): Handle level3 cache.
22418
224192010-01-14 Andi Kleen <ak@linux.intel.com>
22420
22421 * config/i386/drivers-i386.c (host_detect_local_cpu):
22422 Fix core duo detection.
22423
224242010-01-14 Andi Kleen <ak@linux.intel.com>
22425
22426 * config/i386/drivers-i386.c (host_detect_local_cpu):
22427 Fix Atom detection.
22428
dd6739e3
AM
224292010-01-14 Alexander Monakov <amonakov@ispras.ru>
22430
22431 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
22432 (rs6000_variable_issue_1): this. Use...
22433 (rs6000_variable_issue): here. Reimplement. Print debug info.
22434
7898b93b
AM
224352010-01-14 Alexander Monakov <amonakov@ispras.ru>
22436
a0463099
AK
22437 * sel-sched-ir.c (sel_restore_other_notes): Rename to
22438 sel_restore_notes. Update all callers. Call reemit_notes
22439 for all insns.
7898b93b 22440
65b659ff
AB
224412010-01-14 Andrey Belevantsev <abel@ispras.ru>
22442
22443 PR rtl-optimization/42246
22444 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
22445 loops.
22446
c6486552
AB
224472010-01-14 Andrey Belevantsev <abel@ispras.ru>
22448
22449 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
22450 all successors is the same as number of successors in current region.
22451
f07013eb
AM
224522010-01-14 Alexander Monakov <amonakov@ispras.ru>
22453
22454 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
22455 to rename is not separable. Otherwise check that its LHS is not NULL.
22456
a9ced68b
AM
224572010-01-14 Alexander Monakov <amonakov@ispras.ru>
22458
22459 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
22460
0c94f956
AM
224612010-01-14 Alexander Monakov <amonakov@ispras.ru>
22462
22463 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
22464 available registers when failed to discover LHS register class.
22465 Fix indentation. Update comment.
22466
136e01a3
AB
224672010-01-14 Andrey Belevantsev <abel@ispras.ru>
22468 Alexander Monakov <amonakov@ispras.ru>
22469
22470 PR rtl-optimization/42389
22471 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
22472 to can_issue_more.
22473 (advance_state_on_fence): Likewise.
22474 (sel_target_adjust_priority): Print debug output only when
22475 sched_verbose >= 4, not 2.
22476 (get_expr_cost): Do not issue all unique insns on the next cycle.
22477 (fill_insns): Initialize can_issue_more from the value saved
22478 with the fence.
22479 * sel-sched-ir.c (flist_add): New parameter issue_more.
22480 Init FENCE_ISSUE_MORE with it.
22481 (merge_fences): Likewise.
22482 (init_fences): Update call to flist_add.
22483 (add_to_fences, add_clean_fence_to_fences)
22484 (add_dirty_fence_to_fences): Likewise.
22485 (move_fence_to_fences): Update call to merge_fences.
22486 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
22487 sched groups.
22488 * sel-sched-ir.h (struct _fence): New field issue_more.
22489 (FENCE_ISSUE_MORE): New accessor macro.
22490
762bffba
AB
224912010-01-14 Andrey Belevantsev <abel@ispras.ru>
22492
22493 PR rtl-optimization/42388
22494 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
22495 that have no predecessors nor successors. Do not call move_bb_info
22496 for empty blocks outside of current region.
22497
14f30b87
AM
224982010-01-14 Alexander Monakov <amonakov@ispras.ru>
22499
22500 PR rtl-optimization/42294
22501 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
22502 * sel-sched.c (move_exprs_to_boundary): Transitively add all
22503 originators' originators.
22504
8ec4d0ad
AM
225052010-01-14 Alexander Monakov <amonakov@ispras.ru>
22506
22507 PR rtl-optimization/39453
22508 PR rtl-optimization/42246
22509 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
22510 for pipelining_p.
22511 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
22512
b59ab570
AM
225132010-01-14 Andrey Belevantsev <abel@ispras.ru>
22514 Alexander Monakov <amonakov@ispras.ru>
22515
22516 PR middle-end/42245
22517 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
22518 (maybe_tidy_empty_bb): ... here. Make static. Add new
22519 argument. Update all callers.
22520 (tidy_control_flow): ... and here. Recompute topological order
22521 of basic blocks in region if necessary.
22522 (sel_redirect_edge_and_branch): Change return type. Return true
22523 if topological order might have been invalidated.
22524 (purge_empty_blocks): Export and move from...
22525 * sel-sched.c (purge_empty_blocks): ... here.
22526 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
c02e2d5c 22527 (maybe_tidy_empty_bb): Delete prototype.
b59ab570
AM
22528 (purge_empty_blocks): Declare.
22529
0666ff4e
AB
225302010-01-14 Andrey Belevantsev <abel@ispras.ru>
22531
b59ab570 22532 PR rtl-optimization/42249
0666ff4e
AB
22533 * sel-sched.c (try_replace_dest_reg): When chosen register
22534 and original register is the same, do not bail out early, but
22535 still check all original insns for validity of replacing destination
22536 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
22537 in this case.
22538
5f8d5023
JJ
225392010-01-14 Jakub Jelinek <jakub@redhat.com>
22540
22541 PR c/42721
a0463099 22542 Port from no-undefined-overflow branch:
5f8d5023
JJ
22543 2009-03-09 Richard Guenther <rguenther@suse.de>
22544
a0463099 22545 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5f8d5023 22546
429c98c9
RG
225472010-01-14 Richard Guenther <rguenther@suse.de>
22548
22549 PR lto/42665
b5e33e04 22550 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
429c98c9 22551
cd481d83
IR
225522010-01-14 Ira Rosen <irar@il.ibm.com>
22553
22554 PR tree-optimization/42709
22555 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
22556 as scalar type in creation of constant vector operand.
22557
453897b4
RW
225582010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22559
22560 PR testsuite/42414
22561 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
22562 (check-parallel-%): Match `testsuite' directory component only
22563 at the end.
22564
5bc69b92
SZ
225652010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
22566
22567 PR translation/39521
22568 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
22569 strings with _().
22570
5db959b6
RG
225712010-01-13 Richard Guenther <rguenther@suse.de>
22572
22573 PR tree-optimization/42730
22574 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
22575 offset zero.
22576
9540f5ef
SE
225772010-01-13 Steve Ellcey <sje@cup.hp.com>
22578
22579 PR target/pr42542
22580 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
22581 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
22582 them signed.
22583
84fb8ff5
BS
225842010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
22585
22586 * config/bfin/libgcc-bfin.ver: Regenerate based on current
22587 libgcc-std.ver. Add entries for ___smulsi3_highpart and
22588 ___umulsi3_highpart.
22589
6cca15ea
BS
22590 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
22591 rather than schedule_insns if the pass is enabled.
22592
19656178
MJ
225932010-01-13 Martin Jambor <mjambor@suse.cz>
22594
22595 PR tree-optimization/42704
22596 * tree-sra.c (sra_modify_assign): Do not delete assignments to
22597 SSA_NAMEs.
22598
6dc93b16
MJ
225992010-01-13 Martin Jambor <mjambor@suse.cz>
22600
22601 PR tree-optimization/42703
22602 * tree-sra.c (analyze_access_subtree): Check that we can build a
22603 reference to the original data within the aggregate.
22604
1d21a8e5
RG
226052010-01-13 Richard Guenther <rguenther@suse.de>
22606
22607 PR tree-optimization/42705
b5e33e04 22608 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1d21a8e5 22609
48f30f62
RG
226102010-01-13 Richard Guenther <rguenther@suse.de>
22611
22612 PR middle-end/42716
22613 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
22614
9e73c690
JJ
226152010-01-13 Jakub Jelinek <jakub@redhat.com>
22616
22617 PR debug/41371
22618 * var-tracking.c (values_to_unmark): New variable.
22619 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
22620 values_to_unmark vector. Moved body to...
22621 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
22622 instead queue it into values_to_unmark vector.
22623 (vt_find_locations): Free values_to_unmark vector.
22624
dc2f28c5
WG
226252010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
22626
22627 * config/s390/s390.c (override_options): Set
22628 default of max-pending-list-length to 256
22629
688a482d
RG
226302010-01-13 Richard Guenther <rguenther@suse.de>
22631
22632 PR lto/42678
22633 * tree-pass.h (PROP_gimple_lcx): New.
22634 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
22635 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
22636 before the final cleanup_eh.
22637 (dump_properties): Dump PROP_gimple_lcx.
22638 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
22639 (tree_lower_complex_O0): Remove.
22640 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
22641 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
22642 tree_lower_complex, schedule TODO_update_ssa.
22643 * lto-streamer-out.c (output_function): Stream the functions
22644 properties.
22645 * lto-streamer-in.c (input_function): Likewise.
22646 (lto_read_body): Do not override them here.
22647
e616f54d
JM
226482010-01-12 Joseph Myers <joseph@codesourcery.com>
22649
22650 PR c/42708
22651 * c-typeck.c (build_c_cast): Fold value cast to union type before
22652 wrapping it in a CONSTRUCTOR.
22653
b4ab701f
JJ
226542010-01-12 Jakub Jelinek <jakub@redhat.com>
22655
22656 PR rtl-optimization/42699
22657 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
22658 involved.
22659
4dde664f
RO
226602010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22661
22662 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
22663 SUBTARGET_WARN_UNUSED_SPEC): Move ...
22664 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
22665 SUBTARGET_WARN_UNUSED_SPEC): ... here
22666 * config/mips/iris5.h (LIBGCC_SPEC): Define.
22667
24fe19c3
JB
226682010-01-12 Julian Brown <julian@codesourcery.com>
22669
a0463099 22670 * config/arm/neon-schedgen.ml (Utils): Don't try to
24fe19c3 22671 open missing module.
a0463099 22672 (find_with_result): New.
24fe19c3 22673
082ab5ff
JJ
226742010-01-12 Jakub Jelinek <jakub@redhat.com>
22675
4942b76b
JJ
22676 PR debug/42662
22677 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
22678 sharing when canonicalizing ({lt,ge}u (plus a b) b).
22679
082ab5ff
JJ
22680 PR tree-optimization/42645
22681 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
22682 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
22683 decl_map, set processing_debug_stmt to -1 and return name without
22684 any remapping.
22685
977f7997
DK
226862010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
22687
22688 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
22689 binutils version, and reword target configuration description.
22690
2685baa1
AH
226912010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
22692
a0463099 22693 * config/avr/avr.h (LINKER_NAME): Remove.
2685baa1 22694
3767f512
JJ
226952010-01-11 Janis Johnson <janis187@us.ibm.com>
22696
22697 PR target/42416
22698 * config/rs6000/rs6000.c (rs6000_override_options): On targets
22699 that support VSX, warn for -mno-altivec if vsx is not disabled,
22700 and disable vsx.
22701
f94e1d66
JM
227022010-01-11 Joseph Myers <joseph@codesourcery.com>
22703 Shujing Zhao <pearly.zhao@oracle.com>
a0463099 22704
f94e1d66
JM
22705 PR translation/42469
22706 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
22707 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
22708 character between option name and help text.
22709 * c.opt (imultilib): Likewise.
22710
06bfe1d0
RAE
227112010-01-10 Rafael Avila de Espindola <espindola@google.com>
22712
22713 * lto-streamer-out.c (output_unreferenced_globals): Output static
22714 variables.
22715
c21f33b6
SB
227162010-01-10 Steven Bosscher <steven@gcc.gnu.org>
22717
22718 PR rtl-optimization/42621
22719 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
22720 optimizing for size.
22721 (duplicate_computed_gotos): Remove now-redundant check.
22722
30ce157e
SE
227232010-01-10 Steve Ellcey <sje@cup.hp.com>
22724
22725 PR target/37454
22726 * configure.ac: Save and restore LDFLAGS and LIBS
22727 * configure: Regenerate.
22728
ab996409
RG
227292010-01-10 Richard Guenther <rguenther@suse.de>
22730
22731 PR middle-end/42667
22732 * builtins.c (fold_builtin_strlen): Add type argument and
22733 convert the resulting length to it.
22734 (fold_builtin_1): Adjust.
22735
7234a615
JJ
227362010-01-09 Jakub Jelinek <jakub@redhat.com>
22737
22738 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
22739 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
22740 1 insn.
22741 (num_insns_constant_wide): Adjust for that change.
22742
994ae26c
AO
227432010-01-09 Alexandre Oliva <aoliva@redhat.com>
22744
22745 PR debug/42631
22746 * web.c (union_defs): Add used argument, to combine uses of
22747 uninitialized regs.
22748 (entry_register): Adjust type and tests of used argument.
22749 (web_main): Widen used for new use. Pass it to union_defs.
22750 * df.h (union_defs): Adjust prototype.
22751
60c48e4c
AO
227522010-01-09 Alexandre Oliva <aoliva@redhat.com>
22753
22754 PR debug/42630
22755 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
22756 uses in new incoming argument. Free body.
22757 (reset_debug_uses_in_loop): New.
22758 (analyze_insn_to_expand_var): Call the latter if the former found
22759 anything. Fix whitespace. Reject invalid dest overlaps before
22760 going through all insns in the loop.
22761
bb956f3e
AO
227622010-01-09 Alexandre Oliva <aoliva@redhat.com>
22763
22764 PR debug/42629
22765 * haifa-sched.c (dying_use_p): Debug insns don't count.
22766
5de8da9b
AO
227672010-01-09 Alexandre Oliva <aoliva@redhat.com>
22768
22769 PR middle-end/42363
22770 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
22771 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
22772 (verify_gimple_call): Reject LHS in noreturn calls.
22773
684f25f4
AO
227742010-01-09 Alexandre Oliva <aoliva@redhat.com>
22775
22776 PR debug/42604
22777 PR debug/42395
22778 * tree-vect-loop-manip.c (adjust_info): New type.
22779 (adjust_vec): New pointer to vector.
22780 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
22781 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
22782 (slpeel_update_phis_for_duplicate_loop): Use them.
22783 (slpeel_update_phi_nodes_for_guard1): Likewise.
22784 (slpeel_update_phi_nodes_for_guard2): Likewise.
22785 (slpeel_tree_peel_loop_to_edge): Likewise.
22786 (vect_update_ivs_after_vectorizer): Likewise.
22787
0e00563c
AO
227882010-01-09 Alexandre Oliva <aoliva@redhat.com>
22789
22790 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
22791 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
22792
0ce659eb
AO
227932010-01-09 Alexandre Oliva <aoliva@redhat.com>
22794
22795 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
22796 bogus uninitialized warning.
22797
73c865fa
RG
227982010-01-09 Richard Guenther <rguenther@suse.de>
22799
22800 PR middle-end/42512
22801 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
22802 the evolution is compatible with the initial condition.
22803
bd5c3aa5
JJ
228042010-01-09 Jakub Jelinek <jakub@redhat.com>
22805
22806 * gcc.c (process_command): Update copyright notice dates.
22807 * gcov.c (print_version): Likewise.
22808 * gcov-dump.c (print_version): Likewise.
22809 * mips-tfile.c (main): Likewise.
22810 * mips-tdump.c (main): Likewise.
22811
58f0ea2f
AH
228122010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
22813
22814 PR target/41885
2685baa1 22815 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
58f0ea2f
AH
22816 (rotlhi3): Delete.
22817 (rotlhi3_8): Delete.
22818 (rotlsi3): Delete.
22819 (rotlsi3_8): Delete.
22820 (rotlsi3_16): Delete.
22821 (rotlsi3_24): Delete.
22822 (rotl<mode>3): New.
22823 (*rotw<mode>3): New.
22824 (*rotb<mode>3): New.
2685baa1 22825 * config/avr/avr.c (avr_rotate_bytes): New function.
a0463099 22826 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
58f0ea2f 22827
601fc26e
SE
228282010-01-08 Steve Ellcey <sje@cup.hp.com>
22829
22830 PR target/37454
22831 * configure.ac: Modify -rdynamic check.
22832 * configure: Regenerate.
22833
6a62ca52
DD
228342010-01-08 DJ Delorie <dj@redhat.com>
22835
22836 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
22837 register popping order.
22838
c59449fa
RG
228392010-01-08 Richard Guenther <rguenther@suse.de>
22840
22841 PR lto/42528
22842 * c.opt (fsigned-char): Also let LTO handle this option.
22843 (funsigned-char): Likewise.
22844
f68a75df
RG
228452010-01-07 Richard Guenther <rguenther@suse.de>
22846
22847 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
22848 (gimple_op): Likewise.
22849 (gimple_op_ptr): Likewise.
22850 (gimple_assign_set_lhs): Remove gcc_assert.
22851 (gimple_assign_set_rhs1): Likewise.
22852 (gimple_assign_set_rhs2): Likewise.
22853 (gimple_call_set_lhs): Likewise.
22854 (gimple_call_set_fn): Likewise.
22855 (gimple_call_set_fndecl): Likewise.
22856 (gimple_call_fndecl): Likewise.
22857 (gimple_call_return_type): Likewise.
22858 (gimple_call_set_chain): Likewise.
22859 (gimple_call_num_args): Likewise.
22860 (gimple_call_set_arg): Likewise.
22861 (gimple_cond_set_code): Likewise.
22862 (gimple_cond_set_lhs): Likewise.
22863 (gimple_cond_set_rhs): Likewise.
22864 (gimple_cond_set_true_label): Likewise.
22865 (gimple_cond_set_false_label): Likewise.
22866 (gimple_label_set_label): Likewise.
22867 (gimple_goto_set_dest): Likewise.
22868 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
22869 (gimple_debug_bind_get_value): Likewise.
22870 (gimple_debug_bind_get_value_ptr): Likewise.
22871 (gimple_debug_bind_set_var): Likewise.
22872 (gimple_debug_bind_set_value): Likewise.
22873 (gimple_debug_bind_reset_value): Likewise.
22874 (gimple_debug_bind_has_value_p): Likewise.
22875 (gimple_return_retval_ptr): Remove gcc_assert.
22876 (gimple_return_retval): Likewise.
22877 (gimple_return_set_retval): Likewise.
22878 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
22879 (safe_referenced_var_iterator): Remove.
22880 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
22881 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
22882 (fill_referenced_var_vec): Remove.
22883 (first_readonly_imm_use): Remove redundant gcc_assert.
22884 (phi_arg_index_from_use): Combine gcc_asserts.
22885 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
22886 (first_imm_use_stmt): Remove redundant gcc_assert.
22887 * tree-cfg.c (verify_gimple_call): Verify function and chain
22888 operands. Verify arguments.
22889 (verify_types_in_gimple_stmt): Verify condition code and labels.
22890
617531d9
RG
228912010-01-07 Richard Guenther <rguenther@suse.de>
22892
22893 PR tree-optimization/42641
22894 * sese.c (rename_map_elt_info): Use the SSA name version, do
22895 not hash pointers.
22896
4139c7ef
JJ
228972010-01-07 Jakub Jelinek <jakub@redhat.com>
22898
22899 PR tree-optimization/42625
22900 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
b5e33e04 22901 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4139c7ef 22902
01094033
DS
229032010-01-07 Duncan Sands <baldrick@free.fr>
22904
22905 * Makefile.in (PLUGIN_HEADERS): Add version.h.
22906
4b9ed9aa
UB
229072010-01-07 Uros Bizjak <ubizjak@gmail.com>
22908
22909 PR target/42511
22910 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
22911 note itself is not function_invariant_p.
22912
f50f5566
SB
229132009-01-07 Steven Bosscher <steven@gcc.gnu.org>
22914
22915 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
22916 Do not add the DF_NOTE problem.
22917 * store-motion.c (execute_rtl_store_motion): Likewise.
22918
d05fe940
MJ
229192010-01-07 Martin Jambor <mjambor@suse.cz>
22920
22921 PR tree-optimization/42157
22922 * tree-sra.c (compare_access_positions): Stabilize sort if both
22923 accesses have integer types, return zero immediately if they are the
22924 same.
22925
e67271bd
RH
229262010-01-06 Richard Henderson <rth@redhat.com>
22927
22928 PR middle-end/41883
22929 * haifa-sched.c (add_to_note_list): Merge into ...
22930 (concat_note_lists): ... here, and ...
22931 (unlink_other_notes, rm_other_notes): Merge into...
22932 (remove_notes): ... here. Create REG_SAVE_NOTEs for
a0463099 22933 NOTE_INSN_EPILOGUE_BEG.
e67271bd 22934
6209a13e
RG
229352010-01-06 Richard Guenther <rguenther@suse.de>
22936
22937 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
22938 not inline regular functions into always-inline functions.
22939
5f75e477
NC
229402010-01-06 Nick Clifton <nickc@redhat.com>
22941
22942 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
22943 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
22944 used together.
22945 (OVERRIDE_OPTIONS): Delete.
22946 (OPTIMIZATION_OPTIONS): Define.
22947 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
22948 * config/rx/rx.c (rx_handle_option): Issue an error message if
22949 -mcpu=rx200 and -fpu are used together.
22950 (rx_set_optimization_options): New function. Issue an error
22951 message if an optimization attribute attempts to reset the FPU/
22952 math optimization pairing.
22953 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
22954 * config/rx/rx.opt: Set the default to 32-bit doubles.
22955 * config/rx/t-rx: Add multilibs for -nofpu option.
22956 * doc/invoke.texi: Update documentation of RX options.
22957
13de9095
RG
229582010-01-06 Richard Guenther <rguenther@suse.de>
22959
22960 * tree-ssa-pre.c (name_to_id): New global.
22961 (alloc_expression_id): Simplify SSA name handling.
22962 (lookup_expression_id): Likewise.
22963 (init_pre): Zero name_to_id.
22964 (fini_pre): Free it.
22965
786c3fbc
UB
229662010-01-06 Uros Bizjak <ubizjak@gmail.com>
22967
22968 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
22969
fa1a4144
L
229702010-01-05 H.J. Lu <hongjiu.lu@intel.com>
22971
22972 PR target/42542
22973 * config/i386/sse.md (smaxv2di3): New.
22974 (umaxv2di3): Likewise.
22975 (sminv2di3): Likewise.
22976 (uminv2di3): Likewise.
22977
208384fd
EB
229782010-01-05 Eric Botcazou <ebotcazou@adacore.com>
22979
22980 PR target/42564
22981 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
22982 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
22983 (legitimize_tls_address): Likewise.
22984 (sparc_tls_referenced_p): Likewise.
22985 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
22986 and adjust calls to legitimize_pic_address.
22987 (legitimate_constant_p) Use sparc_tls_referenced_p.
22988 (legitimate_pic_operand_p): Likewise.
22989 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
22990 (sparc_tls_symbol_ref_1): Delete.
22991 (sparc_tls_referenced_p): Make static, recognize specific patterns.
22992 (legitimize_tls_address): Make static, handle CONST patterns.
22993 (legitimize_pic_address): Make static, remove unused parameter and
22994 adjust recursive calls.
22995 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
22996 and adjust call to legitimize_pic_address.
22997 (sparc_output_mi_thunk): Likewise.
22998
4b9ed9aa 229992010-01-05 Paolo Bonzini <bonzini@gnu.rg>
43d4b97d
L
23000 H.J. Lu <hongjiu.lu@intel.com>
23001
23002 PR target/42542
23003 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
23004 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
23005 operands to make them signed.
23006
931c6b3e
UB
23007 Revert:
23008 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
23009
23010 PR target/42542
23011 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
23012 GTU to GT for V4SI and V2DI.
23013
23014 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
23015 (umin<mode>3): Removed.
23016 (uminv8hi3): New.
43d4b97d
L
23017 (uminv4si3): Likewise.
23018
9bf4cdf5
MJ
230192010-01-05 Martin Jambor <mjambor@suse.cz>
23020
23021 PR tree-optimization/42462
23022 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
23023 current_function_decl to helper functions and macros.
23024
6a4d4e8a
RO
230252010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
23026
23027 PR bootstrap/41771
23028 * flags.h: Don't include real.h.
23029 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
23030 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
23031 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
23032 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
23033 * dominance.c: Update copyright.
23034 * gimple.c (walk_gimple_op): Remove inline.
23035 * tree-ssa-reassoc.c: Include real.h.
23036 * Makefile.in (FLAGS_H): Remove $(REAL_H).
23037 (tree-ssa-reassoc.o): Depend on $(REAL_H).
23038
105249d1
NC
230392010-01-05 Nick Clifton <nickc@redhat.com>
23040
23041 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
23042 register to push into the stack frame when the accumulator has to
23043 be saved during interrupts.
23044
bc3c12a2
EF
230452010-01-05 Eric Fisher <joefoxreal@gmail.com>
23046
23047 * doc/invoke.texi: Remove the documentation about option
23048 -Wunreachable-code.
23049 * common.opt (Wunreachable-code): Preserved for backward
23050 compatibility.
23051 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
23052 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
23053 the backward compatibility flag section.
23054
1befacc8
RG
230552010-01-05 Richard Guenther <rguenther@suse.de>
23056
23057 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
23058
566f27e4
JJ
230592010-01-05 Jakub Jelinek <jakub@redhat.com>
23060
7604eb4e
JJ
23061 PR other/42611
23062 * cfgexpand.c (expand_one_var): Diagnose too large variables.
23063
566f27e4
JJ
23064 PR tree-optimization/42508
23065 * tree-sra.c (convert_callers): Check for recursive call
23066 by comparing cgraph nodes instead of decls.
23067 (modify_function): Call ipa_modify_formal_parameters also
23068 on all same_body aliases.
23069
23070 * cgraphunit.c (cgraph_materialize_all_clones): Compare
23071 cgraph nodes when checking for same_body aliases.
23072
5f5126d6
RG
230732010-01-05 Richard Guenther <rguenther@suse.de>
23074
23075 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
23076 allocation and lookup.
23077 (get_or_alloc_expr_for_constant): Likewise.
23078 (phi_translate): Sink allocation.
23079
a7d04a53
RG
230802010-01-04 Richard Guenther <rguenther@suse.de>
23081
23082 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
23083 a new entry only if needed.
23084 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
23085 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
23086 hashtable lookup.
23087 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
23088 the result array.
23089 (phi_translate): Handle CONSTANTs early.
23090
caee6ca1
MJ
230912010-01-04 Martin Jambor <mjambor@suse.cz>
23092
23093 PR tree-optimization/42398
23094 * tree-sra.c (struct access): Removed flag grp_different_types.
23095 (dump_access): Do not dump the removed flag.
23096 (sort_and_splice_var_accesses): Do not set the removed flag.
23097 (sra_modify_expr): Check for type compatibility directly.
23098
438789ff
MJ
230992010-01-04 Martin Jambor <mjambor@suse.cz>
23100
23101 PR tree-optimization/42366
23102 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
23103 edges with variable number of parameters.
23104 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
23105 flag instead of asserting it.
23106 (ipa_read_node_info): Read uses_analysis_done flag.
23107
9708c51d
RG
231082010-01-04 Richard Guenther <rguenther@suse.de>
23109
23110 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
23111 iterative_hash_* as intended.
23112 (vn_reference_compute_hash): Likewise. Simplify hashing
23113 SSA names.
23114 (vn_reference_lookup_2): Likewise.
23115 (vn_nary_op_compute_hash): Likewise.
23116 (vn_phi_compute_hash): Likewise.
23117 (expressions_equal_p): Remove strange code.
23118 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
23119 (pre_expr_hash): Likewise. Simplify hashing SSA names.
23120 (bitmap_insert_into_set_1): Take value-id as parameter.
23121 (add_to_value): Pass it.
23122 (bitmap_insert_into_set): Likewise.
23123 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
23124
94b90527
JJ
231252010-01-04 Jakub Jelinek <jakub@redhat.com>
23126
23127 PR driver/42442
23128 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
23129 (do_self_spec): For switches with SWITCH_IGNORE set set also
23130 SWITCH_IGNORE_PERMANENTLY.
23131 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
23132 of SWITCH_IGNORE.
23133
785ca514
RAE
231342010-01-04 Rafael Avila de Espindola <espindola@google.com>
23135
23136 * lto-streamer-out.c (output_unreferenced_globals): Output the full
23137 tree of an unreferenced global var.
23138
22554cf9
L
231392010-01-04 H.J. Lu <hongjiu.lu@intel.com>
23140
23141 PR target/42542
23142 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
23143 GTU to GT for V4SI and V2DI.
23144
23145 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
23146 (umin<mode>3): Removed.
23147 (uminv8hi3): New.
23148 (uminv4si3): Likewise.
23149
7152f51e
L
231502010-01-04 H.J. Lu <hongjiu.lu@intel.com>
23151
23152 PR lto/42581
23153 * collect2.c (main): Turn on trace in collect2 if -v is passed
23154 to gcc with LTO.
23155
f4262155
JQ
231562010-01-03 Jerry Quinn <jlquinn@optonline.net>
23157
23158 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
23159 description of expression operand.
23160
55bcd32b
AJ
231612010-01-03 Andrew Jenner <andrew@codesourcery.com>
23162
23163 * configure.ac: Add install-html to target_list for Make-hooks.
23164 * configure: Regenerate.
23165 * fortran/Make-lang.in (F95_HTMLFILES): New.
23166 (fortran.html): Use it.
23167 (fortran.install-html): New.
23168 * Makefile.in (install-html): Add lang.install-html.
23169 * java/Make-lang.in (JAVA_HTMLFILES): New.
23170 (java.html): Use it.
23171 (java.install-html): New.
23172 * objc/Make-lang.in (objc.install-html): New.
23173 * objcp/Make-lang.in (obj-c++.install-html): New.
23174 * cp/Make-lang.in (c++.install-html): New.
23175 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
23176 * lto/Make-lang.in (lto.install-html): New.
23177
f0d61983
L
231782010-01-03 H.J. Lu <hongjiu.lu@intel.com>
23179
23180 PR lto/42520
23181 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
23182
2ad1dda0
SB
231832009-01-03 Steven Bosscher <steven@gcc.gnu.org>
23184
23185 PR rtl-optimization/41862
23186 * store-motion.c (store_killed_in_insn, compute_store_table,
23187 remove_reachable_equiv_notes, replace_store_insn,
23188 build_store_vectors): Ignore all DEBUG_INSNs.
23189
d7fb0a6d
L
231902010-01-03 H.J. Lu <hongjiu.lu@intel.com>
23191
23192 PR lto/41564
23193 * common.opt: Add dumpdir.
23194
23195 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
23196 isn't specified.
23197 (option_map): Add --dumpdir.
23198
23199 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
23200
23201 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
23202
23203 * opts.c (decode_options): Try dump_dir_name first if
23204 dump_base_name isn't an absolute path.
23205 (common_handle_option): Handle OPT_dumpdir.
23206
23207 * toplev.c (dump_dir_name): New.
23208 (print_switch_values): Also ignore -dumpdir.
23209
23210 * toplev.h (dump_dir_name): New.
23211
ba1ee228
RG
232122010-01-03 Richard Guenther <rguenther@suse.de>
23213
23214 PR tree-optimization/42589
23215 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
23216 double-word expansion of bswap32.
23217
b0de17ef
SB
232182010-01-03 Steven Bosscher <steven@gcc.gnu.org>
23219
23220 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
23221 with BLOCK_FOR_INSN.
23222 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
23223 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
23224 noce_process_if_block): Likewise.
23225 * gcse.c (compute_local_properties, insert_expr_in_table,
23226 insert_set_in_table, canon_list_insert, find_avail_set,
23227 pre_insert_copy_insn): Likewise.
23228
23229 * basic-block.h (BLOCK_NUM): Move from here...
23230 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
23231
a19eb9d2
RG
232322010-01-03 Richard Guenther <rguenther@suse.de>
23233
23234 PR tree-optimization/42438
23235 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
23236 contains_may_not_return_call flag.
23237 (BB_MAY_NOTRETURN): New.
23238 (valid_in_sets): Trapping nary operations are not valid
23239 in blocks that may not return.
b5e33e04 23240 (insert_into_preds_of_block): Remove check for trapping expressions.
a19eb9d2
RG
23241 (compute_avail): Compute also BB_MAY_NOTRETURN.
23242
c41b7b13
GP
232432010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
23244
23245 * doc/invoke.texi: Add 2010 to copyright years.
23246
4900aa61
EB
232472010-01-03 Eric Botcazou <ebotcazou@adacore.com>
23248
23249 * config/sparc/sparc.c: Fix formatting nits.
23250
711a778c 232512010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
77102854 23252 Alexander Monakov <amonakov@ispras.ru>
711a778c
GP
23253
23254 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
23255
1d86f5e9
RG
232562010-01-02 Richard Guenther <rguenther@suse.de>
23257
23258 PR middle-end/42577
23259 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
23260 (simplify_switch_using_ranges): Mark to be removed edges
23261 as non-executable.
23262
91e1a80a
JDA
232632010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23264
b86799ba
JDA
23265 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
23266
91e1a80a
JDA
23267 * collect2.c (scan_libraries): Add missing argument in call to
23268 scan_prog_file.
23269
232702010-01-02 Uros Bizjak <ubizjak@gmail.com>
23271
23272 PR target/42448
23273 * config/alpha/predicates.md (aligned_memory_operand): Return false
23274 for CQImode.
23275 (unaligned_memory_operand): Return true for CQImode.
23276 * config/alpha/alpha.c (get_aligned_mem): Assert that location
23277 doesn not cross aligned SImode word boundary.
23278
232792010-01-02 Anatoly Sokolov <aesok@post.ru>
23280
23281 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
23282 Remove.
23283 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
23284 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
23285
232862010-01-02 Richard Guenther <rguenther@suse.de>
23287
23288 PR lto/41597
23289 * toplev.c (compile_file): Emit LTO marker properly. Change
23290 it to __gnu_lto_v1.
23291 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5a013dc4 23292
aecd4d81
RG
232932010-01-01 Richard Guenther <rguenther@suse.de>
23294
23295 PR debug/42455
02143d0b 23296 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
aecd4d81 23297
e4a95933
RG
232982010-01-01 Richard Guenther <rguenther@suse.de>
23299
23300 PR c/42570
23301 * c-decl.c (grokdeclarator): For zero-size arrays force
23302 structural equality checks as layout_type does.
23303
0bdf1263
L
233042010-01-01 H.J. Lu <hongjiu.lu@intel.com>
23305
23306 * builtins.c: Update copyright to 2010.
23307
91539475 233082010-01-01 H.J. Lu <hongjiu.lu@intel.com>
8589115b
DK
23309
23310 PR lto/42531
91539475 23311 * lto-streamer-out.c (produce_asm): Revert the last change.
8589115b
DK
23312 (copy_function): Likewise.
23313
91539475
L
23314 * lto-streamer.c (lto_get_section_name): Skip any leading
23315 asterisk in name.
20cdc2be 23316
91539475 233172010-01-01 Richard Guenther <rguenther@suse.de>
cf9eb565 23318
91539475
L
23319 PR middle-end/42559
23320 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
23321 for LABEL_DECLs.
ad41bd84
JM
23322
23323\f
91539475 23324Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
23325
23326Copying and distribution of this file, with or without modification,
23327are permitted in any medium without royalty provided the copyright
23328notice and this notice are preserved.