]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
invoke.texi (xtensa options): Add -mforce-no-pic.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
1b408ba1
SA
12010-05-27 Sterling Augustine <sterling@tensilica.com>
2
3 * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
4 * config/xtensa/xtensa.c (override_options): Check
5 TARGET_FORCE_NO_PIC and set flag_pic.
6 * config/xtensa/xtensa.opt: Document -mforce-no-pic
7
82010-05-27 Kai Tietz <kai.tietz@onevision.com>
9
10 PR bootstrap/44299
11 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
12 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
13
142010-05-27 Joseph Myers <joseph@codesourcery.com>
15
16 * diagnostic-core.h: New. Contents moved from diagnostic.h and
17 toplev.h.
18 * diagnostic.c: Don't include toplev.h.
19 (progname): Define. Moved from toplev.c.
20 (seen_error): New function.
21 * diagnostic.h: Include diagnostic-core.h.
22 (diagnostic_t, emit_diagnostic): Don't declare here.
23 * toplev.c (progname): Move to toplev.c.
24 (emit_debug_global_declarations, compile_file, finalize,
25 do_compile, toplev_main): Use seen_error.
26 * toplev.h: Include diagnostic-core.h.
27 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
28 internal_error, warning, warning_at, error, error_n, error_at,
29 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
30 verbatim, fnotice, progname): Move to diagnostic-core.h.
31 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
32 (expand_builtin_expect): Use seen_error.
33 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
34 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
35 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
36 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
37 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
38 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
39 errorcount for errors.
40 * c-opts.c (c_common_finish): Use seen_error.
41 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
42 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
43 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
44 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
45 (get_coverage_counts): Use seen_error.
46 * dwarf2out.c (dwarf2out_finish): Use seen_error.
47 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
48 gimplify_body): Use seen_error.
49 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
50 * ipa-pure-const.c (gate_pure_const): Use seen_error.
51 * ipa-reference.c (gate_reference): Use seen_error.
52 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
53 * lambda-code.c: Include diagnostic-core.h instead of
54 diagnostic.h.
55 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
56 * lto-compress.c: Include diagnostic-core.h instead of
57 diagnostic.h.
58 * lto-section-in.c: Include diagnostic-core.h instead of
59 diagnostic.h.
60 * lto-streamer-out.c: Include diagnostic-core.h instead of
61 diagnostic.h.
62 * lto-streamer.c: Include diagnostic-core.h instead of
63 diagnostic.h.
64 (gate_lto_out): Use seen_error.
65 * matrix-reorg.c: Include diagnostic-core.h instead of
66 diagnostic.h.
67 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
68 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
69 (gate_expand_omp, lower_omp_1): Use seen_error.
70 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
71 (rest_of_decl_compilation, rest_of_type_compilation,
72 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
73 * tree-cfg.c (label_to_block_fn): Use seen_error.
74 * tree-inline.c (optimize_inline_calls): Use seen_error.
75 * tree-mudflap.c (mudflap_finish_file): Use
76 seen_error.
77 * tree-optimize.c (gate_all_optimizations,
78 gate_all_early_local_passes, gate_all_early_optimizations): Use
79 seen_error.
80 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
81 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
82 (varpool_remove_unreferenced_decls,
83 varpool_assemble_pending_decls): Use seen_error.
84 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
85 (TOPLEV_H, DIAGNOSTIC_H): Update.
86 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
87 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
88 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
89 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
90 coverage.o, lambda-code.o): Update dependencies.
91
922010-05-25 Dodji Seketeli <dodji@redhat.com>
93
94 PR c++/44188
95 * c-common.c (is_typedef_decl): Move this definition ...
96 * tree.c (is_typedef_decl): ... here.
97 (typdef_variant_p): Move definition here from gcc/cp/tree.c.
98 * c-common.h (is_typedef_decl): Move this declaration ...
99 * tree.h (is_typedef_decl): ... here.
100 (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
101 * dwarf2out.c (is_naming_typedef_decl): New function.
102 (gen_tagged_type_die): Split out of ...
103 (gen_type_die_with_usage): ... this function. When an anonymous
104 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
105 is emitted for the typedef.
106 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
107 anonymous tagged types.
108
1092010-05-27 Jason Merrill <jason@redhat.com>
110
111 * print-tree.c (debug_vec_tree): New fn.
112 (print_vec_tree): New fn.
113 * tree.h: Declare them.
114 * gdbinit.in (pvt): New command.
115
116 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
117
118 * gdbinit.in (pdd): New command.
119
1202010-05-27 Jan Hubicka <jh@suse.cz>
121
122 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
123 (update_caller_keys): Return early if there are no callers;
124 only update fibheap when decresing the key.
125 (update_callee_keys): Avoid recursion.
126 (decide_inlining_of_small_functions): When badness does not match;
127 re-insert into fibheap.
128
1292010-05-27 Steven Bosscher <steven@gcc.gnu.org>
130
131 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
132 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
133 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
134 (ALL_HOST_OBJS): Now a union of the above two.
135 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
136 all files in ALL_HOST_FRONTEND_OBJS.
137 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
138
139 * c-common.c: Pretend to be a backend file by undefining
140 IN_GCC_FRONTEND (still need rtl.h here).
141
1422010-05-27 Jan Hubicka <jh@suse.cz>
143
144 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
145 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
146
1472010-05-27 Jan Hubicka <jh@suse.cz>
148
149 * sched-ebb.c: Rename struct deps to struct deps_desc.
150 * ddg.c: Likewise.
151 * sel-sched-ir.c: Likewise.
152 * sched-deps.c: Likewise.
153 * sched-int.h: Likewise.
154 * sched-rgn.c: Likewise.
155
1562010-05-27 Jon Beniston <jon@beniston.com>
157
158 PR 43726
159 * config/lm32/lm32.h: Remove definition of
160 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
161
1622010-05-27 Eric Botcazou <ebotcazou@adacore.com>
163
164 PR lto/44230
165 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
166
1672010-05-27 Richard Guenther <rguenther@suse.de>
168
169 PR tree-optimization/44284
170 * tree-vect-stmts.c (vectorizable_assignment): Handle
171 sign-changing conversions as simple copy.
172
1732010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
174
175 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
176 Bionic C library.
177 (__gthread_active_p): Check for pthread_create if compiling against
178 Bionic C library.
179
1802010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
181
182 Support compilation for Android platform. Reimplement -mandroid.
183
184 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
185 (*android*): Set ANDROID_DEFAULT.
186 (arm*-*-linux*): Include linux-android.h.
187 (arm*-*-eabi*): Don't include previous -mandroid implementation.
188 * config/arm/eabi.h: Remove, move Android-specific parts ...
189 * config/linux-android.h: ... here. New file.
190 * config/arm/eabi.opt: Rename to ...
191 * config/linux-android.opt: ... this.
192 (mandroid): Allow -mno-android option. Initialize based on
193 ANDROID_DEFAULT.
194 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
195 Move logic to corresponding LINUX_TARGET_* macros.
196 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
197 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
198 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
199 Android definitions.
200 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
201 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
202 Document.
203
2042010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
205
206 Add support for Bionic C library
207
208 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
209 macro.
210 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
211 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
212
213 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
214 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
215 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
216 to support multiple C libraries. Handle Bionic.
217 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
218 (BIONIC_DYNAMIC_LINKER64): Define.
219 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
220 Update.
221 (TARGET_HAS_SINCOS): Enable for Bionic.
222
223 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
224 the last option specified on command line take effect.
225 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
226 (mbionic): New.
227 (mglibc, muclibc): Update.
228
229 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
230 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
231 DEFAULT_LIBC.
232
233 * doc/invoke.texi (-mglibc, -muclibc): Update.
234 (-mbionic): Document.
235
2362010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
237
238 * c-common.h (c_register_addr_space): Add prototype.
239 (ADDR_SPACE_KEYWORD): Remove.
240 * c-common.c (c_register_addr_space): New function.
241 (c_addr_space_name): Reimplement.
242 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
243
244 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
245 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
246
247 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
248 Remove TARGET_ADDR_SPACE_KEYWORDS.
249
2502010-05-27 Joseph Myers <joseph@codesourcery.com>
251
252 * input.c: New file.
253 * input.h (main_input_filename): Move declaration to toplev.h.
254 * toplev.c (input_location, line_table): Move to input.c
255 * toplev.h (main_input_filename): Move declaration from input.h.
256 * tree.c (expand_location): Move to input.c.
257 * Makefile.in (OBJS-common): Add input.o.
258 (input.o): Add dependencies.
259
2602010-05-27 Richard Guenther <rguenther@suse.de>
261
262 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
263 for non-existant files.
264 (fork_execute): Mark args_name file as deleted.
265
0bc25dd0
KT
2662010-05-27 Kai Tietz <kai.tietz@onevision.com>
267
1b408ba1
SA
268 PR bootstrp/44287
269 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
270 (narrow_signed_type): Likewise.
271
2722010-05-26 Jan Hubicka <jh@suse.cz>
273
274 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
275 edge only when checking is enabled; check using former_clone_of;
276 check inline clones too.
277 (cgraph_materialize_clone): Record former_clone_of pointer.
278 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
279 combining redirections; dump args_to_skip bitmap
280 (cgraph_materialize_all_clones): Do no redirection here.
281 * ipa-inline.c (inline_transform): Do redirection here.
282 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
283 cheking only).
284
2852010-05-26 Steven Bosscher <steven@gcc.gnu.org>
286
287 * config/avr/avr-c.c: Do not include regs.h.
288 Include cpplib.h for cpp_define and tree.h for c-common.h.
289 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
290 * config/avr/t-avr: Fix dependencies for avr-c.o.
291
2922010-05-26 Steven Bosscher <steven@gcc.gnu.org>
293
294 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
295 string instead of SYMBOL_REF rtx.
296 * rtl.h (set_stack_check_libfunc): Move prototype from here...
297 * libfuncs.h: ...to here. Adjust for explow.c change.
298
2992010-05-26 Joseph Myers <joseph@codesourcery.com>
300
301 * pretty-print.c: Don't include ggc.h.
302 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
303 (identifier_to_locale): Use them for allocation.
304 * pretty-print.h (identifier_to_locale_alloc,
305 identifier_to_locale_free): Declare.
306 * toplev.c (alloc_for_identifier_to_locale): New.
307 (general_init): Set identifier_to_locale_alloc and
308 identifier_to_locale_free.
309 * Makefile.in (pretty-print.o): Update dependencies.
310
3112010-05-26 Eric Botcazou <ebotcazou@adacore.com>
312
313 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
314 pointer types if they have different alignment or mode.
315
3162010-05-26 Anatoly Sokolov <aesok@post.ru>
317
318 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
319 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
320 * config/sparc/sparc-protos.h (function_value): Remove declaration.
321 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
322 sparc_function_value_regno_p): New functions.
323 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
324 TARGET_FUNCTION_VALUE_REGNO_P): Define.
325 (function_value): Rename to...
326 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
327 argument to 'outgoing'.
328 (function_arg_record_value, function_arg_union_value,
329 function_arg_vector_value): Update comment.
330
3312010-05-26 Eric Botcazou <ebotcazou@adacore.com>
332
333 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
334 (fde_needed_for_eh_p): New predicate.
335 (output_call_frame_info): Use it throughout to decide whether FDEs
336 are needed for EH purpose.
337 (dwarf2out_begin_prologue): Reorder assignments.
338
3392010-05-26 Sebastian Pop <sebastian.pop@amd.com>
340
341 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
342 special case loop->header.
343 (is_predicated): New.
344 (if_convertible_loop_p): Call it.
345
3462010-05-26 Sebastian Pop <sebastian.pop@amd.com>
347
348 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
349 iterator in parameter. Do not generate code during the analysis.
350 (tree_if_convert_cond_stmt): Removed.
351 (tree_if_convert_stmt): Removed.
352 (predicate_bbs): New.
353 (if_convertible_loop_p): Call predicate_bbs.
354 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
355 now contains all the analysis part.
356
3572010-05-26 Sebastian Pop <sebastian.pop@amd.com>
358
359 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
360 statements in the analysis part.
361 (tree_if_convert_stmt): Update comment.
362 (remove_conditions_and_labels): New.
363 (combine_blocks): Call remove_conditions_and_labels.
364 (tree_if_conversion): Update comment.
365
3662010-05-26 Sebastian Pop <sebastian.pop@amd.com>
367
368 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
369 than 2 predecessors or more than 2 successors.
370
3712010-05-26 Sebastian Pop <sebastian.pop@amd.com>
372
373 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
374 of loops in which the data dependence analysis fails.
375
3762010-05-26 Sebastian Pop <sebastian.pop@amd.com>
377
378 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
379 CDI_POST_DOMINATORS.
380 (tree_if_conversion): Same.
381
3822010-05-26 Sebastian Pop <sebastian.pop@amd.com>
383
384 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
385
3862010-05-26 Sebastian Pop <sebastian.pop@amd.com>
387
388 * tree-if-conv.c: Update copyright years. Fix comments.
389 Fix indentation.
390
3912010-05-26 Kai Tietz <kai.tietz@onevision.com>
392
393 * builtin-types.def (BT_INT128): New primitive type.
394 (BT_UINT128): Likewise.
395 * c-common.c (c_common_r): Add __int128 keyword.
396 (c_common_type_for_size): Handle __int128.
397 (c_common_type_for_mode): Likewise.
398 (c_common_signed_or_unsigned_type): Likewise.
399 (c_common_nodes_and_builtins): Add builtin type
400 if target supports 128-bit integer scalar.
401 * c-common.h (enum rid): Add RID_INT128.
402 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
403 if target supports 128-bit integer scalar.
404 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
405 (finish_declspecs): Likewise.
406 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
407 (c_token_starts_declspecs): Likewise.
408 (c_parser_declspecs): Likewise.
409 (c_parser_attributes): Likewise.
410 (c_parser_objc_selector): Likewise.
411 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
412 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
413 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
414 * tree.c (make_or_reuse_type): Likewise.
415 (make_unsigned_type): Likewise.
416 (build_common_tree_nodes_2): Likewise.
417 * tree.h (enum integer_type_kind): Add itk_int128 and
418 itk_unsigned_int128.
419 (int128_integer_type_node): New define.
420 (int128_unsigned_type_node): New define.
421 * doc/extend.texi: Add documentation about __int128 type.
422
4232010-05-26 Richard Guenther <rguenther@suse.de>
424
425 * tree-ssa-sccvn.c (copy_nary): Adjust.
426 (copy_phis): Rename to ...
427 (copy_phi): ... this. Adjust.
428 (copy_references): Rename to ...
429 (copy_reference): ... this. Adjust.
430 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
431 result into the valid table.
432
4332010-05-26 Steven Bosscher <steven@gcc.gnu.org>
434
435 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
436 insn-config.h, insn-codes.h, recog.h, and optabs.h.
437
4382010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
439
440 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
441
4422010-05-26 Richard Guenther <rguenther@suse.de>
443
444 * opts.c (common_handle_option): Handle OPT_Ofast.
445
4462010-05-26 Joseph Myers <joseph@codesourcery.com>
447
448 * diagnostic.c: Don't include opts.h.
449 (permissive_error_option): Define.
450 (diagnostic_initialize): Take n_opts parameter. Allocate memory
451 for classify_diagnostic. Don't use memset for
452 classify_diagnostic. Initialize new and recently added fields.
453 (diagnostic_classify_diagnostic): Use context->n_opts instead of
454 N_OPTS.
455 (diagnostic_report_diagnostic): Pass context parameter to
456 diagnostic_report_warnings_p. Use option_enabled and option_name
457 hooks from context.
458 (emit_diagnostic): Use permissive_error_option.
459 (permerror): Likewise.
460 * diagnostic.h: Don't include options.h.
461 (struct diagnostic_context): Add n_opts, opt_permissive,
462 inhibit_warnings, warn_system_headers, option_enabled and
463 option_name fields. Change classify_diagnostic to a pointer.
464 * opts-diagnostic.h: New file.
465 * opts.c: Include opts-diagnostic.h.
466 (common_handle_option): Set global_dc fields for -Wfatal-errors,
467 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
468 (option_name): New function.
469 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
470 (c_common_handle_option): Set global_dc->permissive for
471 -fpermissive.
472 * c-common.c (c_cpp_error): Save and restore
473 global_dc->warn_system_headers, not variable warn_system_headers.
474 * toplev.c: Include opts-diagnostic.h.
475 (general_init): Update call to diagnostic_initialize. Set
476 global_dc->show_column, global_dc->option_enabled and
477 global_dc->option_name.
478 (process_options): Don't set global_dc fields here.
479 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
480 (diagnostic.o, opts.o, toplev.o): Update dependencies.
481
4822010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
483
484 * config/picochip/picochip.md (movsi): Split a movsi from a
485 const after reload.
486
4872010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
488
489 * ggc-zone.c: Update copyright year.
490 (poison_region): Mark memory for Valgrind as undefined before
491 memset () call and inaccessible afterwards.
492 (ggc_pch_total_size): Change type of i to int.
493
4942010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
495
496 * ggc-common.c (ggc_free_overhead): Allow empty slot.
497
4982010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
499
500 * ggc-common.c: Update copyright year.
501 (ggc_rlimit_bound): Remove prototype. Compile only if
502 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
503 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
504 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
505 (ggc_min_heapsize_heuristic): Likewise.
506
5072010-05-26 Richard Guenther <rguenther@suse.de>
508
509 PR rtl-optimization/44164
510 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
511 no-common access-path disambiguation.
512 (indirect_ref_may_alias_decl_p): Adjust.
513 (indirect_refs_may_alias_p): Likewise.
514 (refs_may_alias_p_1): Likewise.
515
5162010-05-26 Steven Bosscher <steven@gcc.gnu.org>
517
518 * c-typeck.c: Do not include expr.h.
519
5202010-05-26 Steven Bosscher <steven@gcc.gnu.org>
521
522 * rtl.h (decl_default_tls_model): Move prototype from here...
523 * output.h: ...to here.
524 * c-decl.c: Do not include rtl.h.
525 * c-pragma.c: Likewise.
526 * c-parser.c: Likewise.
527 * c-gimplify.c: Likewise. And also not hard-reg-set.
528 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
529 FIXME note for it. Add a FIXME note for expr.h.
530 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
531 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
532 defined.
533
5342010-05-26 Jakub Jelinek <jakub@redhat.com>
535
536 PR target/44199
537 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
538 or total_size is larger than red zone size for non-V4 ABI, emit a
539 stack_tie resp. frame_tie insn before stack pointer restore.
540 * config/rs6000/rs6000.md (frame_tie): New insn.
541
5422010-05-25 Eric Botcazou <ebotcazou@adacore.com>
543
544 * function.h (struct function): Add can_throw_non_call_exceptions bit.
545 * lto-streamer-in.c (input_function): Stream it in.
546 * lto-streamer-out.c (output_function): Stream it out.
547 * function.c (allocate_struct_function): Set it.
548 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
549 for flag_non_call_exceptions.
550 * cfgbuild.c (control_flow_insn_p): Likewise.
551 (make_edges): Likewise.
552 * cfgexpand.c (expand_stack_alignment): Likewise.
553 * combine.c (distribute_notes): Likewise.
554 * cse.c (cse_extended_basic_block): Likewise.
555 * except.c (insn_could_throw_p): Likewise.
556 * gcse.c (simple_mem): Likewise.
557 * ipa-pure-const.c (check_call): Likewise.
558 (check_stmt ): Likewise.
559 * lower-subreg.c (lower-subreg.c): Likewise.
560 * optabs.c (emit_libcall_block): Likewise.
561 (prepare_cmp_insn): Likewise.
562 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
563 * postreload.c (rest_of_handle_postreload): Likewise.
564 * reload1.c (reload_as_needed): Likewise.
565 (emit_input_reload_insns): Likewise.
566 (emit_output_reload_insns): Likewise.
567 (fixup_abnormal_edges): Likewise.
568 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
569 * store-motion.c (find_moveable_store): Likewise.
570 * tree-eh.c (stmt_could_throw_p): Likewise.
571 (tree_could_throw_p): Likewise.
572 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
573 * config/arm/arm.c (arm_expand_prologue): Likewise.
574 (thumb1_expand_prologue): Likewise.
575 * config/rx/rx.md (cbranchsf4): Likewise.
576 (cmpsf): Likewise.
577 * config/s390/s390.c (s390_emit_prologue): Likewise.
578 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
579 (inline_forbidden_into_p): New predicate.
580 (expand_call_inline): Use it to forbid inlining.
581 (tree_can_inline_p): Likewise.
582
5832010-05-25 Steven Bosscher <steven@gcc.gnu.org>
584
585 * config/i386/i386-c.c: Do not include rtl.h.
586 * config/i386/t-i386: Update dependencies.
587
5882010-05-25 Steven Bosscher <steven@gcc.gnu.org>
589
590 * attribs.c: Do not include rtl.h.
591 * Makefile.in: Update dependencies.
592
5932010-05-25 Anatoly Sokolov <aesok@post.ru>
594
595 * double-int.h (double_int_and): New.
596 * combine.c (try_combine): Clean up, use double_int_* and
597 immed_double_int_const functions.
598
5992010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
600
601 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
602 stderr to /dev/null instead of grep -q.
603 * configure: Regenerate.
604
6052010-05-25 Steven Bosscher <steven@gcc.gnu.org>
606
607 * Makefile.in (EXCEPT_H): Fix typo.
608
6092010-05-25 Vladimir Makarov <vmakarov@redhat.com>
610
611 * ira-build.c (update_conflict_hard_reg_costs): New.
612 (ira_build): Call update_conflict_hard_reg_costs.
613
6142010-05-25 Jakub Jelinek <jakub@redhat.com>
615
616 PR debug/41371
617 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
618 ENABLE_CHECKING.
619 (intersect_loc_chains): Walk the s2var's loc_chain together
620 with s1node chain as long as the locations are equal, don't
621 call find_loc_in_1pdv in that case.
622
623 PR debug/42801
624 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
625 (copy_bind_expr): ... instead of here.
626 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
627 if the block hasn't been remapped.
628 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
629 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
630
6312010-05-25 Richard Guenther <rguenther@suse.de>
632
633 PR middle-end/44069
634 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
635 out-of-bounds array accesses.
636
6372010-05-25 Richard Guenther <rguenther@suse.de>
638
639 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
640 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
641 (run_gcc): Re-organize to make cleanup easier.
642
6432010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
644
645 * config/s390/s390.c (optimization_options): Fix and move the
646 flag_prefetch_loop_arrays override ...
647 (override_options): ... here.
648
6492010-05-25 Joseph Myers <joseph@codesourcery.com>
650
651 * diagnostic.c: Don't include plugin.h.
652 (diagnostic_report_diagnostic): Don't handle plugins specially
653 here. Pass context to internal_error callback.
654 * diagnostic.h (struct diagnostic_context): Add context parameter
655 to internal_error callback.
656 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
657 * plugin.h (struct diagnostic_context): Declare.
658 (warn_if_plugins, plugins_internal_error_function): Declare.
659 * toplev.c (general_init): Set global_dc->internal_error.
660 * Makefile.in (diagnostic.o): Update dependencies.
661
6622010-05-25 Iain Sandoe <iains@gcc.gnu.org>
663
664 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
665 * config/rs6000/t-darwin64: New.
666 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
667 build crt2.
668
6692010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
670
671 PR 44203
672 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
673 match the original (and intended) behaviour before r159557. This
674 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
675 in two ways.
676
6772010-05-25 Richard Guenther <rguenther@suse.de>
678
679 * doc/invoke.texi: Document -Ofast.
680 * target.h (struct gcc_target): Add handle_ofast.
681 * target-def.h (TARGET_HANDLE_OFAST): Add.
682 (TARGET_INITIALIZER): Adjust.
683 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
684 * common.opt (Ofast): Add.
685
6862010-05-25 Paolo Bonzini <bonzini@gnu.org>
687
688 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
689 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
690
6912010-05-25 Paolo Bonzini <bonzini@gnu.org>
692
693 PR target/43610
694 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
695 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
696 false_rtx. Use false_rtx to compute the correct *ptest for reversed
697 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
698
6992010-05-25 Jakub Jelinek <jakub@redhat.com>
700
701 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
702 DW_OP_minus with negated offset instead of DW_OP_plus.
703 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
704
7052010-05-25 Wei Guozhi <carrot@google.com>
706
707 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
708 tst instruction and a new alternative.
709 * config/arm/constraints.md (Pu): New constraint.
710
7112010-05-24 Sebastian Pop <sebastian.pop@amd.com>
712
713 * function.c (assign_stack_local_1): Initialize variable
714 to avoid warning when bootstrapping at -O3.
715
7162010-05-24 Steven Bosscher <steven@gcc.gnu.org>
717
718 * configure.ac (all_lang_makefiles): Remove everything related to it.
719 * configure: Regenerate.
720 * Makefile.in: Fix reference to ada Make-lang.in.
721 Remove support for LANG_MAKEFILES.
722
7232010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
724 Sandra Loosemore <sandra@codesourcery.com>
725
726 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
727 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
728 description. Add arm_neon_fp16_ok.
729 (Add Options): Add arm_neon and arm_neon_fp16.
730
7312010-05-24 Joseph Myers <joseph@codesourcery.com>
732
733 * diagnostic.c: Don't include flags.h.
734 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
735 context parameters. Check flags in the context passed as a parameter.
736 (diagnostic_build_prefix): Add context parameter. Check
737 show_column flag in context.
738 (diagnostic_action_after_output): Check fatal_errors flag in context.
739 (diagnostic_report_current_module): Check show_column flag in context.
740 (default_diagnostic_starter): Update call to
741 diagnostic_build_prefix.
742 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
743 (emit_diagnostic): Pass context to permissive_error_kind.
744 (permerror): Pass context to permissive_error_kind.
745 * diagnostic.h (struct diagnostic_context): Add show_column,
746 pedantic_errors, permissive and fatal_errors fields.
747 (diagnostic_build_prefix): Update prototype.
748 * langhooks.c
749 * toplev.c (process_options): Set flags in global_dc from
750 flag_show_column, flag_pedantic_errors, flag_permissive,
751 flag_fatal_errors.
752 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
753 to diagnostic_build_prefix.
754 * Makefile.in (diagnostic.o): Update dependencies.
755
7562010-05-24 H.J. Lu <hongjiu.lu@intel.com>
757
758 * config/i386/ia32intrin.h (__crc32q): Define only if
759 __SSE4_2__ is defined.
760
7612010-05-24 Iain Sandoe <iains@gcc.gnu.org>
762
763 PR target/44132
764 PR middle-end/43602
765 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
766 DECL_VISIBILITY_SPECIFIED.
767 (emutls_decl): Set DECL_PRESERVE_P and copy
768 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
769 (emutls_finalize_control_var): New callback.
770 (emutls_finish): Finalize emutls control variables.
771 * toplev.c (compile_file): Move the call to emutls_finish ()
772 before varpool_assemble_pending_decls ().
773
7742010-05-24 Daniel Gutson <dgutson@codesourcery.com>
775
776 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
777 added to the preprocessor condition.
778
7792010-05-24 Paul Brook <paul@codesourcery.com>
780
781 * gengtype-lex.l: Add HARD_REG_SET.
782 * expr.c (expand_expr_real_1): Record writes to hard registers.
783 * function.c (rtl_data): Add asm_clobbers.
784 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
785 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
786 Use crtl->asm_clobbers.
787
7882010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
789
790 * doc/makefile.texi (Makefile): Mention stages 'profile'
791 and 'feedback' for profiledbootstrap.
792
7932010-05-23 H.J. Lu <hongjiu.lu@intel.com>
794
795 PR target/44245
796 * config/i386/i386.c (def_builtin): Properly check
797 OPTION_MASK_ISA_64BIT.
798
7992010-05-23 Joseph Myers <joseph@codesourcery.com>
800
801 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
802 typedefs with different but compatible types. Allow duplicate
803 typedefs with the same type except for pedantic non-C1X, but give
804 warning for variably modified types.
805 * c-typeck.c (tagged_types_tu_compatible_p,
806 function_types_compatible_p, type_lists_compatible_p,
807 comptypes_internal): Add parameter different_types_p; set
808 *different_types_p for different but compatible types. All
809 callers changed.
810 (comptypes_check_different_types): New.
811 * c-tree.h (comptypes_check_different_types): Declare.
812
8132010-05-23 Steven Bosscher <steven@gcc.gnu.org>
814
815 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
816 * jump.c: Include basic-block.h.
817 * profile.c: Likewise.
818 * tree-profile.c: Likewise.
819 * coverage.c: Likewise.
820 * basic-block.h (optimize_function_for_size_p): Move to function.h.
821 (optimize_function_for_speed_p): Likewise.
822 * function.h (optimize_function_for_size_p,
823 optimize_function_for_speed_p): Moved here from basic-block.h.
824 * Makefile.in: Update dependencies.
825
8262010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
827
828 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
829 before calling make; allow override through $MAKE.
830 * doc/invoke.texi (Optimize Options): Document override.
831
8322010-05-23 Anatoly Sokolov <aesok@post.ru>
833
834 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
835 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
836 (rs6000_mode_dependent_address_ptr): Make static.
837 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
838 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
839 Remove.
840
8412010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
842
843 PR target/43869
844 * config/i386/i386.c: Make sure that the correct regparm is passed.
845
8462010-05-23 Steven Bosscher <steven@gcc.gnu.org>
847
848 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
849 * sbitmap.c: ...to here to internalize sbitmap element access.
850 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
851 Explain why basic-block.h is included.
852 * function.h: Include tm.h for CUMULATIVE_ARGS.
853 * Makefile.in: Update dependencies.
854
8552010-05-22 Steven Bosscher <steven@gcc.gnu.org>
856
857 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
858 New core types.
859 * sbitmap.h (struct sbitmap_def): Do not typedef here.
860 * sbitmap.c: Include sbitmap.h.
861 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
862 hard-reg-set.h. Split everything related to regsets out from here...
863 * regset.h: ...to here. New file.
864 * df.h: Include regset.h and sbitmap.h.
865 * tree-flow.h: Likewise.
866 * cfgloop.h: Likewise.
867 * except.h: Do not include sbitmap.h. Include hashtab.h.
868 * cgraph.h: Include vec.h and function.h.
869 * reload.h (struct insn_chain): Change types of live_throughout
870 and dead_or_set from regset_head to bitmap_head.
871 (compute_use_by_pseudos): Be defined also if regset.h is not included.
872 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
873 spilled_regs from regset_head to bitmap_head to avoid dependency
874 in regset.h.
875 * sel-sched-ir.h: Include regset.h.
876 * reload.c: Include df.h before reload.h.
877 * caller-save.c: Likewise.
878 * reload1.c: Likewise.
879 * ira.c: Likewise.
880 (mark_elimination): Update type of r to bitmap, consistent with
881 DF_LR_IN.
882 * dominance.c: Include bitmap.h.
883 * modulo-sched.c: Include df.h.
884 * cfganal.c: Include bitmap.h and sbitmap.h.
885 * cfgbuild.c: Include sbitmap.h.
886 * lcm.c: Include sbitmap.h.
887 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
888 * domwalk.c: Include sbitmap.h, exclude ggc.h.
889 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
890 * cselib.c: Include bitmap.h.
891 * tree-optimize.c: Include regset.h.
892 * stmt.c: Include bitmap.h.
893 * Makefile.in: Update dependencies.
894
8952010-05-22 Jan Hubicka <jh@suse.cz>
896
897 * cgraph.h (struct varpool_node): Add same_comdat_group.
898 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
899 pointer.
900 (output_varpool): Update call of lto_output_varpool_node.
901 (input_varpool): Read same_comdat_group pointer.
902 (input_varpool_1): Fixup same_comdat_group pointer.
903 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
904 group is needed, all are.
905 * varpool.c (varpool_remove_node): Remove node from same comdat group
906 linklist too.
907 (varpool_analyze_pending_decls): Walk same comdat groups.
908
9092010-05-22 Steven Bosscher <steven@gcc.gnu.org>
910
911 * rtl.h (union rtunion_def): Remove rt_bit member.
912 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
913 * print-rtl (print_rtx): Do not print the member.
914 * gengtype.c (adjust_field_rtx_def): Do not handle it.
915 * gengenrtl.c (type_from_format): Likewise.
916 (accessor_from_format): Likewise.
917
9182010-05-22 Joseph Myers <joseph@codesourcery.com>
919
920 * dbgcnt.c: Include toplev.h instead of errors.h.
921 * ira-emit.c: Don't include errors.h.
922 * ira.c: Include toplev.h instead of errors.h.
923 * lto-compress.c: Include toplev.h instead of errors.h.
924 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
925 ira.o, dbgcnt.o): Update dependencies.
926
9272010-05-22 Richard Guenther <rguenther@suse.de>
928
929 * gimple.c (gimple_types_compatible_p): Check type qualifications
930 before merging pointer to complete and pointer to incomplete type.
931 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
932 we use our own resolution algorithm. The gold linker plugin
933 doesn't do the job we want it to do here.
934
9352010-05-22 Anatoly Sokolov <aesok@post.ru>
936
937 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
938 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
939 (sparc_mode_dependent_address_p): New function.
940
9412010-05-21 Steven Bosscher <steven@gcc.gnu.org>
942
943 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
944
945 * timevar.c: Do not include any core headers.
946 (timevar_print): De-i18n-ize.
947 (print_time): Likewise.
948 * timevar.h (timevar_push, timevar_pop): Make inline functions.
949
9502010-05-21 Joseph Myers <joseph@codesourcery.com>
951
952 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
953 langhooks-def.h.
954 (diagnostic_initialize): Initialize x_data not last_function.
955 (diagnostic_report_current_function): Move to tree-diagnostic.c.
956 (default_diagnostic_starter): Call
957 diagnostic_report_current_module not
958 diagnostic_report_current_function.
959 (diagnostic_report_diagnostic): Initialize x_data not
960 abstract_origin.
961 (verbatim): Likewise.
962 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
963 x_data.
964 (struct diagnostic_context): Change last_function to x_data.
965 (diagnostic_auxiliary_data): Replace with
966 diagnostic_context_auxiliary_data and
967 diagnostic_info_auxiliary_data.
968 (diagnostic_last_function_changed, diagnostic_set_last_function,
969 diagnostic_report_current_function): Move to tree-diagnostic.h.
970 (print_declaration, dump_generic_node, print_generic_stmt,
971 print_generic_stmt_indented, print_generic_expr,
972 print_generic_decl, debug_c_tree, dump_omp_clauses,
973 print_call_name, debug_generic_expr, debug_generic_stmt,
974 debug_tree_chain, default_tree_printer): Move to
975 tree-pretty-print.h.
976 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
977 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
978 gimple-pretty-print.h.
979 * pretty-print.c: Don't include tree.h
980 (pp_base_format): Don't handle %K here.
981 (pp_base_tree_identifier): Move to tree-pretty-print.c.
982 * pretty-print.h (text_info): Change abstract_origin to x_data.
983 (pp_tree_identifier, pp_unsupported_tree,
984 pp_base_tree_identifier): Move to tree-pretty-print.h.
985 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
986 tree-pretty-print.h: New files.
987 * tree-pretty-print.c: Include tree-pretty-print.h.
988 (percent_K_format): New. Moved from pretty-print.c.
989 (pp_base_tree_identifier): Move from pretty-print.c.
990 * c-objc-common.c: Include tree-pretty-print.h.
991 (c_tree_printer): Handle %K here.
992 * langhooks.c: Include tree-diagnostic.h.
993 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
994 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
995 (default_tree_printer): Handle %K using percent_K_format.
996 (general_init): Use default_tree_diagnostic_starter.
997 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
998 (free_lang_data): Use default_tree_diagnostic_starter.
999 * c-pretty-print.c: Include tree-pretty-print.h.
1000 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1001 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1002 * dwarf2out.c: Include tree-pretty-print.h.
1003 * except.c: Include tree-pretty-print.h.
1004 * gimple-pretty-print.c: Include tree-pretty-print.h and
1005 gimple-pretty-print.h.
1006 * gimplify.c: Include tree-pretty-print.h.
1007 * graphite-poly.c: Include tree-pretty-print.h and
1008 gimple-pretty-print.h.
1009 * ipa-cp.c: Include tree-pretty-print.h.
1010 * ipa-inline.c: Include gimple-pretty-print.h.
1011 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1012 * ipa-pure-const.c: Include gimple-pretty-print.h.
1013 * ipa-struct-reorg.c: Include tree-pretty-print.h and
1014 gimple-pretty-print.h.
1015 * ipa-type-escape.c: Include tree-pretty-print.h.
1016 * print-rtl.c: Include tree-pretty-print.h.
1017 * print-tree.c: Include gimple-pretty-print.h.
1018 * sese.c: Include tree-pretty-print.h.
1019 * tree-affine.c: Include tree-pretty-print.h.
1020 * tree-browser.c: Include tree-pretty-print.h.
1021 * tree-call-cdce.c: Include gimple-pretty-print.h.
1022 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
1023 * tree-chrec.c: Include tree-pretty-print.h.
1024 * tree-data-ref.c: Include tree-pretty-print.h and
1025 gimple-pretty-print.h.
1026 * tree-dfa.c: Include tree-pretty-print.h.
1027 * tree-if-conv.c: Include tree-pretty-print.h and
1028 gimple-pretty-print.h.
1029 * tree-inline.c: Include tree-pretty-print.h.
1030 * tree-into-ssa.c: Include tree-pretty-print.h and
1031 gimple-pretty-print.h.
1032 * tree-nrv.c: Include tree-pretty-print.h.
1033 * tree-object-size.c: Include tree-pretty-print.h and
1034 gimple-pretty-print.h.
1035 * tree-outof-ssa.c: Include tree-pretty-print.h and
1036 gimple-pretty-print.h.
1037 * tree-parloops.c: Include tree-pretty-print.h and
1038 gimple-pretty-print.h.
1039 * tree-predcom.c: Include tree-pretty-print.h and
1040 gimple-pretty-print.h.
1041 * tree-scalar-evolution.c: Include tree-pretty-print.h and
1042 gimple-pretty-print.h.
1043 * tree-sra.c: Include tree-pretty-print.h.
1044 * tree-ssa-address.c: Include tree-pretty-print.h.
1045 * tree-ssa-alias.c: Include tree-pretty-print.h.
1046 * tree-ssa-ccp.c: Include tree-pretty-print.h and
1047 gimple-pretty-print.h.
1048 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
1049 * tree-ssa-copy.c: Include tree-pretty-print.h and
1050 gimple-pretty-print.h.
1051 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
1052 * tree-ssa-dce.c: Include tree-pretty-print.h and
1053 gimple-pretty-print.h.
1054 * tree-ssa-dom.c: Include tree-pretty-print.h and
1055 gimple-pretty-print.h.
1056 * tree-ssa-dse.c: Include gimple-pretty-print.h.
1057 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
1058 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
1059 * tree-ssa-live.c: Include tree-pretty-print.h and
1060 gimple-pretty-print.h.
1061 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
1062 gimple-pretty-print.h.
1063 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
1064 gimple-pretty-print.h.
1065 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
1066 gimple-pretty-print.h.
1067 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
1068 gimple-pretty-print.h.
1069 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
1070 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
1071 * tree-ssa-operands.c: Include tree-pretty-print.h and
1072 gimple-pretty-print.h.
1073 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
1074 gimple-pretty-print.h.
1075 * tree-ssa-pre.c: Include tree-pretty-print.h and
1076 gimple-pretty-print.h.
1077 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
1078 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
1079 gimple-pretty-print.h.
1080 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
1081 gimple-pretty-print.h.
1082 * tree-ssa-sink.c: Include gimple-pretty-print.h.
1083 * tree-ssa-ter.c: Include tree-pretty-print.h and
1084 gimple-pretty-print.h.
1085 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
1086 * tree-ssa.c: Include tree-pretty-print.h and
1087 gimple-pretty-print.h.
1088 * tree-stdarg.c: Include gimple-pretty-print.h.
1089 * tree-switch-conversion.c: Include gimple-pretty-print.h.
1090 * tree-tailcall.c: Include tree-pretty-print.h and
1091 gimple-pretty-print.h.
1092 * tree-vect-data-refs.c: Include tree-pretty-print.h and
1093 gimple-pretty-print.h.
1094 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
1095 gimple-pretty-print.h.
1096 * tree-vect-loop.c: Include tree-pretty-print.h and
1097 gimple-pretty-print.h.
1098 * tree-vect-patterns.c: Include gimple-pretty-print.h.
1099 * tree-vect-slp.c: Include tree-pretty-print.h and
1100 gimple-pretty-print.h.
1101 * tree-vect-stmts.c: Include tree-pretty-print.h and
1102 gimple-pretty-print.h.
1103 * tree-vectorizer.c: Include tree-pretty-print.h.
1104 * tree-vrp.c: Include tree-pretty-print.h and
1105 gimple-pretty-print.h.
1106 * value-prof.c: Include tree-pretty-print.h and
1107 gimple-pretty-print.h.
1108 * var-tracking.c: Include tree-pretty-print.h.
1109 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
1110 (tree-diagnostic.o): New dependencies.
1111 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
1112 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
1113 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
1114 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
1115 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
1116 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
1117 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
1118 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
1119 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
1120 tree-ssa-address.o, tree-ssa-loop-niter.o,
1121 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
1122 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
1123 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
1124 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
1125 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
1126 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
1127 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
1128 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
1129 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
1130 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
1131 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
1132 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
1133 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
1134 tree-switch-conversion.o, var-tracking.o, value-prof.o,
1135 cfgexpand.o, pretty-print.o): Update dependencies.
1136
11372010-05-22 Andreas Tobler <andreast@fgznet.ch>
1138
1139 * tree-ssa-structalias.c: Remove tm_p.h from include.
1140
11412010-05-21 Jeff Law <law@redhat.com>
1142
1143 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
1144
11452010-05-21 Jason Merrill <jason@redhat.com>
1146
1147 * tree-eh.c (cleanup_is_dead_in): New.
1148 (lower_try_finally): Don't generate a dead cleanup region.
1149 (lower_cleanup): Likewise.
1150
11512010-05-21 Jakub Jelinek <jakub@redhat.com>
1152
1153 PR debug/44223
1154 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
1155 unchain each use from the cyclic next_regno_use chain first.
1156
11572010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1158
1159 * real: Do not include gmp.h, mpfr.h, and mpc.h.
1160 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
1161 (real_value_negate, real_value_abs): New prototypes.
1162 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
1163 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
1164 new include file for interface between MPFR and REAL_VALUE_TYPE.
1165 * real.c: Include realmpfr.h.
1166 (real_arithmetic2): Remove legacy function.
1167 (real_value_negate): New.
1168 (real_value_abs): New.
1169 (mfpr_from_real, real_from_mpfr): Move from here...
1170 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
1171 * builtins.c: Include realmpfr.h.
1172 * fold-const.c: Include realmpfr.h.
1173 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
1174 (fold_negate_const): Likewise.
1175 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
1176 * toplev.c: Include realmpfr.h.
1177 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
1178 and real_value_negate.
1179 * fixed-value.c (check_real_for_fixed_mode): Likewise.
1180 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
1181 (vfp3_const_double_index): Likewise.
1182 (arm_print_operand): Likewise.
1183 * Makefile.in: Update dependencies.
1184
11852010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1186
1187 * config/s390/s390.c (override_options): Increase the default
1188 of max-completely-peel-times.
1189
11902010-05-21 Julian Brown <julian@codesourcery.com>
1191 Mark Mitchell <mark@codesourcery.com>
1192
1193 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
1194 sibling calls for Thumb-1.
1195 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
1196 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
1197 Thumb-2.
1198 (*call_insn, *call_value_insn): Don't use for Thumb-2.
1199 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
1200 for Thumb-2.
1201 (return): New expander.
1202 (*arm_return): New name for ARM return insn.
1203 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
1204
12052010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
1206
1207 * config.gcc (sparc64-*-rtems*): New target.
1208
12092010-05-21 Nathan Froyd <froydnj@codesourcery.com>
1210
1211 * tree.c (build_function_decl_skip_args): Fix grammar.
1212 (build_function_type_list_1): Fix typos, adjust formatting.
1213
12142010-05-21 Steven Bosscher <steven@gcc.gnu.org>
1215
1216 * tree.h: Include real.h and fixed-value.h as basic datatypes.
1217 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
1218 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
1219 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
1220 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
1221 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
1222 tree-pretty-print.c, tree-loop-distribution.c,
1223 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
1224 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
1225 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
1226 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
1227 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
1228 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
1229 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
1230 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
1231 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
1232 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
1233 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
1234 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
1235 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
1236 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
1237 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
1238 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
1239 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
1240 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
1241 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
1242 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
1243 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
1244 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
1245 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
1246 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
1247 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
1248 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
1249 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
1250 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
1251 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
1252 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
1253 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
1254 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
1255 config/score/score7.c, config/score/score.c, config/arm/arm.c,
1256 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
1257 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
1258 config/bfin/bfin.c: Clean up redundant includes.
1259 * Makefile.in: Update accordingly.
1260
12612010-05-21 Nathan Froyd <froydnj@codesourcery.com>
1262
1263 PR middle-end/44204
1264 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
1265 statement has no arguments.
1266
12672010-05-21 Kai Tietz <kai.tietz@onevision.com>
1268
1269 PR/44139
1270 * varasm.c (emutls_decl): Merge attributes to new decl.
1271
12722010-05-21 Eric Botcazou <ebotcazou@adacore.com>
1273
1274 PR middle-end/44101
1275 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
1276 around the uniquized constructor if its type requires a conversion.
1277
12782010-05-21 Jakub Jelinek <jakub@redhat.com>
1279
1280 PR debug/44205
1281 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
1282 at -O0 goto_locus of any of the incoming edges differs from
1283 goto_locus of outgoing edge, or gimple_location of any of the
1284 labels differs.
1285
12862009-09-14 Vladimir Makarov <vmakarov@redhat.com>
1287
1288 * ira.c (ira_non_ordered_class_hard_regs): Define.
1289 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
1290 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
1291 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
1292 cost of unaligned hard regs when allocating multi-reg pseudos.
1293
12942010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
1295
1296 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
1297 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
1298 for TARGET_NO_FLOAT.
1299 * config/mips/mips.c (mips_file_start): Expand conditional expression
1300 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
1301 (mips_override_options): Move -mno-float override -msoft-float and
1302 -mhard-float.
1303 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
1304 Condition(TARGET_SUPPORTS_NO_FLOAT).
1305 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
1306 __mips_no_float here.
1307 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
1308 (TARGET_SUPPORTS_NO_FLOAT): Define.
1309 * config/mips/sdemtk.opt: Delete.
1310
13112010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
1312
1313 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
1314
13152010-05-20 Uros Bizjak <ubizjak@gmail.com>
1316
1317 PR target/43733
1318 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
1319 * configure: Regenerate.
1320 * config.in: Regenerate.
1321 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
1322 instead of sahf only for 64bit targets.
1323
13242010-05-20 Jakub Jelinek <jakub@redhat.com>
1325
1326 PR debug/44178
1327 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
1328 setup_ref_regs for DEBUG_INSNs.
1329
13302010-05-20 Jan Hubicka <jh@suse.cz>
1331
1332 PR middle-end/44197
1333 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
1334
13352010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1336
1337 PR bootstrap/43870
1338 * df-scan.c (df_ref_compare): Stabilize sort.
1339
13402010-05-20 Jakub Jelinek <jakub@redhat.com>
1341
1342 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
1343 argument. Don't use DW_OP_piece if offset is non-zero,
1344 put offset into second DW_OP_bit_piece argument.
1345 (dw_sra_loc_expr): Adjust callers. For memory expressions
1346 compute offset.
1347
13482010-05-20 Hans-Peter Nilsson <hp@axis.com>
1349
1350 PR target/44202
1351 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
1352 settings for 16-bit-constant "addo" alternative.
1353
13542010-05-19 James E. Wilson <wilson@codesourcery.com>
1355
1356 * config/mips/mips-dsp.md (add<DSPV:mode>3,
1357 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
1358
1359 PR target/43764
1360 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
1361 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
1362 Use it.
1363
13642010-05-19 Joseph Myers <joseph@codesourcery.com>
1365
1366 * diagnostic.c (FLOAT, FFS): Don't undefine.
1367 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
1368 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
1369 include ordering.
1370
13712010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
1372
1373 * combine.c (propagate_for_debug): Call make_compound_operation
1374 on the source value.
1375 (try_combine): When implementing a split chosen by find_split_point,
1376 either copy i2src or set it to null. Assert that i2src is not null
1377 before substituting into CALL_INSN_FUNCTION_USAGE.
1378
13792010-05-19 Anatoly Sokolov <aesok@post.ru>
1380
1381 * double-int.h (double_int_ior): New function.
1382 * tree.h (build_int_cst_wide_type): Remove.
1383 * tree.c (build_int_cst_wide_type): Remove.
1384 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
1385 of build_int_cst_wide_type.
1386 * stor-layout.c (set_sizetype): (Ditto.).
1387 * dojump.c (do_jump): Use build_int_cstu instead of
1388 build_int_cst_wide_type.
1389
13902010-05-19 Eric Botcazou <ebotcazou@adacore.com>
1391
1392 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
1393 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
1394 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
1395 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
1396 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
1397 propagate the 'data' argument to copy_tree_r.
1398 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
1399 Propagate 'data' argument to walk_tree.
1400 (copy_if_shared): New function.
1401 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
1402 (unmark_visited): New function.
1403 (unshare_body): Call copy_if_shared instead of doing it manually.
1404 (unvisit_body): Call unmark_visited instead of doing it manually.
1405
14062010-05-19 Nathan Froyd <froydnj@codesourcery.com>
1407
1408 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
1409 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
1410 * hooks.c: Likewise.
1411 * target-def.h (TARGET_FOLD_BUILTIN): Define to
1412 hook_tree_tree_int_treep_bool_null.
1413 * target.h (struct gcc_target): Update signature of fold_builtin
1414 field.
1415 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
1416 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
1417 instead of the call expression.
1418 (fold_builtin_call_array): Pass n and argarray directly.
1419 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
1420 consing a list.
1421 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
1422 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
1423 `i' and use it in place of `arity'.
1424 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
1425 Dereference `args' directly.
1426 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
1427
14282010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1429
1430 * doc/sourcebuild.texi (Effective-Target Keywords): Document
1431 3dnow, sse3, sse2.
1432 (Directives): Document optional dg-require-effective-target
1433 selector.
1434
14352010-05-19 Richard Guenther <rguenther@suse.de>
1436
1437 PR lto/44196
1438 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
1439
14402010-05-19 Richard Guenther <rguenther@suse.de>
1441
1442 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
1443 * common.opt (fwhopr=): New.
1444 * opts.c (common_handle_option): Handle OPT_fwhopr.
1445 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
1446 * collect2.c (main): Match -fwhopr*.
1447 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
1448 Execute ltrans stage in parallel when jobs is bigger than 1.
1449
14502010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1451
1452 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
1453 pentiumpro on Solaris 8/x86 with Sun as.
1454 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
1455 hidden alias bug.
1456 (gcc_cv_as_ix86_quad): Check for .quad directive.
1457 * configure: Regenerate.
1458 * config.in: Regenerate.
1459 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
1460
14612010-05-19 Martin Jambor <mjambor@suse.cz>
1462
1463 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
1464 also for indirect edges. Actual printing moved...
1465 (ipa_print_node_jump_functions_for_edge): ...here.
1466 (ipa_compute_jump_functions): Renamed to
1467 ipa_compute_jump_functions_for_edge and made static.
1468 (ipa_compute_jump_functions): New function.
1469 (make_edge_direct_to_target): Check if the number of arguments on
1470 the newly direct edge is the same as the number of parametrs of
1471 the callee.
1472 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
1473 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
1474 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
1475 analysis functions unconditionally, call the new
1476 ipa_analyze_params_uses on the node instead of every edge.
1477
14782010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
1479
1480 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
1481 to tree.
1482 (dump_mem_ref): Adopt debug code to handle a tree as step. This
1483 also checks for a constant int vs. non-constant but
1484 loop-invariant steps.
1485 (find_or_create_group): Change the sort algorithm to only consider
1486 steps that are constant ints.
1487 (idx_analyze_ref): Adopt code to handle a tree instead of a
1488 HOST_WIDE_INT for step.
1489 (gather_memory_references_ref): Handle tree instead of int and be
1490 prepared to see a NULL_TREE.
1491 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
1492 prefetches if the step cannot be calculated at compile time.
1493 (issue_prefetch_ref): Issue prefetches for non-constant but
1494 loop-invariant steps.
1495
14962010-05-18 Nathan Froyd <froydnj@codesourcery.com>
1497
1498 Revert:
1499 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
1500
1501 * tree.h (build_call_list): Remove.
1502 * tree.c (build_call_list): Remove.
1503
15042010-05-18 Nathan Froyd <froydnj@codesourcery.com>
1505
1506 * tree.h (build_call_list): Remove.
1507 * tree.c (build_call_list): Remove.
1508
15092010-05-18 Jan Hubicka <jh@suse.cz>
1510
1511 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
1512
15132010-05-18 Vladimir Makarov <vmakarov@redhat.com>
1514
1515 PR rtl-optimization/43332
1516 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
1517
15182010-05-18 Anatoly Sokolov <aesok@post.ru>
1519
1520 * tree.h (build_int_cstu): Implement as static inline.
1521 * tree.c (build_int_cstu): Remove function.
1522 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
1523 sign extended.
1524
15252010-05-18 Richard Guenther <rguenther@suse.de>
1526
1527 PR lto/44143
1528 * lto-wrapper.c (verbose): New variable. Initialize from -v.
1529 (debug): Initialize from -save-temps.
1530 (collect_execute): Print command-line when verbose.
1531 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
1532 for ltrans invocation. Produce -dumpbase flag again.
1533 (process_args): Remove.
1534 (main): Simplify.
1535 * collect2.c (maybe_run_lto_and_relink): Only pass object
1536 files to lto-wrapper.
1537 * gcc.c (LINK_COMMAND_SPEC): Likewise.
1538
15392010-05-18 Jan Hubicka <jh@suse.cz>
1540
1541 * opts.c (decode_options): Do not disable whopr at ipa_cp.
1542 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
1543
15442010-05-18 Steven Bosscher <steven@gcc.gnu.org>
1545
1546 PR lto/44184
1547 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
1548 in a GIMPLE_ASM.
1549 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
1550 in a GIMPLE_ASM.
1551
15522010-05-18 Jakub Jelinek <jakub@redhat.com>
1553
1554 PR debug/41371
1555 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
1556 rtx_equal_p inline.
1557
15582010-05-18 Steven Bosscher <steven@gcc.gnu.org>
1559
1560 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
1561 lto-macho as lto_binary_reader.
1562
1563 * darwin.c (darwin_asm_named_section): Do not add assembler comment
1564 after .section directive; just print it before the directive instead.
1565
15662010-05-17 Jan Hubicka <jh@suse.cz>
1567
1568 * cgraph.c (cgraph_create_virtual_clone): Only check
1569 versionable_function_p when not in wpa and checking is enabled.
1570 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
1571 there are no more functions to materialize.
1572
15732010-05-17 Jan Hubicka <jh@suse.cz>
1574
1575 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
1576 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
1577 New functions.
1578 (output_cgraph): Call output_cgraph_opt_summary.
1579 (input_cgrpah): Call input_cgraph_opt_summary.
1580 (output_cgraph_opt_summary_p, output_node_opt_summary,
1581 input_node_opt_summary, input_cgraph_opt_section): New functions.
1582 * lto-section-in.c (lto_section_name): Add cgraphopt.
1583 * tree-inline.c (tree_function_versioning): Handle parm_num.
1584 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
1585 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
1586
15872010-05-17 Changpeng Fang <changpeng.fang@amd.com>
1588
1589 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
1590 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
1591 the insn to prefetch ratio heuristic to loops with known trip count.
1592
15932010-05-17 Changpeng Fang <changpeng.fang@amd.com>
1594
1595 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
1596 (schedule_prefetches): Do not generate a prefetch if the unroll factor
1597 is far from what is required by the prefetch.
1598
15992010-05-17 Jan Hubicka <jh@suse.cz>
1600
1601 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
1602 (ipcp_estimate_growth): Likewise.
1603 (ipcp_const_param_count): Likewise.
1604 (ipcp_insert_stage): Likewise.
1605 * ipa-prop.c (visit_load_for_mod_analysis): New function.
1606 (visit_store_addr_for_mod_analysis): Set used flag.
1607 (ipa_detect_param_modifications): Set used flag for SSE params;
1608 update use of walk_stmt_load_store_addr_ops.
1609 (ipa_print_node_params): Print used flag.
1610 (ipa_write_node_info): Stream used flag.
1611 (ipa_read_node_info): Likewise.
1612 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
1613 (ipa_is_param_used): New function.
1614 (lto_ipa_fixup_call_notes): Remove unused declaration.
1615
16162010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1617
1618 PR target/44074
1619 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
1620 * configure: Regenerate.
1621 * config.in: Regenerate.
1622 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
1623 !HAVE_AS_IX86_REP_LOCK_PREFIX.
1624 Don't emit whitespace.
1625 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
1626 (*rep_movsi): Likewise.
1627 (*rep_movsi_rex64): Likewise.
1628 (*rep_movqi): Likewise.
1629 (*rep_movqi_rex64): Likewise.
1630 (*rep_stosdi_rex64): Likewise.
1631 (*rep_stossi): Likewise.
1632 (*rep_stossi_rex64): Likewise.
1633 (*rep_stosqi): Likewise.
1634 (*rep_stosqi_rex64): Likewise.
1635 (*cmpstrnqi_nz_1): Use {%;} after repz.
1636 (*cmpstrnqi_nz_rex_1): Likewise.
1637 (*cmpstrnqi_1): Likewise.
1638 (*cmpstrnqi_rex_1): Likewise.
1639 (*strlenqi_1): Use {%;} after repnz.
1640 (*strlenqi_rex_1): Likewise.
1641 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
1642 (*sync_compare_and_swap<mode>): Likewise.
1643 (sync_double_compare_and_swap<mode>): Likewise.
1644 (*sync_double_compare_and_swapdi_pic): Likewise.
1645 (sync_old_add<mode>): Likewise.
1646 (sync_add<mode>): Likewise.
1647 (sync_sub<mode>): Likewise.
1648 (sync_<code><mode>): Likewise.
1649
16502010-05-17 Martin Jambor <mjambor@suse.cz>
1651
1652 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
1653 otr_token and polymorphic.
1654 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
1655 (cgraph_clone_edge): Copy the above fields.
1656 * tree.c (get_binfo_at_offset): New function.
1657 * tree.h (get_binfo_at_offset): Declare.
1658 * ipa-prop.h (enum jump_func_type): Added known_type jump function
1659 type, reordered items, updated comments.
1660 (union jump_func_value): Added base_type field, reordered fields.
1661 (enum ipa_lattice_type): Moved down in the file.
1662 (struct ipa_param_descriptor): New field polymorphic.
1663 (ipa_is_param_polymorphic): New function.
1664 * ipa-prop.c: Include gimple.h and gimple-fold.h.
1665 (ipa_print_node_jump_functions): Print known type jump functions.
1666 (compute_complex_pass_through): Renamed to...
1667 (compute_complex_assign_jump_func): this.
1668 (compute_complex_ancestor_jump_func): New function.
1669 (compute_known_type_jump_func): Likewise.
1670 (compute_scalar_jump_functions): Create known type and complex ancestor
1671 jump functions.
1672 (ipa_note_param_call): New parameter polymorphic, set the corresponding
1673 flag in the call note accordingly.
1674 (ipa_analyze_call_uses): Renamed to...
1675 (ipa_analyze_indirect_call_uses): this. New parameter target, define
1676 variable var only in the block where it is used.
1677 (ipa_analyze_virtual_call_uses): New function.
1678 (ipa_analyze_call_uses): Likewise.
1679 (combine_known_type_and_ancestor_jfs): Likewise.
1680 (update_jump_functions_after_inlining): Implemented handling of a
1681 number of new jump function types combination.
1682 (print_edge_addition_message): Removed.
1683 (make_edge_direct_to_target): New function.
1684 (try_make_edge_direct_simple_call): Likewise.
1685 (try_make_edge_direct_virtual_call): Likewise.
1686 (update_call_notes_after_inlining): Renamed to...
1687 (update_indirect_edges_after_inlining): this. Moved edge creation for
1688 indirect calls to try_make_edge_direct_simple_call, also calls
1689 try_make_edge_direct_virtual_call for virtual calls.
1690 (ipa_print_node_params): Changed the header message.
1691 (ipa_write_jump_function): Stream also known type jump functions.
1692 (ipa_read_jump_function): Likewise.
1693 (ipa_write_indirect_edge_info): Stream new fields in
1694 cgraph_indirect_call_info.
1695 (ipa_read_indirect_edge_info): Likewise.
1696 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
1697 GIMPLE_FOLD_H.
1698
16992010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1700
1701 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
1702
17032010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1704
1705 * tree.h (CALL_EXPR_ARGS): Delete.
1706 (call_expr_arglist): Delete.
1707 * tree.c (call_expr_arglist): Delete.
1708 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
1709 targetm.fold_builtin.
1710 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
1711 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
1712 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
1713 arglist parameter. Use CALL_EXPR_ARG.
1714 (picochip_expand_builtin_3op): Likewise.
1715 (picochip_expand_builtin_2opvoid): Likewise.
1716 (picochip_expand_array_get): Likewise.
1717 (picochip_expand_array_put): Likewise.
1718 (picochip_expand_array_testport): Likewise.
1719 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
1720 rather than arglist.
1721 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
1722 CALL_EXPR_ARGS.
1723 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
1724 than TREE_VALUE and TREE_CHAIN.
1725 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
1726 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
1727 the arglist.
1728
17292010-05-17 Jakub Jelinek <jakub@redhat.com>
1730
1731 PR bootstrap/42347
1732 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
1733 to have no fallthru edge.
1734
1735 PR middle-end/44102
1736 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
1737 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
1738 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
1739 add BARRIER after previous bb if needed.
1740
17412010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1742
1743 * tree.c (build_function_type_list_1): Remove bogus assert condition.
1744
17452010-05-17 Alan Modra <amodra@gmail.com>
1746
1747 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
1748 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
1749 with copy_reg rtx param.
1750 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
1751 Correct cases where code for ABI_V4 did not initialise the reg
1752 used to access frame. Also leave frame_reg_rtx as sp for large
1753 frames that save no regs.
1754
17552010-05-17 Martin Jambor <mjambor@suse.cz>
1756
1757 PR middle-end/44133
1758 * tree-sra.c (create_access_replacement): New parameter rename, mark
1759 the replaement for renaming only when it is true.
1760 (get_access_replacement): Pass true in the rename parameter of
1761 create_access_replacement.
1762 (get_unrenamed_access_replacement): New function.
1763 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
1764 replacement declaration from it.
1765
17662010-05-17 Bernd Schmidt <bernds@codesourcery.com>
1767
1768 * function.c (try_fit_stack_local, add_frame_space): New static
1769 functions.
1770 (assign_stack_local_1): Use them. Look for opportunities to use
1771 space previously wasted on alignment.
1772 * function.h (struct frame_space): New.
1773 (struct rtl_data): Add FRAME_SPACE_LIST member.
1774 * reload1.c (something_was_spilled): New static variable.
1775 (alter_reg): Set it.
1776 (reload): Test it in addition to testing if the frame size changed.
1777
17782010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
1779
1780 * config/s390/s390.c: Define sane prefetch settings and activate
1781 flag_prefetch_loop_arrays on -O3.
1782 * config/s390/s390.h: Declare that read can use write prefetch.
1783
17842010-05-17 Jakub Jelinek <jakub@redhat.com>
1785
1786 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
1787 build.
1788
17892010-05-16 Jan Hubicka <jh@suse.cz>
1790
1791 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
1792 function body; do not check stdarg field of struct function.
1793
17942010-05-16 Jan Hubicka <jh@suse.cz>
1795
1796 * cgraph.c (dump_cgraph_node): Dump versionable flag.
1797 * cgraph.h (cgraph_local_info): Add versionable flag.
1798 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
1799 (ipcp_versionable_function_p): Use it.
1800 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
1801 versionable flag.
1802
18032010-05-16 Jan Hubicka <jh@suse.cz>
1804
1805 * cgraph.c (cgraph_clone_node): Take decl argument and insert
1806 clone into hash when it is different from orig.
1807 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
1808 * cgraph.h (cgraph_clone_node): Update prototype.
1809 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
1810 (lto_cgraph_encoder_delete): Delete body map.
1811 (lto_cgraph_encoder_size): Move to header.
1812 (lto_cgraph_encoder_encode_body_p,
1813 lto_set_cgraph_encoder_encode_body): New.
1814 (lto_output_node): Do not take written_decls argument; output clone_of
1815 pointer.
1816 (add_node_to): Add include_body_argument; call
1817 lto_set_cgraph_encoder_encode_body on master of the clone.
1818 (add_references): Update use of add_node_to.
1819 (compute_ltrans_boundary): Likewise.
1820 (output_cgraph): Do not create written_decls bitmap.
1821 (input_node): Take nodes argument; stream in clone_of correctly.
1822 (input_cgraph_1): Update use of input_node.
1823 * lto-streamer-out.c (lto_output): Use encoder info to decide
1824 what bodies to output.
1825 * ipa-inline.c (cgraph_clone_inlined_nodes,
1826 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
1827 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
1828 (lto_cgraph_encoder_size): Define here.
1829 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
1830 Declare.
1831
18322010-05-16 Richard Guenther <rguenther@suse.de>
1833
1834 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
1835 -fipa-type-escape.
1836 * ipa-type-escape.c (gate_type_escape_vars): Run when
1837 -fipa-struct-reorg runs.
1838 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
1839 * common.opt (fipa-type-escape): Remove.
1840
18412010-05-16 Eric Botcazou <ebotcazou@adacore.com>
1842
1843 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
1844 (decode_options): Likewise.
1845 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
1846
18472010-05-16 Jan Hubicka <jh@suse.cz>
1848
1849 * ipa.c (function_and_variable_visibility): Also bring local all
1850 aliases.
1851
18522010-05-16 Richard Guenther <rguenther@suse.de>
1853
1854 * alias.c (nonoverlapping_memrefs_p): Remove use of
1855 IPA type-escape information.
1856
18572010-05-16 Joseph Myers <joseph@codesourcery.com>
1858
1859 * c-common.c (c_common_reswords): Add _Static_assert for C.
1860 * c-parser.c (c_token_starts_declaration,
1861 c_parser_next_token_starts_declaration,
1862 c_parser_static_assert_declaration_no_semi,
1863 c_parser_static_assert_declaration): New.
1864 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
1865 Handle static assertions if static_assert_ok.
1866 (c_parser_external_declaration, c_parser_declaration_or_fndef,
1867 c_parser_compound_statement_nostart, c_parser_label,
1868 c_parser_for_statement, c_parser_objc_methodprotolist,
1869 c_parser_omp_for_loop): All callers of
1870 c_parser_declaration_or_fndef changed.
1871 (c_parser_struct_declaration): Handle static assertions.
1872 (c_parser_compound_statement_nostart): Use
1873 c_parser_next_token_starts_declaration and
1874 c_token_starts_declaration to detect start of declarations.
1875 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
1876 Likewise.
1877
18782010-05-16 Anatoly Sokolov <aesok@post.ru>
1879
1880 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
1881 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1882 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1883 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1884 (mmix_function_outgoing_value): Rename to...
1885 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
1886 (mmix_function_value_regno_p): Make static.
1887 (mmix_libcall_value): New function.
1888 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
1889 mmix_function_value_regno_p): Remove declaration.
1890
18912010-05-16 Eric Botcazou <ebotcazou@adacore.com>
1892
1893 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
1894 BUILT_IN_ALLOCA if stack checking is enabled.
1895
18962010-05-16 Richard Guenther <rguenther@suse.de>
1897
1898 * var-tracking.c (vars_copy_1): Inline ...
1899 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
1900 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
1901 (variable_merge_over_cur): Adjust. Merge asserts.
1902 (variable_merge_over_src): Likewise.
1903 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
1904 (variable_post_merge_new_vals): Merge asserts.
1905 (variable_post_merge_perm_vals): Likewise.
1906 (find_mem_expr_in_1pdv): Likewise.
1907 (dataflow_set_different_value): Remove.
1908 (onepart_variable_different_p): Merge asserts.
1909 (variable_different_p): Likewise.
1910 (dataflow_set_different_1): Inline ...
1911 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
1912 (emit_notes_for_differences_1): Merge asserts.
1913
19142010-05-16 Richard Guenther <rguenther@suse.de>
1915
1916 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
1917 * optabs.c (libfunc_decl_hash): Likewise.
1918 * varasm.c (emutls_decl): Likewise.
1919
19202010-05-16 Steven Bosscher <steven@gcc.gnu.org>
1921
1922 * c-decl.c: Don't include gimple.h.
1923 (merge_decls): Do not copy gimple_body.
1924
19252010-05-15 Jason Merrill <jason@redhat.com>
1926
1927 * c.opt: Add -fnothrow-opt.
1928
19292010-05-15 Jan Hubicka <jh@suse.cz>
1930
1931 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
1932 analyzed.
1933 * passes.c (ipa_write_summaries): Write all analyzed nodes.
1934
19352010-05-15 Steven Bosscher <steven@gcc.gnu.org>
1936
1937 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
1938 * Makefile.in: Add it.
1939 Fix all other Makefile dependencies for changes below.
1940 * tree.h: Include it instead of defining VEC primitives here.
1941 * gimple.h: Likewise.
1942 * rtl.h: Likewise.
1943 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
1944 * except.h: Include vecir.h, break dependence on tree.h.
1945
1946 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
1947 Move from here...
1948 * tree-iterator.c: ...to here.
1949 * tree-iterator.h: Fix file introduction comment. Add extern markers.
1950
1951 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
1952 tm_p.h.
1953 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
1954 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
1955 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
1956 tree-mudflap.h, and target.h.
1957 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
1958 predict.h, tree-inline.h, gimple.h, and langhooks.h.
1959 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
1960 Add FIXME for why gimple.h is still included (should be unnecessary
1961 since GCC 4.5 gimplification unit-at-a-time).
1962 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
1963 * c-pragma.c: Add FIXME for why function.h needs to be included just
1964 for cfun, at front-end level.
1965 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
1966 Do not include ggc.h, but include vecprim.h for VEC(char).
1967 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
1968 Explain why target.h is included.
1969 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
1970 Explain why gimple.h is included.
1971 * c-ppoutput.c: Do not include tm.h.
1972 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
1973 * c-parses.c: Explain why rtl.h is included, and that this (and only
1974 this) is also why tm.h must be included.
1975 Do not include except.h.
1976 * c-lang.c: Do not include ggc.h.
1977
19782010-05-15 Uros Bizjak <ubizjak@gmail.com>
1979
1980 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
1981
19822010-05-15 Joseph Myers <joseph@codesourcery.com>
1983
1984 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
1985 unions by default if those structs and unions have no tags. Do
1986 not condition anonymous struct and unions handling on flag_iso.
1987 Allow anonymous structs and unions for C1X.
1988 (finish_struct): Do not diagnose lack of named fields when
1989 anonymous structs and unions present for C1X. Accept flexible
1990 array members in structure with anonymous structs or unions but no
1991 directly named fields.
1992 * doc/extend.texi (Unnamed Fields): Update.
1993
19942010-05-15 Eric Botcazou <ebotcazou@adacore.com>
1995
1996 * gimple.h (compare_field_offset): Rename into...
1997 (gimple_compare_field_offset): ...this.
1998 * gimple.c (compare_field_offset): Rename into...
1999 (gimple_compare_field_offset): ...this. Compare the full access if
2000 the offset is self-referential.
2001 (gimple_types_compatible_p): Adjust for above renaming.
2002 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
2003 DECL_NONADDRESSABLE_P flag of fields before merging them.
2004
20052010-05-15 Nathan Froyd <froydnj@codesourcery.com>
2006
2007 * tree.h (ctor_to_list): Delete.
2008 * tree.c (ctor_to_list): Delete.
2009
20102010-05-15 Jan Hubicka <jh@suse.cz>
2011
2012 * ipa-reference.c: Include toplev.h
2013 (is_proper_for_analysis): Only add to all_module_statics
2014 if it is allocated.
2015 (write_node_summary_p, stream_out_bitmap,
2016 ipa_reference_write_optimization_summary,
2017 ipa_reference_read_optimization_summary): New.
2018 (struct ipa_opt_pass_d pass_ipa_reference): Add
2019 optimization summary streaming.
2020 * lto-cgraph.c (referenced_from_this_partition_p,
2021 reachable_from_this_partition_p): New functions.
2022 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
2023 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
2024 * opts.c (decode_options): Enable ipa_reference.
2025 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
2026 * lto-streamer.h (referenced_from_this_partition_p,
2027 reachable_from_this_partition_p): Declare.
2028
20292010-05-15 Richard Guenther <rguenther@suse.de>
2030
2031 PR tree-optimization/44038
2032 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
2033 taking the address of a V_C_E of a constant.
2034
20352010-05-14 Jan Hubicka <jh@suse.cz>
2036
2037 * tree.h (memory_identifier_string): Remove.
2038 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
2039 (ipa_reference_global_vars_info_d): Remove statics_not_read and
2040 statics_not_written.
2041 (ipa_reference_optimization_summary_d): New structure.
2042 (ipa_reference_optimization_summary_t): New type and vector.
2043 (ipa_reference_vars_info_d): Embedd structures instead of using
2044 pointers.
2045 (reference_vars_to_consider): Remove out of GGC space.
2046 (module_statics_escape): Remove.
2047 (global_info_obstack): Rename to ...
2048 (optimization_summary_obstack): ... this one.
2049 (initialization_status_t): Remove.
2050 (memory_identifier_string): Remove.
2051 (get_reference_vars_info): Fix indenting.
2052 (set_reference_vars_info): Likewise.
2053 (get_reference_optimization_summary): New.
2054 (set_reference_optimization_summary): New.
2055 (get_global_reference_vars_info): Remove.
2056 (ipa_reference_get_read_global): Remove.
2057 (ipa_reference_get_written_global): Remove.
2058 (ipa_reference_get_not_read_global): Update.
2059 (ipa_reference_get_not_written_global): Update.
2060 (is_proper_for_analysis): Outlaw addressable.
2061 (propagate_bits): Update for new datastructures.
2062 (analyze_variable): Remove.
2063 (init_function_info): Update for new datastructures.
2064 (clean_function_local_data): Remove.
2065 (clean_function): Remove.
2066 (copy_global_bitmap): Use optimizations_summary_obstack.
2067 (duplicate_node_data): Duplicate optimization summary only.
2068 (remove_node_data): Remove optimization summary only.
2069 (generate_summary): Do not analyze variables; do not compute
2070 module_statics_escape; do not prune solutions by it.
2071 (read_write_all_from_decl): Fix typos in comments.
2072 (propagate): Doscover readonly and nonaddressable first;
2073 update for new datastructures; share global bitmaps.
2074 * ipa-reference.h (ipa_reference_get_read_global,
2075 ipa_reference_get_written_global): Remove.
2076 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
2077 * Makefile.in: Remove ipa-refereference from GT files.
2078
20792010-05-14 Jakub Jelinek <jakub@redhat.com>
2080
2081 PR debug/44112
2082 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
2083 for all SYMBOL_REF_DECLs.
2084
20852010-05-14 Jan Hubicka <jh@suse.cz>
2086
2087 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
2088 (varpool_all_refs_explicit_p): New inline function.
2089 * ipa-reference.c: Update comment.
2090 (module_statics_written): Remove.
2091 (get_static_decl): Remove.
2092 (ipa_init): Do not initialize module_statics_written.
2093 (analyze_function): Likewise.
2094 (generate_summary): Likewise; do not compute module_statics_readonly
2095 and do not update variable flags.
2096 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
2097 * ipa.c: Inlucde flags.h
2098 (cgraph_local_node_p): New.
2099 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
2100 promote functions to local.
2101 (ipa_discover_readonly_nonaddressable_vars): New function.
2102 (function_and_variable_visibility): Use cgraph_local_node_p.
2103 * varpool.c (varpool_finalize_decl): Set force_output for
2104 DECL_PRESERVE_P vars.
2105
21062010-05-14 Jan Hubicka <jh@suse.cz>
2107
2108 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
2109
21102010-05-14 Richard Guenther <rguenther@suse.de>
2111
2112 PR tree-optimization/44119
2113 * tree-ssa-pre.c (eliminate): Properly mark replacement of
2114 a PHI node necessary.
2115
21162010-05-14 Eric Botcazou <ebotcazou@adacore.com>
2117
2118 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
2119
21202010-05-14 Jason Merrill <jason@redhat.com>
2121
2122 PR c++/44127
2123 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
2124 (gimple_call_set_nothrow): New.
2125 * gimple.c (gimple_build_call_from_tree): Call it.
2126 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
2127
2128 PR c++/44127
2129 * gimplify.c (gimplify_seq_add_stmt): No longer static.
2130 * gimple.h: Declare it.
2131 * gimple.c (gimple_build_eh_filter): No ops.
2132
21332010-05-14 Jan Hubicka <jh@suse.cz>
2134
2135 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
2136 nodes already in queue.
2137 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
2138 re-enqueueing node.
2139
21402010-05-14 Jakub Jelinek <jakub@redhat.com>
2141
2142 PR debug/44136
2143 * cfgexpand.c (expand_debug_expr): If non-memory op0
2144 has BLKmode, return NULL.
2145
21462010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
2147
2148 * config.gcc: Add support for --with-cpu option for bdver1.
2149 * config/i386/i386.h (TARGET_BDVER1): New macro.
2150 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
2151 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
2152 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
2153 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
2154 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
2155 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
2156 (processor_type): Add PROCESSOR_BDVER1.
2157 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
2158 processor_type in config/i386/i386.h.
2159 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
2160 movaps <reg, reg> instead of movapd <reg, reg> when replacing
2161 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
2162 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
2163 to emit packed xor instead of packed double/packed integer
2164 xor for SSE and AVX when moving a zero value.
2165 * config/i386/sse.md: Add check for
2166 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
2167 movapd/movdqa for SSE and AVX.
2168 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
2169 single logical operations i.e and, or and xor instead of packed double
2170 logical operations for SSE and AVX.
2171 * config/i386/i386-c.c (ix86_target_macros_internal):
2172 Add PROCESSOR_BDVER1.
2173 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
2174 (has_fma4, has_xop): New.
2175 * config/i386/i386.c (bdver1_cost): New variable.
2176 (m_BDVER1): New macro.
2177 (m_AMD_MULTIPLE): Add m_BDVER1.
2178 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
2179 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
2180 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
2181 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
2182 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
2183 x86_tune_sse_partial_reg_dependency,
2184 x86_tune_sse_unaligned_load_optimal,
2185 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
2186 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
2187 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
2188 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
2189 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
2190 Enable/disable for bdver1.
2191 (processor_target_table): Add bdver1_cost.
2192 (cpu_names): Add bdver1.
2193 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
2194 processor_alias_table.
2195 (ix86_expand_vector_move_misalign): Change.
2196 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
2197 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
2198 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
2199 of movupd/movdqu for SSE and AVX.
2200 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
2201 (ix86_tune_adjust_cost): Add code for bdver1.
2202 (standard_sse_constant_opcode): Add check for
2203 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
2204 of packed double xor for SSE and AVX.
2205
22062010-05-14 Pat Haugen <pthaugen@us.ibm.com>
2207
2208 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
2209 result to unsigned.
2210
22112010-05-14 Tristan Gingold <gingold@adacore.com>
2212
2213 * toplev.c (default_debug_hooks): Remove this variable.
2214 (process_options): Remove assignments to default_debug_hooks.
2215
22162010-05-14 Martin Jambor <mjambor@suse.cz>
2217
2218 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
2219 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
2220 * langhooks.h (struct lang_hooks_for_decls): Removed field
2221 fold_obj_type_ref.
2222 * tree.c (free_lang_data): Remove assignment to
2223 lang_hooks.fold_obj_type_ref.
2224 * tree.def (OBJ_TYPE_REF): Update comment.
2225
22262010-05-14 Richard Guenther <rguenther@suse.de>
2227
2228 PR tree-optimization/44124
2229 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
2230
22312010-05-14 Alan Modra <amodra@gmail.com>
2232
2233 PR target/44075
2234 * config/rs6000/rs6000.c (struct machine_function): Reorder
2235 fields for better packing. Add lr_save_state.
2236 (rs6000_ra_ever_killed): Return lr_save_state if set.
2237 (rs6000_emit_eh_reg_restore): Set lr_save_state.
2238
22392010-05-13 Jan Hubicka <jh@suse.cz>
2240
2241 * varpool.c (decide_is_variable_needed): Drop code checking
2242 TREE_SYMBOL_REFERENCED.
2243
22442010-05-13 Jan Hubicka <jh@suse.cz>
2245
2246 * final.c (output_addr_const): Do not call mark_decl_referenced.
2247 * cgraphunit.c (process_function_and_variable_attributes): Use
2248 mark_needed_node dirrectly.
2249 (assemble_thunk): Do not call mark_decl_referenced.
2250
22512010-05-13 Anatoly Sokolov <aesok@post.ru>
2252
2253 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
2254
22552010-05-13 Jeff Law <law@redhat.com>
2256
2257 * ira-conflicts.c (print_allocno_conflicts): New function broken out
2258 from...
2259 (print_conflicts): Call print_allocno_conflicts.
2260
22612010-05-13 Jakub Jelinek <jakub@redhat.com>
2262
2263 PR debug/44104
2264 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
2265 if it is NULL.
2266
22672010-05-13 Kai Tietz <kai.tietz@onevision.com>
2268
2269 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
2270 t-mingw-w64 or t-mingw-w32 for multilib configuration.
2271 * config/i386/t-mingw-w32: New.
2272 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
2273
22742010-05-13 Martin Jambor <mjambor@suse.cz>
2275
2276 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
2277 gimple-fold.c).
2278 * gimple-fold.c (get_base_binfo_for_type): New function.
2279 (gimple_get_relevant_ref_binfo): Likewise.
2280 (gimple_fold_obj_type_ref_known_binfo): Likewise.
2281 (gimple_fold_obj_type_ref): Likewise.
2282 (fold_gimple_call): Simplify condition for folding virtual calls
2283 and call gimple_fold_obj_type_ref.
2284 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
2285 (gimple_fold_obj_type_ref_known_binfo): Likewise.
2286
22872010-05-13 Andreas Schwab <schwab@linux-m68k.org>
2288
2289 * config/rs6000/rs6000-protos.h
2290 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
2291 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
2292 (rs6000_debug_mode_dependent_address)
2293 (rs6000_mode_dependent_address_ptr): Likewise.
2294
22952010-05-13 Jakub Jelinek <jakub@redhat.com>
2296
2297 PR debug/43983
2298 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
2299 by SRA.
2300 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
2301 * tree-sra.c (create_access_replacement): Call unshare_expr before
2302 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
2303 * dwarf2out.c: Include tree-flow.h.
2304 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
2305 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
2306 Handle DW_OP_bit_piece.
2307 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
2308 construct_piece_list, adjust_piece_list): New functions.
2309 (add_var_loc_to_decl): Handle SRA optimized variables.
2310 Adjust for var_loc_note to loc field renaming.
2311 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
2312 in VAR_LOCATION note.
2313 (new_loc_descr_op_bit_piece): New function.
2314 (dw_sra_loc_expr): New function.
2315 (dw_loc_list): Use it. Don't handle the last range after the
2316 loop, handle it inside of the loop. Adjust for var_loc_note
2317 to loc field renaming.
2318 (add_location_or_const_value_attribute): Only special case
2319 single entry loc lists if loc is NOTE_P. Adjust for
2320 var_loc_note to loc field renaming.
2321 (dwarf2out_var_location): Don't set newloc->var_loc_note
2322 and newloc->next here.
2323
23242010-05-12 Jan Hubicka <jh@suse.cz>
2325
2326 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
2327 flag.
2328 * cgraph.h (cgraph_only_called_directly_p,
2329 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
2330 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
2331 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
2332 (assemble
2333 * ipa.c (cgraph_remove_unreachable_nodes): Use
2334 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
2335 flags.
2336 * tree-inline.c (copy_bb): Check address_taken flag.
2337 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
2338 externally_visible flag.
2339
23402010-05-12 Jason Merrill <jason@redhat.com>
2341
2342 PR bootstrap/44048
2343 PR target/44099
2344 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
2345 * sdbout.c (plain_type_1): Likewise.
2346 * dwarf2out.c (is_base_type): Likewise.
2347 (gen_type_die_with_usage): Likewise. Generate
2348 DW_TAG_unspecified_type for any LANG_TYPE.
2349
23502010-05-12 Jan Hubicka <jh@suse.cz>
2351
2352 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
2353 indrect edges too.
2354 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
2355 (cgraph_clone_edge): Update.
2356 (cgraph_node_remove_callees): Remove indirect calls too.
2357 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
2358 (cgraph_create_indirect_edge): Update prototype.
2359 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
2360 is_proper_for_analysis.
2361 (add_new_function, visited_nodes, function_insertion_hook_holder,
2362 get_local_reference_vars_info, mark_address_taken, mark_address,
2363 mark_load, mark_store, check_asm_memory_clobber, check_call,
2364 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
2365 (ipa_init): Do not initialize visited_nodes;
2366 function_insertion_hook_holder.
2367 (analyze_variable): Rewrite.
2368 (analyze_function): Rewrite.
2369 (copy_local_bitmap): Remove.
2370 (duplicate_node_dat): Do not duplicate local info.
2371 (generate_summary): Simplify to only walk cgraph.
2372 (write_node_summary_p, ipa_reference_write_summary,
2373 ipa_reference_read_summary): Remove.
2374 (propagate): Do not remove function insertion;
2375 generate summary.
2376 (pass_ipa_reference): NULLify summary handling fields.
2377 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
2378 (input_edge): Input ecf_flags.
2379 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
2380 (update_indirect_edges_after_inlining): Ignore edges with unknown
2381 param.
2382
23832010-05-12 Sriraman Tallam <tmsriram@google.com>
2384
2385 * implicit-zee.c: New file.
2386 * tree-pass.h (pass_implicit_zee): Declare.
2387 * passes.c (init_optimization_passes): Add zee pass.
2388 * common.opt (fzee): New flag.
2389 * timevar.def (TV_ZEE): Define.
2390 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
2391 and beyond.
2392 * Makefile.in (implicit-zee.o): Add new build file.
2393
23942010-05-12 Kazu Hirata <kazu@codesourcery.com>
2395 Nathan Froyd <froydnj@codesourcery.com>
2396
2397 * c-common.c (sync_resolve_params): Remove write-only variable.
2398
23992010-05-12 Anatoly Sokolov <aesok@post.ru>
2400
2401 * target.h (struct gcc_target): Add mode_dependent_address_p field.
2402 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
2403 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
2404 * targhooks.c (default_mode_dependent_address_p): New function.
2405 * targhooks.h (default_mode_dependent_address_p): Declare function.
2406 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
2407 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
2408 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
2409 target hook. Change return type to bool.
2410 * recog.h (mode_dependent_address_p): Change return type to bool.
2411
24122010-05-12 Kazu Hirata <kazu@codesourcery.com>
2413 Nathan Froyd <froydnj@codesourcery.com>
2414
2415 * tree-mudflap.c (build_function_type_0, build_function_type_1,
2416 build_function_type_2, build_function_type_3): Remove.
2417 (mudflap_init): Use build_function_type_list.
2418
24192010-05-12 Kazu Hirata <kazu@codesourcery.com>
2420 Nathan Froyd <froydnj@codesourcery.com>
2421
2422 * coverage.c (build_fn_info_value): Call build_constructor instead of
2423 build_constructor_from_list.
2424 (build_ctr_info_value): Likewise.
2425 (build_gcov_info): Likewise.
2426
24272010-05-12 Nathan Froyd <froydnj@codesourcery.com>
2428
2429 * tree.c (build_constructor): Compute TREE_CONSTANT for the
2430 resultant constructor.
2431 (build_constructor_single): Don't set TREE_CONSTANT.
2432 (build_constructor_from_list): Don't compute TREE_CONSTANT.
2433
24342010-05-12 Jan Hubicka <jh@suse.cz>
2435
2436 * cgraph.h (struct varpool_node): Add aux.
2437 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
2438 * varpool.c (varpool_remove_node): Do not remove initializer.
2439 (varpool_reset_queue): Export.
2440 (varpool_finalize_decl): Volatile vars are forced to be output.
2441 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
2442 replaced decl.
2443 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
2444 process_references, varpool_can_remove_if_no_refs): New functions.
2445 (cgraph_remove_unreachable_nodes): Handle variables too.
2446
24472010-05-12 H.J. Lu <hongjiu.lu@intel.com>
2448
2449 PR target/44088
2450 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
2451
24522010-05-12 Jakub Jelinek <jakub@redhat.com>
2453
2454 PR middle-end/44085
2455 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
2456 change value of ORT_TASK.
2457 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
2458 (omp_notice_threadprivate_variable): New function.
2459 (omp_notice_variable): Call it for threadprivate variables.
2460 If enclosing ctx is a task, print enclosing task rather than
2461 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
2462 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
2463 if task has untied clause.
2464
2465 PR debug/42278
2466 * dwarf2out.c (base_type_die): Don't add name attribute here.
2467 (modified_type_die): Instead of sizetype use
2468 its underlying original type. If a DW_TAG_base_type doesn't
2469 have name added, add __unknown__.
2470 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
2471 always call force_type_die instead.
2472
24732010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
2474
2475 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
2476 for __stack_chk_guard.
2477
24782010-05-11 Jakub Jelinek <jakub@redhat.com>
2479
2480 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
2481 don't call start_source_file debug hook here...
2482 (finish_options): ... but here, after outputting predefined and
2483 command line defines and undefs.
2484
2485 PR middle-end/44071
2486 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
2487 no fallthru edge.
2488 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
2489 optimizing away empty bb with no successors, move over its
2490 footer chain to fallthru predecessor.
2491 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
2492 (rtl_split_edge): For asm goto call patch_jump_insn even if
2493 splitting fallthru edge.
2494
2495 PR c++/44059
2496 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
2497 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
2498 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
2499 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
2500 on DW.ref.* decls.
2501
2502 PR c++/44062
2503 * c-parser.c (c_parser_expression): Mark LHS of a comma
2504 expression as read if it is a decl, handled component or
2505 COMPOUND_EXPR with that on the RHS.
2506 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
2507 if it is a decl or handled component.
2508
25092010-05-11 Jan Hubicka <jh@suse.cz>
2510
2511 * lto-symtab.c (lto_symtab_free): New function.
2512 * lto-streamer.h (lto_symtab_free): Declare.
2513
25142010-05-11 Jan Hubicka <jh@suse.cz>
2515
2516 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
2517 that if function is needed it is reachable.
2518 (lto_output_node): See if it the function is reachable or referenced.
2519 (output_cgraph): Update call of lto_output_node.
2520 * lto-streamer.h (reachable_from_other_partition_p): Declare.
2521
25222010-05-11 Jan Hubicka <jh@suse.cz>
2523
2524 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
2525 Mark as used.
2526
25272010-05-11 Jan Hubicka <jh@suse.cz>
2528
2529 PR tree-optimize/44063
2530 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
2531 queue.
2532 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
2533 limits.
2534 (estimate_function_body_sizes): Compute sizes even when disregarding.
2535
25362010-05-11 Kai Tietz <kai.tietz@onevision.com>
2537
2538 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
2539
25402010-05-11 Jan Hubicka <jh@suse.cz>
2541
2542 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
2543 into every boundary.
2544
25452010-05-11 Jan Hubicka <jh@suse.cz>
2546
2547 * matrix-reorg.c (matrix_reorg): Rebuild edges.
2548
25492010-05-11 Jan Hubicka <jh@suse.cz>
2550
2551 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
2552 lto_streamer_cache_delete): Put nodes into heap.
2553 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
2554 heap.
2555
25562010-05-11 Jan Hubicka <jh@suse.cz>
2557
2558 * cgraphbuild.c (cgraph_rebuild_references): New.
2559 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
2560 out extern inlines.
2561 * cgraph.h (cgraph_rebuild_references): Declare.
2562 * tree-inline.c (tree_function_versioning): Use it.
2563 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
2564
25652010-05-11 Jan Hubicka <jh@suse.cz>
2566
2567 * cgraph.c: Include ipa-utils.h
2568 (cgraph_create_virtual_clone): Update references.
2569 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
2570
25712010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
2572
2573 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
2574 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
2575 cache size.
2576
25772010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
2578
2579 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
2580
25812010-05-11 Jakub Jelinek <jakub@redhat.com>
2582
2583 * gcc.c (execute): For -### don't quote arguments that
2584 contain just alphanumerics and _/-. characters.
2585 * doc/invoke.texi: Document that change for -###.
2586
2587 PR debug/44023
2588 * df-problems.c (struct dead_debug): Add to_rescan field.
2589 (dead_debug_init): Clear to_rescan field.
2590 (dead_debug_finish): Rescan all debug insns in to_rescan
2591 bitmap and free the bitmap.
2592 (dead_debug_insert_before): Instead of rescanning debug insns
2593 immediately queue their rescanning until dead_debug_finish.
2594 (df_note_bb_compute): After dead_debug_add do continue instead
2595 of break.
2596
25972010-05-10 Jakub Jelinek <jakub@redhat.com>
2598
2599 PR debug/44028
2600 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
2601 clear also INSN_REG_USE_LIST.
2602
26032010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2604
2605 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
2606
26072010-05-10 Jan Hubicka <jh@suse.cz>
2608
2609 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
2610 commited change.
2611
26122010-05-10 Jan Hubicka <jh@suse.cz>
2613
2614 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
2615 Allocate encoders.
2616 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
2617 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
2618 (lto_streamer_cache_create): Init alloc pool.
2619 (lto_streamer_cache_delete): Free alloc pool.
2620 * lto-streamer.h: Include alloc pool.
2621 (lto_streamer_cache_d): Use alloc pool.
2622 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
2623
26242010-05-10 Jan Hubicka <jh@suse.cz>
2625
2626 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
2627 * cgraphbuild.c: Include except.h
2628 (record_type_list, record_eh_tables): New function.
2629 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
2630
26312010-05-10 Jan Hubicka <jh@suse.cz>
2632
2633 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
2634 __frame_dummy_init_array_entry, force_to_data): Attribute as used
2635 rather than unused.
2636
26372010-05-10 Michael Matz <matz@suse.de>
2638
2639 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
2640 (can_reassociate_p): Use FLOAT_TYPE_P.
2641 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
2642 (vect_force_simple_reduction): ... this.
2643 * tree-parloops.c (gather_scalar_reductions): Use
2644 vect_force_simple_reduction.
2645 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
2646 vect_is_simple_reduction, add modify argument, if true rewrite
2647 "a-b" into "a+(-b)".
2648 (vect_is_simple_reduction, vect_force_simple_reduction): New
2649 functions.
2650 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
2651
26522010-05-10 H.J. Lu <hongjiu.lu@intel.com>
2653 Vladimir Makarov <vmakarov@redhat.com>
2654
2655 PR rtl-optimization/44012
2656 * ira-build.c (remove_unnecessary_allocnos): Nullify
2657 regno_allocno_map of the removed allocno.
2658
26592010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2660
2661 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
2662 to /dev/null.
2663 * configure: Regenerate.
2664
26652010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2666
2667 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
2668 unused.
2669 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
2670 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
2671 support in Sun ld.
2672 * configure: Regenerate.
2673
26742010-05-10 Richard Guenther <rguenther@suse.de>
2675
2676 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
2677 marked if the entry identifier is marked.
2678
26792010-05-10 Richard Guenther <rguenther@suse.de>
2680
2681 * c-common.c (struct c_common_attributes): Add fnspec attribute.
2682 (handle_fnspec_attribute): New function.
2683 * gimple.h (gimple_call_return_flags): Declare.
2684 (gimple_call_arg_flags): Likewise.
2685 * gimple.c (gimple_call_arg_flags): New function.
2686 (gimple_call_return_flags): Likewise.
2687 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
2688 New argument flags.
2689 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
2690 return value flags.
2691 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
2692 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
2693 main work to ...
2694 (make_heapvar_for): ... this new function.
2695 (handle_rhs_call): Handle fnspec attribute argument specifiers.
2696 (handle_lhs_call): Likewise.
2697 (find_func_aliases): Adjust.
2698
26992010-05-10 Richard Guenther <rguenther@suse.de>
2700
2701 PR tree-optimization/44050
2702 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
2703
27042010-05-10 Wei Guozhi <carrot@google.com>
2705
2706 PR target/42879
2707 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
2708
27092010-05-09 Joseph Myers <joseph@codesourcery.com>
2710
2711 PR c/10676
2712 * c-typeck.c (lookup_field): Take a type directly. Update
2713 recursive calls.
2714 (build_component_ref): Update call to lookup_field.
2715 (set_init_label): Use lookup_field to find initialized field.
2716 Handle returned list of fields like a sequence of designators.
2717
27182010-05-09 Richard Guenther <rguenther@suse.de>
2719
2720 PR middle-end/44024
2721 * fold-const.c (tree_single_nonzero_warnv_p): Properly
2722 handle &FUNCTION_DECL.
2723
27242010-05-09 Joseph Myers <joseph@codesourcery.com>
2725
2726 PR c/4784
2727 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
2728 structures and unions recursively.
2729 (detect_field_duplicates): Move duplicate detection with a hash to
2730 detect_field_duplicates_hash. Always use a hash if anonymous
2731 structures or unions are present.
2732 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
2733 give errors.
2734
27352010-05-09 H.J. Lu <hongjiu.lu@intel.com>
2736
2737 PR target/44046
2738 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
2739 detect Atom, Core 2 and Core i7.
2740
27412010-05-09 Richard Guenther <rguenther@suse.de>
2742
2743 * gcc.c (store_arg): Handle temporary file deletion for
2744 joined arguments.
2745
27462010-05-09 Richard Guenther <rguenther@suse.de>
2747
2748 PR middle-end/44043
2749 * ipa-inline.c (estimate_function_body_sizes): Return after
2750 disregarding inline limits.
2751
27522010-05-09 Richard Guenther <rguenther@suse.de>
2753
2754 * gcc.c (store_arg): Revert last change.
2755
27562010-05-08 Sandra Loosemore <sandra@codesourcery.com>
2757
2758 PR middle-end/28685
2759 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
2760 (optimize_ops_list): Call it.
2761
27622010-05-08 Richard Guenther <rguenther@suse.de>
2763
2764 PR tree-optimization/44030
2765 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
2766 NECESSARY flag if we propagate from a inserted expression.
2767
27682010-05-08 Eric Botcazou <ebotcazou@adacore.com>
2769
2770 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
2771 domain types as equal if they are both PLACEHOLDER_EXPRs.
2772
27732010-05-08 Richard Guenther <rguenther@suse.de>
2774
2775 * lto-wrapper.c (run_gcc): Remove linker output from
2776 command line for LTRANS invocation.
2777
27782010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2779
2780 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
2781 lto-macho as lto_binary_reader.
2782 * target.h (struct gcc_target): New hooks lto_start and lto_end.
2783 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
2784 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
2785 in lto_start and lto_end calls.
2786 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
2787 magic numbers.
2788 (scan_prog_file): Update is_elf_or_coff call.
2789 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
2790
2791 * collect2.c (main): Fix enum comparison.
2792
2793 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
2794 Add prototypes.
2795 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
2796 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
2797 and TARGET_ASM_LTO_END.
2798 * darwin.c: Include obstack.h and lto-streamer.h.
2799 (lto_section_names_offset, lto_section_names_obstack,
2800 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
2801 global variables.
2802 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
2803 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
2804 to a temporary file.
2805 (darwin_asm_lto_end): New function. Restore asm_out_file.
2806 (darwin_asm_named_section): For LTO sections, replace the name with
2807 the offset of the section name in a string table, and build this
2808 table.
2809 (darwin_file_start): Initialize global vars for LTO support.
2810 (darwin_file_end): If output to asm_out_file was redirected, append it
2811 to the proper asm_out_file here. Add the section names section.
2812
28132010-05-07 Steven Bosscher <steven@gcc.gnu.org>
2814
2815 * c-pragma.c (pending_weak_d, pending_weak): New.
2816 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
2817 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
2818 handle_pragma_weak): Update the uses of pending_weaks.
2819
28202010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2821
2822 PR documentation/44016
2823 * doc/standards.texi (Standards): Link to unversioned
2824 cxx0x_status.html page.
2825
28262010-05-07 Iain Sandoe <iains@gcc.gnu.org>
2827
2828 PR target/43708
2829 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
2830 in addition to TREE_USED, to avoid "set but unused" warnings.
2831
28322010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2833
2834 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
2835 (is_loop_prefetching_profitable): Do not insert prefetches
2836 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
2837 times the prefetch ahead distance.
2838
28392010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2840
2841 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
2842 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
2843 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
2844 the unroll_factor.
2845
28462010-05-07 Changpeng Fang <changpeng.fang@amd.com>
2847
2848 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
2849 a diagnostic info when the insn-to-mem ratio is too small.
2850
28512010-05-07 Richard Guenther <rguenther@suse.de>
2852
2853 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
2854 the linker plugin.
2855 (store_arg): Queue temp_filename for deletion instead of
2856 the whole argument.
2857
28582010-05-07 Richard Guenther <rguenther@suse.de>
2859
2860 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
2861 (run_gcc): Handle LTRANS phase invocation.
2862 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
2863
28642010-05-07 Jakub Jelinek <jakub@redhat.com>
2865
2866 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
2867 this is also meaningful on PARM_DECLs and RESULT_DECLs.
2868
28692010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2870
2871 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
2872
28732010-05-07 Richard Guenther <rguenther@suse.de>
2874
2875 PR tree-optimization/44020
2876 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
2877 code when PRE is not yet initialized.
2878
28792010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2880
2881 * config/mips/dbxmdebug.h: Remove.
2882 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
2883
28842010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
2885
2886 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
2887 with null pointer and also warn about ordered comparison of zero with
2888 pointer if -Wextra.
2889
28902010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2891
2892 * graphite-blocking.c
2893 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
2894 * graphite-clast-to-gimple.c
2895 (clast_to_gcc_expression): Same.
2896 (precision_for_value): Same.
2897 (precision_for_interval): Same.
2898 (gcc_type_for_interval): Same.
2899 (graphite_create_new_guard): Same.
2900 (compute_bounds_for_level): Same.
2901 (graphite_create_new_loop_guard): Same.
2902 * graphite-interchange.c
2903 (build_linearized_memory_access): Same.
2904 (pdr_stride_in_loop): Same.
2905 (memory_strides_in_loop_1): Same.
2906 (memory_strides_in_loop): Same.
2907 (extend_scattering): Same.
2908 (psct_scattering_dim_for_loop_depth): Same.
2909 (pbb_number_of_iterations): Same.
2910 * graphite-poly.h
2911 (debug_iteration_domains): Same.
2912 * graphite-ppl.c
2913 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
2914 (ppl_set_inhomogeneous_gmp): Same.
2915 (ppl_strip_loop): Same.
2916 (ppl_lexico_compare_linear_expressions): Same.
2917 (ppl_read_polyhedron_matrix): Same.
2918 (ppl_max_for_le_pointset): Same.
2919 * graphite-ppl.h
2920 (ppl_read_polyhedron_matrix): Same.
2921 (tree_int_to_gmp): Same.
2922 (gmp_cst_to_tree): Same.
2923 (ppl_set_inhomogeneous): Same.
2924 (ppl_set_inhomogeneous_tree): Same.
2925 (ppl_set_coef): Same.
2926 (ppl_set_coef_tree): Same.
2927 * graphite-sese-to-poly.c
2928 (build_pbb_scattering_polyhedrons): Same.
2929 (build_scop_scattering): Same.
2930 (scan_tree_for_params_right_scev): Same.
2931 (scan_tree_for_params): Same.
2932 (find_params_in_bb): Same.
2933 (find_scop_parameters): Same.
2934 (add_upper_bounds_from_estimated_nit): Same.
2935 (build_loop_iteration_domains): Same.
2936 (add_condition_to_domain): Same.
2937 (pdr_add_memory_accesses): Same.
2938
29392010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2940
2941 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
2942 CLooG's value_* macros to their respective mpz_* counterparts.
2943 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
2944 (graphite_create_new_loop_guard): Same.
2945 * graphite-interchange.c (build_linearized_memory_access): Same.
2946 (pdr_stride_in_loop): Same.
2947 (memory_strides_in_loop_1): Same.
2948 (1st_interchange_profitable_p): Same.
2949 * graphite-poly.c (extend_scattering): Same.
2950 (psct_scattering_dim_for_loop_depth): Same.
2951 (pbb_number_of_iterations): Same.
2952 (pbb_number_of_iterations_at_time): Same.
2953 * graphite-poly.h (new_1st_loop): Same.
2954 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
2955 (oppose_constraint): Same.
2956 (insert_constraint_into_matrix): Same.
2957 (ppl_set_inhomogeneous_gmp): Same.
2958 (ppl_set_coef_gmp): Same.
2959 (ppl_strip_loop): Same.
2960 (ppl_lexico_compare_linear_expressions): Same.
2961 (ppl_max_for_le_pointset): Same.
2962 (ppl_min_for_le_pointset): Same.
2963 (ppl_build_realtion): Same.
2964 * graphite-ppl.h (gmp_cst_to_tree): Same.
2965 (ppl_set_inhomogeneous): Same.
2966 (ppl_set_inhomogeneous_tree): Same.
2967 (ppl_set_coef): Same.
2968 (ppl_set_coef_tree): Same.
2969 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
2970 (build_scop_scattering): Same.
2971 (add_value_to_dim): Same.
2972 (scan_tree_for_params_right_scev): Same.
2973 (scan_tree_for_params_int): Same.
2974 (scan_tree_for_params): Same.
2975 (find_params_in_bb): Same.
2976 (find_scop_parameters): Same.
2977 (add_upper_bounds_from_estimated_nit): Same.
2978 (build_loop_iteration_domains): Same.
2979 (create_linear_expr_from_tree): Same.
2980 (add_condition_to_domain): Same.
2981 (pdr_add_memory_accesses): Same.
2982
29832010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
2984 Jason Merrill <jason@redhat.com>
2985
2986 * c-common.c (c_common_reswords): Add nullptr.
2987 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
2988 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
2989 (gen_type_die_with_usage): Likewise.
2990 * dbxout.c (dbxout_type): Likewise.
2991 * sdbout.c (plain_type_1): Likewise.
2992
29932010-05-06 Jason Merrill <jason@redhat.com>
2994
2995 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
2996 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
2997 ret appropriately.
2998 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
2999
3000 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
3001 stripping WITH_SIZE_EXPR.
3002 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
3003 change.
3004
30052010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3006
3007 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
3008 list of obsolete configurations.
3009 Disabled check for obsolete configurations.
3010 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
3011 Removed support for previous versions.
3012 * config/mips/iris.h: Removed.
3013 * config/mips/iris5.h: Removed.
3014 * config/mips/iris6.h: Merged old iris.h contents.
3015 (TARGET_IRIX): Removed.
3016 (DRIVER_SELF_SPECS): Removed mabi=32.
3017 (IDENT_ASM_OP): Removed undef.
3018 (STARTFILE_SPEC): Removed mabi=32.
3019 (ENDFILE_SPEC): Likewise.
3020 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
3021 (MACHINE_TYPE): Update for IRIX 6.5.
3022 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
3023 TARGET_IRIX by TARGET_IRIX6.
3024 (mips_file_start): Likewise.
3025 (mips_output_external): Remove IRIX 5/6 O32 support.
3026 (mips_output_function_prologue): Likewise.
3027 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
3028 TARGET_IRIX6.
3029 (TARGET_CPU_CPP_BUILTINS): Likewise.
3030 (TARGET_IRIX): Removed.
3031 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
3032 (MULTILIB_DIRNAMES): Removed 32.
3033 (MULTILIB_OSDIRNAMES): Removed ../lib.
3034 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
3035 (Specific, mips-sgi-irix5): Document removal.
3036 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
3037 Remove references to older IRIX 6 releases and the O32 ABI.
3038
30392010-05-06 Jakub Jelinek <jakub@redhat.com>
3040
3041 PR bootstrap/43994
3042 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
3043 instead of DF_REF_REAL_REG.
3044
30452010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
3046
3047 PR target/43888
3048 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
3049 handling to still return true for x64 targets.
3050
30512010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
3052
3053 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
3054
30552010-05-06 Jan Hubicka <jh@suse.cz>
3056
3057 PR tree-optimization/43791
3058 * ipa-inline.c (update_caller_keys): Remove bogus
3059 disregard_inline_limits check.
3060
30612010-05-06 Michael Matz <matz@suse.de>
3062
3063 PR tree-optimization/43984
3064 * tree-ssa-pre.c (inserted_phi_names): Remove.
3065 (inserted_exprs): Change to bitmap.
3066 (create_expression_by_pieces): Set bits, don't append to vector.
3067 (insert_into_preds_of_block): Don't handle inserted_phi_names.
3068 (eliminate): Don't look at inserted_phi_names, remove deleted
3069 insns from inserted_exprs.
3070 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
3071 (init_pre, fini_pre): Allocate and free bitmaps.
3072 (execute_pre): Insert insns on edges before elimination.
3073
30742010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
3075
3076 * tree.c (initializer_zerop): Handle STRING_CST.
3077
30782010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
3079
3080 PR 40989
3081 * doc/invoke.texi (Wimplicit): Document as C only.
3082 * opts.c (common_handle_option): Add argument kind.
3083 (handle_option): Rename as read_cmdline_option. Factor out code to...
3084 (handle_option): ... here. New.
3085 (handle_options): Rename as read_cmdline_options.
3086 (decode_options): Update call.
3087 (set_option): Use option index instead of option pointer. Classify
3088 diagnostics correctly.
3089 (enable_warning_as_error): Call handle_option.
3090 * opts.h (set_option): Update declaration.
3091 (handle_option): Declare.
3092 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3093 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
3094 * c-opts.c (set_Wimplicit): Delete.
3095 (c_family_lang_mask): New static constant.
3096 (c_common_handle_option): Add argument kind. Use handle_option
3097 instead of set_Wimplicit.
3098 (c_common_post_options): warn_implicit and warn_implicit_int
3099 are disabled by default.
3100 * c-common.c (warn_implicit): Do not define here.
3101 * c-common.h (warn_implicit): Do not declare here.
3102 (c_common_handle_option): Update declaration.
3103 * lto-opts.c (lto_reissue_options): Update call to set_option.
3104
31052010-05-06 Richard Guenther <rguenther@suse.de>
3106
3107 PR tree-optimization/43571
3108 * domwalk.c (walk_dominator_tree): Walk the dominator
3109 sons in more optimal order.
3110
31112010-05-06 Richard Guenther <rguenther@suse.de>
3112
3113 PR tree-optimization/43934
3114 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
3115 (stmt_cost): Likewise.
3116 (extract_true_false_args_from_phi): New helper.
3117 (determine_max_movement): For PHI nodes verify we can hoist them
3118 and compute their cost.
3119 (determine_invariantness_stmt): Handle PHI nodes.
3120 (move_computations_stmt): Likewise. Hoist PHI nodes in
3121 if-converted form using COND_EXPRs.
3122 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
3123 (tree_ssa_lim): Likewise.
3124 * tree-flow.h (tree_ssa_lim): Adjust prototype.
3125 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
3126
31272010-05-06 Richard Guenther <rguenther@suse.de>
3128
3129 PR tree-optimization/43987
3130 * tree-ssa-structalias.c (could_have_pointers): For possibly
3131 address-taken variables force pointers to be recorded.
3132 (create_variable_info_for_1): Likewise.
3133 (push_fields_onto_fieldstack): Pass in wheter all fields
3134 must have pointers.
3135 (find_func_aliases): Query types instead of vars whether
3136 they contain pointers where appropriate.
3137
31382010-05-06 Jan Hubicka <jh@suse.cz>
3139
3140 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
3141 (record_reference, mark_address, mark_load, mark_store): Record
3142 references.
3143 (record_references_in_initializer): Update call of record_references.
3144 (rebuild_cgraph_edges): Remove all references before rebuiding.
3145 * cgraph.c (cgraph_create_node): Clear ref list.
3146 (cgraph_remove_node): Remove references.
3147 (dump_cgraph_node): Dump references.
3148 (cgraph_clone_node): Clone references.
3149 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
3150 (struct cgraph_node, varpool_node): Add ref_lst.
3151 * ipa-ref.c: New file.
3152 * ipa-ref.h: New file.
3153 * ipa-ref-inline.h: New file.
3154 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
3155 (referenced_from_other_partition_p): New function.
3156 (lto_output_varpool_node): Take set arugment; call
3157 referenced_from_other_partition.
3158 (lto_output_ref): New.
3159 (add_references): New.
3160 (output_refs): New.
3161 (output_cgraph): Compute boundary based on references; output refs.
3162 (output_varpool): Accept cgraph_node_set argument.
3163 (input_ref): New.
3164 (input_refs): New.
3165 (input_cgraph): Call input_refs.
3166 * lto-section-in.c (lto_section_name): Add refs.
3167 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
3168 (ipa-ref.o): New file.
3169 * varpool.c (varpool_node): Clear ipa ref list.
3170 (varpool_remove_node): Remove references.
3171 (dump_varpool_node): Dump references.
3172 (varpool_assemble_decl): Only compile finalized ones.
3173 (varpool_extra_name_alias): Initialize ref list.
3174 * lto-streamer.c (lto-get_section_name): Add .refs section.
3175 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
3176 (referenced_from_other_partition_p): Declared.
3177
31782010-05-06 Ira Rosen <irar@il.ibm.com>
3179
3180 PR tree-optimization/43901
3181 * tree-vect-stmts.c (vectorizable_call): Assert that vector
3182 type is not NULL if it's transformation phase, and return
3183 FALSE if it's analysis.
3184 (vectorizable_conversion, vectorizable_operation,
3185 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
3186
31872010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
3188
3189 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
3190 Delete.
3191 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
3192 New define.
3193 * config/mips/mips-protos.h
3194 (mips_small_register_classes_for_mode_p): Delete prototype.
3195
31962010-05-06 Bernd Schmidt <bernds@codesourcery.com>
3197
3198 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
3199 * config/arm/arm.c (multiple_operation_profitable_p,
3200 compute_offset_order): New static functions.
3201 (load_multiple_sequence, store_multiple_sequence): Use them.
3202 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
3203 memory offsets, not register numbers.
3204 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
3205
32062010-05-05 Steven Bosscher <steven@gcc.gnu.org>
3207
3208 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
3209 (get_pending_sizes, put_pending_size, put_pending_sizes):
3210 Update the uses of pending_sizes.
3211 * c-decl.c (store_parm_decls): Likewise.
3212 * c-tree.h (struct c_arg_info): Likewise.
3213 * tree.h: Update the prototype for get_pending_sizes and
3214 put_pending_sizes.
3215
32162010-05-05 Jason Merrill <jason@redhat.com>
3217
3218 PR debug/43370
3219 * c-common.c (handle_aligned_attribute): Respect
3220 ATTR_FLAG_TYPE_IN_PLACE.
3221
3222 PR testsuite/43758
3223 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
3224 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
3225 (TARGET_INITIALIZER): Use it.
3226 * c-common.c (attribute_takes_identifier_p): Call it.
3227 * c-common.h: Update prototype.
3228 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
3229 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
3230
32312010-05-05 Jakub Jelinek <jakub@redhat.com>
3232
3233 PR debug/43950
3234 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
3235 DW_ID_down_case for Fortran compilation units.
3236
32372010-05-05 Jan Hubicka <jh@suse.cz>
3238
3239 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
3240 handle aliases.
3241
32422010-05-05 Eric Botcazou <ebotcazou@adacore.com>
3243
3244 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
3245 a variable-sized RESULT_DECL.
3246
32472010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
3248
3249 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
3250
32512010-05-05 Jason Merrill <jason@redhat.com>
3252
3253 PR c++/43787
3254 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
3255 returns GS_OK.
3256 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
3257
32582010-05-05 Alexandre Oliva <aoliva@redhat.com>
3259 Jakub Jelinek <jakub@redhat.com>
3260
3261 PR debug/43478
3262 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
3263 (dead_debug_init, dead_debug_finish): New functions.
3264 (dead_debug_add, dead_debug_insert_before): Likewise.
3265 (df_note_bb_compute): Initialize a dead_debug object, add dead
3266 debug uses to it, insert debug bind insns before death insns,
3267 reset debug insns that refer to pending uses at the end.
3268 * rtl.h (make_debug_expr_from_rtl): New prototype.
3269 * varasm.c (make_debug_expr_from_rtl): New function.
3270
32712010-05-05 Jan Hubicka <jh@suse.cz>
3272
3273 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
3274 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
3275 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
3276 lto_varpool_encoder_deref, lto_varpool_encoder_size,
3277 lto_varpool_encoder_encode_initializer_p,
3278 lto_set_varpool_encoder_encode_initializer): New functions.
3279 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
3280 call output_varpool.
3281 (input_varpool_node): Do not always set analyzed.
3282 (input_cgraph_1): Return vector of cgraph nodes.
3283 (input_varpool_1): Return vector of varpools.
3284 (input_cgraph): Free the vectors.
3285 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3286 output only initializers needed.
3287 (lto_output): Only call output_cgraph.
3288 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
3289 * lto-section-out.c (lto_new_out_decl_state): Initialize
3290 state->varpool_node_encoder.
3291 * lto-streamer.h (lto_varpool_encoder_d): New.
3292 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
3293 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
3294 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
3295 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
3296 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
3297 Declare.
3298 (output_varpool, input_varpool): Remove declarations.
3299
33002010-05-05 Jan Hubicka <jh@suse.cz>
3301
3302 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
3303 with body can prevail.
3304
33052010-05-05 Jan Hubicka <jh@suse.cz>
3306
3307 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
3308 size.
3309
33102010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3311
3312 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
3313
3314 * gengtype.h (erro_at_line): Constify pos argument.
3315
3316 * gengtype.c: Include hashtab.h.
3317 (enum gc_used): Document GC_MAYBE_POINTED_TO.
3318 (error_at_line): Constify pos argument.
3319 (do_typedef): Initialize p->opt field.
3320 (get_file_gtfilename): Fix comment typo.
3321 (struct walk_type_data): Constify line field.
3322 (get_output_file_for_structure): New function.
3323 (write_local_func_for_structure): Constify orig_s argument.
3324 Use get_output_file_for_structure.
3325 (write_func_for_structure): Use get_output_file_for_structure.
3326 (INDENT): New define.
3327 (dump_pair, dump_type, dump_type_list, dump_typekind)
3328 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
3329 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
3330 functions.
3331 (seen_types): New variable.
3332 (main): New variable do_dump. Process "-d" command line option.
3333 Call dump_everything if dump requested.
3334
33352010-05-05 Jakub Jelinek <jakub@redhat.com>
3336
3337 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
3338 in a temporary instead of invoking the macro multiple times.
3339 (track_expr_p): Likewise.
3340
33412010-05-04 Neil Vachharajani <nvachhar@google.com>
3342
3343 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
3344 per new semantics.
3345 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
3346 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
3347 conditions for printing notes.
3348 * common.opt (-Wcoverage-mismatch): Allow negative, default to
3349 true, update documentation.
3350 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
3351
33522010-05-04 Jakub Jelinek <jakub@redhat.com>
3353
3354 PR c/43981
3355 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
3356 on dimen.
3357
33582010-05-04 H.J. Lu <hongjiu.lu@intel.com>
3359
3360 PR target/43799
3361 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
3362 (*sse_prologue_save_insn1): Likewise.
3363 (SSE prologue save splitter): Likewise.
3364
33652010-05-04 Eric Botcazou <ebotcazou@adacore.com>
3366
3367 * tree.c (free_lang_data_in_one_sizepos): New inline function.
3368 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
3369 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
3370 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
3371 all decls. Call it on DECL_FIELD_OFFSET of fields.
3372 (find_decls_types_r): Follow DECL_VALUE_EXPR.
3373 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
3374
33752010-05-04 Martin Jambor <mjambor@suse.cz>
3376
3377 * tree-sra.c (build_access_from_expr_1): The first parameter type
3378 changed to simple tree.
3379 (build_access_from_expr): Likewise, gsi parameter was eliminated.
3380 (scan_assign_result): Renamed to assignment_mod_result, enum elements
3381 renamed as well.
3382 (build_accesses_from_assign): Removed all parameters except for a
3383 simple gimple statement. Now returns a simple bool.
3384 (scan_function): All non-analysis parts moved to separate functions
3385 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
3386 parameters and updated both callers.
3387 (sra_modify_expr): Removed parameter data.
3388 (sra_modify_function_body): New function.
3389 (perform_intra_sra): Call sra_modify_function_body to modify the
3390 function body.
3391 (replace_removed_params_ssa_names): Parameter data changed into
3392 adjustments vector.
3393 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
3394 changed the parameter dont_convert to convert with the opposite
3395 meaning.
3396 (sra_ipa_modify_assign): Parameter data changed into adjustments
3397 vector, return value changed to bool.
3398 (ipa_sra_modify_function_body): New function.
3399 (sra_ipa_reset_debug_stmts): Updated a comment.
3400 (modify_function): Use ipa_sra_modify_function_body to modify function
3401 body.
3402
34032010-05-04 H.J. Lu <hongjiu.lu@intel.com>
3404
3405 PR middle-end/43671
3406 * alias.c (true_dependence): Handle the same VALUE in x and mem.
3407 (canon_true_dependence): Likewise.
3408 (write_dependence_p): Likewise.
3409
34102010-05-04 Jan Hubicka <jh@suse.cz>
3411
3412 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
3413 * cgraphbuild.c: Include ipa-utils.h
3414 (record_reference_ctx): New struct.
3415 (record_reference): Simplify to work on initializers; not statements.
3416 (mark_address, mark_load, mark_store): New.
3417 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
3418 walk PHI nodes too.
3419 (record_references_in_initializer): Update use of record_reference.
3420 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
3421 walk PHI nodes too.
3422
34232010-05-04 Jan Hubicka <jh@suse.cz>
3424
3425 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
3426 node will be removed anyway.
3427 (lto_varpool_replace_node): Allow also unanalyzed nodes;
3428 relink aliases of node into prevailing node.
3429 * varpool.c (varpool_remove_node): Remove aliases properly;
3430 when removing node, remove all its aliases too; remove DECL_INITIAL
3431 of removed node; ggc_free the varpool node.
3432
34332010-05-04 Richard Guenther <rguenther@suse.de>
3434
3435 PR tree-optimization/43879
3436 * tree-ssa-structalias.c (alias_get_name): Use
3437 DECL_ASSEMBLER_NAME if available.
3438 (create_function_info_for): Return the varinfo node.
3439 (ipa_pta_execute): Associate same-body aliases and extra names
3440 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
3441
34422010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
3443
3444 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
3445
34462010-05-04 Mikael Pettersson <mikpe@it.uu.se>
3447
3448 PR bootstrap/43964
3449 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
3450 only if HONOR_REG_ALLOC_ORDER is not defined.
3451
34522010-05-04 Richard Guenther <rguenther@suse.de>
3453
3454 PR tree-optimization/43949
3455 * tree-vrp.c (extract_range_from_binary_expr): Only handle
3456 TRUNC_MOD_EXPR.
3457
34582010-04-26 Jason Merrill <jason@redhat.com>
3459
3460 * c.opt (-fstrict-enums): New.
3461 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
3462
34632010-05-03 David Ung <davidu@mips.com>
3464 James E. Wilson <wilson@codesourcery.com>
3465
3466 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
3467 emit the trap instruction before the divide for TUNE_74K.
3468
34692010-05-03 Steven Bosscher <steven@gcc.gnu.org>
3470
3471 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
3472 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
3473 based on the above, for new target hook.
3474
3475 * hooks.c (hook_bool_mode_true): New generic hook.
3476 * hooks.h (hook_bool_mode_true): Add prototype.
3477
3478 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
3479 target hook.
3480 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
3481 target hook, set to hook_bool_mode_false.
3482 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
3483 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
3484 with targetm.small_register_classes_for_mode_p.
3485 (find_reusable_reload): Likewise.
3486 (combine_reloads): Likewise.
3487 * reload1.c (reload_as_needed): Likewise.
3488 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
3489 * ifcvt.c (noce_process_if_block, check_cond_move_block,
3490 dead_or_predicable): Likewise.
3491 * regmove.c (optimize_reg_copy_1): Likewise.
3492 * calls.c (prepare_call_address): Likewise.
3493 (precompute_register_parameters): Likewise.
3494
3495 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
3496 hook definition.
3497 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
3498 implementation of the hook that considers all register classes
3499 small except for SH64.
3500 (sh_override_options): Use the new hook.
3501 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
3502 Add prototype.
3503
3504 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
3505 hook definition.
3506 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
3507 implementation of the hook that considers all register classes
3508 small for THUMB1.
3509 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
3510 Add prototype.
3511
3512 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
3513 hook definition.
3514 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
3515 implementation of the hook that considers all register classes
3516 small for MIPS16.
3517 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
3518 Add prototype.
3519
3520 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
3521 hook definition.
3522 * config/m32c/m32c.h: Likewise.
3523 * config/pdp11/pdp11.h: Likewise.
3524 * config/avr/avr.h: Likewise.
3525 * config/xtensa/xtensa.h: Likewise.
3526 * config/m68hc11/m68hc11.h: Likewise.
3527 * config/mn10300/mn10300.h: Likewise.
3528 * config/mcore/mcore.h: Likewise.
3529 * config/h8300/h8300.h: Likewise.
3530 * config/bfin/bfin.h: Likewise.
3531
3532 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
3533 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
3534
35352010-05-03 Anatoly Sokolov <aesok@post.ru>
3536
3537 * double-int.h (tree_to_double_int): Remove macro.
3538 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
3539 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
3540 (tree_to_double_int): New function.
3541 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
3542 Move ...
3543 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
3544
35452010-05-03 Richard Guenther <rguenther@suse.de>
3546
3547 PR tree-optimization/43971
3548 * tree-ssa-structalias.c (get_constraint_for_1): Fix
3549 constraints in the !flag_delete_null_pointer_checks case.
3550
35512010-05-03 Jakub Jelinek <jakub@redhat.com>
3552
3553 PR debug/43972
3554 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
3555 result mode matches original rtl mode.
3556
35572010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
3558
3559 PR target/43888
3560 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
3561
35622010-05-02 Uros Bizjak <ubizjak@gmail.com>
3563
3564 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
3565 when processing flag options.
3566
35672010-05-02 Uros Bizjak <ubizjak@gmail.com>
3568
3569 * gcov-iov.c (main): Change format string placeholder
3570 from %#08x to 0x%08x.
3571 * genchecksum.c (dosum): Change format string placeholder
3572 from %#02x to 0x%02x.
3573
35742010-05-02 Richard Guenther <rguenther@suse.de>
3575
3576 PR tree-optimization/43879
3577 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
3578
35792010-05-02 Bruno Haible <bruno@clisp.org>
3580
3581 * doc/extend.texi (Function Attributes): Fix a typo.
3582
35832010-05-02 Uros Bizjak <ubizjak@gmail.com>
3584
3585 Revert:
3586 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
3587 placeholder from 0x%x to %#x.
3588 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
3589 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
3590 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
3591 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
3592 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
3593 * config/i386/i386.c (ix86_target_string): Ditto.
3594 * config/i386/i386.c (output_pic_addr_const): Ditto.
3595 (print_operand): Ditto.
3596
35972010-05-02 Uros Bizjak <ubizjak@gmail.com>
3598
3599 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
3600 placeholder from 0x%x to %#x.
3601 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
3602 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
3603 (ASM_OUTPUT_DEBUG_DATA): Ditto.
3604 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
3605 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
3606 * optc-gen.awk: Ditto.
3607 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
3608 (HOST_WIDE_INT_PRINT_HEX): Ditto.
3609 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
3610 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
3611
36122010-05-01 Anatoly Sokolov <aesok@post.ru>
3613
3614 * target.h (struct calls): Add function_value_regno_p field.
3615 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
3616 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
3617 * targhooks.c (default_function_value_regno_p): New function.
3618 * targhooks.h (default_function_value_regno_p): Declare function.
3619 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
3620 * builtins.c. (apply_result_size): (Ditto.).
3621 * combine.c. (likely_spilled_retval_p): (Ditto.).
3622 * mode-switching.c. Include 'target.h'.
3623 (create_pre_exit): Use function_value_regno_p hook.
3624 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
3625 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
3626 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
3627
3628 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
3629 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
3630 (ix86_function_value_regno_p): Declare as static, change argument
3631 type to const unsigned int.
3632 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
3633
36342010-05-01 Richard Guenther <rguenther@suse.de>
3635
3636 PR tree-optimization/43949
3637 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
3638 types.
3639 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
3640
36412010-05-01 Anatoly Sokolov <aesok@post.ru>
3642
3643 * rtl.h (CONST_DOUBLE_P): Define.
3644 (rtx_to_double_int): Declare.
3645 * emit-rtl.c (rtx_to_double_int): New function.
3646 * dwarf2out.c (insert_double): New function.
3647 (loc_descriptor, add_const_value_attribute): Clean up, use
3648 rtx_to_double_int and insert_double functions.
3649
36502010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
3651
3652 * doc/extend.texi (Inline): Add missing return keyword to examples.
3653 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
3654 "command-line".
3655
36562010-04-30 Eric Botcazou <ebotcazou@adacore.com>
3657
3658 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
3659 the variable part of the offset as well. Use highest_pow2_factor for
3660 all alignment checks.
3661
36622010-04-30 Richard Guenther <rguenther@suse.de>
3663
3664 PR tree-optimization/43879
3665 * tree-ssa-structalias.c (type_could_have_pointers): Functions
3666 can have pointers.
3667
36682010-04-30 Jan Hubicka <jh@suse.cz>
3669
3670 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
3671 varpool.
3672 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
3673
36742010-04-30 Jan Hubicka <jh@suse.cz>
3675
3676 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
3677 New.
3678 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
3679 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
3680 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
3681 cgraph_node_set_needs_ltrans_p): Remove.
3682
36832010-04-30 Steven Bosscher <steven@gcc.gnu.org>
3684
3685 * sdbout.c: Include vec.h, do not include varray.h.
3686 (deferred_global_decls, sdbout_global_decl,
3687 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
3688 * toplev.c: Do not include varray.h.
3689 (dump_memory_report): Do not dump VARRAY statistics.
3690 * gengtype.c (open_base_file): Ignore varray.h.
3691 * Makefile.in: Update for abovementioned changes.
3692 Remove all traces of varray.c and varray.h.
3693 * varray.c: Remove file.
3694 * varray.h: Remove file.
3695
36962010-04-30 Jan Hubicka <jh@suse.cz>
3697
3698 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
3699 references.
3700
37012010-04-30 Jan Hubicka <jh@suse.cz>
3702
3703 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
3704 needed.
3705
37062010-04-30 Richard Guenther <rguenther@suse.de>
3707
3708 * tree-ssa-structalias.c (get_constraint_for_1): Generate
3709 constraints for CONSTRUCTOR.
3710
37112010-04-30 Richard Guenther <rguenther@suse.de>
3712
3713 PR lto/43946
3714 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
3715 first after all lowering passes.
3716
37172010-04-30 Steven Bosscher <steven@gcc.gnu.org>
3718
3719 * toplev.c: Include varray.h for statistics dumping.
3720 * tree.h: Do not declare varray_head_tag.
3721 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
3722 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
3723 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
3724 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
3725 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
3726 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
3727 c-common.c, c-common.h, reg-stack.c, basic-block.h,
3728 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
3729 include varray.h.
3730 * Makefile.in: Update for abovementioned changes.
3731
37322010-04-30 Jakub Jelinek <jakub@redhat.com>
3733
3734 PR debug/43942
3735 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
3736
37372010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
3738
3739 * config/picochip/picochip.c (picochip_legitimize_address): Define.
3740 Use this function to do machine-specific conversion.
3741 (picochip_legitimize_reload_address): Likewise.
3742 (picochip_legitimate_address_p): Check valid base register only if
3743 strict.
3744 (picochip_check_conditional_copy): Check for modw only if opnd is
3745 register.
3746 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
3747 to call the function in c.
3748 * config/picochip/picochip-protos.h
3749 (picochip_legitimize_reload_address): Define.
3750 * config/picochip/picochip.md (supported_compare1): Define.
3751
37522010-04-30 Jan Hubicka <jh@suse.cz>
3753
3754 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
3755 (cgraph_global_info): Remove inlined.
3756 (LTO_cgraph_tag_names): Remove.
3757 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
3758 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
3759 simplify cgraph tags and document.
3760 (lto_output_node): Use only LTO_cgraph_unavail_node and
3761 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
3762 for_functions_valid, global info, process and output flags.
3763 (input_overwrite_node): Initialize estimated stack size and
3764 estimated growth. Do not read flags we no longer store.
3765 (input_node): Likewise do not read info no longer stored.
3766 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
3767 flag.
3768
37692010-04-30 Richard Guenther <rguenther@suse.de>
3770
3771 PR tree-optimization/43879
3772 * tree-ssa-structalias.c (get_constraint_for_1): Properly
3773 handle non-zero initializers.
3774
37752010-04-30 Richard Guenther <rguenther@suse.de>
3776
3777 * builtins.c (fold_builtin_1): Delete free (0).
3778
37792010-04-29 Jan Hubicka <jh@suse.cz>
3780
3781 * gengtype.c (open_base_files): Add lto-streamer.h
3782 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
3783 (pass_ipa_cp): GGC collect.
3784 * toplev. (compile_file): Do not output symbols.
3785 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
3786 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
3787 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
3788 * lto-section-in.c: Include ggc.h
3789 (lto_new_in_decl_state): Alloc in GGC.
3790 (lto_delete_in_decl_state): Likewise.
3791 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
3792 Collect.
3793
37942010-04-29 Bernd Schmidt <bernds@codesourcery.com>
3795
3796 PR target/42895
3797 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
3798 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
3799 (HONOR_REG_ALLOC_ORDER): Describe new macro.
3800 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
3801 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
3802 account only if HONOR_REG_ALLOC_ORDER is not defined.
3803 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
3804 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
3805
38062010-04-29 Jon Grant <04@jguk.org>
3807
3808 * collect2.c (vflag): Change type from int to bool.
3809 (debug): Likewise.
3810 (helpflag): New global bool.
3811 (main): Set vflag and debug with boolean, not integer truth values.
3812 Accept new "--help" option and output usage text if found.
3813 * collect2.h (vflag): Update prototype.
3814 (debug): Likewise.
3815
38162010-04-29 H.J. Lu <hongjiu.lu@intel.com>
3817
3818 PR bootstrap/43936
3819 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
3820
38212010-04-29 Richard Guenther <rguenther@suse.de>
3822
3823 PR bootstrap/43935
3824 * plugin.h (invoke_plugin_callbacks): Annotate arguments
3825 with ATTRIBUTE_UNUSED.
3826
38272010-04-29 H.J. Lu <hongjiu.lu@intel.com>
3828
3829 PR target/43921
3830 * config/i386/i386.c (get_some_local_dynamic_name): Replace
3831 INSN_P with NONDEBUG_INSN_P.
3832 (distance_non_agu_define): Likewise.
3833 (distance_agu_use): Likewise.
3834
38352010-04-29 Bernd Schmidt <bernds@codesourcery.com>
3836
3837 From Dominique d'Humieres <dominiq@lps.ens.fr>
3838 PR bootstrap/43858
3839 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
3840 test_set.
3841
38422010-04-29 Brian Hackett <bhackett1024@gmail.com>
3843
3844 * plugin.h (invoke_plugin_callbacks): New inline function.
3845 * plugin.c (flag_plugin_added): New global flag.
3846 (add_new_plugin): Initialize above flag.
3847 (invoke_plugin_callbacks): Rename to ...
3848 (invoke_plugin_callbacks_full): ... this.
3849
38502010-04-28 Jan Hubicka <jh@suse.cz>
3851
3852 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
3853 (lto_varpool_replace_node): New.
3854 (lto_symtab_resolve_symbols): Resolve varpool nodes.
3855 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
3856 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
3857 * cgraph.h (varpool_node_ptr): New type.
3858 (varpool_node_ptr): New vector.
3859 (varpool_node_set_def): New structure.
3860 (varpool_node_set): New type.
3861 (varpool_node_set): New vector.
3862 (varpool_node_set_element_def): New structure.
3863 (varpool_node_set_element, const_varpool_node_set_element): New types.
3864 (varpool_node_set_iterator): New type.
3865 (varpool_node): Add prev pointers, add used_from_other_partition,
3866 in_other_partition.
3867 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
3868 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
3869 varpool_get_node, varpool_remove_node): Declare.
3870 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
3871 varpool_node_set_size): New inlines.
3872 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
3873 * tree-pass.h (varpool_node_set_def): Forward declare.
3874 (ipa_opt_pass_d): Summary writting takes vnode sets too.
3875 (ipa_write_optimization_summaries): Update prototype.
3876 * ipa-cp.c (ipcp_write_summary): Update.
3877 * ipa-reference.c (ipa_reference_write_summary): Update.
3878 * lto-cgraph.c (lto_output_varpool_node): New static function.
3879 (output_varpool): New function.
3880 (input_varpool_node): New static function.
3881 (input_varpool_1): New function.
3882 (input_cgraph): Input varpool.
3883 * ipa-pure-const.c (pure_const_write_summary): Update.
3884 * lto-streamer-out.c (lto_output): Update, output varpool too.
3885 (write_global_stream): Kill WPA hack.
3886 (produce_asm_for_decls): Update.
3887 (output_alias_pair_p): Handle variables.
3888 (output_unreferenced_globals): Output only needed partition of varpool.
3889 * ipa-inline.c (inline_write_summary): Update.
3890 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
3891 cgraph.
3892 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
3893 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
3894 varpool_node_set_new, varpool_node_set_add,
3895 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
3896 debug_varpool_node_set): New functions.
3897 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
3898 (execute_one_pass): Process new decls too.
3899 (ipa_write_summaries_2): Pass around vsets.
3900 (ipa_write_summaries_1): Likewise.
3901 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
3902 to add.
3903 (ipa_write_optimization_summaries_1): Pass around vsets.
3904 (ipa_write_optimization_summaries): Likewise.
3905 * varpool.c (varpool_get_node): New.
3906 (varpool_node): Update doubly linked lists.
3907 (varpool_remove_node): New.
3908 (dump_varpool_node): More dumping.
3909 (varpool_enqueue_needed_node): Update doubly linked lists.
3910 (decide_is_variable_needed): Kill ltrans hack.
3911 (varpool_finalize_decl): Kill lto hack.
3912 (varpool_assemble_decl): Skip decls in other partitions.
3913 (varpool_assemble_pending_decls): Update doubly linkes lists.
3914 (varpool_empty_needed_queue): Likewise.
3915 (varpool_extra_name_alias): Likewise.
3916 * lto-streamer.c (lto_get_section_name): Add vars section.
3917 * lto-streamer.h (lto_section_type): Update.
3918 (output_varpool, input_varpool): Declare.
3919
39202010-04-28 Mike Stump <mikestump@comcast.net>
3921
3922 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
3923
39242010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3925
3926 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
3927 record or union type with RECORD_OR_UNION_TYPE_P predicate.
3928 (lto_input_ts_type_tree_pointers): Likewise.
3929 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
3930 (lto_output_ts_type_tree_pointers): Likewise.
3931
39322010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3933
3934 Uniquization of constants at the Tree level
3935 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
3936 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
3937 bit to the end.
3938 (tree_output_constant_def): Declare.
3939 * gimplify.c (gimplify_init_constructor): When using block copy, first
3940 uniquize the constant constructor on the RHS.
3941 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
3942 DECL_IN_CONSTANT_POOL flag.
3943 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
3944 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
3945 constant pool.
3946 (assemble_variable): Deal with symbols belonging to the tree constant
3947 pool.
3948 (get_constant_section): Add ALIGN parameter and simplify.
3949 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
3950 (assemble_constant_contents): Use the expression of the VAR_DECL.
3951 (output_constant_def_contents): Use the alignment of the VAR_DECL.
3952 (tree_output_constant_def): New global function.
3953 (mark_constant): Use the expression of the VAR_DECL.
3954 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
3955 its expression.
3956 (output_object_block): Likewise and assemble the expression.
3957
39582010-04-28 Eric Botcazou <ebotcazou@adacore.com>
3959
3960 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
3961 hash_tree, eq_tree): New tree hash table.
3962 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
3963 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
3964 lto_orig_address_remove): Reimplement.
3965
39662010-04-28 Xinliang David Li <davidxl@google.com>
3967
3968 PR c/42643
3969 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
3970 (compute_uninit_opnds_pos): New function.
3971 (is_non_loop_exit_postdominating): New function.
3972 (compute_control_dep_chain): New function.
3973 (find_pdom): New function.
3974 (convert_control_dep_chain_into_preds): New function.
3975 (find_predicates): New function.
3976 (find_control_equiv_block): New function.
3977 (collect_phi_def_edges): New function.
3978 (find_def_preds): New function.
3979 (find_dom): New function.
3980 (dump_predicates): New function.
3981 (get_cmp_code): New function.
3982 (is_value_included_in): New function.
3983 (find_matching_predicate_in_rest_chains): New function.
3984 (use_pred_not_overlap_with_undef_path_pred): New function.
3985 (is_use_properly_guarded): New function.
3986 (normalize_cond_1): New function.
3987 (is_and_or_or): New function.
3988 (normalize_cond): New function.
3989 (is_gcond_subset_of): New function.
3990 (is_subset_of_any): New function.
3991 (is_or_set_subset_of): New function.
3992 (is_and_set_subset_of): New function.
3993 (is_norm_cond_subset_of): New function.
3994 (is_pred_expr_subset_of): New function.
3995 (is_pred_chain_subset_of): New function.
3996 (is_included_in): New function.
3997 (is_superset_of): New function.
3998 (find_uninit_use): New function.
3999 (warn_uninitialized_phi): New function.
4000 (compute_possibly_undefined_names): New function.
4001 (ssa_undefined_value_p): New function.
4002 (execute_late_warn_uninitialized): New function.
4003 * tree-ssa.c (ssa_undefined_value_p): Removed.
4004 (warn_uninit): Changed to extern.
4005 (warn_uninitialized_phi): Removed.
4006 (warn_uninitialized_vars): Changed to extern.
4007 (execute_late_warn_uninitialized): Removed
4008 * tree-flow.h: Add new prototypes.
4009 * timevar.def: Add new time variable.
4010 * Makefile.in: Add new build file.
4011
40122010-04-28 Uros Bizjak <ubizjak@gmail.com>
4013
4014 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
4015 type if available.
4016
40172010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4018
4019 PR target/22224
4020 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
4021
40222010-04-28 Martin Jambor <mjambor@suse.cz>
4023
4024 * cgraph.h (struct cgraph_node): New field indirect_calls.
4025 (struct cgraph_indirect_call_info): New type.
4026 (struct cgraph_edge): Removed field indirect_call. New fields
4027 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
4028 (cgraph_create_indirect_edge): Declare.
4029 (cgraph_make_edge_direct): Likewise.
4030 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
4031 * ipa-prop.h (struct ipa_param_call_note): Removed.
4032 (struct ipa_node_params): Removed field param_calls.
4033 (ipa_create_all_structures_for_iinln): Declare.
4034 * cgraph.c: Described indirect edges and uids in initial comment.
4035 (cgraph_add_edge_to_call_site_hash): New function.
4036 (cgraph_edge): Search also among the indirect edges, use
4037 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
4038 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
4039 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
4040 site hash.
4041 (initialize_inline_failed): Assign a reason to indirect edges.
4042 (cgraph_create_edge_1): New function.
4043 (cgraph_create_edge): Moved some functionality to
4044 cgraph_create_edge_1.
4045 (cgraph_create_indirect_edge): New function.
4046 (cgraph_edge_remove_callee): Add an assert checking for
4047 non-indirectness.
4048 (cgraph_edge_remove_caller): Special-case indirect edges.
4049 (cgraph_remove_edge): Likewise.
4050 (cgraph_set_edge_callee): New function.
4051 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
4052 (cgraph_make_edge_direct): New function.
4053 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
4054 the declaration of the call statement matches.
4055 (cgraph_node_remove_callees): Special-case indirect edges.
4056 (cgraph_clone_edge): Likewise.
4057 (cgraph_clone_node): Clone also the indirect edges.
4058 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
4059 indirect_call, dump count of indirect_calls edges.
4060 * ipa-prop.c (iinlining_processed_edges): New variable.
4061 (ipa_note_param_call): Create indirect edges instead of
4062 creating notes. New parameter node.
4063 (ipa_analyze_call_uses): New parameter node, pass it on to
4064 ipa_note_param_call.
4065 (ipa_analyze_stmt_uses): Likewise.
4066 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
4067 (print_edge_addition_message): Work on edges rather than on notes.
4068 (update_call_notes_after_inlining): Likewise, renamed to
4069 update_indirect_edges_after_inlining.
4070 (ipa_create_all_structures_for_iinln): New function.
4071 (ipa_free_node_params_substructures): Do not free notes.
4072 (ipa_edge_duplication_hook): Propagate bits within
4073 iinlining_processed_edges bitmap.
4074 (ipa_node_duplication_hook): Do not duplicate notes.
4075 (free_all_ipa_structures_after_ipa_cp): Renamed to
4076 ipa_free_all_structures_after_ipa_cp.
4077 (free_all_ipa_structures_after_iinln): Renamed to
4078 ipa_free_all_structures_after_iinln.
4079 (ipa_write_param_call_note): Removed.
4080 (ipa_read_param_call_note): Removed.
4081 (ipa_write_indirect_edge_info): New function.
4082 (ipa_read_indirect_edge_info): Likewise.
4083 (ipa_write_node_info): Do not stream notes, do stream information
4084 in indirect edges.
4085 (ipa_read_node_info): Likewise.
4086 (lto_ipa_fixup_call_notes): Removed.
4087 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
4088 * ipa-inline.c (pass_ipa_inline): Likewise.
4089 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
4090 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
4091 * tree-inline.c (copy_bb): Removed an unnecessary double check for
4092 is_gimple_call.
4093 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
4094 edges.
4095 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
4096 (output_cgraph): Stream also indirect edges.
4097 (lto_output_edge): Added capability to stream indirect edges.
4098 (input_edge): Likewise.
4099 (input_cgraph_1): Likewise.
4100 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
4101 of indirect edges.
4102
41032010-04-28 Richard Guenther <rguenther@suse.de>
4104
4105 PR tree-optimization/43879
4106 PR tree-optimization/43909
4107 * tree-ssa-structalias.c (struct variable_info): Add
4108 only_restrict_pointers flag.
4109 (new_var_info): Initialize it. Increment stats.total_vars here.
4110 (create_function_info_for): Do not increment stats.total_vars here.
4111 (get_function_part_constraint): Fix build with C++.
4112 (insert_into_field_list): Remove.
4113 (push_fields_onto_fieldstack): Properly merge fields.
4114 (create_variable_info_for): Split and simplify.
4115 (create_variable_info_for_1): New piece.
4116 (intra_create_variable_infos): Properly make restrict constraints
4117 from parameters.
4118
41192010-04-28 Richard Guenther <rguenther@suse.de>
4120
4121 PR c++/43880
4122 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
4123
41242010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
4125 Jan Hubicka <hubicka@ucw.cz>
4126
4127 * doc/invoke.texi (-Wsuggest-attribute=const,
4128 -Wsuggest-attribute=pure): Document.
4129 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
4130 (function_always_visible_to_compiler_p,
4131 suggest_attribute, warn_function_pure, warn_function_const):
4132 New functions.
4133 (check_call): Improve debug info.
4134 (analyze_function): Do not check availability.
4135 (add_new_function): Check availability.
4136 (propagate): Output warnings.
4137 (skip_function_for_local_pure_const): New function.
4138 (local_pure_const): Use it; output warnings.
4139 * common.opt (Wsuggest-attribute=const,
4140 Wsuggest-attribute=pure): New.
4141
41422010-04-27 Jakub Jelinek <jakub@redhat.com>
4143
4144 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
4145 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
4146 or DW_CFA_def_cfa_offset{,_sf}.
4147
41482010-04-27 Eric Botcazou <ebotcazou@adacore.com>
4149
4150 * tree.h: Fix truncated long macros.
4151
41522010-04-27 Kai Tietz <kai.tietz@onevision.com>
4153
4154 * collect2.c (TARGET_64BIT): Redefine to target's default.
4155 * tlink.c: Likewise.
4156 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
4157 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
4158 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
4159 for underscoring __USER_LABEL_PREFIX__.
4160 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
4161 (SUB_LINK_ENTRY32): New.
4162 (SUB_LINK_ENTRY64): New.
4163 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
4164 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
4165 (SUB_LINK_ENTRY64): New.
4166 (SUB_LINK_ENTRY): New.
4167 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
4168 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
4169 x64 target is choosen.
4170 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
4171 * configure: Regenerated.
4172 * configure.ac (leading-mingw64-underscores): Option added.
4173
41742010-04-27 Jan Hubicka <jh@suse.cz>
4175
4176 * doc/invoke.texi (-fipa-profile): Document.
4177 * opts.c (decode_options): Enable ipa-profile at -O1.
4178 * timevar.def (TV_IPA_PROFILE): Define.
4179 * common.opt (fipa-profile): Add.
4180 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
4181 flag for clones.
4182 (cgraph_propagate_frequency): Handle only local ones.
4183 * tree-pass.h (pass_ipa_profile): Declare.
4184 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
4185 (pass_ipa_profile): Use TV_IPA_PROFILE.
4186 * ipa.c (ipa_profile): New function.
4187 (gate_ipa_profile): Likewise.
4188 (pass_ipa_profile): New global variable.
4189 * passes.c (pass_ipa_profile): New.
4190
41912010-04-27 Nathan Froyd <froydnj@codesourcery.com>
4192
4193 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
4194
41952010-04-27 Martin Jambor <mjambor@suse.cz>
4196
4197 PR middle-end/43812
4198 * ipa.c (dissolve_same_comdat_group_list): New function.
4199 (function_and_variable_visibility): Call
4200 dissolve_same_comdat_group_list when comdat group contains external or
4201 newly local nodes.
4202 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
4203 lists are circular and that they contain only DECL_ONE_ONLY nodes.
4204
42052010-04-27 Eric Botcazou <ebotcazou@adacore.com>
4206
4207 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
4208 (const_hash_1) <VECTOR_CST>: New case.
4209 (compare_constant) <VECTOR_CST>: Likewise.
4210 <ADDR_EXPR>: Deal with LABEL_REFs.
4211 (copy_constant) <VECTOR_CST>: New case.
4212
42132010-04-27 Jan Hubicka <jh@suse.cz>
4214
4215 * cgraph.c (cgraph_propagate_frequency): New function.
4216 * cgraph.h (cgraph_propagate_frequency): Declare.
4217 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
4218 cgraph_propagate_frequency.
4219
42202010-04-27 Jakub Jelinek <jakub@redhat.com>
4221
4222 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
4223
42242010-04-27 Bernd Schmidt <bernds@codesourcery.com>
4225
4226 PR target/40657
4227 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
4228 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
4229 here to determine which regs to push and how much stack to reserve.
4230
42312010-04-27 Jie Zhang <jie@codesourcery.com>
4232
4233 * doc/gimple.texi (gimple_statement_with_ops): Remove
4234 addresses_taken field.
4235 (gimple_statement_with_memory_ops): Likewise.
4236
42372010-04-27 Jan Hubicka <jh@suse.cz>
4238
4239 * tree-inline.c (eni_inlining_weights): Remove.
4240 (estimate_num_insns): Special case more builtins.
4241
42422010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
4243
4244 PR c/32207
4245 * c-typeck.c (build_binary_op): Move forward check for comparison
4246 pointer with null pointer constant and adjust the diagnostic message.
4247
42482010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
4249
4250 PR lto/42776
4251 * configure.ac (gcc_cv_as_section_has_align): Set if installed
4252 binutils supports extended .section directive needed by LTO, or
4253 warn if older binutils found.
4254 (LTO_BINARY_READER): New AC_SUBST'd variable.
4255 (LTO_USE_LIBELF): Likewise.
4256 * gcc/config.gcc (lto_binary_reader): New target-specific configure
4257 variable.
4258 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
4259 (LTO_USE_LIBELF): Likewise.
4260 * configure: Regenerate.
4261
4262 * collect2.c (is_elf): Rename from this ...
4263 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
4264 object files in addition to ELF-formatted ones.
4265 (scan_prog_file): Caller updated. Also allow for LTO info marker
4266 symbol to be prefixed or not by an extra underscore.
4267
4268 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
4269 * config/i386/winnt.c: Also #include lto-streamer.h
4270 (i386_pe_asm_named_section): Specify 1-byte section alignment for
4271 LTO named sections.
4272 (i386_pe_asm_output_aligned_decl_common): Add comment.
4273 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
4274
42752010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
4276
4277 PR target/43889
4278 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
4279 Add missing earlyclobber for second alternative.
4280
42812010-04-26 Bernd Schmidt <bernds@codesourcery.com>
4282
4283 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
4284 bits for artificial defs at the top of the block.
4285 * fwprop.c (single_def_use_enter_block): Don't call it.
4286
42872010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
4288
4289 PR 43715
4290 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
4291 instead of "$gcc_cv_objdump -T".
4292 Use "-undefined dynamic_lookup" on darwin.
4293 * gcc/configure: Regenerate.
4294
42952010-04-26 Jakub Jelinek <jakub@redhat.com>
4296
4297 PR c/43893
4298 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
4299
43002010-04-26 Nathan Froyd <froydnj@codesourcery.com>
4301
4302 * c-parser.c (struct c_token): Move location field up.
4303 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
4304 (struct c_declspecs): Convert typespec_word, storage_class, and
4305 default_int_p into bitfields.
4306 (struct c_declarator): Move loc field up.
4307
43082010-04-26 Nathan Froyd <froydnj@codesourcery.com>
4309
4310 * cfgloop.h (struct loop): Move can_be_parallel field up.
4311 * ipa-prop.h (struct ip_node_params): Move bitfields up.
4312 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
4313 down.
4314 (struct iv_cand): Convert pos field into a bitfield.
4315 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
4316 field up.
4317 (struct _stmt_vec_info): Shuffle fields for better packing.
4318
43192010-04-26 Eric Botcazou <ebotcazou@adacore.com>
4320
4321 * varasm.c (IN_NAMED_SECTION): Remove guard.
4322 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
4323 (IN_NAMED_SECTION_P): ...this.
4324 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
4325 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
4326
43272010-04-26 Eric Botcazou <ebotcazou@adacore.com>
4328
4329 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
4330 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
4331 of shadowing it. Fix comments.
4332
43332010-04-26 Jan Hubicka <jh@suse.cz>
4334
4335 * cgraph.c (cgraph_create_node): Set node frequency to normal.
4336 (cgraph_clone_node): Copy function frequency.
4337 * cgraph.h (node_frequency): New enum
4338 (struct cgraph_node): Add.
4339 * final.c (rest_of_clean_state): Update.
4340 * lto-cgraph.c (lto_output_node): Output node frequency.
4341 (input_overwrite_node): Input node frequency.
4342 * tre-ssa-loop-ivopts (computation_cost): Update.
4343 * lto-streamer-out.c (output_function): Do not output function
4344 frequency.
4345 * predict.c (maybe_hot_frequency_p): Update and handle functions
4346 executed once.
4347 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
4348 attribute lookup.
4349 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
4350 (compute_function_frequency): Set noreturn functions to be executed
4351 once.
4352 (choose_function_section): Update.
4353 * lto-streamer-in.c (input_function): Do not input function frequency.
4354 * function.c (allocate_struct_function): Do not initialize function
4355 frequency.
4356 * function.h (function_frequency): Remove.
4357 (struct function): Remove function frequency.
4358 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
4359 (try_update): Update.
4360 * tree-inline.c (initialize_cfun): Do not update function frequency.
4361 * passes.c (pass_init_dump_file): Update.
4362 * i386.c (ix86_compute_frame_layout): Update.
4363 (ix86_pad_returns): Update.
4364
43652010-04-26 Jie Zhang <jie@codesourcery.com>
4366
4367 PR tree-optimization/43833
4368 * tree-vrp.c (range_int_cst_p): New.
4369 (range_int_cst_singleton_p): New.
4370 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
4371 when both operands are constants. Use range_int_cst_p in
4372 BIT_IOR_EXPR case.
4373
43742010-04-26 Jan Hubicka <jh@suse.cz>
4375
4376 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
4377
43782010-04-26 Richard Guenther <rguenther@suse.de>
4379
4380 PR lto/43080
4381 * gimple.c (gimple_decl_printable_name): Deal gracefully
4382 with a NULL DECL_NAME.
4383
43842010-04-26 Richard Guenther <rguenther@suse.de>
4385
4386 PR lto/42425
4387 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
4388 if emitting debug information and it is either a function
4389 or a namespace decl.
4390
43912010-04-26 Ira Rosen <irar@il.ibm.com>
4392
4393 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
4394 determine if the statement is vectorizable, and a macro to access it.
4395 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
4396 Skip statements that can't be vectorized. If the analysis fails,
4397 mark the statement as unvectorizable if vectorizing basic block.
4398 (vect_compute_data_refs_alignment): Likewise.
4399 (vect_verify_datarefs_alignment): Skip statements marked as
4400 unvectorizable. Add print.
4401 (vect_analyze_group_access): Skip statements that can't be
4402 vectorized. If the analysis fails, mark the statement as
4403 unvectorizable if vectorizing basic block.
4404 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
4405 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4406 generated stmts for SLP.
4407 (new_stmt_vec_info): Initialize the new field.
4408 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4409 statements marked as unvectorizable.
4410
44112010-04-25 Joseph Myers <joseph@codesourcery.com>
4412
4413 * c-common.c (flag_isoc1x): New.
4414 (flag_isoc99): Update comment.
4415 * c-common.h (flag_isoc1x): New.
4416 (flag_isoc99): Update comment.
4417 * c-cppbuiltin.c (builtin_define_float_constants): Also define
4418 __<type>_DECIMAL_DIG__.
4419 * c-opts.c (set_std_c1x): New.
4420 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
4421 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
4422 * c.opt (-std=c1x, -std=gnu1x): New options.
4423 * doc/cpp.texi: Mention -std=c1x.
4424 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
4425 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
4426 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
4427 * doc/standards.texi: Mention C1X.
4428 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
4429 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
4430 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
4431 Define for C1X.
4432
44332010-04-25 Uros Bizjak <ubizjak@gmail.com>
4434
4435 * config/i386/gmon-sol2.c (_mcleanup): Change format string
4436 placeholder from 0x%x to %#x.
4437 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
4438 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
4439 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
4440 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
4441 * config/i386/i386.c (ix86_target_string): Ditto.
4442 (output_pic_addr_const): Ditto.
4443 (print_operand): Ditto.
4444
44452010-04-25 Paolo Bonzini <bonzini@gnu.org>
4446
4447 * combine.c (find_split_point): Add third argument. Use it
4448 to find nested multiply-accumulate instructions. Adjust calls.
4449 (try_combine): Adjust call to find_split_point.
4450
44512010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
4452
4453 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
4454
44552010-04-24 Bernd Schmidt <bernds@codesourcery.com>
4456
4457 PR tree-optimization/41442
4458 * fold-const.c (merge_truthop_with_opposite_arm): New function.
4459 (fold_binary_loc): Call it.
4460
44612010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
4462
4463 * toplev.c (general_init): Set default for fdiagnostics-show-option.
4464 * opts.c (common_handle_option): Allow disabling it.
4465 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
4466
44672010-04-23 Eric Botcazou <ebotcazou@adacore.com>
4468
4469 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
4470 between modes if both types are integral.
4471
44722010-04-23 Richard Guenther <rguenther@suse.de>
4473
4474 PR tree-optimization/43572
4475 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
4476
44772010-04-23 Richard Guenther <rguenther@suse.de>
4478
4479 PR lto/43455
4480 * tree-inline.c (tree_can_inline_p): Also check compatibility
4481 of return types.
4482
44832010-04-23 Martin Jambor <mjambor@suse.cz>
4484
4485 PR tree-optimization/43846
4486 * tree-sra.c (struct access): New flag grp_assignment_read.
4487 (build_accesses_from_assign): Set grp_assignment_read.
4488 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
4489 (enum mark_read_status): New type.
4490 (analyze_access_subtree): Propagate grp_assignment_read, create
4491 accesses also if both direct_read and root->grp_assignment_read.
4492
44932010-04-23 Martin Jambor <mjambor@suse.cz>
4494
4495 PR middle-end/43835
4496 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
4497 function does not have type attributes.
4498
44992010-04-23 Richard Guenther <rguenther@suse.de>
4500
4501 PR lto/42653
4502 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
4503 of FUNCTION_DECLs.
4504
45052010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4506
4507 * sese.h (create_if_region_on_edge): Remove.
4508
4509 * sese.c (create_if_region_on_edge): Make static.
4510
4511 * tree-inline.c: Do not include ggc.h.
4512
4513 * expr.c: Do not include ggc.h.
4514
4515 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
4516 dependencies.
4517
45182010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
4519
4520 PR target/43744
4521 * config/sh/sh.c (find_barrier): Don't emit a constant pool
4522 in the middle of insns for casesi_worker_2.
4523
45242010-04-22 David Edelsohn <edelsohn@gnu.org>
4525
4526 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
4527
45282010-04-22 Ira Rosen <irar@il.ibm.com>
4529
4530 PR tree-optimization/43842
4531 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
4532 loop unrolling in update of exit phis. Fix comment.
4533 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
4534 least two reduction statements in the loop before starting SLP
4535 analysis.
4536
45372010-04-22 Nick Clifton <nickc@redhat.com>
4538
4539 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
4540
45412010-04-22 Alexander Monakov <amonakov@ispras.ru>
4542
4543 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
4544 to simplify a + ~a.
4545
45462010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4547
4548 * tree-parloops.c (loop_parallel_p): New argument
4549 parloop_obstack. Pass it down.
4550 (parallelize_loops): New variable parloop_obstack. Initialize it,
4551 pass it down, free it.
4552
4553 * tree-loop-linear.c (linear_transform_loops): Pass down
4554 lambda_obstack.
4555
4556 * tree-data-ref.h (lambda_compute_access_matrices): New argument
4557 of type struct obstack *.
4558
4559 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
4560 scratch_obstack. Initialize it, pass down, free it.
4561
4562 * lambda.h (lambda_loop_new): Remove.
4563 (lambda_matrix_new, lambda_matrix_inverse)
4564 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
4565 argument of type struct obstack *.
4566
4567 * lambda-trans.c (lambda_trans_matrix_new): New argument
4568 lambda_obstack. Pass it down, use obstack allocation for ret.
4569 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
4570 it down.
4571
4572 * lambda-mat.c (lambda_matrix_get_column)
4573 (lambda_matrix_project_to_null): Remove.
4574 (lambda_matrix_new): New argument lambda_obstack. Use obstack
4575 allocation for mat.
4576 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
4577 lambda_obstack.
4578
4579 * lambda-code.c (lambda_loop_new): New function.
4580 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
4581 (lambda_compute_auxillary_space, lambda_compute_target_space)
4582 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
4583 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
4584 (build_access_matrix): New argument lambda_obstack. Use obstack
4585 allocation for am.
4586 (lambda_compute_step_signs, lambda_compute_access_matrices): New
4587 argument lambda_obstack. Pass it down.
4588
45892010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4590
4591 * optabs.h (expand_widening_mult): Declare.
4592
45932010-04-22 Richard Guenther <rguenther@suse.de>
4594
4595 PR tree-optimization/43845
4596 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
4597 lookup the CALL_EXPR function and arguments.
4598
45992010-04-22 Nick Clifton <nickc@redhat.com>
4600
4601 * config/stormy16/stormy16.c
4602 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
4603 * config/stormy16/stormy16.h: Tidy up formatting.
4604 (DONT_USE_BUILTIN_SETJMP): Remove definition.
4605 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
4606 (ineqbranchsi): Delete pattern.
4607 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
4608 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
4609 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
4610 stormy16-lib2-ucmpsi2.c.
4611
46122010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4613
4614 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
4615 df_simulate_find_noclobber_defs as appropriate. Keep track of an
4616 extra set merge_set_noclobber, and use it to relax the final test
4617 slightly.
4618 * df.h (df_simulate_find_noclobber_defs): Declare.
4619 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
4620 conditional defs.
4621 (df_simulate_find_noclobber_defs): New function.
4622
46232010-04-22 Uros Bizjak <ubizjak@gmail.com>
4624
4625 * config/i386/i386.md: Use {} around multi-line preparation statements.
4626
46272010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4628
4629 * c-tree.h (push_init_level, pop_init_level, set_init_index)
4630 (process_init_element): New argument of type struct obstack *.
4631
4632 * c-typeck.c (push_init_level, pop_init_level, set_designator)
4633 (set_init_index, set_init_label, set_nonincremental_init)
4634 (set_nonincremental_init_from_string, find_init_member)
4635 (output_init_element, output_pending_init_elements)
4636 (process_init_element): New argument braced_init_obstack. Pass it
4637 down.
4638 (push_range_stack, add_pending_init): New argument
4639 braced_init_obstack. Use obstack allocation.
4640
4641 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
4642 braced_init_obstack. Pass it down.
4643 (c_parser_braced_init): New variables ret, braced_init_obstack.
4644 Initialize obstack, pass it down and finally free it.
4645
46462010-04-22 Bernd Schmidt <bernds@codesourcery.com>
4647
4648 PR middle-end/29274
4649 * tree-pass.h (pass_optimize_widening_mul): Declare.
4650 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
4651 gate_optimize_widening_mul): New static functions.
4652 (pass_optimize_widening_mul): New.
4653 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
4654 <case MULT_EXPR>: Remove support for widening multiplies.
4655 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
4656 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
4657 simplify_gen_unary rather than directly building extensions.
4658 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
4659 WIDEN_MULT_EXPR.
4660 * expmed.c (expand_widening_mult): New function.
4661 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
4662
46632010-04-21 Jan Hubicka <jh@suse.cz>
4664
4665 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
4666 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
4667 * lto-wpa-fixup.c: Remove.
4668 * Makefile.in (lto-wpa-fixup.o): Remove.
4669 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
4670 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
4671 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
4672
46732010-04-21 Jan Hubicka <jh@suse.cz>
4674
4675 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
4676 add write_optimization_summary, read_optimization_summary.
4677 (ipa_write_summaries_of_cgraph_node_set): Remove.
4678 (ipa_write_optimization_summaries): Declare.
4679 (ipa_read_optimization_summaries): Declare.
4680 * ipa-cp.c (pass_ipa_cp): Update.
4681 * ipa-reference.c (pass_ipa_reference): Update.
4682 * ipa-pure-const.c (pass_ipa_pure_const): Update.
4683 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
4684 Update.
4685 * ipa-inline.c (pass_ipa_inline): Update.
4686 * ipa.c (pass_ipa_whole_program): Update.
4687 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
4688 * passes.c (ipa_write_summaries_1): Do not test wpa.
4689 (ipa_write_optimization_summaries_1): New.
4690 (ipa_write_optimization_summaries): New.
4691 (ipa_read_summaries): Do not test ltrans.
4692 (ipa_read_optimization_summaries_1): New.
4693 (ipa_read_optimization_summaries): New.
4694
46952010-04-21 Jan Hubicka <jh@suse.cz>
4696
4697 * lto-cgraph.c (lto_output_node): Do not output comdat groups
4698 for boundary nodes.
4699 (output_cgraph): Do not arrange comdat groups for boundary nodes.
4700
47012010-04-21 Jakub Jelinek <jakub@redhat.com>
4702
4703 PR debug/40040
4704 * dwarf2out.c (add_name_and_src_coords_attributes): Add
4705 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
4706
47072010-04-21 Jan Hubicka <jh@suse.cz>
4708
4709 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
4710
47112010-04-21 Jan Hubicka <jh@suse.cz>
4712
4713 * varpool.c (decide_is_variable_needed): Variable is always needed
4714 during ltrans.
4715
47162010-04-21 Jan Hubicka <jh@suse.cz>
4717
4718 * opts.c (decode_options): Enable pure-const pass for whopr.
4719
47202010-04-21 Jan Hubicka <jh@suse.cz>
4721
4722 * cgraph.c (dump_cgraph_node): Dump also assembler name.
4723 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
4724 at WPA dumping.
4725 (cgraph_decide_inlining): Do not expect callee to be removed in all
4726 cases.
4727
47282010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
4729
4730 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
4731
47322010-04-21 Uros Bizjak <ubizjak@gmail.com>
4733
4734 * config/i386/i386.md (x86_shrd): Add athlon_decode and
4735 amdfam10_decode attributes.
4736
47372010-04-21 Jakub Jelinek <jakub@redhat.com>
4738
4739 PR middle-end/43570
4740 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
4741 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
4742 (lower_copyprivate_clauses): Use private var in outer
4743 context instead of original var. Make sure the types
4744 are correct for VLAs.
4745
47462010-04-21 Richard Guenther <rguenther@suse.de>
4747
4748 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
4749 to non-pointer objects.
4750
47512010-04-21 Jakub Jelinek <jakub@redhat.com>
4752
4753 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
4754 last chain entry if it starts with the still current label.
4755 (add_location_or_const_value_attribute): Check that
4756 loc_list->first->next is NULL instead of comparing ->first with ->last.
4757 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
4758 to add_var_loc_to_decl.
4759
4760 * dwarf2out.c (output_call_frame_info): For dw_cie_version
4761 >= 4 add also address size and segment size fields into CIE header.
4762
4763 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
4764 long as address size is the same as sizeof (void *) and
4765 segment size is 0.
4766 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
4767 address size or segment size is unexpected, return DW_EH_PE_omit.
4768 (classify_object_over_fdes): If get_cie_encoding returned
4769 DW_EH_PE_omit, return -1.
4770 (init_object): If classify_object_over_fdes returned -1,
4771 pretend there were no FDEs at all.
4772
47732010-04-21 Uros Bizjak <ubizjak@gmail.com>
4774
4775 * config/i386/i386.md (bswap<mode>2): Macroize expander from
4776 bswap{si,di}2 using SWI48 mode iterator.
4777 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
4778 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
4779 set modrm attribute of bswap insn to 0 and remove length attribute.
4780 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
4781 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
4782 set mode attribute to <MODE> and remove length attribute.
4783
47842010-04-20 James E. Wilson <wilson@codesourcery.com>
4785
4786 PR rtl-optimization/43520
4787 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
4788 zero available registers.
4789
47902010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4791
4792 * builtins.c (fold_builtin_cproj): Fold more cases.
4793
47942010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4795
4796 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
4797 (fold_builtin_1): Fold builtin cproj.
4798 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
4799 Use ATTR_CONST_NOTHROW_LIST.
4800
48012010-04-20 Uros Bizjak <ubizjak@gmail.com>
4802
4803 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
4804 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
4805 ffsi2_no_cmove for !TARGET_CMOVE.
4806 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
4807 (ffssi2): Remove expander.
4808 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
4809 mode iterator.
4810 (ctz<mode>2): Ditto from ctz{si,di}2.
4811 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
4812 mode iterator.
4813 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
4814 mode iterator.
4815
48162010-04-20 Jakub Jelinek <jakub@redhat.com>
4817
4818 * dwarf2out.c (AT_linkage_name): Define.
4819 (clone_as_declaration): Handle DW_AT_linkage_name.
4820 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
4821 of DW_AT_MIPS_linkage_name.
4822 (move_linkage_attr): Likewise.
4823 (dwarf2out_finish): Likewise.
4824
48252010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
4826
4827 PR middle-end/41952
4828 * fold-const.c (fold_comparison): New folding rule.
4829
48302010-04-20 Anatoly Sokolov <aesok@post.ru>
4831
4832 * double-int.h (double_int_setbit): Declare.
4833 * double-int.c (double_int_setbit): New function.
4834 * rtl.h (immed_double_int_const): Declare.
4835 * emit-rtl.c (immed_double_int_const): New function.
4836 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
4837 and immed_double_int_const functions.
4838 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
4839 expand_copysign_bit): (Ditto.).
4840 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
4841 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
4842 * dojump.c (prefer_and_bit_test): (Ditto.).
4843 * expr.c (convert_modes, reduce_to_bit_field_precision,
4844 const_vector_from_tree): (Ditto.).
4845 * expmed.c (mask_rtx, lshift_value): (Ditto.).
4846
48472010-04-20 Jan Hubicka <jh@suse.cz>
4848
4849 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
4850 (dump_cgraph_node): Dump new flags.
4851 * cgraph.h (struct cgraph_node): Add flags
4852 reachable_from_other_partition and in_other_partition.
4853 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
4854 other partition can not be removed.
4855 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
4856 the other partition must be output; silence sanity checking on
4857 leaking functions bodies from other paritition.
4858 * lto-cgraph.c (reachable_from_other_partition_p): New function.
4859 (lto_output_node): Output new flags; do not sanity check that inline
4860 clones are output; drop lto_forced_extern_inline_p code; do not mock
4861 visibility flags at partition boundaries.
4862 (add_node_to): New function.
4863 (output_cgraph): Use it to sort functions so masters appear before
4864 clones.
4865 (input_overwrite_node): Input new flags.
4866 * passes.c (ipa_write_summaries): Do not call
4867 lto_new_extern_inline_states.
4868 * lto-section-out.c (forced_extern_inline,
4869 lto_new_extern_inline_states lto_delete_extern_inline_states,
4870 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
4871 * lto-streamer.h (lto_new_extern_inline_states,
4872 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
4873 lto_forced_extern_inline_p): Kill.
4874
48752010-04-20 Richard Guenther <rguenther@suse.de>
4876
4877 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
4878 from vars that can have pointers.
4879 (process_constraint): Dump useless constraints.
4880
48812010-04-20 Richard Guenther <rguenther@suse.de>
4882
4883 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
4884 (dump_sa_points_to_info): Remove asserts.
4885 (init_base_vars): nothing_id isn't an escape point nor does it
4886 have pointers.
4887
48882010-04-20 Jakub Jelinek <jakub@redhat.com>
4889
4890 * tree.h (TYPE_REF_IS_RVALUE): Define.
4891 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
4892 should_move_die_to_comdat, prune_unused_types_walk): Handle
4893 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
4894 (modified_type_die, gen_reference_type_die): Emit
4895 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
4896 if TYPE_REF_IS_RVALUE and -gdwarf-4.
4897
48982010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4899
4900 PR target/43635
4901 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
4902 calls for -fpic -m31 if they have been sibcall optimized.
4903
49042010-04-19 James E. Wilson <wilson@codesourcery.com>
4905
4906 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
4907 ar.lc fixed and call-used.
4908
4909 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
4910
49112010-04-19 Jan Hubicka <jh@suse.cz>
4912
4913 * opts.c (decode_options): Disable whpr incompatible passes.
4914 * lto/lto.c (lto_1_to_1_map): Skip clones.
4915 (read_cgraph_and_symbols): Do not mark everything as needed.
4916 (do_whole_program_analysis): Do map only after optimizing;
4917 set proper cgraph_state; use passmanager.
4918
49192010-04-19 DJ Delorie <dj@redhat.com>
4920
4921 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
4922 POINTER_PLUS_EXPR and fix them.
4923
49242010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
4925
4926 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
4927 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
4928 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
4929 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
4930 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
4931 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
4932 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
4933 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
4934 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
4935 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
4936 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
4937
49382010-04-19 Eric Botcazou <ebotcazou@adacore.com>
4939
4940 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
4941 (check_cond_move_block): Likewise.
4942 (cond_move_process_if_block): Likewise.
4943 (noce_find_if_block): Improve formatting.
4944 (find_if_header): Pass 0 to memset and tweak conditions.
4945 (cond_exec_find_if_block): Fix long lines and tweak conditions.
4946
49472010-04-19 Jakub Jelinek <jakub@redhat.com>
4948
4949 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
4950 for -gdwarf-4.
4951
4952 PR middle-end/43337
4953 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
4954 with non-local decl doesn't need chain.
4955
49562010-04-19 Vladimir Makarov <vmakarov@redhat.com>
4957
4958 * ira-color.c (allocno_reload_assign): Avoid accumulating
4959 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
4960
49612010-04-19 Martin Jambor <mjambor@suse.cz>
4962
4963 * gimple.h (create_tmp_reg): Declare.
4964 * gimplify.c (create_tmp_reg): New function.
4965 (gimplify_return_expr): Use create_tmp_reg.
4966 (gimplify_omp_atomic): Likewise.
4967 (gimple_regimplify_operands): Likewise.
4968 * tree-dfa.c (make_rename_temp): Likewise.
4969 * tree-predcom.c (predcom_tmp_var): Likewise.
4970 (reassociate_to_the_same_stmt): Likewise.
4971 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
4972 (get_replaced_param_substitute): Likewise.
4973 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
4974 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
4975 * tree-ssa-pre.c (get_representative_for): Likewise.
4976 (create_expression_by_pieces): Likewise.
4977 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
4978 (create_tailcall_accumulator): Likewise.
4979
49802010-04-19 Martin Jambor <mjambor@suse.cz>
4981
4982 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
4983 new_stmt.
4984 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
4985
49862010-04-19 Richard Guenther <rguenther@suse.de>
4987
4988 PR tree-optimization/43796
4989 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
4990 from SCEV in the lattice.
4991 (vrp_visit_phi_node): Dump change.
4992
49932010-04-19 Richard Guenther <rguenther@suse.de>
4994
4995 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
4996 * configure: Re-generated.
4997
49982010-04-19 Richard Guenther <rguenther@suse.de>
4999
5000 PR tree-optimization/43783
5001 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
5002 constant ARRAY_REF operands two and three if possible.
5003
50042010-04-19 Uros Bizjak <ubizjak@gmail.com>
5005
5006 PR target/43766
5007 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
5008
50092010-04-19 Jie Zhang <jie@codesourcery.com>
5010
5011 PR target/43662
5012 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
5013
50142010-04-19 Ira Rosen <irar@il.ibm.com>
5015
5016 PR tree-optimization/37027
5017 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
5018 and macro to access it.
5019 (vectorizable_reduction): Add argument.
5020 (vect_get_slp_defs): Likewise.
5021 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
5022 statements for possible use in SLP.
5023 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
5024 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
5025 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
5026 add new argument.
5027 (vectorizable_reduction): Likewise.
5028 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
5029 vect_get_slp_defs.
5030 (vectorizable_type_demotion, vectorizable_type_promotion,
5031 vectorizable_store): Likewise.
5032 (vect_analyze_stmt): Update call to vectorizable_reduction.
5033 (vect_transform_stmt): Likewise.
5034 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
5035 (vect_build_slp_tree): Fix indentation. Check that there are no loads
5036 from different interleaving chains in same node.
5037 (vect_slp_rearrange_stmts): New function.
5038 (vect_supported_load_permutation_p): Allow load permutations for
5039 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
5040 inside SLP nodes if necessary.
5041 (vect_analyze_slp_instance): Handle reductions.
5042 (vect_analyze_slp): Try to build SLP instances originating from groups
5043 of reductions.
5044 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
5045 (vect_get_constant_vectors): Create initial vectors for reductions
5046 according to reduction code. Add new argument.
5047 (vect_get_slp_defs): Add new argument, pass it to
5048 vect_get_constant_vectors.
5049 (vect_schedule_slp_instance): Remove SLP tree root statements.
5050
50512010-04-19 Jakub Jelinek <jakub@redhat.com>
5052
5053 * tree.h (ENUM_IS_SCOPED): Define.
5054 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
5055 for ENUM_IS_SCOPED enums.
5056
50572010-04-18 Eric Botcazou <ebotcazou@adacore.com>
5058
5059 * fold-const.c (fold_comparison): Use ssizetype.
5060 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
5061 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
5062 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
5063 * tree-object-size.c (compute_object_sizes): Use size_type_node.
5064
5065 * tree.h (initialize_sizetypes): Remove parameter.
5066 (build_common_tree_nodes): Remove second parameter.
5067 * stor-layout.c (initialize_sizetypes): Remove parameter.
5068 Always create an unsigned type.
5069 (set_sizetype): Assert that the passed type is unsigned and simplify.
5070 * tree.c (build_common_tree_nodes): Remove second parameter.
5071 Adjust call to initialize_sizetypes.
5072 * c-decl.c (c_init_decl_processing): Remove second argument in call to
5073 build_common_tree_nodes.
5074
50752010-04-18 Matthias Klose <doko@ubuntu.com>
5076
5077 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
5078
50792010-04-18 Ira Rosen <irar@il.ibm.com>
5080
5081 PR tree-optimization/43771
5082 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
5083 load permutation doesn't have gaps.
5084
50852010-04-18 Jan Hubicka <jh@suse.cz>
5086
5087 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
5088 (sse_prologue_save_insn expander): Use new pattern.
5089 (sse_prologue_save_insn1): New pattern and splitter.
5090 (sse_prologue_save_insn): Update to deal also with 64bit aligned
5091 blocks.
5092 * i386.c (setup_incoming_varargs_64): Do not compute jump
5093 destination here.
5094 (ix86_gimplify_va_arg): Update alignment needed.
5095 (ix86_local_alignment): Do not align all local arrays to 128bit.
5096
50972010-04-17 Jan Hubicka <jh@suse.cz>
5098
5099 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
5100
51012010-04-17 Richard Earnshaw <rearnsha@arm.com>
5102
5103 * arm.md (negdi2): Remove redundant code to force values into a
5104 register.
5105
51062010-04-17 Richard Earnshaw <rearnsha@arm.com>
5107
5108 * arm/bpabi.S: Add EABI alignment attributes to objects.
5109 * arm/bpabi-v6m.S: Likewise.
5110 * arm/crti.asm: Likewise.
5111 * arm/crtn.asm: Likewise.
5112 * arm/lib1funcs.asm: Likewise.
5113 * arm/libunwind.S: Likewise.
5114
51152010-04-17 Richard Earnshaw <rearnsha@arm.com>
5116
5117 * arm-protos.h (tune_params): New structure.
5118 * arm.c (current_tune): New variable.
5119 (arm_constant_limit): Delete.
5120 (struct processors): Add pointer to the tune parameters.
5121 (arm_slowmul_tune): New tuning option.
5122 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
5123 (all_cores): Adjust to pick up the tuning model.
5124 (arm_constant_limit): New function.
5125 (arm_override_options): Select the appropriate tuning model. Delete
5126 initialization of arm_const_limit.
5127 (arm_split_constant): Use the new constant-limit model.
5128 (arm_rtx_costs): Pick up the current tuning model.
5129 * arm.md (is_strongarm, is_xscale): Delete.
5130 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
5131 for Xscale variant architectures.
5132 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
5133
51342010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5135
5136 * config/arm/arm.c (arm_gen_constant): Remove unused variable
5137 can_shift.
5138 (arm_rtx_costs_1): Remove unused variable extra_cost.
5139 (arm_unwind_emit_set): Use variable offset.
5140 (thumb1_output_casesi): Remove unused variable flags.
5141
51422010-04-16 Jeff Law <law@redhat.com>
5143
5144 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
5145 needing assignment rather than doing a two-phase assignment. Remove
5146 unused variable 'm'.
5147
51482010-04-16 Jakub Jelinek <jakub@redhat.com>
5149
5150 PR bootstrap/43767
5151 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
5152
51532010-04-16 Doug Kwan <dougkwan@google.com>
5154
5155 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
5156 (next_operand_entry_id): New static variable.
5157 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
5158 (add_to_ops_vec): Assigned unique ID to operand entry.
5159 (struct oecount_s): New field ID.
5160 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
5161 (undistribute_ops_list): Assign unique IDs to oecounts.
5162 (init_reassoc): reset next_operand_entry_id.
5163
51642010-04-16 Doug Kwan <dougkwan@google.com>
5165
5166 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
5167 missing left parenthesis.
5168
51692010-04-16 Uros Bizjak <ubizjak@gmail.com>
5170
5171 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
5172 *btdi_rex64 using SWI48 mode iterator.
5173 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
5174 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
5175 *jcc_btdi_mask_rex64.
5176
51772010-04-16 Anatoly Sokolov <aesok@post.ru>
5178
5179 * double-int.h (tree_to_double_int): Convert to macro.
5180 * double-int.c (tree_to_double_int): Remove.
5181
51822010-04-16 Jakub Jelinek <jakub@redhat.com>
5183
5184 PR debug/43762
5185 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
5186 with want_address 2 and in case a single element list might be
5187 possible, call it again with want_address 0.
5188
51892010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
5190
5191 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
5192 case 'W' print operands for HI mode.
5193 * config/h8300/h8300.h (Y0, Y2) : New constraints.
5194 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
5195 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
5196 * config/h8300/predicate.md (bit_register_indirect_operand): New.
5197
5198 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
5199
5200 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
5201 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
5202 #xx:3 and #xx:4 mode.
5203
5204 * config/h8300/h8300.md (inverted load with HImode dest): Add
5205 support for H8300SX.
5206
5207 * config/h8300/predicate.md (bit_operand): Allow immediate values that
5208 satisfy 'U' constraint.
5209
52102010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5211
5212 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
5213 * configure: Regenerate.
5214 * config.in: Regenerate.
5215 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
5216 works.
5217
52182010-04-16 Richard Guenther <rguenther@suse.de>
5219
5220 * tree.h (struct tree_decl_minimal): Move pt_uid ...
5221 (struct tree_decl_common): ... here.
5222 (DECL_PT_UID): Adjust.
5223 (SET_DECL_PT_UID): Likewise.
5224 (DECL_PT_UID_SET_P): Likewise.
5225
52262010-04-16 Richard Guenther <rguenther@suse.de>
5227
5228 PR tree-optimization/43572
5229 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
5230 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
5231 * tree-flow.h (is_call_clobbered): Remove.
5232 * tree-flow-inline.h (is_call_clobbered): Likewise.
5233 * tree-dfa.c (dump_variable): Do not dump call clobber state.
5234 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
5235 (execute_return_slot_opt): Adjust.
5236 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
5237 check for call clobbered vars here.
5238 (find_tail_calls): Move tailcall verification to the
5239 proper place.
5240
52412010-04-16 Diego Novillo <dnovillo@google.com>
5242
5243 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
5244
52452010-04-16 Bernd Schmidt <bernds@codesourcery.com>
5246
5247 PR target/40603
5248 * config/arm/arm.md (cbranchqi4): New pattern.
5249 * config/arm/predicates.md (const0_operand,
5250 cbranchqi4_comparison_operator): New predicates.
5251
52522010-04-16 Richard Guenther <rguenther@suse.de>
5253
5254 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
5255 (dump_gimple_stmt): Likewise.
5256
52572010-04-16 Bernd Schmidt <bernds@codesourcery.com>
5258
5259 * recog.h (struct recog_data): New field is_operator.
5260 (struct insn_operand_data): New field is_operator.
5261 * recog.c (extract_insn): Set recog_data.is_operator.
5262 * genoutput.c (output_operand_data): Emit code to set the
5263 is_operator field.
5264 * reload.c (find_reloads): Use it rather than testing for an
5265 empty constraint string.
5266
5267 PR target/41514
5268 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
5269 If the previous insn is a cbranchsi4_insn with the same arguments,
5270 omit the compare instruction.
5271
5272 * config/arm/arm.md (addsi3_cbranch): If destination is a high
5273 register, inputs must be low registers and we need a low register
5274 scratch. Handle alternative 2 like alternative 3.
5275
52762010-04-16 Jakub Jelinek <jakub@redhat.com>
5277
5278 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
5279 don't call get_addr on both. If one expression is a VALUE and
5280 the other a REG, check VALUE's locs if the REG isn't among them.
5281
52822010-04-16 Christian Bruel <christian.bruel@st.com>
5283
5284 * config/sh/sh.h (sh_frame_pointer_required): New function.
5285 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
5286 (flag_omit_frame_pointer) Set.
5287 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
5288 (rounded_frame_size): Adjust size with outgoing_args_size.
5289 (sh_set_return_address): Must return from stack pointer.
5290 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
5291 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
5292 (ACCUMULATE_OUTGOING_ARGS): Define.
5293 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
5294 * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
5295
52962010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
5297
5298 PR target/43471
5299 * config/sh/sh.c (sh_legitimize_reload_address): Use
5300 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
5301 Remove a unneeded check for offset_base.
5302
53032010-04-15 H.J. Lu <hongjiu.lu@intel.com>
5304
5305 * configure: Regenerated.
5306
53072010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5308
5309 * config/s390/s390.c (s390_call_save_register_used): Switch back
5310 to HARD_REGNO_NREGS.
5311
53122010-04-15 Richard Guenther <rguenther@suse.de>
5313
5314 * alias.c (alias_set_subset_of): Handle alias-set zero
5315 child properly.
5316
53172010-04-15 Mark Shinwell <shinwell@codesourcery.com>
5318 Julian Brown <julian@codesourcery.com>
5319
5320 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
5321 alternatives according to use of high and low regs.
5322 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
5323 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
5324 optimizing for size on Thumb-2.
5325
53262010-04-15 Thomas Schwinge <tschwinge@gnu.org>
5327
5328 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
5329
53302010-04-15 Richard Guenther <rguenther@suse.de>
5331
5332 * tree-ssa-structalias.c (struct variable_info): Add
5333 is_fn_info flag.
5334 (new_var_info): Initialize it.
5335 (dump_constraints): Support printing last added constraints.
5336 (debug_constraints): Adjust.
5337 (dump_constraint_graph): Likewise.
5338 (make_heapvar_for): Check for NULL cfun.
5339 (get_function_part_constraint): New function.
5340 (get_fi_for_callee): Likewise.
5341 (find_func_aliases): Properly implement IPA PTA constraints.
5342 (process_ipa_clobber): New function.
5343 (find_func_clobbers): Likewise.
5344 (insert_into_field_list_sorted): Remove.
5345 (create_function_info_for): Properly allocate vars for IPA mode.
5346 Do not use insert_into_field_list_sorted.
5347 (create_variable_info_for): Properly generate constraints for
5348 global vars in IPA mode.
5349 (dump_solution_for_var): Always dump the solution.
5350 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
5351 (find_what_var_points_to): Adjust.
5352 (pt_solution_set): Change.
5353 (pt_solution_ior_into): New function.
5354 (pt_solution_empty_p): Export.
5355 (pt_solution_includes_global): Adjust.
5356 (pt_solution_includes_1): Likewise.
5357 (pt_solutions_intersect_1): Likewise.
5358 (dump_sa_points_to_info): Check some invariants.
5359 (solve_constraints): Move constraint dumping ...
5360 (compute_points_to_sets): ... here.
5361 (ipa_pta_execute): ... and here.
5362 (compute_may_aliases): Do not re-compute points-to info
5363 locally if IPA info is available.
5364 (ipa_escaped_pt): New global var.
5365 (ipa_pta_execute): Properly implement IPA PTA.
5366 * tree-into-ssa.c (dump_decl_set): Support dumping
5367 decls not in referenced-vars.
5368 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
5369 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
5370 (dump_points_to_solution): Likewise.
5371 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
5372 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
5373 (remap_gimple_stmt): Reset call clobber/use information if necessary.
5374 (copy_decl_to_var): Copy DECL_PT_UID.
5375 (copy_result_decl_to_var): Likewise.
5376 * tree.c (make_node_stat): Initialize DECL_PT_UID.
5377 (copy_node_stat): Copy it.
5378 * tree.h (DECL_PT_UID): New macro.
5379 (SET_DECL_PT_UID): Likewise.
5380 (DECL_PT_UID_SET_P): Likewise.
5381 (struct tree_decl_minimal): Add pt_uid member.
5382 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
5383 (pt_solution_empty_p): Declare.
5384 (pt_solution_set): Adjust.
5385 (ipa_escaped_pt): Declare.
5386 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
5387 * gimple-pretty-print.c (pp_points_to_solution): New function.
5388 (dump_gimple_call): Dump call clobber/use information.
5389 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
5390 * tree-pass.h (TDF_ALIAS): New dump option.
5391 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
5392 * doc/invoke.texi (-fipa-pta): Update documentation.
5393
53942010-04-15 Richard Guenther <rguenther@suse.de>
5395
5396 * Makefile.in (OBJS-common): Add gimple-fold.o.
5397 (gimple-fold.o): New rule.
5398 * tree.h (maybe_fold_offset_to_reference,
5399 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
5400 prototypes ...
5401 * gimple.h: ... here.
5402 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
5403 may_propagate_address_into_dereference): Move prototypes ...
5404 * gimple.h: ... here.
5405 * tree-ssa-ccp.c (get_symbol_constant_value,
5406 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
5407 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
5408 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
5409 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
5410 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
5411 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
5412 gimplify_and_update_call_from_tree): Move ...
5413 * gimple-fold.c: ... here. New file.
5414 (ccp_fold_builtin): Rename to ...
5415 (gimple_fold_builtin): ... this.
5416 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
5417
54182010-04-15 Richard Guenther <rguenther@suse.de>
5419
5420 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
5421 fit_double_type, force_fit_type_double, add_double_with_sign,
5422 neg_double, mul_double_with_sign, lshift_double, rshift_double,
5423 lrotate_double, rrotate_double, div_and_round_double): Move ...
5424 * double-int.c: ... here.
5425 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
5426 add_double, neg_double, mul_double_with_sign, mul_double,
5427 lshift_double, rshift_double, lrotate_double, rrotate_double,
5428 div_and_round_double): Move prototypes ...
5429 * double-int.h: ... here.
5430
54312010-04-15 Bernd Schmidt <bernds@codesourcery.com>
5432
5433 PR target/43742
5434 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
5435 matching constraints to ensure inputs match the output.
5436
54372010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
5438
5439 PR target/43742
5440 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
5441 in an input-only operand.
5442
54432010-04-15 Anatoly Sokolov <aesok@post.ru>
5444
5445 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
5446 (double_int_not, double_int_lshift, double_int_rshift): Declare.
5447 (double_int_negative_p): Convert to static inline function.
5448 * double-int.c (double_int_lshift, double_int_lshift): New functions.
5449 (double_int_negative_p): Remove.
5450 * tree.h (lshift_double, rshift_double):
5451 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
5452 * fold-const.c (fold_convert_const_int_from_real,
5453 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
5454 (lshift_double): Change type of arith argument to bool.
5455 (rshift_double): Change type of arith argument to bool. Correct
5456 comment.
5457 * expmed.c (mask_rtx, lshift_value): (Ditto.).
5458
54592010-04-14 Bernd Schmidt <bernds@codesourcery.com>
5460
5461 PR target/21803
5462 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
5463 at the start and end of the then/else blocks, and omit them from the
5464 conversion.
5465 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
5466 argument; all callers changed. Pass zero to old_insns_match_p instead.
5467 (flow_find_head_matching_sequence): New function.
5468 (old_insns_match_p): Check REG_EH_REGION notes for calls.
5469 * basic-block.h (flow_find_cross_jump,
5470 flow_find_head_matching_sequence): Declare functions.
5471
54722010-04-14 Jason Merrill <jason@redhat.com>
5473
5474 PR c++/36625
5475 * c-common.c (attribute_takes_identifier_p): New fn.
5476 * c-common.h: Declare it.
5477
54782010-04-14 Uros Bizjak <ubizjak@gmail.com>
5479
5480 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
5481 splitter condition.
5482 (*udivmod<mode>4): Ditto.
5483
54842010-04-14 Uros Bizjak <ubizjak@gmail.com>
5485
5486 * config/i386/i386.md (maxmin_int): Rename code attribute from
5487 maxminiprefix and update all users.
5488 (maxmin_float): Ditto from maxminfprefix.
5489 (logic): Ditto from logicprefix.
5490 (absneg_mnemonic): Ditto from absnegprefix.
5491 * config/i386/mmx.md: Update all users of maxminiprefix,
5492 maxminfprefix and logicprefix for rename.
5493 * config/i386/sse.md: Ditto.
5494 * config/i386/sync.md (sync_<code><mode>): Update for
5495 logicprefix rename.
5496
54972010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5498
5499 PR 42966
5500 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
5501 warnings converted to errors.
5502
55032010-04-14 Uros Bizjak <ubizjak@gmail.com>
5504
5505 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
5506 used insn_type variable.
5507 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
5508 to avoid set-but-not-used warning.
5509
55102010-04-14 Uros Bizjak <ubizjak@gmail.com>
5511
5512 * df-core.c (df_ref_debug): Change format string placeholder
5513 from 0x%x to %#x.
5514 * dwarf2asm.c (dw2_asm_output_data_raw,
5515 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
5516 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
5517 * dwarf2out.c (output_cfi, output_cfi_directive,
5518 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
5519 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
5520 Ditto.
5521 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
5522 * print-rtl.c (print_rtx): Ditto.
5523
55242010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5525
5526 PR middle-end/42694
5527 * builtins.c (expand_builtin_pow_root): New function to expand pow
5528 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
5529 series of sqrt and cbrt calls under -ffast-math.
5530 (expand_builtin_pow): Call it.
5531
55322010-04-14 Michael Matz <matz@suse.de>
5533
5534 PR tree-optimization/42963
5535 * tree-cfg.c (touched_switch_bbs): New static variable.
5536 (group_case_labels_stmt): New function broken out from ...
5537 (group_case_labels): ... here, use the above.
5538 (start_recording_case_labels): Allocate touched_switch_bbs.
5539 (end_recording_case_labels): Deallocate it, call
5540 group_case_labels_stmt.
5541 (gimple_redirect_edge_and_branch): Remember index of affected BB.
5542
55432010-04-14 Uros Bizjak <ubizjak@gmail.com>
5544
5545 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
5546 from insn template.
5547
55482010-04-14 Uros Bizjak <ubizjak@gmail.com>
5549
5550 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
5551
55522010-04-13 Jan Hubicka <jh@suse.cz>
5553
5554 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
5555 of optimized out static functions.
5556 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
5557 cost computation. Also sanity check for overflows.
5558 (update_caller_keys): Update cgraph_edge_badness call; properly
5559 update fibheap and sanity check that it is up to date.
5560 (add_new_edges_to_heap): Update cgraph_edge_badness.
5561 (cgraph_decide_inlining_of_small_function): Likewise;
5562 add sanity checking that badness in heap is up to date;
5563 improve dumping of reason; Update badness of calls to the
5564 offline copy of function currently inlined; dump badness
5565 of functions not inlined because of unit growth limits.
5566
55672010-04-13 Eric Botcazou <ebotcazou@adacore.com>
5568
5569 PR middle-end/32628
5570 * c-common.c (pointer_int_sum): Disregard overflow that occured only
5571 because of sign-extension change when converting to sizetype here...
5572 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
5573
5574 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
5575 the folding to constants. Remove redundant final conversion.
5576 (fold_binary) <associate>: Do not associate if the re-association of
5577 constants alone overflows.
5578 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
5579 to the end of the list.
5580 (multiple_of_p) <COND_EXPR>: New case.
5581
55822010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5583
5584 * opt-functions.awk (opt_sanitized_name): New.
5585 (opt_enum): New.
5586 * optc-gen.awk: Use it
5587 * opth-gen.awk: Use it.
5588
55892010-04-13 Martin Jambor <mjambor@suse.cz>
5590
5591 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
5592 (sra_modify_assign): Delete stmts loading dead data even if racc has no
5593 children. Call replace_uses_with_default_def_ssa_name to handle
5594 SSA_NAES on lhs.
5595
55962010-04-13 Michael Matz <matz@suse.de>
5597
5598 PR middle-end/43730
5599 * builtins.c (expand_builtin_interclass_mathfn): Also create
5600 a register if the predicate doesn't match.
5601
56022010-04-13 Diego Novillo <dnovillo@google.com>
5603
5604 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
5605 * c-pch.c: Include timevar.h.
5606 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
5607 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
5608 * ggc-common.c: Include timevar.h.
5609 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
5610 * timevar.def (TV_PCH_SAVE): Define.
5611 (TV_PCH_CPP_SAVE): Define.
5612 (TV_PCH_PTR_REALLOC): Define.
5613 (TV_PCH_PTR_SORT): Define.
5614 (TV_PCH_RESTORE): Define.
5615 (TV_PCH_CPP_RESTORE): Define.
5616
56172010-04-13 Michael Matz <matz@suse.de>
5618
5619 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
5620 into MINUS_EXPRs.
5621 (can_reassociate_p): New function.
5622 (break_up_subtract_bb, reassociate_bb): Use it.
5623
56242010-04-13 Richard Guenther <rguenther@suse.de>
5625
5626 PR bootstrap/43737
5627 * builtins.c (c_readstr): Fix assert.
5628
56292010-04-13 Uros Bizjak <ubizjak@gmail.com>
5630
5631 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
5632 when generating cltd insn.
5633
5634 (*ashl<mode>3_1): Remove special handling for register operand 2.
5635 (*ashlsi3_1_zext): Ditto.
5636 (*ashlhi3_1): Ditto.
5637 (*ashlhi3_1_lea): Ditto.
5638 (*ashlqi3_1): Ditto.
5639 (*ashlqi3_1_lea): Ditto.
5640 (*<shiftrt_insn><mode>3_1): Ditto.
5641 (*<shiftrt_insn>si3_1_zext): Ditto.
5642 (*<shiftrt_insn>qi3_1_slp): Ditto.
5643 (*<rotate_insn><mode>3_1): Ditto.
5644 (*<rotate_insn>si3_1_zext): Ditto.
5645 (*<rotate_insn>qi3_1_slp): Ditto.
5646
56472010-04-13 Richard Guenther <rguenther@suse.de>
5648
5649 * tree-ssa-structalias.c (callused_id): Remove.
5650 (call_stmt_vars): New.
5651 (get_call_vi): Likewise.
5652 (lookup_call_use_vi): Likewise.
5653 (lookup_call_clobber_vi): Likewise.
5654 (get_call_use_vi): Likewise.
5655 (get_call_clobber_vi): Likewise.
5656 (make_transitive_closure_constraints): Likewise.
5657 (handle_const_call): Adjust to do per-call call-used handling.
5658 (handle_pure_call): Likewise.
5659 (find_what_var_points_to): Remove general callused handling.
5660 (init_base_vars): Likewise.
5661 (init_alias_vars): Initialize call_stmt_vars.
5662 (compute_points_to_sets): Process call-used and call-clobbered
5663 vars for call statements.
5664 (delete_points_to_sets): Free call_stmt_vars.
5665
56662010-04-13 Richard Guenther <rguenther@suse.de>
5667
5668 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
5669 Only add RW dependence for dependence distance zero.
5670 Adjust maximal vectorization factor according to dependences.
5671 Move alignment handling ...
5672 (vect_find_same_alignment_drs): ... here. New function.
5673 (vect_analyze_data_ref_dependences): Adjust.
5674 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
5675 (vect_analyze_data_refs): Adjust minimal vectorization factor
5676 according to data references.
5677 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
5678 dependences before determining the vectorization factor.
5679 Analyze alignment after determining the vectorization factor.
5680 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
5681 dependences before alignment.
5682 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
5683 Adjust prototype.
5684 (vect_analyze_data_refs): Likewise.
5685 (MAX_VECTORIZATION_FACTOR): New define.
5686
56872010-04-13 Duncan Sands <baldrick@free.fr>
5688
5689 * except.h (lang_eh_type_covers): Remove.
5690 * except.c (lang_eh_type_covers): Likewise.
5691
56922010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5693 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5694
5695 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
5696 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
5697 UNITS_PER_LONG where it is ABI relevant.
5698 (s390_return_addr_rtx): Likewise.
5699 (s390_back_chain_rtx): Likewise.
5700 (s390_frame_area): Likewise.
5701 (s390_frame_info): Likewise.
5702 (s390_initial_elimination_offset): Likewise.
5703 (save_gprs): Likewise.
5704 (s390_emit_prologue): Likewise.
5705 (s390_emit_epilogue): Likewise.
5706 (s390_function_arg_advance): Likewise.
5707 (s390_function_arg): Likewise.
5708 (s390_va_start): Likewise.
5709 (s390_gimplify_va_arg): Likewise.
5710 (s390_function_profiler): Likewise.
5711 (s390_optimize_prologue): Likewise.
5712 (s390_rtx_costs): Likewise.
5713 (s390_secondary_reload): Likewise.
5714 (s390_promote_function_mode): Likewise.
5715 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
5716 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
5717 registers available.
5718 (s390_unwind_word_mode): New function.
5719 (s390_function_value): Split 64 bit values into register pair if
5720 used as return value.
5721 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
5722 function call parameters. Handle parallels.
5723 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
5724 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
5725 (DWARF_CIE_DATA_ALIGNMENT): New macro.
5726 (s390_expand_setmem): Remove unused variable src_addr.
5727 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
5728 deal with 64 bit registers.
5729 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
5730 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
5731 (UNITS_PER_LONG): New macro.
5732 * libjava/include/s390-signal.h: Define extended ucontext
5733 structure containing the upper halfs of the 64 bit registers.
5734
57352010-04-13 Simon Baldwin <simonb@google.com>
5736
5737 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
5738
57392010-04-13 Eric Botcazou <ebotcazou@adacore.com>
5740
5741 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
5742 rvalue on the RHS if the LHS is of a non-renamable type.
5743 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
5744
57452010-04-13 Matthias Klose <doko@ubuntu.com>
5746
5747 * gcc.c (cc1_options): Handle -iplugindir before processing
5748 the cc1 spec. Only add -iplugindir once.
5749 (cpp_unique_options): Add -iplugindir option if -fplugin* options
5750 found.
5751 * common.opt (iplugindir): Remove `Separate' property, initialize.
5752 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
5753 option.
5754 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
5755 (distclean): Remove plugin dir.
5756 * doc/invoke.texi: Document -iplugindir.
5757
57582010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
5759
5760 * doc/plugins.texi (Loading Plugins): Document short
5761 -fplugin=foo option.
5762 (Plugin API): Mention default_plugin_dir_name function.
5763
5764 * gcc.c (find_file_spec_function): Add new declaration.
5765 (static_spec_func): Use it for "find-file".
5766 (find_file_spec_function): Add new function.
5767 (cc1_options): Add -iplugindir option if -fplugin* options found.
5768
5769 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
5770
5771 * plugin.c (add_new_plugin): Updated comment, and handle short
5772 plugin name.
5773 (default_plugin_dir_name): Added new function.
5774
5775 * common.opt (iplugindir): New option to set the plugin directory.
5776
57772010-04-12 Uros Bizjak <ubizjak@gmail.com>
5778
5779 * config/i386/i386.md (any_rotate): New code iterator.
5780 (rotate_insn): New code attribute.
5781 (rotate): Ditto.
5782 (SWIM124): New mode iterator.
5783 (<rotate_insn>ti3): New expander.
5784 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
5785 any_rotate code iterator.
5786 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
5787 using any_rotate code iterator and SWIM124 mode iterator.
5788 (ix86_rotlti3): New insn_and_split pattern.
5789 (ix86_rotrti3): Ditto.
5790 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
5791 ix86_rotl{di,ti}3 patterns.
5792 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
5793 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
5794 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
5795 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
5796 code iterator and SWI mode iterator.
5797 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
5798 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
5799 code iterator.
5800 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
5801 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
5802 (bswap rotatert splitter): Add splitter.
5803 (bswap splitter): Macroize splitter using any_rotate code iterator.
5804 Add insn predicate to split only for TARGET_USE_XCHGB or when
5805 optimizing function for size.
5806
58072010-04-12 Steve Ellcey <sje@cup.hp.com>
5808
5809 * config/pa/pa.c (emit_move_sequence): Remove use of
5810 deleted variable flag_argument_noalias.
5811
58122010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5813
5814 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
5815 configurations.
5816 Add to unsupported targets list.
5817 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
5818 sparc*-sun-solaris2.[567]* from target lists.
5819 * configure: Regenerate.
5820 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
5821 removal.
5822 Remove Solaris 7 patch references.
5823 (Specific, sparc-sun-solaris2.7): Removed.
5824 (sparc-sun-solaris2*): Update Solaris 7 example.
5825 (sparc64-*-solaris2*): Likewise.
5826
58272010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5828
5829 * config.build (alpha*-dec-osf4*): Remove.
5830 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
5831 of obsolete configurations.
5832 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
5833 support.
5834 * config/alpha/t-osf4: Renamed to ...
5835 * config/alpha/t-osf5: ... this.
5836 * config/alpha/osf.h: Renamed to ...
5837 * config/alpha/osf5.h: ... this.
5838 Merged old osf5.h contents.
5839 Update comments.
5840 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
5841 (EXTRA_SPECS): Removed.
5842 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
5843 reflect removal of Tru64 UNIX V4.0/V5.0 support.
5844 Document that.
5845
58462010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5847
5848 * doc/contrib.texi (Contributors, Rainer Orth): Update.
5849
58502010-04-12 Kai Tietz <kai.tietz@onevision.com>
5851
5852 PR/43702
5853 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
5854 __thiscall convention.
5855
58562010-04-12 Steve Ellcey <sje@cup.hp.com>
5857
5858 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
5859 orig_base.
5860 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
5861
58622010-04-12 Steve Ellcey <sje@cup.hp.com>
5863
5864 * function.c (assign_parms_initialize_all): Add unused attribute
5865 to fntype.
5866
58672010-04-12 Richard Guenther <rguenther@suse.de>
5868
5869 * gsstruct.def (GSS_CALL): New.
5870 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
5871 * gimple.h: Include tree-ssa-alias.h.
5872 (struct gimple_statement_call): New.
5873 (union gimple_statement_struct_d): Add gimple_call member.
5874 (gimple_call_reset_alias_info): Declare.
5875 (gimple_call_use_set): New function.
5876 (gimple_call_clobber_set): Likewise.
5877 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
5878 * gimple.c (gimple_call_reset_alias_info): New function.
5879 (gimple_build_call_1): Call it.
5880 * lto-streamer-in.c (input_gimple_stmt): Likewise.
5881 * tree-inline.c (remap_gimple_stmt): Likewise.
5882 (expand_call_inline): Remove callused handling.
5883 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
5884 * tree-dfa.c (dump_variable): Likewise.
5885 * tree-parloops.c (parallelize_loops): Likewise.
5886 * tree-ssa.c (init_tree_ssa): Likewise.
5887 (delete_tree_ssa): Likewise.
5888 * tree-flow-inline.h (is_call_used): Remove.
5889 * tree-flow.h (struct gimple_df): Remove callused member.
5890 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
5891 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
5892 (ref_maybe_used_by_call_p_1): Simplify.
5893 (call_may_clobber_ref_p_1): Likewise.
5894 * tree-ssa-structalias.c (compute_points_to_sets): Set
5895 the call stmt used and clobbered sets.
5896 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
5897 (find_tail_calls): Verify the tail call.
5898
58992010-04-12 Richard Guenther <rguenther@suse.de>
5900
5901 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
5902 single-iteration always-inline inlining.
5903 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
5904 (cgraph_decide_inlining): Do not handle always-inline specially.
5905 (try_inline): Remove always-inline cycle detection special case.
5906 Do not recurse on always-inlines.
5907 (cgraph_early_inlining): Do not iterate if not optimizing.
5908 (cgraph_gate_early_inlining): remove.
5909 (pass_early_inline): Run unconditionally.
5910 (gate_cgraph_decide_inlining): New function.
5911 (pass_ipa_inline): Use it. Do not run the IPA inliner if
5912 not inlining or optimizing.
5913 (cgraph_decide_inlining_of_small_functions): Also consider
5914 always-inline functions.
5915 (cgraph_default_inline_p): Return true for nodes which should
5916 disregard inline limits.
5917 (estimate_function_body_sizes): Assume zero size and time for
5918 nodes which are marked as disregarding inline limits.
5919 (cgraph_decide_recursive_inlining): Do not perform recursive
5920 inlining on always-inline nodes.
5921
59222010-04-12 Jakub Jelinek <jakub@redhat.com>
5923
5924 PR bootstrap/43699
5925 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
5926 for exprs satisfying handled_component_p.
5927
59282010-04-12 Eric Botcazou <ebotcazou@adacore.com>
5929
5930 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
5931 non-constant aggregate elements.
5932
5933 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
5934 is a real initialization.
5935
59362010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
5937
5938 PR c/36774
5939 * c-decl.c (start_function): Move forward check for nested function.
5940
59412010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
5942
5943 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
5944 * config/sh/sh.c: Include reload.h.
5945 (sh_legitimize_reload_address): New.
5946 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
5947 sh_legitimize_reload_address.
5948
59492010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
5950
5951 * config/sh/sh.md (*movqi_pop): New insn pattern.
5952 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
5953
59542010-04-11 Uros Bizjak <ubizjak@gmail.com>
5955
5956 * config/i386/i386.md (any_shiftrt): New code iterator.
5957 (shiftrt_insn): New code attribute.
5958 (shiftrt): Ditto.
5959 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
5960 using any_shiftrt code iterator.
5961 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
5962 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
5963 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
5964 pattern from corresponding peephole2 patterns.
5965 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
5966 using any_shiftrt code iterator.
5967 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
5968 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
5969 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
5970 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
5971 *{ashr,lshr}<mode>3_cmp_zext.
5972 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
5973
59742010-04-11 Uros Bizjak <ubizjak@gmail.com>
5975
5976 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
5977 scratch register.
5978 (*lshr<mode>3_cconly): Ditto.
5979
59802010-04-11 Uros Bizjak <ubizjak@gmail.com>
5981
5982 * config/i386/i386.md (lshr<mode>3): Macroize expander from
5983 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
5984 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
5985 pattern from *lshr{di,ti}3_1 and corresponding splitters using
5986 DWI mode iterator.
5987 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
5988 from corresponding peephole2 patterns.
5989 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
5990 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
5991 and *lshrdi3_1_rex64 using SWI mode iterator.
5992 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
5993 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
5994 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
5995 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
5996 and *lshrdi3_cmp_rex64 using SWI mode iterator.
5997 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
5998 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
5999 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
6000 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
6001 SWI mode iterator.
6002
60032010-04-10 Uros Bizjak <ubizjak@gmail.com>
6004
6005 * config/i386/i386.md (ashr<mode>3): Macroize expander from
6006 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
6007 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
6008 pattern from *ashr{di,ti}3_1 and corresponding splitters using
6009 DWI mode iterator.
6010 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
6011 from corresponding peephole2 patterns.
6012 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
6013 (ashrsi3_cvt): Rename from ashrsi3_31.
6014 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
6015 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
6016 and x86_64_shift_adj_3 using SWI48 mode iterator.
6017 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
6018 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
6019 and *ashrdi3_1_rex64 using SWI mode iterator.
6020 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
6021 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
6022 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
6023 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
6024 and *ashrdi3_cmp_rex64 using SWI mode iterator.
6025 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
6026 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
6027 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
6028 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
6029 SWI mode iterator.
6030 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
6031 * config/i386/i386.c (ix86_split_ashr): Update for renamed
6032 x86_shift<mode>_adj_3 expanders.
6033
60342010-04-10 Wei Guozhi <carrot@google.com>
6035
6036 PR target/42601
6037 * config/arm/arm.c (arm_pic_static_addr): New function.
6038 (legitimize_pic_address): Call arm_pic_static_addr when it detects
6039 a static symbol.
6040 (arm_output_addr_const_extra): Output expression for new pattern.
6041 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
6042
60432010-04-10 Bernd Schmidt <bernds@codesourcery.com>
6044
6045 * ira-costs.c (record_reg_classes): Ignore alternatives that are
6046 not enabled.
6047
6048 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
6049 * web.c: Include "insn-config.h" and "recog.h".
6050 (union_match_dups): New function.
6051 (web_main): Call it.
6052 (union_defs): Don't try to recognize match_dups.
6053
6054 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
6055 if doing so would replace the entire pattern.
6056
60572010-04-09 Uros Bizjak <ubizjak@gmail.com>
6058
6059 PR target/43707
6060 PR target/43709
6061 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
6062 and splitter pattern. Change splitter operand 1 predicate to
6063 nonmemory_operand.
6064
60652010-04-09 Martin Jambor <mjambor@suse.cz>
6066
6067 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
6068 lattices are addresses of CONST_DECLs with the same initial value.
6069 (ipcp_print_all_lattices): Print values of CONST_DECLs.
6070 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
6071
60722010-04-09 Eric Botcazou <ebotcazou@adacore.com>
6073 Bernd Schmidt <bernds@codesourcery.com>
6074
6075 * loop-invariant.c (replace_uses): New static function.
6076 (move_invariant_reg): Use it to ensure we can replace the uses.
6077
60782010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
6079
6080 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
6081 function template.
6082 (picochip_override_options): Enable section anchors only above -O1.
6083 (picochip_reorg): Fixed a couple of build warnings.
6084
60852010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6086
6087 * configure.ac (plugin -rdynamic test): Log result.
6088 * configure: Regenerate.
6089 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
6090 (RDYNAMIC_SPEC): Define.
6091 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
6092
60932010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6094
6095 * configure.ac: Determine Sun ld version numbers.
6096 (comdat_group): Restrict GNU ld version checks to gld.
6097 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
6098 (enable_comdat): Support --enable-comdat.
6099 * configure: Regenerate.
6100 * doc/install.texi (Configuration): Document --enable-comdat.
6101
61022010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6103
6104 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
6105 * config/sol2-gld.h: ... here.
6106 * config.gcc (sparc*-*-solaris2*): Reflect this.
6107 (i[34567]86-*-solaris2*): Use it.
6108
61092010-04-09 Steve Ellcey <sje@cup.hp.com>
6110
6111 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
6112 setup_clocks_p.
6113 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
6114
61152010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6116
6117 PR 42965
6118 * diagnostic.c (diagnostic_initialize): Initialize
6119 some_warnings_are_errors.
6120 (diagnostic_finish): New.
6121 (diagnostic_action_after_output): Call it before exiting.
6122 (diagnostic_report_diagnostic): Do not print message here. Set
6123 some_warnings_are_errors.
6124 * diagnostic.h (diagnostic_context): Delete
6125 issue_warnings_are_errors_message. Add some_warnings_are_errors.
6126 (diagnostic_finish): Declare.
6127 * toplev.c (toplev_main): Call it before exit.
6128
61292010-04-09 Jason Merrill <jason@redhat.com>
6130
6131 PR c++/42623
6132 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
6133 for incomplete type.
6134
6135 PR c++/41788
6136 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
6137 based on a warning flag.
6138
61392010-04-09 Richard Guenther <rguenther@suse.de>
6140
6141 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
6142
61432010-04-09 Iain Sandoe <iains@gcc.gnu.org>
6144
6145 PR bootstrap/43684
6146 * varasm.c (default_assemble_visibility): Wrap vars that are
6147 set, but unused, by targets without GAS.
6148 * config/rs6000/rs6000.c (paired_emit_vector_compare):
6149 Remove set, but unused, vars.
6150 (rs6000_legitimize_tls_address): Likewise.
6151 (altivec_expand_dst_builtin): Likewise.
6152 * config/darwin.c (machopic_classify_symbol): Likewise.
6153 (machopic_indirection_name): Likewise.
6154
61552010-04-09 Uros Bizjak <ubizjak@gmail.com>
6156
6157 * config/i386/i386.md (DWI): New mode iterator.
6158 (S): New mode attribute.
6159 (shift_operand): Ditto.
6160 (shift_immediate_operand): Ditto.
6161 (ashl_input_operand): Ditto.
6162 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
6163 using SDWIM mode iterator.
6164 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
6165 pattern from *ashl{di,ti}3_1 and corresponding splitters using
6166 DWI mode iterator.
6167 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
6168 from corresponding peephole2 patterns.
6169 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
6170 and x86_64_shift_adj_1 using SWI48 mode iterator.
6171 (x86_shift<mode>_adj_2): Ditto.
6172 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
6173 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
6174 using SWI48 mode iterator.
6175 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
6176 *ashldi3_cmp_rex64 using SWI mode iterator.
6177 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
6178 *ashldi3_cconly_rex64 using SWI mode iterator.
6179 * config/i386/i386.c (ix86_split_ashl): Update for renamed
6180 x86_shift<mode>_adj_{1,2}.
6181 (ix86_split_ashr): Ditto.
6182 (ix86_split_lshr): Ditto.
6183
61842010-04-09 Richard Guenther <rguenther@suse.de>
6185
6186 * target.h (builtin_conversion): Pass in input and output types.
6187 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
6188 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
6189 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
6190 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
6191
6192 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
6193 Handle AVX modes.
6194 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
6195
61962010-04-09 Richard Guenther <rguenther@suse.de>
6197
6198 PR target/43152
6199 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
6200
62012010-04-09 Richard Guenther <rguenther@suse.de>
6202
6203 * tree-vectorizer.h (struct _stmt_vec_info): Document
6204 that vectype is the type of the LHS.
6205 (supportable_widening_operation, supportable_narrowing_operation):
6206 Get both input and output vector types as arguments.
6207 (vect_is_simple_use_1): Declare.
6208 (get_same_sized_vectype): Likewise.
6209 * tree-vect-loop.c (vect_determine_vectorization_factor):
6210 Set STMT_VINFO_VECTYPE to the vector type of the def.
6211 (vectorizable_reduction): Adjust.
6212 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
6213 Adjust. Specify the output vector type.
6214 (vect_pattern_recog_1): Adjust.
6215 * tree-vect-stmts.c (get_same_sized_vectype): New function.
6216 (vectorizable_call): Adjust.
6217 (vectorizable_conversion): Likewise.
6218 (vectorizable_operation): Likewise.
6219 (vectorizable_type_demotion): Likewise.
6220 (vectorizable_type_promotion): Likewise.
6221 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
6222 the def.
6223 (vect_is_simple_use_1): New function.
6224 (supportable_widening_operation): Get both input and output
6225 vector types.
6226 (supportable_narrowing_operation): Likewise.
6227 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
6228
62292010-04-09 Kai Tietz <kai.tietz@onevision.com>
6230
6231 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
6232 __thiscall and _thiscall as predefined macros.
6233 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
6234 thiscall attribute handling.
6235 (ix86_comp_type_attributes): Likewise.
6236 (ix86_function_regparm): Likewise.
6237 (ix86_return_pops_args): Likewise.
6238 (init_cumulative_args): Likewise.
6239 (find_drap_reg): Likewise.
6240 (ix86_static_chain): Likewise.
6241 (x86_this_parameter): Likewise.
6242 (x86_output_mi_thunk): Likewise.
6243 (ix86_attribute_table): Add description for thiscall attribute.
6244 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
6245 * doc/extend.texi: Add documentation for thiscall.
6246
62472010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6248
6249 PR c++/28584
6250 * c.opt (Wint-to-pointer-cast): Available in C++.
6251 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
6252
62532010-04-08 Eric Botcazou <ebotcazou@adacore.com>
6254
6255 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
6256 * calls.c (expand_call): Pass the function type to aggregate_value_p.
6257 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
6258 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
6259 function type instead. Reorder and simplify checks.
6260
6261 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
6262
62632010-04-08 Jing Yu <jingyu@google.com>
6264 Zdenek Dvorak <ook@ucw.cz>
6265
6266 PR tree-optimization/42720
6267 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
6268 loop unswitch conditions here from ...
6269 (tree_unswitch_single_loop): ... here.
6270
62712010-04-08 Sebastian Pop <sebastian.pop@amd.com>
6272
6273 * tree-if-conv.c: Fix comments and simplify logic.
6274
62752010-04-08 Sebastian Pop <sebastian.pop@amd.com>
6276
6277 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
6278 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
6279 (main_tree_if_conversion): Update call to tree_if_conversion.
6280
62812010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6282
6283 PR 42485
6284 * doc/invoke.texi (-b,-V): Delete.
6285 * doc/tm.texi: Do not mention -b.
6286 * gcc.c (display_help): Delete -b and -V.
6287 (process_command): Delete -b and -V.
6288 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6289
62902010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
6291 Wolfgang Gellerich <gellerich@de.ibm.com>
6292
6293 Implement target hook for loop unrolling
6294 * target.h (loop_unroll_adjust): Add a new target hook function.
6295 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
6296 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
6297 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
6298 (s390_loop_unroll_adjust): Implement the new target hook for s390.
6299 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
6300 target hook.
6301 (decide_unroll_stupid): Likewise.
6302
63032010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6304
6305 PR target/43643
6306 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
6307
63082010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6309
6310 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
6311 (Specific, *-*-solaris2*): Likewise.
6312 Don't prefer Sun as over GNU as.
6313
63142010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
6315
6316 * config/s390/s390.c (override_options): Adjust the z10 defaults
6317 for max-unroll-times, max-completely-peeled-insns
6318 and max-completely-peel-times.
6319
63202010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6321
6322 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
6323 instructions for z10.
6324 (s390_expand_setmem): Likewise.
6325 (s390_expand_cmpmem): Likewise.
6326
63272010-04-08 Richard Guenther <rguenther@suse.de>
6328
6329 PR tree-optimization/43679
6330 * tree-ssa-pre.c (eliminate): Only propagate copies.
6331
63322010-04-08 Jakub Jelinek <jakub@redhat.com>
6333
6334 PR bootstrap/43681
6335 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
6336 set but not used variable warning.
6337
63382010-04-08 Wei Guozhi <carrot@google.com>
6339
6340 PR target/41653
6341 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
6342 (arm_size_rtx_costs): Call the new function when optimized for size.
6343
63442010-04-08 Jakub Jelinek <jakub@redhat.com>
6345
6346 PR debug/43670
6347 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
6348 op0 is not a MEM, just return NULL instead of assertion
6349 failure.
6350 (discover_nonconstant_array_refs): Don't walk debug stmts.
6351
63522010-04-08 Doug Kwan <dougkwan@google.com>
6353
6354 * configure.ac: Recognize gold and do not use its version number
6355 to test ld features.
6356 * configure: Regenerate.
6357
63582010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
6359
6360 PR middle-end/40815
6361 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
6362 (negate_value): Move code to push elements to broken_up_substracts ...
6363 (eliminate_plus_minus_pair): ... here. Push operands that have no
6364 negative pair to plus_negates.
6365 (repropagate_negates, init_reassoc, fini_reassoc): Update.
6366
63672010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6368
6369 * doc/install.texi (Configuration): Move description of
6370 --enable-lto, --with-libelf*, --enable-gold from Java section to
6371 general section.
6372
6373 * doc/generic.texi (Working with declarations)
6374 (Function Properties, C and C++ Trees): Fix typos.
6375 * doc/sourcebuild.texi (Top Level): Likewise.
6376
63772010-04-07 Jakub Jelinek <jakub@redhat.com>
6378
6379 PR c/18624
6380 * tree.h (DECL_READ_P): Define.
6381 (struct tree_decl_common): Add decl_read_flag.
6382 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
6383 a set but not used warning.
6384 (merge_decls): Merge DECL_READ_P flag.
6385 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
6386 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
6387 * c-common.c (handle_used_attribute, handle_unused_attribute):
6388 Likewise.
6389 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
6390 New prototypes.
6391 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
6392 New functions.
6393 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
6394 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
6395 c_parser_binary_expression, c_parser_cast_expression,
6396 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
6397 Call default_function_array_read_conversion instead of
6398 default_function_array_conversion where needed.
6399 (c_parser_unary_expression, c_parser_conditional_expression,
6400 c_parser_postfix_expression_after_primary, c_parser_initelt):
6401 Likewise. Call mark_exp_read where needed.
6402 (c_parser_statement_after_labels, c_parser_asm_operands,
6403 c_parser_typeof_specifier, c_parser_sizeof_expression,
6404 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
6405 where needed.
6406 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
6407 New.
6408 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
6409 (warn_unused_but_set_parameter): Default to warn_unused
6410 && extra_warnings.
6411 * doc/invoke.texi: Document -Wunused-but-set-variable and
6412 -Wunused-but-set-parameter.
6413
6414 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
6415 used count variable.
6416 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
6417 when operandN variables aren't used in the body of the expander
6418 or splitter.
6419 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
6420 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
6421 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
6422 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
6423 FOR_EACH_IMM_USE_ON_STMT): Likewise.
6424 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
6425 * tree.c (PROCESS_ARG): Likewise.
6426
64272010-04-07 Simon Baldwin <simonb@google.com>
6428
6429 * diagnostic.h (diagnostic_override_option_index): New macro to
6430 set a diagnostic's option_index.
6431 * c-tree.h (c_cpp_error): Add warning reason argument.
6432 * opts.c (_warning_as_error_callback): New.
6433 (register_warning_as_error_callback): Store callback for
6434 warnings enabled via enable_warning_as_error.
6435 (enable_warning_as_error): Call callback, minor code tidy.
6436 * opts.h (register_warning_as_error_callback): Declare.
6437 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
6438 response to -Werror=.
6439 (c_common_init_options): Register warning_as_error_callback in opts.c.
6440 * common.opt: Add -Wno-cpp option.
6441 * c-common.c (struct reason_option_codes_t): Map cpp warning
6442 reason codes to gcc option indexes.
6443 * (c_option_controlling_cpp_error): New function, lookup the gcc
6444 option index for a cpp warning reason code.
6445 * (c_cpp_error): Add warning reason argument, call
6446 c_option_controlling_cpp_error for diagnostic_override_option_index.
6447 * doc/invoke.texi: Document -Wno-cpp.
6448
64492010-04-07 Richard Guenther <rguenther@suse.de>
6450
6451 * ipa-reference.c (mark_load): Use get_base_address.
6452 (mark_store): Likewise.
6453
6454 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
6455 inserting GIMPLE_NOPs into the IL.
6456 * tree-ssa-structalias.c (get_constraint_for_component_ref):
6457 Explicitly strip handled components and indirect references.
6458
6459 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
6460 folding address expressions.
6461 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
6462 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
6463 operand_equal_p to compare decls.
6464 (ptr_deref_may_alias_decl_p): Likewise.
6465 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
6466 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
6467 Handle reversed comparison ops.
6468 * tree-sra.c (asm_visit_addr): Use get_base_address.
6469 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
6470 * ipa-reference.c (mark_address): Use get_base_address.
6471
64722010-04-07 Richard Guenther <rguenther@suse.de>
6473
6474 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
6475 Propagate constants everywhere.
6476
64772010-04-07 Jakub Jelinek <jakub@redhat.com>
6478
6479 PR debug/43516
6480 * tree.c (MAX_INT_CACHED_PREC): Define.
6481 (nonstandard_integer_type_cache): New array.
6482 (build_nonstandard_integer_type): Cache results for precision
6483 <= MAX_INT_CACHED_PREC.
6484
64852010-04-07 Richard Guenther <rguenther@suse.de>
6486
6487 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
6488 -fargument-noalias-global, -fargument-noalias-anything): Remove.
6489 * common.opt: Likewise.
6490 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
6491 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
6492 (nonoverlapping_memrefs_p): Likewise.
6493 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
6494 * opts.c (common_handle_option): Handle OPT_fargument_alias,
6495 OPT_fargument_noalias, OPT_fargument_noalias_anything and
6496 OPT_fargument_noalias_global for backward compatibility.
6497
64982010-04-07 Richard Guenther <rguenther@suse.de>
6499
6500 PR tree-optimization/43270
6501 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
6502 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
6503 * tree-ssa-pre.c (phi_translate_1): Adjust.
6504 (fully_constant_expression): Split out vn_reference handling to ...
6505 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
6506 Fold reads from constant strings.
6507 (vn_reference_lookup): Handle fully constant references.
6508 (vn_reference_lookup_pieces): Likewise.
6509 * Makefile.in (expmed.o-warn): Add -Wno-error.
6510
65112010-04-07 Martin Jambor <mjambor@suse.cz>
6512
6513 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
6514
65152010-04-07 Iain Sandoe <iains@gcc.gnu.org>
6516
6517 PR driver/41594
6518 * gcc.c: Add -static-libstdc++ to list of recognized options.
6519
65202010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6521
6522 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
6523
65242010-04-07 Richard Guenther <rguenther@suse.de>
6525
6526 PR middle-end/42617
6527 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
6528 bases build simple mem attributes to retain points-to information.
6529
65302010-04-07 Richard Guenther <rguenther@suse.de>
6531
6532 PR middle-end/42617
6533 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
6534 preserve points-to related information.
6535
65362010-04-07 Richard Guenther <rguenther@suse.de>
6537
6538 PR middle-end/42617
6539 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
6540 discard plain indirect references.
6541 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
6542 * tree.c (tree_nop_conversion): Likewise.
6543
65442010-04-07 Dodji Seketeli <dodji@redhat.com>
6545
6546 PR debug/43628
6547 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
6548
65492010-04-06 Kai Tietz <kai.tietz@onevision.com>
6550
6551 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
6552 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
6553
65542010-04-07 Sebastian Pop <sebastian.pop@amd.com>
6555
6556 * tree-if-conv.c: Fix indentation and comments.
6557
65582010-04-07 Sebastian Pop <sebastian.pop@amd.com>
6559
6560 * tree-if-conv.c: Sort static functions in topological order.
6561
65622010-04-07 Sebastian Pop <sebastian.pop@amd.com>
6563
6564 * tree-if-conv.c: Fix indentation and comments.
6565
65662010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6567
6568 PR middle-end/43519
6569 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
6570 lang_hooks.types.type_for_size instead of
6571 build_nonstandard_integer_type.
6572 When converting an unsigned type to signed, double its precision.
6573 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
6574 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
6575 (graphite_create_new_loop_guard): When ub + 1 wraps around,
6576 use lb <= ub.
6577
65782010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6579
6580 PR middle-end/43519
6581 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
6582 POINTER_PLUS_EXPR for pointer types.
6583
65842010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6585
6586 PR middle-end/43519
6587 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
6588 * graphite-clast-to-gimple.c: Include langhooks.h.
6589 (max_signed_precision_type): New.
6590 (max_precision_type): Takes two types as arguments.
6591 (precision_for_value): New.
6592 (precision_for_interval): New.
6593 (gcc_type_for_interval): New.
6594 (gcc_type_for_value): New.
6595 (gcc_type_for_clast_term): New.
6596 (gcc_type_for_clast_red): New.
6597 (gcc_type_for_clast_bin): New.
6598 (gcc_type_for_clast_expr): Split up into several functions.
6599 (gcc_type_for_clast_eq): Rewritten.
6600 (compute_bounds_for_level): New.
6601 (compute_type_for_level_1): New.
6602 (compute_type_for_level): New.
6603 (gcc_type_for_cloog_iv): Removed.
6604 (gcc_type_for_iv_of_clast_loop): Rewritten.
6605 (graphite_create_new_loop): Compute the lower and upper bound types
6606 with gcc_type_for_clast_expr.
6607 (graphite_create_new_loop_guard): Same.
6608 (find_cloog_iv_in_expr): Removed.
6609 (compute_cloog_iv_types_1): Removed.
6610 (compute_cloog_iv_types): Removed.
6611 (gloog): Do not call compute_cloog_iv_types.
6612 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
6613 GBB_CLOOG_IV_TYPES.
6614 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
6615 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
6616 (GBB_CLOOG_IV_TYPES): Removed.
6617
66182010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6619
6620 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
6621 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
6622 (detect_commutative_reduction): Same.
6623
66242010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6625
6626 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
6627 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
6628 argument.
6629 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
6630 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
6631 (rewrite_commutative_reductions_out_of_ssa): Same.
6632 * passes.c (execute_function_todo): Call verify_ssa for every pass
6633 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
6634 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
6635 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
6636 with an extra argument.
6637 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
6638 verify_ssa only when the extra argument is true.
6639 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
6640 with an extra argument.
6641 (tree_transform_and_unroll_loop): Same.
6642
66432010-04-06 Sebastian Pop <sebastian.pop@amd.com>
6644
6645 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
6646 for all the passes of the LNO having LOOP_CLOSED_SSA.
6647 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
6648 * tree-loop-distribution.c (pass_loop_distribution): Same.
6649 * tree-pass.h (TODO_verify_loops): Removed.
6650 * tree-ssa-loop.c (pass_tree_loop_init): Same.
6651 (pass_lim): Same.
6652 (pass_tree_unswitch): Same.
6653 (pass_predcom): Same.
6654 (pass_vectorize): Same.
6655 (pass_linear_transform): Same.
6656 (pass_graphite_transforms): Same.
6657 (pass_iv_canon): Same.
6658 (pass_complete_unroll): Same.
6659 (pass_complete_unrolli): Same.
6660 (pass_parallelize_loops): Same.
6661 (pass_loop_prefetch): Same.
6662 (pass_iv_optimize): Same.
6663
66642010-04-06 Changpeng Fang <changpeng.fang@amd.com>
6665
6666 PR middle-end/32824
6667 * passes.c (init_optimization_passes): Move pass_lim before
6668 pass_copy_prop and pass_dce_loop.
6669
66702010-04-06 Jakub Jelinek <jakub@redhat.com>
6671
6672 PR target/43667
6673 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
6674 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
6675 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
6676 MULTI_* defines for 4 argument vpermil2p* builtins.
6677
66782010-04-06 Uros Bizjak <ubizjak@gmail.com>
6679
6680 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
6681 * config/i386/i386.c (x86_maybe_negate_const_int): New.
6682 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
6683 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
6684 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
6685 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
6686 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
6687 Use x86_maybe_negate_const_int to output insn mnemonic.
6688 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
6689 check from instruction predicate. Update comments.
6690 * config/i386/sync.md (sync_add<mode>): Use
6691 x86_maybe_negate_const_int to output insn mnemonic.
6692
66932010-04-06 Jan Hubicka <jh@suse.cz>
6694
6695 PR tree-optimization/42906
6696 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
6697 IGNORE_SELF argument. Set visited_control_parents for fully
6698 processed BBs.
6699 (find_obviously_necessary_stmts): Update call of
6700 mark_control_dependent_edges_necessary.
6701 (propagate_necessity): Likewise. Handle PHI edges more curefully.
6702
67032010-04-06 Uros Bizjak <ubizjak@gmail.com>
6704
6705 * config/i386/i386.md: Remove comment about 'e' and 'E'
6706 operand modifier.
6707
67082010-04-06 Richard Guenther <rguenther@suse.de>
6709
6710 PR tree-optimization/43627
6711 * tree-vrp.c (extract_range_from_unary_expr): Widenings
6712 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
6713 not varying.
6714
67152010-04-06 Jakub Jelinek <jakub@redhat.com>
6716
6717 * BASE-VER: Change to 4.6.0.
6718
6719 PR target/43638
6720 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
6721 handling.
6722
67232010-04-06 Richard Guenther <rguenther@suse.de>
6724
6725 PR middle-end/43661
6726 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
6727
67282010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6729
6730 * doc/invoke.texi (Optimize Options): Document that LTO
6731 won't remove object access purely due to incompatible
6732 declarations.
6733
67342010-04-04 Matthias Klose <doko@ubuntu.com>
6735
6736 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
6737 Initialize variable.
6738
67392010-04-03 Richard Guenther <rguenther@suse.de>
6740
6741 PR middle-end/42509
6742 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
6743 require a non-NULL MEM_OFFSET.
6744
67452010-04-02 Steven Bosscher <steven@gcc.gnu.org>
6746
6747 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
6748 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
6749 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
6750 config/alpha/predicates.md, config/arm/arm.md,
6751 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
6752 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
6753 config/darwin9.h, config/darwin.c, config/darwin.h,
6754 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
6755 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
6756 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
6757 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
6758 config/mips/mips.md, config/mn10300/mn10300.c,
6759 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
6760 config/rs6000/aix.h, config/rs6000/dfp.md,
6761 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
6762 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
6763 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
6764 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
6765 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
6766 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
6767 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
6768 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
6769 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
6770 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
6771 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
6772 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
6773 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
6774 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
6775 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
6776 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
6777 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
6778 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
6779 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
6780 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
6781 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
6782 opt-functions.awk, opth-gen.awk, params.def, passes.c,
6783 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
6784 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
6785 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
6786 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
6787 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
6788 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
6789 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
6790 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
6791 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
6792 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
6793 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
6794 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
6795 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
6796 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
6797
67982010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6799
6800 PR other/43620
6801 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
6802 * aclocal.m4: Regenerate.
6803
68042010-04-02 Richard Guenther <rguenther@suse.de>
6805
6806 PR tree-optimization/43629
6807 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
6808 if we have seen a constant value.
6809
68102010-04-02 Joseph Myers <joseph@codesourcery.com>
6811
6812 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
6813
68142010-04-02 Richard Earnshaw <rearnsha@arm.com>
6815
6816 PR target/43469
6817 * arm.c (legitimize_tls_address): Adjust call to
6818 gen_tls_load_dot_plus_four.
6819 (arm_note_pic_base): New function.
6820 (arm_cannot_copy_insn_p): Use it.
6821 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
6822 constraint.
6823
68242010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6825
6826 PR bootstrap/43531
6827
6828 Revert:
6829 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6830
6831 * Makefile.in ($(out_object_file)): Depend on
6832 gt-$(basename $(notdir $(out_file))).h.
6833
68342010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
6835
6836 * config.gcc (lm32-*-rtems*): Add t-lm32.
6837
68382010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
6839
6840 * config.gcc: Add lm32-*-rtems*.
6841 * config/lm32/rtems.h: New file.
6842
68432010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
6844
6845 PR target/42609
6846 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
6847
68482010-04-01 Jakub Jelinek <jakub@redhat.com>
6849
6850 * dwarf2out.c (output_compilation_unit_header): For
6851 -gdwarf-4 use version 4 instead of version 3.
6852 (output_line_info): For version 4 and above emit additional
6853 maximum ops per insn header field.
6854 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
6855
6856 * dwarf2out.c (is_c_family, is_java): Remove.
6857 (lower_bound_default): New function.
6858 (add_bound_info, gen_descr_array_type_die): Use it.
6859
68602010-04-01 Dodji Seketeli <dodji@redhat.com>
6861
6862 PR debug/43325
6863 * dwarf2out.c (gen_variable_die): Allow debug info for variable
6864 re-declaration when it happens in a function.
6865
68662010-04-01 Aldy Hernandez <aldyh@redhat.com>
6867
6868 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
6869 (cgraph_remove_function_insertion_hook): Same.
6870 (cgraph_call_function_insertion_hooks): Same.
6871
68722010-04-01 Richard Guenther <rguenther@suse.de>
6873
6874 PR middle-end/43614
6875 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
6876 and TREE_THIS_VOLATILE.
6877 (copy_ref_info): Likewise.
6878 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
6879 * tree.c (build6_stat): Ignore side-effects of all but arg5
6880 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
6881 TARGET_MEM_REF.
6882
68832010-04-01 Richard Guenther <rguenther@suse.de>
6884
6885 PR tree-optimization/43607
6886 * ipa-type-escape.c (check_call): Do not access non-existing
6887 arguments.
6888
68892010-04-01 Richard Guenther <rguenther@suse.de>
6890
6891 PR middle-end/43602
6892 Revert
6893 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
6894 Jack Howarth <howarth@bromo.med.uc.edu>
6895
6896 * tree-profile.c (tree_init_ic_make_global_vars): Make static
6897 variables TLS.
6898
68992010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6900
6901 * doc/install.texi (Prerequisites): Document libelf usability on
6902 IRIX 5/6 and Solaris 2.
6903 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
6904 Update GNU as, GNU ld requirements.
6905 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
6906 Document Sun Studio compiler download.
6907 Update and simplify as, ld recommendations.
6908 (Specific, *-*-solaris2.7): Note obsoletion, removal.
6909
69102010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6911
6912 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
6913 with_tune_32 to pentium4.
6914
69152010-04-01 Uros Bizjak <ubizjak@gmail.com>
6916
6917 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
6918
69192010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6920
6921 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
6922 obsoletion, removal.
6923 Update IDO URL.
6924 Document GNU as requirement.
6925 Update configure requirements.
6926 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
6927 Recomment IRIX 6.5.18+.
6928 Document IDF/IDL requirement.
6929 Document GNU as requirement.
6930 Document GNU ld bootstrap failure.
6931 Remove freeware.sgi.com reference.
6932
69332010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6934
6935 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
6936 UNIX V4.0, V5.0 obsoletion, removal.
6937 Remove --with-gc=simple reference.
6938 Update VM requirements during bootstrap.
6939 Remove -oldas bootstrap description.
6940 Update binutils reference.
6941 Remove comparison failure note.
6942
69432010-03-31 Richard Guenther <rguenther@suse.de>
6944 Zdenek Dvorak <ook@ucw.cz>
6945 Sebastian Pop <sebastian.pop@amd.com>
6946
6947 PR middle-end/43464
6948 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
6949 with multiple arguments.
6950 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
6951
69522010-03-31 Sebastian Pop <sebastian.pop@amd.com>
6953
6954 * graphite-dependences.c (print_pddr): Call print_pdr with an
6955 extra argument.
6956 * graphite-poly.c (debug_pdr): Add an extra argument for the
6957 verbosity level.
6958 (print_pdr): Same.
6959 (print_pbb_domain): Same.
6960 (print_pbb): Same.
6961 (print_scop_context): Same.
6962 (print_scop): Same.
6963 (print_cloog): Same.
6964 (debug_pbb_domain): Same.
6965 (debug_pbb): Same.
6966 (print_pdrs): Same.
6967 (debug_pdrs): Same.
6968 (debug_scop_context): Same.
6969 (debug_scop): Same.
6970 (debug_cloog): Same.
6971 (print_scop_params): Same.
6972 (debug_scop_params): Same.
6973 (print_iteration_domain): Same.
6974 (print_iteration_domains): Same.
6975 (debug_iteration_domain): Same.
6976 (debug_iteration_domains): Same.
6977 (print_scattering_function): Same.
6978 (print_scattering_functions): Same.
6979 (debug_scattering_function): Same.
6980 (debug_scattering_functions): Same.
6981 * graphite-poly.h (debug_pdr): Update declaration.
6982 (print_pdr): Same.
6983 (print_pbb_domain): Same.
6984 (print_pbb): Same.
6985 (print_scop_context): Same.
6986 (print_scop): Same.
6987 (print_cloog): Same.
6988 (debug_pbb_domain): Same.
6989 (debug_pbb): Same.
6990 (print_pdrs): Same.
6991 (debug_pdrs): Same.
6992 (debug_scop_context): Same.
6993 (debug_scop): Same.
6994 (debug_cloog): Same.
6995 (print_scop_params): Same.
6996 (debug_scop_params): Same.
6997 (print_iteration_domain): Same.
6998 (print_iteration_domains): Same.
6999 (debug_iteration_domain): Same.
7000 (debug_iteration_domains): Same.
7001 (print_scattering_function): Same.
7002 (print_scattering_functions): Same.
7003 (debug_scattering_function): Same.
7004 (debug_scattering_functions): Same.
7005
70062010-03-31 Sebastian Pop <sebastian.pop@amd.com>
7007
7008 * graphite-poly.c (print_scattering_function_1): New.
7009 (print_scattering_function): Call it.
7010 (print_scop_params): Remove spaces at the end of lines.
7011 (print_cloog): New.
7012 (debug_cloog): New.
7013 * graphite-poly.h (print_cloog): Declared.
7014 (debug_cloog): Declared.
7015
70162010-03-31 Sebastian Pop <sebastian.pop@amd.com>
7017
7018 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
7019 in loop->header.
7020 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
7021 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
7022 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
7023 to switch between adding the IV bump in loop->latch or in loop->header.
7024
70252010-03-31 Sebastian Pop <sebastian.pop@amd.com>
7026
7027 * graphite-poly.c (print_scattering_function): Pretty print following
7028 the scoplib format.
7029 (print_pdr): Same.
7030 (print_pbb_domain): Same.
7031 (dump_gbb_cases): Same.
7032 (dump_gbb_conditions): Same.
7033 (print_pdrs): Same.
7034 (print_pbb): Same.
7035 (print_scop_params): Same.
7036 (print_scop_context): Same.
7037 (print_scop): Same.
7038 (print_pbb_body): New.
7039 (lst_indent_to): New.
7040 (print_lst): Start new lines with a #.
7041 * graphite-poly.h (pbb_bb): New.
7042 (pbb_index): Use pbb_bb.
7043 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
7044 disjuncts.
7045 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
7046
70472010-03-31 Jakub Jelinek <jakub@redhat.com>
7048
7049 * dwarf2out.c (size_of_die): For -gdwarf-4 use
7050 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
7051 and 0 instead of 1 for dw_val_class_flag.
7052 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
7053 dw_val_class_range_list, dw_val_class_loc_list,
7054 dw_val_class_lineptr and dw_val_class_macptr, use
7055 DW_FORM_flag_present for dw_val_class_flag and
7056 DW_FORM_exprloc for dw_val_class_loc.
7057 (output_die): For -gdwarf-4 print dw_val_class_loc
7058 size as uleb128 instead of 1 or 2 bytes and don't print
7059 anything for dw_val_class_flag.
7060
7061 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
7062 instead of cselib_lookup following by tweaking locs->setting_insn.
7063
7064 PR bootstrap/43596
7065 * cselib.c (cselib_process_insn): Clear cselib_current_insn
7066 even before returning from label, setjmp call or volatile asm
7067 handling.
7068
70692010-03-31 Richard Guenther <rguenther@suse.de>
7070
7071 PR middle-end/43600
7072 * cgraphunit.c (cgraph_output_in_order): Do not allocate
7073 temporary data on stack.
7074
70752010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7076
7077 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
7078 (PUSHSECTION_ASM_OP): Remove.
7079 (POPSECTION_ASM_OP): Remove.
7080 (PUSHSECTION_FORMAT): Remove.
7081 * config/sol2.h (PUSHSECTION_FORMAT): Define.
7082 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
7083 * config/sol2.c (solaris_output_init_fini): Use it.
7084
70852010-03-31 Jie Zhang <jie@codesourcery.com>
7086
7087 PR 43574
7088 * opt-functions.awk (var_type_struct): Use signed char type
7089 for simple variables.
7090
70912010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7092
7093 * config/sol2.c: Include output.h.
7094 (solaris_assemble_visibility): New function.
7095 * config/t-sol2 (sol2.o): Add output.h dependency.
7096 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
7097 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
7098 Redefine.
7099
71002010-03-31 Jakub Jelinek <jakub@redhat.com>
7101
7102 PR target/43580
7103 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
7104 V2SImode or XFmode on PRE_DEC.
7105
7106 PR debug/43557
7107 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
7108 BLKmode.
7109
71102010-03-31 Jie Zhang <jie@codesourcery.com>
7111
7112 PR 43562
7113 * reload.h (caller_save_initialized_p): Declare.
7114 * toplev.c (backend_init_target): Don't call
7115 init_caller_save but set caller_save_initialized_p to false.
7116 * caller-save.c (caller_save_initialized_p): Define.
7117 (init_caller_save): Check caller_save_initialized_p.
7118 * ira.c (ira): Call init_caller_save if flag_caller_saves.
7119
71202010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7121
7122 PR target/39048
7123 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
7124 and soft-fp/t-softfp to tmake_file.
7125 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
7126 (LIBGCC2_TF_CEXT): Define.
7127 (TF_SIZE): Define.
7128
71292010-03-30 Alexandre Oliva <aoliva@redhat.com>
7130
7131 PR debug/42977
7132 * cselib.c (n_useless_values): Document handling of debug locs.
7133 (n_useless_debug_values, n_debug_values): New variables.
7134 (new_elt_loc_list): Don't add to debug values, keep count.
7135 (promote_debug_loc): New.
7136 (cselib_reset_table): Zero new variables.
7137 (entry_and_rtx_equal_p): Promote debug locs.
7138 (discard_useless_locs): Increment n_useless_debug_values for
7139 debug values.
7140 (remove_useless_values): Adjust n_useless_values and n_debug_values
7141 with n_useless_debug_values.
7142 (add_mem_for_addr): Promote debug locs.
7143 (cselib_lookup_mem): Likewise.
7144 (cselib_lookup_addr): Renamed to...
7145 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
7146 (cselib_log_lookup): ... this. Turn into...
7147 (cselib_lookup_addr): ... new wrapper.
7148 (cselib_lookup_from_insn): New.
7149 (cselib_invalidate_regno): Increment n_useless_debug_values for
7150 debug values.
7151 (cselib_invalidate_mem): Likewise.
7152 (cselib_process_insn): Take n_deleted and n_debug_values into
7153 account to guard remove_useless_value call.
7154 (cselib_finish): Zero n_useless_debug_values.
7155 * cselib.h (cselib_lookup_from_insn): Declare.
7156 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
7157 (sched_analyze_2): Likewise.
7158
71592010-03-30 Jakub Jelinek <jakub@redhat.com>
7160
7161 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
7162 functions.
7163 (adjust_mems): Replace narrowing SUBREG of expression containing
7164 just PLUS, MINUS, MULT and ASHIFT of registers and constants
7165 with operations in the narrower mode.
7166
7167 PR debug/43593
7168 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
7169 regs_invalidated_by_call instead all call_used_reg_set registers.
7170
71712010-03-30 Sebastian Pop <sebastian.pop@amd.com>
7172
7173 PR middle-end/43430
7174 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
7175 pointer comparisons with types_compatible_p.
7176 * tree-vect-stmts.c (vectorizable_call): Same.
7177 (vectorizable_condition): Same.
7178
71792010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7180
7181 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
7182 stack check if the mask would be zero.
7183
71842010-03-30 Seongbae Park <seongbae.park@gmail.com>
7185 Jack Howarth <howarth@bromo.med.uc.edu>
7186
7187 * tree-profile.c (tree_init_ic_make_global_vars): Make static
7188 variables TLS.
7189
71902010-03-30 Joseph Myers <joseph@codesourcery.com>
7191
7192 PR other/25232
7193 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
7194 and __unordtf2.
7195 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
7196 Include ___unordxf2 and ___unordtf2.
7197 * config/i386/libgcc-glibc.ver: Do not define inheritance from
7198 GCC_4.4.0 here.
7199
72002010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
7201
7202 * config/lm32/t-lm32: New file.
7203 * config.gcc: Use the above file when targetting lm32.
7204
72052010-03-28 Duncan Sands <baldrick@free.fr>
7206
7207 * Makefile.in (PLUGIN_HEADERS): Add except.h.
7208
72092010-03-29 Sebastian Pop <sebastian.pop@amd.com>
7210
7211 PR middle-end/43431
7212 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
7213 Improve vectorization cost model diagnostic.
7214
72152010-03-29 Sebastian Pop <sebastian.pop@amd.com>
7216
7217 PR middle-end/43436
7218 * tree-vect-data-refs.c (vect_analyze_data_refs): When
7219 compute_data_dependences_for_loop returns false, early exit
7220 and output an extra diagnostic for the failed data reference
7221 analysis.
7222
72232010-03-29 Richard Guenther <rguenther@suse.de>
7224
7225 PR tree-optimization/43560
7226 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
7227 (can_sm_ref_p): Treat stores to readonly locations as trapping.
7228
72292010-03-29 Jie Zhang <jie@codesourcery.com>
7230
7231 PR 43564
7232 * toplev.c (process_options): Set optimization_default_node
7233 and optimization_current_node.
7234 * opts.c (decode_options): Don't set optimization_default_node
7235 and optimization_current_node.
7236
72372010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
7238
7239 * config/rtems.h: Abandon -qrtems_debug.
7240
72412010-03-28 Jan Hubicka <jh@suse.cz>
7242
7243 PR tree-optimization/43505
7244 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
7245 map should not be copied.
7246
72472010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7248
7249 PR middle-end/41674
7250 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
7251 cdtors, set DECL_PRESERVE_P.
7252 * ipa.c (cgraph_externally_visible_p): Return true if declaration
7253 should be preseved.
7254
72552010-03-27 Uros Bizjak <ubizjak@gmail.com>
7256
7257 PR tree-optimization/43528
7258 * stor-layout.c (place_field): Check that constant fits into
7259 unsigned HWI when skipping calculation of MS bitfield layout.
7260
72612010-03-27 Jan Hubicka <jh@suse.cz>
7262
7263 PR middle-end/43391
7264 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
7265 notice_global_symbol work.
7266
72672010-03-27 Jakub Jelinek <jakub@redhat.com>
7268
7269 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
7270 instead of dwarf2out_decl.
7271 (struct var_loc_node): Remove section_label field.
7272 (dwarf2out_function_decl): New function.
7273 (dwarf2out_var_location): Don't set section_label field.
7274 (dwarf2out_begin_function): Don't empty decl_loc_table here.
7275
72762010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
7277
7278 PR tree-optimization/43544
7279 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
7280 First argument for builtin vectorized function hook is now a
7281 tree to be able to distinguish between machine specific and
7282 standard builtins.
7283 * targhooks.c (default_builtin_vectorized_function): Ditto.
7284 * targhooks.h (default_builtin_vectorized_function): Ditto.
7285 * target.h (struct gcc_target): Ditto.
7286 * tree-vect-stmts.c (vectorizable_function): Ditto.
7287 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
7288 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
7289 Ditto.
7290
72912010-03-26 Joseph Myers <joseph@codesourcery.com>
7292
7293 PR c/43381
7294 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
7295 nested binding iff it is a FUNCTION_DECL.
7296 (store_parm_decls_newstyle): Pass nested=true to bind for
7297 FUNCTION_DECLs amongst parameters.
7298
72992010-03-26 Jakub Jelinek <jakub@redhat.com>
7300
7301 * var-tracking.c (vt_expand_loc_callback): Don't run
7302 cselib_expand_value_rtx_cb in dummy mode if
7303 cselib_dummy_expand_value_rtx_cb returned false.
7304
7305 * var-tracking.c (emit_note_insn_var_location): For one part
7306 notes with offset 0, don't add EXPR_LIST around the location.
7307 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
7308 add_location_or_const_value_attribute): Adjust for that change.
7309
7310 PR debug/43540
7311 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
7312 into first operand and location into second.
7313 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
7314 dw_cfi_oprnd_loc for DW_CFA_expression.
7315 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
7316 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
7317 assume first argument is regnum and second argument is location.
7318
73192010-03-26 Uros Bizjak <ubizjak@gmail.com>
7320
7321 PR target/42113
7322 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
7323 of scratch register to DImode. Split to DImode comparison operator.
7324 Use SImode subreg of scratch register in the multiplication.
7325 (*cmp_sadd_sidi): Ditto.
7326 (*cmp_ssub_si): Ditto.
7327 (*cmp_ssub_sidi): Ditto.
7328
73292010-03-26 Uros Bizjak <ubizjak@gmail.com>
7330
7331 PR target/43524
7332 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
7333 Remove invalid assert and wrong comment.
7334
73352010-03-26 Jakub Jelinek <jakub@redhat.com>
7336
7337 PR debug/43516
7338 * flags.h (final_insns_dump_p): New extern.
7339 * final.c (final_insns_dump_p): New variable.
7340 (rest_of_clean_state): Set it before -fdump-final-insns=
7341 dumping, clear afterwards.
7342 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
7343 MEM_ALIAS_SET on MEMs.
7344
73452010-03-26 David S. Miller <davem@davemloft.net>
7346
7347 * configure.ac: Fix sparc GOTDATA_OP bug check.
7348 * configure: Rebuild.
7349
73502010-03-26 Alan Modra <amodra@gmail.com>
7351
7352 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
7353
73542010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7355
7356 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
7357 TLS_SECTION_ASM_FLAG.
7358
73592010-03-25 Jakub Jelinek <jakub@redhat.com>
7360
7361 PR bootstrap/43511
7362 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
7363 Clear first_function_block_is_cold.
7364
7365 PR c/43385
7366 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
7367 argument if the argument is truth_value_p.
7368
73692010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
7370
7371 * config/rs6000/constraints.md: Update copyright year for my changes.
7372
7373 PR target/43484
7374 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
7375 used in reg+reg addressing, swap registers.
7376
73772010-03-24 Jakub Jelinek <jakub@redhat.com>
7378
7379 PR debug/43293
7380 * target.h (struct gcc_target): Add code_end hook.
7381 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
7382 if not yet defined.
7383 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
7384 * toplev.c (compile_file): Call targetm.asm_out.code_end
7385 hook before unwind info/debug info output.
7386 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
7387 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
7388 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
7389 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
7390 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
7391 * config/i386/i386.c (ix86_file_end): Renamed to...
7392 (ix86_code_end): ... this. Make static. Don't call
7393 file_end_indicate_exec_stack. Emit unwind info using
7394 final_start_function/final_end_function.
7395 (darwin_x86_file_end): Remove.
7396 (TARGET_ASM_CODE_END): Define.
7397 * config/i386/i386.h (TARGET_ASM_FILE_END,
7398 NEED_INDICATE_EXEC_STACK): Don't define.
7399 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
7400 (TARGET_ASM_FILE_END): Define to darwin_file_end.
7401 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
7402 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
7403
7404 PR target/43498
7405 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
7406 at the beginning and final_end_function at the end.
7407 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
7408
74092010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7410
7411 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
7412 and Sun as TLS syntax.
7413 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
7414 * configure: Regenerate.
7415 * config.in: Regenerate.
7416 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
7417 (default_elf_asm_named_section): Use it.
7418 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
7419 (i386_output_dwarf_dtprel): Likewise.
7420 (output_addr_const_extra): Likewise.
7421 (output_pic_addr_const): Lowercase @GOTTPOFF.
7422 (output_addr_const_extra): Likewise.
7423 (output_pic_addr_const): Lowercase @GOTNTPOFF.
7424 (output_addr_const_extra): Likewise.
7425 (output_pic_addr_const): Lowercase @INDNTPOFF.
7426 (output_addr_const_extra): Likewise.
7427 (output_pic_addr_const): Lowercase @NTPOFF.
7428 (output_addr_const_extra): Likewise.
7429 (output_pic_addr_const): Lowercase @TPOFF.
7430 (output_addr_const_extra): Likewise.
7431 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
7432 (*tls_global_dynamic_64): Likewise.
7433 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
7434 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
7435
7436 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
7437 (ASM_OUTPUT_TLS_COMMON): Use it.
7438 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
7439
7440 PR target/38118
7441 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
7442 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
7443 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
7444 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
7445 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
7446 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
7447
74482010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7449
7450 * config/i386/i386.c (override_options): Don't accept
7451 -mtls-dialect=sun any longer.
7452 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
7453 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
7454 (*tls_local_dynamic_base_32_sun): Likewise.
7455 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
7456
74572010-03-24 Jakub Jelinek <jakub@redhat.com>
7458
7459 PR debug/43508
7460 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
7461 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
7462
7463 PR debug/43479
7464 * ira.c (adjust_cleared_regs): New function.
7465 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
7466
7467 PR debug/19192
7468 PR debug/43479
7469 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
7470 from gimple_block.
7471 * expr.c (expand_expr_real): Restore previous
7472 curr_insn_source_location and curr_insn_block after
7473 expand_expr_real_1 call.
7474 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
7475 instead of expand_expr_real_1.
7476
74772010-03-23 Vladimir Makarov <vmakarov@redhat.com>
7478
7479 PR rtl-optimization/43413
7480 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
7481 hard regs too.
7482
74832010-03-22 James E. Wilson <wilson@codesourcery.com>
7484
7485 PR target/43348
7486 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
7487 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
7488
74892010-03-22 H.J. Lu <hongjiu.lu@intel.com>
7490
7491 * config/i386/i386.c (ix86_target_string): Add -mfma.
7492 Fix a typo in comment.
7493
74942010-03-22 Mike Stump <mikestump@comcast.net>
7495
7496 PR target/23071
7497 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
7498 Don't overly align based upon packed packed fields.
7499
75002010-03-22 Jason Merrill <jason@redhat.com>
7501
7502 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
7503 Use () rather than [], and move before the element type.
7504
75052010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7506
7507 * doc/configfiles.texi (Configuration Files): Removed
7508 fixinc/Makefile*, intl/Makefile.*.
7509 * doc/makefile.texi: Fixed markup. Abstract from version
7510 control system used.
7511 (Makefile): Removed obsolete gcc/java/parse.y example.
7512 * doc/sourcebuild.texi: Likewise.
7513 (Top Level): Added config, gnattools, libdecnumber, libgcc,
7514 libgomp, libssp. Removed fastjar.
7515 (Miscellaneous Docs): Clarify location.
7516 Added COPYING3, COPYING3.LIB.
7517 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
7518
75192010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7520
7521 PR target/38085
7522 * config/i386/i386.c (x86_function_profiler)
7523 [!NO_PROFILE_COUNTERS]: Fix typo.
7524 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
7525 instead of callq.
7526
75272010-03-22 Janis Johnson <janis187@us.ibm.com>
7528 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7529
7530 * doc/sourcebuild.texi (Test Directives): Split into six
7531 subsections, with most of the current text in new subsections
7532 Directives, Selectors, and Final Actions.
7533 (Directives): Split list of test directives into multiple
7534 subsubsections.
7535 (Selectors): Describe use and syntax of selectors.
7536 (Effective-Target Keywords): Describe all existing keywords.
7537 (Add Options): Describe features for dg-add-options.
7538 (Require Support): Describe variants of dg-require-support.
7539 (Final Actions): Describe commands to use in dg-final.
7540
75412010-03-22 Michael Matz <matz@suse.de>
7542
7543 PR middle-end/43475
7544 * recog.c (validate_replace_rtx_group): Replace also in
7545 REG_EQUAL and REG_EQUIV notes.
7546
75472010-03-22 Richard Guenther <rguenther@suse.de>
7548
7549 PR tree-optimization/43390
7550 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
7551 sure vector extracts are type correct.
7552
75532010-03-22 Richard Guenther <rguenther@suse.de>
7554
7555 PR middle-end/40106
7556 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
7557 x * sqrt (x) even when optimizing for size if the target
7558 has native support for sqrt.
7559
75602010-03-22 Jakub Jelinek <jakub@redhat.com>
7561
7562 * varasm.c (make_decl_rtl_for_debug): Also clear
7563 flag_mudflap for the duration of make_decl_rtl call.
7564
7565 PR debug/43443
7566 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
7567 locs from preserved VALUEs.
7568
75692010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7570
7571 PR middle-end/42718
7572 * pa.md (movmemsi): Set align to one if zero.
7573 (movmemdi): Likewise.
7574
75752010-03-21 Richard Earnshaw <rearnsha@arm.com>
7576
7577 PR target/42321
7578 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
7579 with their corresponding prologue pushes.
7580
75812010-03-20 Andrew Pinski <pinskia@gmail.com>
7582
7583 PR target/43156
7584 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
7585 at the begining or end.
7586 (spu_expand_epilogue): Likewise.
7587
75882010-03-20 Richard Guenther <rguenther@suse.de>
7589
7590 PR rtl-optimization/43438
7591 * combine.c (make_extraction): Properly zero-/sign-extend an
7592 extraction of the low part of a CONST_INT. Also handle
7593 CONST_DOUBLE.
7594
75952010-03-19 Mike Stump <mikestump@comcast.net>
7596
7597 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
7598 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
7599 (override_options): Use SUBTARGET32_DEFAULT_CPU.
7600
76012010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
7602
7603 PR c/43211
7604 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
7605 an error.
7606
76072010-03-19 Bernd Schmidt <bernds@codesourcery.com>
7608
7609 PR rtl-optimization/42258
7610 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
7611 use that may match DEF.
7612
7613 PR target/40697
7614 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
7615 the cost of loading the constant rather than assuming
7616 COSTS_N_INSNS (1).
7617 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
7618 outer code is AND, do the same tests as the andsi3 expander and
7619 return COSTS_N_INSNS (1) if and is cheap.
7620
7621 * optabs.c (avoid_expensive_constant): Fix formatting.
7622
76232010-03-19 Michael Matz <matz@suse.de>
7624
7625 PR c++/43116
7626 * attribs.c (decl_attributes): When rebuilding a function pointer
7627 type use the same qualifiers as the original pointer type.
7628
76292010-03-19 Martin Jambor <mjambor@suse.cz>
7630
7631 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
7632 and is_gimple_ip_invariant_address.
7633
76342010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7635
7636 Revert
7637 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7638
7639 * config/arm/arm.c (arm_override_options): Turn off
7640 flag_dwarf2_cfi_asm for AAPCS variants.
7641
76422010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7643
7644 PR target/43399
7645 * config/arm/arm.c (emit_multi_reg_push): Update comments.
7646 Use PRE_MODIFY instead of PRE_DEC.
7647 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
7648 (vfp_emit_fstmd): Likewise.
7649
76502010-03-19 Michael Matz <matz@suse.de>
7651
7652 PR target/43305
7653 * builtins.c (expand_builtin_interclass_mathfn,
7654 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
7655 if that fails.
7656
76572010-03-19 Richard Guenther <rguenther@suse.de>
7658
7659 PR tree-optimization/43415
7660 * tree-ssa-pre.c (phi_translate): Split out worker to ...
7661 (phi_translate_1): ... this.
7662 (phi_translate): Move all caching here. Cache all NARY
7663 and REFERENCE translations.
7664
76652010-03-19 David S. Miller <davem@davemloft.net>
7666
7667 With help from Eric Botcazou.
7668 * config/sparc/sparc.c: Include dwarf2out.h.
7669 (emit_pic_helper): Delete.
7670 (pic_helper_symbol_name): Delete.
7671 (pic_helper_emitted_p): Delete.
7672 (pic_helper_needed): New.
7673 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
7674 (get_pc_thunk_name): New.
7675 (load_pic_register): Remove 'delay_pic_helper' arg. Use
7676 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
7677 Set pic_helper_needed to true. Don't call emit_pic_helper.
7678 (sparc_expand_prologue): Update load_pic_register call.
7679 (sparc_output_mi_thunk): Likewise.
7680 (sparc_file_end): Emit a hidden comdat symbol for the PIC
7681 thunk if possible. Output CFI information as needed.
7682
76832010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7684 Jack Howarth <howarth@bromo.med.uc.edu>
7685
7686 PR target/36399
7687 * config/i386/i386.h: Fix ABI on darwin x86-32.
7688
76892010-03-18 Aldy Hernandez <aldyh@redhat.com>
7690
7691 * tree.h: Declare make_decl_rtl_for_debug.
7692 * varasm.c (make_decl_rtl_for_debug): New.
7693 * dwarf2out.c (rtl_for_decl_location): Call it.
7694 * cfgexpand.c (expand_debug_expr): Call it.
7695
76962010-03-18 Jakub Jelinek <jakub@redhat.com>
7697
7698 PR bootstrap/43399
7699 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
7700 mem_mode.
7701
7702 PR bootstrap/43403
7703 * var-tracking.c (vt_init_cfa_base): Do nothing if
7704 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
7705
77062010-03-18 Alexandre Oliva <aoliva@redhat.com>
7707
7708 PR debug/42873
7709 * var-tracking.c (canonicalize_vars_star): New.
7710 (dataflow_post_merge_adjust): Use it.
7711
77122010-03-18 Jakub Jelinek <jakub@redhat.com>
7713
7714 PR debug/43058
7715 * var-tracking.c (non_suitable_const): New function.
7716 (add_uses): For DEBUG_INSNs with constants, don't record any
7717 value, instead just the constant value itself.
7718 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
7719 is not VAR_LOC_UNKNOWN_P, set var to the constant.
7720 (emit_notes_in_bb): Likewise.
7721 (emit_note_insn_var_location): For onepart variables if
7722 cur_loc is a VOIDmode constant, use DECL_MODE.
7723
77242010-03-18 Martin Jambor <mjambor@suse.cz>
7725
7726 PR middle-end/42450
7727 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
7728 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
7729 all non-clones. Moved call redirection...
7730 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
7731 (cgraph_materialize_all_clones): Dispose of all
7732 combined_args_to_skip bitmaps.
7733 (verify_cgraph_node): Do not check for edges pointing to wrong
7734 nodes in inline clones.
7735 * tree-inline.c (copy_bb): Call
7736 cgraph_redirect_edge_call_stmt_to_callee.
7737 * ipa.c (cgraph_remove_unreachable_nodes): Call
7738 cgraph_node_remove_callees even when there are used clones.
7739
77402010-03-18 H.J. Lu <hongjiu.lu@intel.com>
7741
7742 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
7743
77442010-03-18 H.J. Lu <hongjiu.lu@intel.com>
7745
7746 PR target/43383
7747 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
7748 for 32bit.
7749
77502010-03-18 Michael Matz <matz@suse.de>
7751
7752 PR middle-end/43419
7753 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
7754 into sqrt(x) if we need to preserve signed zeros.
7755
77562010-03-18 Steven Bosscher <steven@gcc.gnu.org>
7757 Eric Botcazou <ebotcazou@adacore.com>
7758
7759 PR rtl-optimization/43360
7760 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
7761 note if we don't know its invariant status.
7762
77632010-03-18 Michael Matz <matz@suse.de>
7764
7765 PR tree-optimization/43402
7766 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
7767 PHI chains of ssa names registered for update.
7768
77692010-03-17 Peter Bergner <bergner@vnet.ibm.com>
7770
7771 PR target/42427
7772 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
7773 non-offsettable and pre_modify update addressing.
7774 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
7775 and "2" alternatives "#".
7776 (*movdd_softfloat32): Make all alternatives "#";
7777 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
7778 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
7779 (*movdf_softfloat32): Make all alternatives "#";
7780 (movdi): Use the new DIFD mode iterator to create a common splitter
7781 for movdi, movdf and movdd patterns.
7782
77832010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
7784
7785 * common.opt (dumpdir): Remove redundant tab.
7786
77872010-03-17 Martin Jambor <mjambor@suse.cz>
7788
7789 PR tree-optimization/43347
7790 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
7791 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
7792
77932010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
7794
7795 PR rtl-optimization/42216
7796 * regrename.c (create_new_chain): New function, broken out from...
7797 (scan_rtx_reg): ... here. Call it. Handle the case where we are
7798 appending a use to an empty chain.
7799 (build_def_use): Remove previous changes that convert OP_INOUT to
7800 OP_OUT operands; instead detect the case where an OP_INOUT operand
7801 uses a previously untracked register and create an empty chain for it.
7802
78032010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7804
7805 * doc/extend.texi (Function Attributes): Rewrite unfinished
7806 sentence in ms_abi documentation.
7807
78082010-03-17 Alan Modra <amodra@gmail.com>
7809
7810 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
7811 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
7812 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
7813 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
7814
78152010-03-16 Richard Henderson <rth@redhat.com>
7816
7817 PR middle-end/43365
7818 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
7819 (lower_try_finally): Save and restore eh_seq around the expansion
7820 of the try-finally.
7821
78222010-03-16 Aldy Hernandez <aldyh@redhat.com>
7823
7824 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
7825 statements before splitting block.
7826
78272010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7828
7829 * doc/sourcebuild.texi (Testsuites): Fix markup.
7830 Use pathnames relative to gcc/testsuite.
7831 (Test Directives): Move description of how timeout is determined.
7832 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
7833 (C Tests): Correct gcc.misc-tests directory.
7834 Framework tests now live in gcc.test-framework.
7835
78362010-03-16 Richard Guenther <rguenther@suse.de>
7837
7838 PR middle-end/43379
7839 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
7840 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7841
78422010-03-16 Aldy Hernandez <aldyh@redhat.com>
7843 Alexandre Oliva <aoliva@redhat.com>
7844
7845 PR tree-optimization/42917
7846 * lambda-code.c (remove_iv): Skip debug statements.
7847 (lambda_loopnest_to_gcc_loopnest): Likewise.
7848 (not_interesting_stmt): Debug statements are not interesting.
7849
78502010-03-16 Jakub Jelinek <jakub@redhat.com>
7851
7852 PR debug/43051
7853 PR debug/43092
7854 * cselib.c (cselib_preserve_constants,
7855 cfa_base_preserved_val): New static variables.
7856 (preserve_only_constants): New function.
7857 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
7858 clear its REG_VALUES. If cselib_preserve_constants, don't
7859 empty the whole hash table, but preserve there VALUEs with constants,
7860 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
7861 (cselib_preserve_cfa_base_value): New function.
7862 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
7863 (cselib_init): Change argument to int bitfield. Set
7864 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
7865 is in it.
7866 (cselib_finish): Clear cselib_preserve_constants and
7867 cfa_base_preserved_val.
7868 * cselib.h (enum cselib_record_what): New enum.
7869 (cselib_init): Change argument to int.
7870 (cselib_preserve_cfa_base_value): New prototype.
7871 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
7872 * dse.c (dse_step1): Likewise.
7873 * cfgcleanup.c (thread_jump): Likewise.
7874 * sched-deps.c (sched_analyze): Likewise.
7875 * gcse.c (local_cprop_pass): Likewise.
7876 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
7877 If FN is non-NULL, call the callback always and whenever it returns
7878 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
7879 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
7880 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
7881 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
7882 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
7883 * var-tracking.c: Include recog.h.
7884 (bb_stack_adjust_offset): Remove.
7885 (vt_stack_adjustments): Don't call it, instead just gather the
7886 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
7887 (adjust_stack_reference): Remove.
7888 (compute_cfa_pointer): New function.
7889 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
7890 (struct adjust_mem_data): New type.
7891 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
7892 functions.
7893 (get_address_mode): New function.
7894 (replace_expr_with_values): Use it.
7895 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
7896 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
7897 (adjust_sets): Remove.
7898 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
7899 Use get_address_mode.
7900 (get_adjusted_src): Remove.
7901 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
7902 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
7903 (add_with_sets): Don't call adjust_sets.
7904 (fp_setter, vt_init_cfa_base): New functions.
7905 (vt_initialize): Change return type to bool. Move most of pool etc.
7906 initialization to the beginning of the function from end. Pass
7907 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
7908 If !frame_pointer_needed, call vt_stack_adjustment before mos
7909 vector is filled, call vt_init_cfa_base if argp/framep has been
7910 eliminated to sp. If frame_pointer_needed and argp/framep has
7911 been eliminated to hard frame pointer, set
7912 hard_frame_pointer_adjustment and call vt_init_cfa_base after
7913 encountering fp setter in the prologue. For MO_ADJUST, call
7914 log_op_type before pusing the op into mos vector, not afterwards.
7915 Call adjust_insn before cselib_process_insn/add_with_sets,
7916 call cancel_changes (0) afterwards.
7917 (variable_tracking_main_1): Adjust for vt_initialize calling
7918 vt_stack_adjustments and returning whether it succeeded or not.
7919
79202010-03-15 Aldy Hernandez <aldyh@redhat.com>
7921
7922 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
7923 debug statements.
7924
79252010-03-15 Jakub Jelinek <jakub@redhat.com>
7926
7927 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
7928 has been set.
7929 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
7930 drap_reg has not been set.
7931
79322010-03-15 Michael Matz <matz@suse.de>
7933
7934 PR middle-end/43300
7935 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
7936 use it to expand block copies.
7937 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
7938 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
7939 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
7940
79412010-03-15 Richard Guenther <rguenther@suse.de>
7942
7943 PR tree-optimization/43367
7944 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
7945 elimination check.
7946
79472010-03-15 Richard Guenther <rguenther@suse.de>
7948
7949 PR tree-optimization/43317
7950 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
7951
79522010-03-15 Martin Jambor <mjambor@suse.cz>
7953
7954 PR tree-optimization/43141
7955 * tree-sra.c (create_abstract_origin): New function.
7956 (modify_function): Call create_abstract_origin.
7957
79582010-03-15 Chris Demetriou <cgd@google.com>
7959
7960 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
7961 wasn't copied.
7962
79632010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7964
7965 PR middle-end/43354
7966 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
7967 call insert_out_of_ssa_copy for default definitions.
7968
79692010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7970
7971 * graphite-clast-to-gimple.c (my_long_long): Defined.
7972 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
7973 * graphite-sese-to-poly.c (my_long_long): Defined.
7974 (scop_ivs_can_be_represented): Use it.
7975
79762010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7977
7978 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
7979 graphite-max-bbs-per-function, and loop-block-tile-size.
7980 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
7981 with "maximum".
7982 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
7983
79842010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7985
7986 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
7987 forward declaration.
7988 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
7989 (add_upper_bounds_from_estimated_nit): New.
7990 (build_loop_iteration_domains): Use it.
7991
79922010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7993
7994 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
7995
79962010-03-13 Sebastian Pop <sebastian.pop@amd.com>
7997
7998 PR middle-end/43306
7999 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
8000 should be an INTEGER_CST. Also handle CASE_CONVERT.
8001
80022010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8003
8004 * graphite.c (graphite_initialize): To bound the number of bbs per
8005 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
8006 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
8007 * doc/invoke.texi: Document it.
8008
80092010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8010
8011 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
8012 * graphite-sese-to-poly.h (build_poly_scop): Same.
8013
80142010-03-13 Sebastian Pop <sebastian.pop@amd.com>
8015
8016 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
8017 the number of parameters in the scop. Use as an upper bound
8018 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
8019 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
8020 * doc/invoke.texi: Document it.
8021
80222010-03-13 Jerry Quinn <jlquinn@optonline.net>
8023
8024 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
8025 * doc/c-tree.texi: Remove.
8026 * doc/generic.texi: Merge c-tree.texi here.
8027 * doc/gccint.texi (Trees): Remove menu entry.
8028 (c-tree.texi): Remove @include.
8029 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
8030 * doc/languages.texi (Reading RTL): Ditto.
8031
80322010-03-12 Steve Ellcey <sje@cup.hp.com>
8033
8034 PR target/42869
8035 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
8036
80372010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
8038
8039 PR middle-end/42431
8040 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
8041 code added to work around reload clobbering CONST insns.
8042
80432010-03-12 Jakub Jelinek <jakub@redhat.com>
8044
8045 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
8046 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
8047 (cselib_preserve_only_values): Remove retain argument, don't
8048 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
8049 * cselib.h (cselib_preserve_only_values): Remove retain argument.
8050 * var-tracking.c (micro_operation): Move insn field before union.
8051 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
8052 (struct variable_tracking_info_def): Remove n_mos field, change
8053 mos into a vector of micro_operations.
8054 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
8055 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
8056 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
8057 changing into a vector.
8058 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
8059 come before all other uops generated by add_stores.
8060 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
8061 argument removal.
8062 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
8063 a vector. Run just one pass over the bbs instead of separate counting
8064 and computation phase.
8065 (vt_finalize): Free VTI (bb)->mos vector instead of array.
8066
8067 PR debug/43329
8068 * tree-inline.c (remap_decls): Put old_var rather than origin_var
8069 into *nonlocalized_list vector.
8070 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
8071 even if origin is non-NULL.
8072 (gen_variable_die): Likewise.
8073 (process_scope_var): Don't change origin.
8074 (gen_decl_die): Likewise.
8075 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
8076 before adding new edges instead of after it, fix moving over
8077 debug stmts.
8078
80792010-03-11 David S. Miller <davem@davemloft.net>
8080
8081 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
8082 of four.
8083 * configure: Rebuild.
8084
80852010-03-11 Martin Jambor <mjambor@suse.cz>
8086
8087 PR tree-optimization/43257
8088 * tree.c (assign_assembler_name_if_neeeded): New function.
8089 (free_lang_data_in_cgraph): Assembler name assignment moved to the
8090 above new function.
8091 * tree.h (assign_assembler_name_if_neeeded): Declare.
8092 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
8093 the function if needed.
8094
80952010-03-11 Chris Demetriou <cgd@google.com>
8096
8097 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
8098 include/stdint-gcc.h, and include/stdint.h world-readable.
8099
81002010-03-11 Richard Guenther <rguenther@suse.de>
8101
8102 PR tree-optimization/43255
8103 * tree-vrp.c (process_assert_insertions_for): Do not insert
8104 asserts for trivial conditions.
8105
81062010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8107
8108 PR tree-optimization/43280
8109 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
8110 generation. Move calculation of size out of the if branch.
8111 (find_bswap): Modify compare number generation.
8112
81132010-03-11 Richard Guenther <rguenther@suse.de>
8114
8115 PR lto/43200
8116 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
8117 (input_gimple_stmt): Fixup handled component types during
8118 operand read. Also fix up decls in ADDR_EXPRs.
8119
81202010-03-10 Eric Botcazou <ebotcazou@adacore.com>
8121
8122 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
8123 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
8124
81252010-03-10 Jan Hubicka <jh@suse.cz>
8126
8127 PR c/43288
8128 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
8129 * varasm.c (get_variable_section): Don't do that here...
8130 (make_decl_rtl): ... and here.
8131 (do_assemble_alias): Produce decl RTL.
8132 (assemble_alias): Likewise.
8133
81342010-03-10 Jakub Jelinek <jakub@redhat.com>
8135
8136 PR debug/43290
8137 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
8138 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
8139 of fde->vdrap_reg.
8140 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
8141 (based_loc_descr): Only express drap or vdrap regno based expressions
8142 using DW_OP_fbreg when not optimizing.
8143 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
8144 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
8145 REG_CFA_SET_VDRAP note.
8146
81472010-03-10 Alexander Monakov <amonakov@ispras.ru>
8148
8149 PR tree-optimization/43236
8150 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
8151 error in calculation of base address in reverse iteration case.
8152 (generate_builtin): Take number of latch executions if the statement
8153 is in the latch.
8154
81552010-03-10 Andrey Belevantsev <abel@ispras.ru>
8156
8157 PR middle-end/42859
8158 * tree-eh.c: Include pointer-set.h.
8159 (lower_eh_dispatch): Filter out duplicate case labels and
8160 remove the unneeded edge when the label is unused. Return
8161 true when some edges are removed.
8162 (execute_lower_eh_dispatch): When any lowering resulted in
8163 removing an edge, also delete unreachable blocks.
8164
81652010-03-10 Jakub Jelinek <jakub@redhat.com>
8166
8167 PR bootstrap/43287
8168 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
8169 UNSPEC_MACHOPIC_OFFSET.
8170
81712010-03-09 Andreas Schwab <schwab@linux-m68k.org>
8172
8173 PR target/43294
8174 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
8175 (m68k_delegitimize_address): New function.
8176
81772010-03-09 Jakub Jelinek <jakub@redhat.com>
8178
8179 PR debug/43299
8180 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
8181
8182 PR debug/43299
8183 * var-tracking.c (adjust_sets): New function.
8184 (count_with_sets, add_with_sets): Use it.
8185 (get_adjusted_src): New inline function.
8186 (add_stores): Use it.
8187
8188 PR debug/43304
8189 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
8190 call cselib_dummy_expand_value_rtx_cb instead of
8191 cselib_expand_value_rtx_cb.
8192
8193 PR debug/43293
8194 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
8195 * config/i386/i386.c: Include debug.h and dwarf2out.h.
8196 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
8197 and .cfi_endproc around the pic thunks.
8198 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
8199 all queued unwind info register saves are saved before the call.
8200 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
8201 considered as sp-=4 for unwind info and the pop as sp+=4 which
8202 also clobbers dest, but doesn't actually restore it.
8203
8204 PR debug/43290
8205 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
8206 RTX_FRAME_RELATED_P.
8207
82082010-03-09 Jie Zhang <jie@codesourcery.com>
8209
8210 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
8211 whitespaces in output template.
8212
82132010-03-09 Jie Zhang <jie@codesourcery.com>
8214
8215 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
8216 out array boundary.
8217
82182010-03-08 Jakub Jelinek <jakub@redhat.com>
8219
8220 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
8221 builtins.exp in a separate job.
8222
82232010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8224
8225 * graphite-sese-to-poly.c (add_param_constraints): Use
8226 lower_bound_in_type and upper_bound_in_type.
8227
82282010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8229
8230 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
8231 instead of unsigned_type_node.
8232
82332010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8234 Reza Yazdani <reza.yazdani@amd.com>
8235
8236 PR middle-end/43065
8237 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
8238 on pointer type parameters.
8239
82402010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8241
8242 PR middle-end/42644
8243 PR middle-end/42130
8244 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
8245 handle conversions from pointer to integers.
8246 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
8247 induction variable, to be able to work with code generated by CLooG.
8248 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
8249 (build_poly_scop): Bail out if we cannot codegen a loop.
8250
82512010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8252
8253 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
8254 code generation with gloog_error.
8255
82562010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8257
8258 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
8259 Call fold_convert on all the returned values.
8260 (expand_scalar_variables_expr): Pass to
8261 expand_scalar_variables_ssa_name the type of the resulting expression.
8262
82632010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8264
8265 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
8266 ppl_min_for_le_pointset.
8267 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
8268 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
8269
82702010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8271
8272 * graphite-dependences.c (map_into_dep_poly): Removed.
8273 (dependence_polyhedron_1): Use combine_context_id_scat.
8274
82752010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8276
8277 * graphite-poly.h (struct poly_scattering): Add layout documentation.
8278 (struct poly_bb): Same.
8279 (combine_context_id_scat): New.
8280
82812010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8282
8283 PR middle-end/42326
8284 * sese.c (name_defined_in_loop_p): Return false for default
8285 definitions.
8286
82872010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8288
8289 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
8290 and clean up the logic.
8291
82922010-03-08 Sebastian Pop <sebastian.pop@amd.com>
8293
8294 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
8295 early return.
8296
82972010-03-08 Jakub Jelinek <jakub@redhat.com>
8298
8299 * var-tracking.c (remove_cselib_value_chains): Define only for
8300 ENABLE_CHECKING.
8301 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
8302 delete_slot_part, emit_notes_for_differences_1): Don't call
8303 remove_cselib_value_chains here.
8304 (set_slot_part, emit_notes_for_differences_2): Don't call
8305 add_cselib_value_chains here.
8306 (preserved_values): New vector.
8307 (preserve_value): New function.
8308 (add_uses, add_stores, vt_add_function_parameters): Use it
8309 instead of cselib_preserve_value.
8310 (changed_values_stack): New vector.
8311 (check_changed_vars_0): New function.
8312 (check_changed_vars_1, check_changed_vars_2): Use it.
8313 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
8314 changed_values_stack VALUEs.
8315 (vt_emit_notes): For all preserved_values call
8316 add_cselib_value_chains. If ENABLE_CHECKING call
8317 remove_cselib_value_chains before verifying value_chains is empty.
8318 Initialize and free changed_values_stack.
8319 (vt_initialize): Initialize preserved_values.
8320 (vt_finalize): Free preserved_values.
8321
83222010-03-08 Richard Guenther <rguenther@suse.de>
8323
8324 PR tree-optimization/43269
8325 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
8326 region detection.
8327
83282010-03-08 Martin Jambor <mjambor@suse.cz>
8329
8330 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
8331 (ipa_is_param_called): Removed.
8332 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
8333 (ipa_print_node_params): Do not print the called flag.
8334 (ipa_write_node_info): Do not stream the called flag.
8335 (ipa_read_node_info): Likewise.
8336
83372010-03-07 Jakub Jelinek <jakub@redhat.com>
8338
8339 PR debug/43176
8340 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
8341 * cselib.c (struct expand_value_data): Add dummy field.
8342 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
8343 dummy to false.
8344 (cselib_dummy_expand_value_rtx_cb): New function.
8345 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
8346 any rtl.
8347 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
8348 * var-tracking.c: Include pointer-set.h.
8349 (variable): Change n_var_parts to char from int. Add
8350 cur_loc_changed and in_changed_variables fields.
8351 (variable_canonicalize): Remove.
8352 (shared_var_p): New inline function.
8353 (unshare_variable): Maintain cur_loc_changed and
8354 in_changed_variables fields. If var was in changed_variables,
8355 replace it there with new_var. Just copy cur_loc instead of
8356 resetting it to something else.
8357 (variable_union): Don't recompute cur_loc. Use shared_var_p.
8358 (dataflow_set_union): Don't call variable_canonicalize.
8359 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
8360 of their DEBUG_EXPR_TREE_DECLs.
8361 (canonicalize_loc_order_check): Verify that cur_loc is NULL
8362 and in_changed_variables and cur_loc_changed is false.
8363 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
8364 and cur_loc_changed. Don't update cur_loc here.
8365 (variable_merge_over_src): Don't call variable_canonicalize.
8366 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
8367 removing loc that is equal to cur_loc, clear cur_loc,
8368 set cur_loc_changed and ensure variable_was_changed is called.
8369 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
8370 compare pointers in cur_loc check, if it is equal to loc,
8371 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
8372 (variable_different_p): Remove compare_current_location argument,
8373 don't compare cur_loc.
8374 (dataflow_set_different_1): Adjust variable_different_p caller.
8375 (variable_was_changed): If dv had some var in changed_variables
8376 already, reset in_changed_variables flag for it and propagate
8377 cur_loc_changed over to the new variable. On empty var
8378 always set cur_loc_changed. Set in_changed_variables on whatever
8379 var is added to changed_variables.
8380 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
8381 Use shared_var_p. When removing loc that is equal to cur_loc,
8382 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
8383 end, don't set it to something else, just call variable_was_changed.
8384 (delete_slot_part): Use shared_var_p. When cur_loc equals to
8385 loc being removed, clear cur_loc and set cur_loc_changed.
8386 Set cur_loc_changed if all locations have been removed.
8387 (struct expand_loc_callback_data): New type.
8388 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
8389 allocated. Always create SUBREGs if simplify_subreg failed.
8390 Prefer to use cur_loc, when that fails and still in
8391 changed_variables (and seen first time) recompute it. Set
8392 cur_loc_changed of variables which had to change cur_loc and
8393 compute elcd->cur_loc_changed if any of the subexpressions used
8394 had to change cur_loc.
8395 (vt_expand_loc): Adjust to pass arguments in
8396 expand_loc_callback_data structure.
8397 (vt_expand_loc_dummy): New function.
8398 (emitted_notes): New variable.
8399 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
8400 that weren't used for any other decl in current
8401 emit_notes_for_changes call call vt_expand_loc_dummy to update
8402 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
8403 first loc_chain location if NULL before. Always use just
8404 cur_loc instead of first loc_chain location. When cur_loc_changed
8405 is false, when not --enable-checking=rtl just don't emit any note.
8406 When rtl checking, compute the note and assert it is the same
8407 as previous note. Clear cur_loc_changed and in_changed_variables
8408 at the end before removing from changed_variables.
8409 (check_changed_vars_3): New function.
8410 (emit_notes_for_changes): Traverse changed_vars to call
8411 check_changed_vars_3 on each changed var.
8412 (emit_notes_for_differences_1): Clear cur_loc_changed and
8413 in_changed_variables. Recompute cur_loc of new_var.
8414 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
8415 (vt_emit_notes): Initialize and destroy emitted_notes.
8416
84172010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
8418
8419 PR rtl-optimization/42220
8420 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
8421 Use verify_reg_tracked to determine if we should use OP_OUT rather
8422 than OP_INOUT.
8423 (build_def_use): If we see an in-out operand for a register that we
8424 know nothing about, treat is an output if possible, fail the block if
8425 not.
8426
84272010-03-06 Alexandre Oliva <aoliva@redhat.com>
8428
8429 PR debug/42897
8430 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
8431 permanently.
8432
84332010-03-06 Alexandre Oliva <aoliva@redhat.com>
8434
8435 PR debug/42897
8436 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
8437 uses of relevant DEFs that are dead outside the loop too.
8438
84392010-03-06 Alexandre Oliva <aoliva@redhat.com>
8440
8441 * var-tracking.c (dataflow_set_merge): Swap src and src2.
8442 Reverted:
8443 2010-01-13 Jakub Jelinek <jakub@redhat.com>
8444 PR debug/41371
8445 * var-tracking.c (values_to_unmark): New variable.
8446 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
8447 values_to_unmark vector. Moved body to...
8448 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
8449 instead queue it into values_to_unmark vector.
8450 (vt_find_locations): Free values_to_unmark vector.
8451
84522010-03-05 Eric Botcazou <ebotcazou@adacore.com>
8453
8454 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
8455 (site.exp): Export them when plugins are enabled.
8456
84572010-03-05 Sebastian Pop <sebastian.pop@amd.com>
8458
8459 PR middle-end/42326
8460 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
8461 that contain scevs.
8462 (chrec_fold_multiply): Same.
8463
84642010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
8465
8466 PR c/43248
8467 * c-decl.c (build_compound_literal): Return early if init is
8468 an error_mark_node.
8469
84702010-03-04 Martin Jambor <mjambor@suse.cz>
8471
8472 PR tree-optimization/43164
8473 PR tree-optimization/43191
8474 * tree-sra.c (type_consists_of_records_p): Reject records with
8475 zero-size bit-fields at the end.
8476
84772010-03-04 Mike Stump <mikestump@comcast.net>
8478
8479 * Makefile.in (TAGS): Remove *.y.
8480
84812010-03-04 Richard Guenther <rguenther@suse.de>
8482
8483 PR tree-optimization/40761
8484 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
8485 in reverse order.
8486 (my_rev_post_order_compute): New function.
8487 (init_pre): Call it.
8488
84892010-03-04 Changpeng Fang <changpeng.fang@amd.com>
8490
8491 PR middle-end/43209
8492 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
8493 decrease the cost of an IV candidate when the cost is infinite.
8494
84952010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8496
8497 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
8498 Use '3DNow!' for the extension of that name, ensure normal space
8499 after the string.
8500 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
8501
85022010-03-03 Jeff Law <law@redhat.com>
8503
8504 * PR middle-end/32693
8505 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
8506 than gen_rtx_SUBREG.
8507 (extract_bit_field_1): Likewise.
8508
85092010-03-03 Janis Johnson <janis187@us.ibm.com>
8510
8511 * doc/sourcebuild.texi (Test directives): Document that arguments
8512 include-opts and exclude-opts are now optional for dg-skip-if,
8513 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
8514
85152010-03-03 Jason Merrill <jason@redhat.com>
8516
8517 PR c++/12909
8518 * cgraph.h (varpool_node): Add extra_name field.
8519 * varpool.c (varpool_extra_name_alias): New.
8520 (varpool_assemble_decl): Emit extra name aliases.
8521 (varpool_mark_needed_node): Look past an extra name alias.
8522 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
8523 * lto-streamer-in.c (lto_input_tree): Read it.
8524 * lto-streamer-out.c (output_unreferenced_globals): Write it.
8525
85262010-03-03 Eric Botcazou <ebotcazou@adacore.com>
8527
8528 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
8529 (sparc*-*-solaris2*): ...this.
8530
85312010-03-03 Jakub Jelinek <jakub@redhat.com>
8532
8533 PR debug/43229
8534 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
8535 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
8536 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
8537 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
8538
8539 PR debug/43237
8540 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
8541 fallthrough to default handling, just with want_address 0 instead of 2.
8542 For single element lists, add_AT_loc directly, otherwise create an
8543 artificial variable DIE and stick location list to it.
8544
8545 PR debug/43177
8546 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
8547 (VAL_EXPR_HAS_REVERSE): Define.
8548 (reverse_op): New function.
8549 (add_stores): For reversible operations add an extra MO_VAL_USE.
8550
85512010-03-02 Jason Merrill <jason@redhat.com>
8552
8553 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
8554
85552010-03-02 Eric Botcazou <ebotcazou@adacore.com>
8556
8557 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
8558 (sparc64-*-linux*): Likewise.
8559 (sparc64-*-solaris2*): Include assembler files before linker ones.
8560 (sparc-*-solaris2*): Simplify and reorder to match previous case.
8561 * config/sparc/gas.h: Delete.
8562 * config/sparc/sol2-64.h: Add copyright notice.
8563 * config/sparc/sol2-gas-bi.h: Likewise.
8564 * config/sparc/sol2-gld.h: Likewise.
8565 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
8566 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
8567 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
8568 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
8569 (sparc_elf_asm_named_section): Rename into...
8570 (sparc_solaris_elf_asm_named_section): ...this. Always define.
8571
85722010-03-02 Uros Bizjak <ubizjak@gmail.com>
8573
8574 * config/alpha/alpha.c (override_options): Fix -mtune error message.
8575
85762010-03-02 Jeff Law <law@redhat.com>
8577
8578 PR middle-end/42431
8579 * reload1.c (rtx_p, substitute_stack): Declare.
8580 (substitute): Record addresses of changed rtxs.
8581 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
8582 Restore the original rtx when complete.
8583 (reload): Free subsitute_stack when complete.
8584
85852010-03-02 Janis Johnson <janis187@us.ibm.com>
8586
8587 * doc/gccint.texi (menu): Add Testsuites as a chapter.
8588 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
8589 new chapter.
8590 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
8591 LTO Testing, gcov Testing, profopt Testing, compat Testing,
8592 Torture Tests): Change from subsection to section.
8593
85942010-03-02 Jakub Jelinek <jakub@redhat.com>
8595 Steven Bosscher <steven@gcc.gnu.org>
8596
8597 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
8598 instead of bb.
8599
86002010-03-02 Reza Yazdani <reza.yazdani@amd.com>
8601
8602 PR middle-end/42640
8603 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
8604 the assignment from the new induction variable to the assignment
8605 of the value from the original loop PHI function.
8606
86072010-03-01 Janis Johnson <janis187@us.ibm.com>
8608 Daniel Jacobowitz <dan@codesourcery.com>
8609
8610 * doc/sourcebuild.texi (Test directives): Clarify options to
8611 dg-skip-if.
8612
86132010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8614
8615 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
8616 Disable cfi directives unless GCC and gas agree on using read-only
8617 .eh_frame sections for 64-bit.
8618 * configure: Regenerate.
8619
86202010-03-01 Richard Guenther <rguenther@suse.de>
8621
8622 PR tree-optimization/43220
8623 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
8624 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
8625
86262010-03-01 Richard Guenther <rguenther@suse.de>
8627 Martin Jambor <mjambor@suse.cz>
8628
8629 PR middle-end/41250
8630 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
8631 gimplified parameters.
8632
86332010-03-01 Christian Bruel <christian.bruel@st.com>
8634
8635 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
8636
86372010-03-01 H.J. Lu <hongjiu.lu@intel.com>
8638
8639 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
8640
86412010-03-01 Richard Guenther <rguenther@suse.de>
8642
8643 PR middle-end/43213
8644 * expr.c (expand_assignment): Use the alias-oracle to tell
8645 if the rhs aliases the result decl.
8646
86472010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8648
8649 PR pch/14940
8650 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
8651 to sol_gt_pch_get_address.
8652 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
8653 64-bit, SPARC and x86.
8654 (sol_gt_pch_get_address): New function.
8655
86562010-03-01 Marco Poletti <poletti.marco@gmail.com>
8657
8658 * toplev.h (inform_n, error_n): Declare.
8659 * diagnostic.c (inform_n, error_n): New function.
8660
86612010-03-01 Jakub Jelinek <jakub@redhat.com>
8662
8663 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
8664 has no rtl yet when processing local_decls, queue it and recheck
8665 if deferred stack allocation hasn't assigned it rtl.
8666
86672010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
8668
8669 * config/sh/sh.c (unspec_bbr_uid): New.
8670 (gen_block_redirect): Use it instead of INSN_UID.
8671 (gen_far_branch): Likewise.
8672
86732010-02-28 H.J. Lu <hongjiu.lu@intel.com>
8674
8675 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
8676 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
8677
86782010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8679
8680 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
8681 (Warning Options): -Wno-conversion-null is valid for
8682 Objective-C++ as well.
8683 * doc/tm.texi (Named Address Spaces): Likewise.
8684 * doc/plugins.texi (Plugins): Replace TABs with spaces.
8685 * doc/tree-ssa.texi (Tree SSA): Likewise.
8686
86872010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8688
8689 PR bootstrap/43202
8690 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
8691 by default. Don't set the default arch for
8692 i[34567]86-*-darwin*|x86_64-*-darwin*.
8693
86942010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8695
8696 PR bootstrap/43202
8697 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
8698 default. Set the default 32bit/64bit archs with $with_arch
8699 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
8700
87012010-02-27 Richard Guenther <rguenther@suse.de>
8702
8703 PR tree-optimization/43186
8704 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
8705 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
8706 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
8707 unroller iterations.
8708
87092010-02-27 H.J. Lu <hongjiu.lu@intel.com>
8710
8711 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
8712 required and i[34567]86-*-* targets don't support 64bit ISA.
8713
87142010-02-26 Eric Botcazou <ebotcazou@adacore.com>
8715
8716 PR ada/43096
8717 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
8718 the same alias set.
8719
87202010-02-26 H.J. Lu <hongjiu.lu@intel.com>
8721
8722 * config.gcc: Set the default arch at least to Prescott for
8723 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
8724 if SSE math is enabled.
8725
87262010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8727
8728 * diagnostic.c (diagnostic_initialize): Update.
8729 (diagnostic_report_diagnostic): Test inhibit_notes_p for
8730 informative notes.
8731 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
8732 (diagnostic_inhibit_notes): New.
8733 * toplev.c (process_options): inhibit notes with -fcompare-debug.
8734
87352010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8736
8737 PR c/20631
8738 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
8739 * doc/standards.texi: Likewise.
8740 * doc/extend.texi: Likewise.
8741 * doc/trouble.texi: Likewise.
8742 * doc/cppopts.texi: Likewise.
8743 * doc/install.texi: Likewise.
8744 * c.opt (std=c90,std=gnu90): New options.
8745 * c-opts.c (c_common_handle_option): Handle them.
8746
87472010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
8748
8749 PR c/24577
8750 * c-decl.c (undeclared_variable): Use an informative note.
8751
87522010-02-26 Richard Guenther <rguenther@suse.de>
8753
8754 PR tree-optimization/43186
8755 * gimple.h (gimple_fold): Remove.
8756 * gimple.c (gimple_fold): Remove. Inline into single user ...
8757 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
8758 Try harder for conditions.
8759
87602010-02-26 Jakub Jelinek <jakub@redhat.com>
8761
8762 PR debug/43190
8763 * function.c (used_types_insert): Don't skip through named pointer
8764 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
8765 and it is different from the main variant's type.
8766
87672010-02-26 Nick Clifton <nickc@redhat.com>
8768
8769 * config/rx/rx.md (sminsi3): Remove bogus alternative.
8770
87712010-02-26 H.J. Lu <hongjiu.lu@intel.com>
8772
8773 * config.gcc: Support --with-fpmath=sse for x86.
8774
8775 * config/i386/ssemath.h: New.
8776
8777 * doc/install.texi (--with-fpmath=sse): Documented.
8778
87792010-02-26 Richard Guenther <rguenther@suse.de>
8780
8781 PR tree-optimization/43188
8782 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
8783 vector types of over-aligned element type.
8784
87852010-02-26 Uros Bizjak <ubizjak@gmail.com>
8786
8787 PR target/43175
8788 * config/i386/i386.c (expand_vec_perm_blend): Use correct
8789 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
8790
87912010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
8792
8793 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
8794
87952010-02-26 Jakub Jelinek <jakub@redhat.com>
8796
8797 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
8798 * var-tracking.c: Include diagnostic.h.
8799 (debug_dv): New function.
8800 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
8801
8802 PR debug/43160
8803 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
8804 (add_value_chain, add_value_chains, remove_value_chain,
8805 remove_value_chains): Handle DEBUG_EXPRs.
8806 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
8807
8808 PR debug/43161
8809 * regcprop.c (struct queued_debug_insn_change): New type.
8810 (struct value_data_entry): Add debug_insn_changes field.
8811 (struct value_data): Add n_debug_insn_changes field.
8812 (debug_insn_changes_pool): New variable.
8813 (free_debug_insn_changes, apply_debug_insn_changes,
8814 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
8815 (kill_value_one_regno): Call free_debug_insn_changes if needed.
8816 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
8817 fields.
8818 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
8819 changes for them.
8820 (copyprop_hardreg_forward_1): Don't call apply_change_group for
8821 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
8822 changes, call cprop_find_used_regs via note_stores.
8823 (copyprop_hardreg_forward): When copying vd from predecessor
8824 which has any queued DEBUG_INSN changes, make sure the pointers are
8825 cleared. At the end call df_analyze and then if there are any
8826 DEBUG_INSN changes queued at the end of some basic block for still
8827 live registers, apply them.
8828 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
8829
88302010-02-25 Uros Bizjak <ubizjak@gmail.com>
8831
8832 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
8833 (arm*-*-*): Ditto.
8834
88352010-02-25 H.J. Lu <hongjiu.lu@intel.com>
8836
8837 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
8838 targets. Set the default with_cpu/with_arch from arch/cpu.
8839 Allow x86-64 and native for with_cpu/with_arch.
8840
88412010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
8842
8843 * ebitmap.c: Change calls to verify_popcount with calls to
8844 sbitmap_verify_popcount.
8845 (ebitmap_clear_bit): Fixed map->cacheindex test and
8846 map>cache update when bit clearing results in an empty
8847 element.
8848
88492010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
8850
8851 PR target/43154
8852 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
8853 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
8854 and support both V2DF and V2DI modes.
8855 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
8856 support both V2DF and V2DI modes.
8857 (general): Delete trailing whitespace from a few patterns.
8858
8859 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8860 V2DF/V2DI interleave high/low builtins.
8861
8862 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
8863 new VSX builtins.
8864
8865 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
8866 interleave high/low functions.
8867
88682010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
8869
8870 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
8871 #pragma extern_prefix.
8872
88732010-02-25 Jakub Jelinek <jakub@redhat.com>
8874
8875 PR debug/43166
8876 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
8877 BLKmode, assert op0 is a MEM and just adjust its mode.
8878
8879 PR debug/43165
8880 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
8881 if bitpos isn't multiple of mode's bitsize.
8882
88832010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8884
8885 * c.opt (-ftemplate-depth=): New.
8886 (-ftemplate-depth-): Deprecate.
8887 * optc-gen.awk: Handle -ftemplate-depth=.
8888 * opth-gen.awk: Likewise.
8889 * c-opts.c (c_common_handle_option): Likewise.
8890 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
8891
88922010-02-24 Jason Merrill <jason@redhat.com>
8893
8894 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
8895
88962010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8897
8898 * cfg.c (alloc_aux_for_block): Remove inline.
8899 (alloc_aux_for_edge): Likewise.
8900
89012010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8902
8903 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
8904
89052010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8906
8907 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
8908 * config/i386/sol2-gas.h: New file.
8909 * config.gcc (i[34567]86-*-solaris2*): Use it.
8910
89112010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8912
8913 PR c/43128
8914 * c-typeck.c (ep_convert_and_check): New.
8915 (build_conditional_expr): Use it.
8916 (build_binary_op): Likewise.
8917
89182010-02-24 Jakub Jelinek <jakub@redhat.com>
8919
8920 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
8921
8922 PR debug/43150
8923 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
8924 bounds even for -O+.
8925 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
8926 expr needs to have DECL_NAME set.
8927
89282010-02-24 Nick Clifton <nickc@redhat.com>
8929
8930 * config/mep/mep.c: Include gimple.h.
8931 (mep_function_uses_sp): Delete unused function.
8932 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
8933 parameters. Use unsigned integers to count args. Return a
8934 NULL_RTX instead of an error_mark_node. Toidy up formatting.
8935
89362010-02-23 Jakub Jelinek <jakub@redhat.com>
8937
8938 PR target/43107
8939 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
8940 greater or equal to nelt instead of 2 * nelt.
8941 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
8942 with nelt - 1.
8943
89442010-02-23 Jason Merrill <jason@redhat.com>
8945
8946 PR debug/42800
8947 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
8948 in cfun->local_decls even if they have register types.
8949
8950 PR c++/42837
8951 * stor-layout.c (place_field): Don't warn about unnecessary
8952 DECL_PACKED if the type is packed.
8953
89542010-02-23 Jakub Jelinek <jakub@redhat.com>
8955
8956 PR target/43139
8957 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
8958 GOTOFF relocs, even when the base reg isn't pic pointer.
8959
89602010-02-23 Michael Matz <matz@suse.de>
8961
8962 PR debug/43077
8963 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
8964 (expand_gimple_basic_block): Generate and use debug temps if there
8965 are debug uses left after the last real use of TERed ssa names.
8966 Unlink debug immediate uses when they are expanded.
8967
89682010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
8969
8970 PR 43123
8971 * config/i386/i386.c (override_options): Reorganise to provide
8972 better error messages.
8973
89742010-02-22 Sebastian Pop <sebastian.pop@amd.com>
8975
8976 PR middle-end/43083
8977 * graphite-scop-detection.c (create_single_exit_edge): Move
8978 the call to find_single_exit_edge to....
8979 (create_sese_edges): ...here. Don't handle multiple edges
8980 exiting the function.
8981 (build_graphite_scops): Don't handle multiple edges
8982 exiting the function.
8983
89842010-02-22 Sebastian Pop <sebastian.pop@amd.com>
8985
8986 PR middle-end/43097
8987 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
8988 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
8989
89902010-02-22 Sebastian Pop <sebastian.pop@amd.com>
8991
8992 PR middle-end/43026
8993 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
8994
89952010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8996
8997 PR c++/43126
8998 * c-typeck.c (convert_arguments): Print declaration location.
8999 * c-common.c (validate_nargs): Rename as
9000 builtin_function_validate_nargs.
9001 (check_builtin_function_arguments): Update.
9002
90032010-02-22 Richard Guenther <rguenther@suse.de>
9004
9005 PR lto/43045
9006 * tree-inline.c (declare_return_variable): Use the type of
9007 the call stmt lhs if available.
9008
90092010-02-22 Duncan Sands <baldrick@free.fr>
9010
9011 * passes.c (register_pass): Always consider all pass lists when
9012 ref_pass_instance_number is zero.
9013
90142010-02-22 Richard Guenther <rguenther@suse.de>
9015
9016 PR tree-optimization/42749
9017 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
9018 parameter. Do arithmetic in the original type.
9019 (update_accumulator_with_ops): Likewise.
9020 (adjust_accumulator_values): Adjust.
9021
90222010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9023
9024 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
9025 (QI to BLKmode splitter): New splitter.
9026
90272010-02-22 H.J. Lu <hongjiu.lu@intel.com>
9028
9029 * config/i386/i386.c (initial_ix86_tune_features): Turn on
9030 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
9031
90322010-02-22 Richard Guenther <rguenther@suse.de>
9033
9034 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
9035
90362010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
9037
9038 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
9039 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
9040 ($(T)crti.o, $(T)crtn.o): Remove rules.
9041
90422010-02-21 Tobias Burnus <burnus@net-b.de>
9043
9044 PR fortran/35259
9045 * doc/invoke.texi (-fassociative-math): Document that this
9046 option is automatically enabled for Fortran.
9047
90482010-02-20 David S. Miller <davem@davemloft.net>
9049
9050 * configure.ac: Test if linker and assembler properly support
9051 GOTDATA_OP relocations.
9052 * configure: Rebuild.
9053 * config.in: Likewise.
9054 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
9055 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
9056 (movsi_high_pic): Likewise.
9057 (movdi_lo_sum_pic): Likewise.
9058 (movdi_high_pic): Likewise.
9059 (movsi_pic_gotdata_op): New pattern.
9060 (movdi_pic_gotdata_op): Likewise.
9061 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
9062 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
9063
90642010-02-20 Uros Bizjak <ubizjak@gmail.com>
9065
9066 PR target/43067
9067 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
9068 attribute to ssemul.
9069 (xop_mulv2div2di3_high): Ditto.
9070
90712010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9072
9073 PR c++/35669
9074 * c.opt (Wconversion-null): New option.
9075 * doc/invoke.texi (Wconversion-null): Document.
9076
90772010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9078
9079 * common.opt (Wlarger-than-): Add Undocumented.
9080
90812010-02-19 Mike Stump <mikestump@comcast.net>
9082
9083 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
9084
90852010-02-19 Jason Merrill <jason@redhat.com>
9086
9087 PR target/40332
9088 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
9089 * configure: Likewise.
9090
90912010-02-20 Alan Modra <amodra@gmail.com>
9092
9093 PR middle-end/42344
9094 * cgraph.h (cgraph_make_decl_local): Declare.
9095 * cgraph.c (cgraph_make_decl_local): New function.
9096 (cgraph_make_node_local): Use it.
9097 * cgraphunit.c (cgraph_function_versioning): Likewise.
9098 * ipa.c (function_and_variable_visibility): Likewise.
9099
91002010-02-19 Jakub Jelinek <jakub@redhat.com>
9101
9102 PR bootstrap/43121
9103 * except.c (sjlj_emit_function_enter): Don't call
9104 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
9105 directly.
9106 * rtl.h (add_reg_br_prob_note): Remove prototype.
9107
91082010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
9109
9110 PR 41779
9111 * c-common.c (conversion_warning): Remove widening conversions
9112 before checking the conversion of integers to reals.
9113
91142010-02-19 Mike Stump <mikestump@comcast.net>
9115
9116 PR middle-end/43125
9117 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
9118
9119 PR objc/43061
9120 * cgraphunit.c (process_function_and_variable_attributes): Check
9121 DECL_PRESERVE_P instead of looking up attribute "used".
9122 * ipa-pure-const.c (check_decl): Likewise.
9123 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
9124 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
9125 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
9126 instead of attribute "used".
9127 * config/sol2-c.c (solaris_pragma_init): Likewise.
9128 (solaris_pragma_fini): Likewise.
9129
91302010-02-19 Jakub Jelinek <jakub@redhat.com>
9131
9132 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
9133 Use XCNEW instead of xcalloc.
9134 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
9135 XNEW instead of xmalloc.
9136 (get_fields): Use XNEWVEC instead of xmalloc.
9137
9138 PR debug/43084
9139 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
9140 populate vars array.
9141 (create_new_general_access): For debug stmts just reset value.
9142 (get_stmt_accesses): For accesses within debug stmts just record them
9143 using add_access_to_acc_sites instead of preventing the peeling or
9144 counting them as accesses.
9145
9146 PR middle-end/42233
9147 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
9148
91492010-02-19 Richard Guenther <rguenther@suse.de>
9150
9151 PR tree-optimization/42916
9152 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
9153 instructions.
9154
91552010-02-19 Andreas Schwab <schwab@linux-m68k.org>
9156
9157 * configure.ac: Replace all uses of changequote in macro arguments
9158 with proper quoting.
9159
91602010-02-19 Jakub Jelinek <jakub@redhat.com>
9161
9162 PR middle-end/42233
9163 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
9164
91652010-02-19 Richard Guenther <rguenther@suse.de>
9166
9167 PR tree-optimization/42944
9168 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
9169 test for aliasing with errno.
9170
91712010-02-19 Jakub Jelinek <jakub@redhat.com>
9172
9173 PR middle-end/42233
9174 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
9175 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
9176 * dojump.c: Include output.h.
9177 (inv): New inline function.
9178 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
9179 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
9180 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
9181 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
9182 argument, pass it down to other calls.
9183 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
9184 add REG_BR_PROB note to the conditional jump.
9185 * cfgexpand.c (add_reg_br_prob_note): Removed.
9186 (expand_gimple_cond): Don't call it, add the probability
9187 as last argument to jumpif_1/jumpifnot_1.
9188 * Makefile.in (dojump.o): Depend on output.h.
9189 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
9190 callers.
9191 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
9192 * stmt.c (do_jump_if_equal): Likewise.
9193 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
9194 * loop-unswitch.c (compare_and_jump_seq): Likewise.
9195 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
9196 Likewise.
9197 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
9198 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
9199 jumpifnot_1 callers.
9200 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
9201 callers.
9202 (store_expr): Adjust jumpifnot caller.
9203 (store_constructor): Adjust jumpif caller.
9204
9205 PR middle-end/42233
9206 * gimplify.c (gimple_boolify): For __builtin_expect call
9207 gimple_boolify also on its first argument.
9208
92092010-02-18 Uros Bizjak <ubizjak@gmail.com>
9210
9211 * configure.ac (gnu-unique-object): Wrap regexps using [] in
9212 changequote block.
9213 (__stack_chk_fail): Ditto. Remove quadrigraphs.
9214 * configure: Regenerated.
9215
92162010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9217
9218 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
9219 lang_hooks.types_compatible_p instead of comptypes.
9220
92212010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
9222
9223 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
9224 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
9225 if __prefer_thumb__ is defined.
9226
92272010-02-18 Martin Jambor <mjambor@suse.cz>
9228
9229 PR tree-optimization/43066
9230 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
9231 array with zero-sized element type.
9232
92332010-02-18 Jakub Jelinek <jakub@redhat.com>
9234
9235 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
9236 rtx, allocate struct var_loc_node here and return it to the
9237 caller, and only if it is actually needed.
9238 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
9239 move it earlier and return immediately if it returns NULL.
9240
92412010-02-17 Mikael Pettersson <mikpe@it.uu.se>
9242
9243 * config/sparc/gas.h: New file. Restore
9244 TARGET_ASM_NAMED_SECTION to its ELF default.
9245 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
9246 check !HAVE_GNU_AS.
9247 * config/sparc/sparc.c (sparc_elf_asm_named_section):
9248 Likewise. Add ATTRIBUTE_UNUSED to prototype.
9249 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
9250 after sparc/sysv4.h.
9251
92522010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
9253
9254 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
9255
92562010-02-17 Steven Bosscher <steven@gcc.gnu.org>
9257
9258 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
9259 patterns from predicated pattern.
9260
92612010-02-17 Uros Bizjak <ubizjak@gmail.com>
9262
9263 PR target/43103
9264 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
9265 for insn mnemonic suffix.
9266
92672010-02-17 Richard Guenther <rguenther@suse.de>
9268
9269 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
9270 to loop PHI nodes.
9271
92722010-02-17 Jakub Jelinek <jakub@redhat.com>
9273
9274 PR debug/42918
9275 * caller-save.c (save_call_clobbered_regs): If BB ends with
9276 a DEBUG_INSN, move any notes in between last real insn and the last
9277 DEBUG_INSN after the last DEBUG_INSN.
9278
92792010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
9280
9281 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
9282 Fix return type. Fix argument type. Explain meaning of return value.
9283
92842010-02-16 Richard Guenther <rguenther@suse.de>
9285
9286 PR tree-optimization/41043
9287 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
9288 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
9289 statements ...
9290 (vrp_visit_phi_node): ... but only for loop PHI nodes.
9291
92922010-02-16 Ira Rosen <irar@il.ibm.com>
9293
9294 PR tree-optimization/43074
9295 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
9296 * tree-vect-loop.c (vect_analyze_loop_operations): Add
9297 vectorizable cycles in hybrid SLP check.
9298 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
9299
93002010-02-16 Richard Guenther <rguenther@suse.de>
9301
9302 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
9303 (true_dependence): If memrefs_conflict_p computes must-alias
9304 trust it. Move TBAA check after offset-based disambiguation.
9305 (canon_true_dependence): Likewise.
9306
93072010-02-16 Alexandre Oliva <aoliva@redhat.com>
9308
9309 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
9310 * doc/invoke.texi: Document it.
9311 * var-tracking.c: Include toplev.h and params.h.
9312 (vt_find_locations): Return bool indicating success. Compute
9313 hash sizes unconditionally. Check new parameter, report.
9314 (variable_tracking_main_1): Check vt_find_locations results and
9315 retry. Renamed from...
9316 (variable_tracking_main): ... this. New wrapper to preserve
9317 flag_var_tracking_assignments.
9318 * Makefile.in (var-tracking.o): Adjust dependencies.
9319
93202010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
9321 Jakub Jelinek <jakub@redhat.com>
9322
9323 PR target/42854
9324 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
9325 if weak_import attribute is present.
9326 * config/darwin.c (machopic_select_section): Likewise.
9327
93282010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
9329
9330 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
9331 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
9332 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
9333 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
9334
9335 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
9336 types.
9337
9338 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
9339 Fix argument types.
9340
9341 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
9342 Rewrite text to refer to the names.
9343
93442010-02-15 Sebastian Pop <sebastian.pop@amd.com>
9345
9346 * config/i386/i386-builtin-types.def
9347 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
9348 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
9349 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
9350 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
9351 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
9352 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
9353 IX86_BUILTIN_VPERMIL2PS256.
9354 (MULTI_ARG_4_DF2_DI_I): Defined.
9355 (MULTI_ARG_4_DF2_DI_I1): Defined.
9356 (MULTI_ARG_4_SF2_SI_I): Defined.
9357 (MULTI_ARG_4_SF2_SI_I1): Defined.
9358 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
9359 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
9360 __builtin_ia32_vpermil2ps256.
9361 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
9362 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
9363 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
9364 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
9365 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
9366 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
9367 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
9368 CODE_FOR_xop_vpermil2v8sf3.
9369 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
9370 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
9371 * config/i386/xopintrin.h (_mm_permute2_pd): New.
9372 (_mm256_permute2_pd): New.
9373 (_mm_permute2_ps): New.
9374 (_mm256_permute2_ps): New.
9375
93762010-02-15 Nick Clifton <nickc@redhat.com>
9377
9378 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
9379 boolean parameters. Use emit_jump_insn when emitting a pop
9380 instruction containing a return insn.
9381 (push): Use 'true' rather than '1' as second parameter to F.
9382 (h8300_expand_prologue): Likewise.
9383 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
9384 (h8300_expand_epilogue): Likewise.
9385
93862010-02-15 Richard Guenther <rguenther@suse.de>
9387
9388 PR middle-end/43068
9389 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
9390 if that is zero.
9391
93922010-02-15 Nick Clifton <nickc@redhat.com>
9393
9394 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
9395 delta.
9396
93972010-02-14 Marco Poletti <poletti.marco@gmail.com>
9398
9399 * intl.c (fake_ngettext): New function.
9400 * intl.h (fake_ngettext): Declare.
9401 (ngettext): Define macro.
9402 * collect2.c (notice_translated): New function.
9403 (main): Use notice_translated and ngettext.
9404 * collect2.h (notice_translated): Declare.
9405
94062010-02-14 Steven Bosscher <steven@gcc.gnu.org>
9407
9408 * reorg.c (delete_computation): Comment fixes.
9409 * caller-save.c (setup_save_areas): Idem.
9410 * sel-sched-dump.c (dump_lv_set): Idem.
9411 * rtl.def: Idem.
9412
94132010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9414
9415 * config/s390/s390.c (s390_sched_init): New function.
9416 (TARGET_SCHED_INIT): Target hook defined.
9417
94182010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
9419 Jack Howarth <howarth@bromo.med.uc.edu>
9420 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9421
9422 PR target/42982
9423 Partial revert of unintended change in fix for PR41605.
9424 * config/darwin.h: Fix typo.
9425 * config/darwin9.h: Same.
9426
94272010-02-11 Jakub Jelinek <jakub@redhat.com>
9428
9429 * c-pch.c (pch_init): Clear v.
9430
94312010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9432
9433 PR middle-end/42930
9434 * graphite-scop-detection.c (graphite_can_represent_scev): Call
9435 graphite_can_represent_init for MULT_EXPR.
9436
94372010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9438
9439 PR middle-end/42914
9440 PR middle-end/42530
9441 * graphite-sese-to-poly.c (remove_phi): New.
9442 (translate_scalar_reduction_to_array): Call remove_phi.
9443
94442010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9445
9446 PR middle-end/42771
9447 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
9448 * graphite-clast-to-gimple.h (gloog): Update declaration.
9449 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
9450 * graphite-poly.h (struct poly_bb): Add missing comments.
9451 (struct scop): Add poly_scop_p field.
9452 (POLY_SCOP_P): New.
9453 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
9454 * graphite.c (graphite_transform_loops): Build the polyhedral
9455 representation for each scop before code generation.
9456 * sese.c (rename_variables_in_operand): Removed.
9457 (rename_variables_in_expr): Return the renamed expression.
9458 (rename_sese_parameters): New.
9459 * sese.h (rename_sese_parameters): Declared.
9460
94612010-02-11 Richard Guenther <rguenther@suse.de>
9462
9463 PR tree-optimization/42998
9464 * tree-ssa-pre.c (create_expression_by_pieces): Treat
9465 POINTER_PLUS_EXPR properly.
9466
94672010-02-11 Sebastian Pop <sebastian.pop@amd.com>
9468 Changpeng Fang <changpeng.fang@amd.com>
9469
9470 PR middle-end/40886
9471 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
9472 the cost of an IV candidate when the IV is used in a test against zero.
9473
9474 * gcc.dg/tree-ssa/ivopts-3.c: New.
9475
94762010-02-11 Richard Guenther <rguenther@suse.de>
9477
9478 PR lto/41664
9479 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
9480 pointer-vs-decl case by swapping refs. Handle some cases
9481 of pointer-vs-decl disambiguations more conservatively.
9482 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
9483 to false after expanding.
9484
94852010-02-11 Richard Guenther <rguenther@suse.de>
9486
9487 PR driver/43021
9488 * gcc.c (process_command): Handle LTO file@offset case more
9489 appropriately.
9490
94912010-02-11 Jakub Jelinek <jakub@redhat.com>
9492
9493 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
9494 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
9495 of DEBUG_INSNs.
9496 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
9497
9498 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
9499 if MEM's mode size isn't DWARF2_ADDR_SIZE.
9500 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
9501 Optimize eq/ne comparisons when both arguments are known to be
9502 zero-extended.
9503 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
9504 Don't mask operands unnecessarily if they are known to be already
9505 zero-extended.
9506
95072010-02-10 Vladimir Makarov <vmakarov@redhat.com>
9508
9509 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
9510 instead of loop.
9511
95122010-02-10 Richard Guenther <rguenther@suse.de>
9513
9514 PR tree-optimization/43017
9515 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
9516 for wrapping signed arithmetic.
9517
95182010-02-10 Jakub Jelinek <jakub@redhat.com>
9519
9520 PR debug/43010
9521 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
9522 if no debug info should be emitted for it.
9523
95242010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
9525
9526 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
9527 note when flag_exceptions is set.
9528
95292010-02-10 Duncan Sands <baldrick@free.fr>
9530
9531 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
9532
95332010-02-10 Richard Guenther <rguenther@suse.de>
9534
9535 PR c/43007
9536 * tree.c (get_unwidened): Handle constants.
9537 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
9538
95392010-02-10 Martin Jambor <mjambor@suse.cz>
9540
9541 PR lto/42985
9542 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
9543 check for variable argument counts independently.
9544
95452010-02-10 Christian Bruel <christian.bruel@st.com>
9546
9547 PR target/42841
9548 * config/sh/sh.c (find_barrier): Increase length for non delayed
9549 conditional branches.
9550
95512010-02-10 Christian Bruel <christian.bruel@st.com>
9552
9553 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
9554
95552010-02-10 Jakub Jelinek <jakub@redhat.com>
9556
9557 * builtins.c (set_builtin_user_assembler_name): Also handle
9558 ffs if int is smaller than word.
9559
95602010-02-09 Vladimir Makarov <vmakarov@redhat.com>
9561
9562 PR middle-end/42973
9563 * ira-conflicts.c (get_dup): Remove.
9564 (process_reg_shuffles): Add new parameter. Use it as an
9565 additional guard for copy generation.
9566 (add_insn_allocno_copies): Rewrite.
9567
95682010-02-09 Alexander Monakov <amonakov@ispras.ru>
9569
9570 * common.opt (fsched2-use-traces): Preserved for backward
9571 compatibility.
9572 * doc/invoke.texi: Remove the documentation about option
9573 -fsched2-use-traces.
9574 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
9575 flag_sched2_use_traces.
9576 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
9577 the backward compatibility flag section.
9578
95792010-02-09 Richard Guenther <rguenther@suse.de>
9580
9581 PR tree-optimization/43008
9582 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
9583 make HEAP variables initialized from global memory if they
9584 are not known builtin functions.
9585 (find_func_aliases): Adjust.
9586
95872010-02-09 Richard Guenther <rguenther@suse.de>
9588
9589 PR tree-optimization/43000
9590 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
9591 arithmetic manually.
9592
95932010-02-08 Jakub Jelinek <jakub@redhat.com>
9594
9595 PR tree-optimization/42931
9596 * tree-loop-linear.c (try_interchange_loops): Don't call
9597 double_int_mul if estimated_loop_iterations failed.
9598
95992010-02-08 Martin Jambor <mjambor@suse.cz>
9600
9601 PR middle-end/42898
9602 * tree-sra.c (build_accesses_from_assign): Do not mark in
9603 should_scalarize_away_bitmap if stmt has volatile ops.
9604 (sra_modify_assign): Do not process assigns piecemeal if if stmt
9605 has volatile ops.
9606
96072010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
9608
9609 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
9610
96112010-02-07 Adam Nemet <adambnmet@gmail.com>
9612
9613 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
9614 before the pattern.
9615
96162010-02-07 Andrew Pinski <pinskia@gmail.com>
9617
9618 PR middle-end/42946
9619 * df-core.c (df_finish_pass): Change type of saved_flags to int.
9620
96212010-02-07 Sebastian Pop <sebastian.pop@amd.com>
9622
9623 PR middle-end/42988
9624 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
9625 to unknown_dependence.
9626 (graphite_legal_transform_dr): Handle the unknown_dependence.
9627 (graphite_carried_dependence_level_k): Same.
9628
96292010-02-07 Sebastian Pop <sebastian.pop@amd.com>
9630
9631 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
9632
96332010-02-07 Richard Guenther <rguenther@suse.de>
9634
9635 PR middle-end/42991
9636 * expr.c (get_inner_reference): Always initialize *pbitsize.
9637
96382010-02-07 Richard Guenther <rguenther@suse.de>
9639
9640 PR middle-end/42956
9641 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
9642 new ARRAY_REFs on variable size element or minimal index arrays.
9643 Complete.
9644 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
9645 gimple_fold_indirect_ref.
9646
96472010-02-06 Richard Earnshaw <rearnsha@arm.com>
9648
9649 PR target/42957
9650 * arm.c (arm_override_options): Just return if the user has specified
9651 an invalid fpu name.
9652
96532010-02-03 Jason Merrill <jason@redhat.com>
9654
9655 PR c++/42870
9656 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
9657 i386_pe_maybe_record_exported_symbol.
9658
96592010-02-05 Steve Ellcey <sje@cup.hp.com>
9660
9661 PR target/42924
9662 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
9663 (pa_delegitimize_address): New function.
9664
96652010-02-05 Ozkan Sezer <sezeroz@gmail.com>
9666
9667 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
9668 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
9669
96702010-02-05 Richard Guenther <rguenther@suse.de>
9671
9672 PR lto/42762
9673 * lto-streamer-in.c (get_resolution): Deal with references
9674 to undefined functions.
9675
96762010-02-05 Richard Guenther <rguenther@suse.de>
9677
9678 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
9679 (fold_const_aggregate_ref): Likewise.
9680 (ccp_fold_stmt): Substitute loads.
9681 (maybe_fold_reference): Verify types before substituting.
9682 Unshare properly.
9683 (fold_gimple_assign): Unshare properly.
9684 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
9685
96862010-02-05 Nathan Froyd <froydnj@codesourcery.com>
9687
9688 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
9689 for rs6000_gen_cell_microcode.
9690
96912010-02-04 Richard Guenther <rguenther@suse.de>
9692
9693 PR rtl-optimization/42952
9694 * dse.c (const_or_frame_p): Remove MEM handling.
9695
96962010-02-04 Nick Clifton <nickc@redhat.com>
9697
9698 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
9699 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
9700 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
9701 (mn10300_asm_output_mi_thunk): New function.
9702 (mn10300_can_output_mu_thunk): New function.
9703 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
9704 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
9705 (FUNCTION_ARG): Delete incorrect comment.
9706
97072010-02-03 Jason Merrill <jason@redhat.com>
9708
9709 PR c++/40138
9710 * fold-const.c (operand_equal_p): Handle erroneous types.
9711
97122010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
9713
9714 * config/h8300/h8300.md (can_delay): Fix attibute condition.
9715
97162010-02-03 Vladimir Makarov <vmakarov@redhat.com>
9717
9718 PR rtl-optimization/42941
9719 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
9720 of xmalloc.
9721
97222010-02-03 Jason Merrill <jason@redhat.com>
9723
9724 PR c++/35652
9725 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
9726
97272010-02-03 Alexandre Oliva <aoliva@redhat.com>
9728
9729 PR debug/42896
9730 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
9731 (cselib_reset_table): Renamed from...
9732 (cselib_reset_table_with_next_value): ... this.
9733 (cselib_get_next_uid): Renamed from...
9734 (cselib_get_next_unknown_value): ... this.
9735 * cselib.c (next_uid): Renamed from...
9736 (next_unknown_value): ... this.
9737 (cselib_clear_table): Adjust.
9738 (cselib_reset_table): Adjust. Renamed from...
9739 (cselib_reset_table_with_next_value): ... this.
9740 (cselib_get_next_uid): Adjust. Renamed from...
9741 (cselib_get_next_unknown_value): ... this.
9742 (get_value_hash): Use hash.
9743 (cselib_hash_rtx): Likewise.
9744 (new_cselib_val): Adjust. Set and dump uid.
9745 (cselib_lookup_mem): Pass next_uid as hash.
9746 (cselib_subst_to_values): Likewise.
9747 (cselib_log_lookup): Dump uid.
9748 (cselib_lookup): Pass next_uid as hash. Adjust.
9749 (cselib_process_insn): Adjust.
9750 (cselib_init): Initialize next_uid.
9751 (cselib_finish): Adjust.
9752 (dump_cselib_table): Likewise.
9753 * dse.c (canon_address): Dump value uid.
9754 * print-rtl.c (print_rtx): Print value uid.
9755 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
9756 (dvuid): New type.
9757 (dv_uid): New function, sort of renamed from...
9758 (dv_htab_hash): ... this, reimplemented in terms of it and...
9759 (dv_uid2hash): ... this. New.
9760 (variable_htab_eq): Drop excess assertions.
9761 (tie_break_pointers): Removed.
9762 (canon_value_cmp): Compare uids.
9763 (variable_post_merge_New_vals): Print uids.
9764 (vt_add_function_parameters): Adjust.
9765 (vt_initialize): Reset table. Adjust.
9766
97672010-02-03 Richard Guenther <rguenther@suse.de>
9768
9769 PR tree-optimization/42944
9770 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
9771 (call_may_clobber_ref_p_1): Likewise. Properly handle
9772 malloc and calloc clobbering errno.
9773
97742010-02-03 Steven Bosscher <steven@gcc.gnu.org>
9775
9776 * doc/invoke.texi: Fix name of sched1 dump.
9777
9778 * opts.c (decode_options): Set flag_tree_switch_conversion
9779 only conditionally on optimize >= 2.
9780
9781 * gcse.c: Assorted comment fixes in pass description.
9782
97832010-02-03 Anthony Green <green@moxielogic.com>
9784
9785 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
9786 nop padding in order to maintain alignment of storage location of
9787 target function address.
9788 (moxie_trampoline_init): Store target function address at newly
9789 aligned location.
9790 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
9791 to 32.
9792 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
9793
97942010-02-03 Richard Guenther <rguenther@suse.de>
9795
9796 PR middle-end/42927
9797 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
9798
97992010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9800
9801 * config.gcc: Reenable check for obsolete targets.
9802 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
9803 mips-sgi-irix6.[0-4]*.
9804
98052010-02-02 Nick Clifton <nickc@redhat.com>
9806
9807 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
9808 constant size of 4 as being the same as 0.
9809 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
9810 can take values in the range 0..4.
9811
98122010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
9813
9814 PR java/41991
9815 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
9816 as _darwin10_Unwind_FindEnclosingFunction().
9817 * libgcc-libsystem.ver: New.
9818
98192010-02-01 Vladimir Makarov <vmakarov@redhat.com>
9820
9821 PR target/41399
9822 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
9823 implicitly set registers.
9824
98252010-02-01 Richard Earnshaw <rearnsha@arm.com>
9826
9827 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
9828 (arm_override_options): Allow automatic selection of the thread
9829 pointer register if thumb2.
9830 (legitimize_pic_address): Improve code sequences for Thumb2.
9831 (arm_call_tls_get_addr): Likewise.
9832 (legitimize_tls_address): Likewise.
9833 * arm.md (pic_load_addr_arm): Delete. Replace with ...
9834 (pic_load_addr_32bit): ... this. New named pattern.
9835 * thumb2.md (pic_load_addr_thumb2): Delete.
9836 (pic_load_dot_plus_four): Delete.
9837 (tls_load_dot_plus_four): New named pattern.
9838
98392010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9840
9841 PR libgomp/29986
9842 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
9843 Document fix for TLS bug.
9844
98452010-01-31 Richard Guenther <rguenther@suse.de>
9846
9847 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
9848 conservatively correct.
9849
98502010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9851
9852 PR target/42850
9853 Revert:
9854 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9855
9856 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
9857
98582010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9859
9860 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
9861
98622010-01-31 Kai Tietz <kai.tietz@onevision.com>
9863
9864 * config.gcc: Adjust order of makefile fragments for mingw targets.
9865
98662010-01-31 Richard Guenther <rguenther@suse.de>
9867
9868 PR middle-end/42898
9869 * gimplify.c (gimplify_init_constructor): For volatile LHS
9870 initialize a temporary.
9871
98722010-01-31 Matthias Klose <doko@ubuntu.com>
9873
9874 * configure.ac: Fix __stack_chk_fail check for cross builds configured
9875 --with-headers
9876 * configure: Regenerate.
9877
98782010-01-29 Eric Botcazou <ebotcazou@adacore.com>
9879
9880 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
9881 the same alias set and their sizes different constantness.
9882 (aliasing_component_refs_p): Revert 2009-10-24 change.
9883
98842010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9885
9886 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
9887 unused.
9888
98892010-01-29 Richard Guenther <rguenther@suse.de>
9890
9891 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
9892 Assert we successfully updated the call.
9893
98942010-01-29 Jakub Jelinek <jakub@redhat.com>
9895
9896 PR rtl-optimization/42889
9897 * df.h (df_set_bb_dirty_nonlr): New prototype.
9898 * df-core.c (df_set_bb_dirty_nonlr): New function.
9899 * df-scan.c (df_insn_rescan): Call it instead of
9900 df_set_bb_dirty for DEBUG_INSNs.
9901
99022010-01-29 Richard Guenther <rguenther@suse.de>
9903
9904 PR middle-end/37448
9905 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
9906 quadratic behavior in most cases.
9907
99082010-01-28 Uros Bizjak <ubizjak@gmail.com>
9909
9910 PR target/42891
9911 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
9912 in the call to gen_x86_movsicc_0_m1.
9913
99142010-01-28 Richard Guenther <rguenther@suse.de>
9915
9916 PR tree-optimization/42871
9917 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
9918
99192010-01-28 Richard Guenther <rguenther@suse.de>
9920
9921 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
9922 into call arguments.
9923
99242010-01-28 Richard Guenther <rguenther@suse.de>
9925
9926 PR middle-end/42883
9927 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
9928 the forwarder if the destination is an EH landing pad.
9929
99302010-01-28 Razya Ladelsky <razya@il.ibm.com>
9931
9932 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
9933 block list passed to gimple_duplicate_sese_tail.
9934 (parallelize_loops): Avoid parallelization when the function
9935 has_nonlocal_label.
9936 Avoid parallelization when the preheader is IRREDUCIBLE.
9937 Try to optimize when estimated_loop_iterations_int is unresolved.
9938 Add the loop's location to the dump file.
9939 * tree-cfg.c (add_phi_args_after_redirect): Remove.
9940 (gimple_duplicate_sese_tail): Remove the check for the latch.
9941 Redirect nexits to the exit block.
9942 Remove handling of the incoming edges to the latch.
9943 Redirect the backedge from the copied latch to the exit bb.
9944
99452010-01-28 Michael Matz <matz@suse.de>
9946
9947 PR target/42881
9948 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
9949 Wrap force_reg into a sequence, emit it before user.
9950
99512010-01-28 Stephen Thomas <stephen.thomas@arm.com>
9952
9953 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
9954 (arm_rev): New.
9955 (arm_legacy_rev): Likewise.
9956 (thumb_legacy_rev): Likewise.
9957
99582010-01-27 Jakub Jelinek <jakub@redhat.com>
9959
9960 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
9961 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
9962 on MEM's address failed, try avoid_constant_pool_reference and
9963 recurse if it returned something different.
9964 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
9965 address, try avoid_constant_pool_reference and recurse if it
9966 returned something different.
9967 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
9968 address and avoid_constant_pool_reference returned something
9969 different, don't set have_address.
9970
99712010-01-27 Alexandre Oliva <aoliva@redhat.com>
9972
9973 PR debug/42861
9974 * var-tracking.c (val_store): Add modified argument, obey it.
9975 Adjust callers.
9976 (count_uses): Move down logging of main.
9977 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
9978 don't need resolution.
9979 (emit_notes_in_bb): Likewise.
9980
99812010-01-27 Richard Guenther <rguenther@suse.de>
9982
9983 PR middle-end/42878
9984 * tree-inline.c (remap_decl): Delay remapping of SSA name
9985 default definitions until we need them.
9986
99872010-01-27 Jakub Jelinek <jakub@redhat.com>
9988
9989 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
9990 (rs6000_delegitimize_address): New function.
9991
9992 * config/s390/s390.c (s390_delegitimize_address): Call
9993 delegitimize_mem_from_attrs.
9994
9995 PR middle-end/42874
9996 * tree-inline.c (cannot_copy_type_1): Removed.
9997 (copy_forbidden): Don't forbid copying of functions containing
9998 records/unions with variable length fields.
9999
100002010-01-27 Christian Bruel <christian.bruel@st.com>
10001
10002 Revert:
10003 PR target/42841
10004 * config/sh/sh.c (find_barrier): Increase length for non delayed
10005 conditional branches.
10006
100072010-01-27 Matthias Klose <doko@ubuntu.com>
10008
10009 * configure.ac (gnu-unique-object): Fix ldd version check.
10010 * configure: Regenerate.
10011
100122010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10013
10014 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
10015 HAVE_GNU_AS value.
10016 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
10017 Test for HAVE_GNU_AS value.
10018
100192010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10020
10021 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
10022 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
10023 INT64_TYPE): Define.
10024 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
10025 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
10026 INT_LEAST64_TYPE): Define.
10027 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
10028 UINT_LEAST64_TYPE): Define.
10029 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
10030 INT_FAST64_TYPE): Define.
10031 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
10032 UINT_FAST64_TYPE): Define.
10033 (INTMAX_TYPE, UINTMAX_TYPE): Define.
10034 (INTPTR_TYPE, UINTPTR_TYPE): Define.
10035 (SIG_ATOMIC_TYPE): Define.
10036
100372010-01-26 Richard Guenther <rguenther@suse.de>
10038
10039 * df-scan.c (df_scan_set_bb_info): Remove assert.
10040 (df_insn_rescan_debug_internal): Merge asserts.
10041 (df_install_ref): Likewise.
10042 (df_mark_reg): Use bitmap_set_range.
10043 (df_hard_reg_used_p): Remove assert.
10044 (df_hard_reg_used_count): Likewise.
10045
100462010-01-26 Richard Guenther <rguenther@suse.de>
10047
10048 PR rtl-optimization/42685
10049 * web.c (web_main): Ignore DEBUG_INSNs.
10050
100512010-01-26 Joern Rennecke <amylaar@spamcop.net>
10052
10053 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
10054
10055 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
10056 Fix types of fndecl and arglist parameters.
10057
100582010-01-26 Richard Guenther <rguenther@suse.de>
10059
10060 PR middle-end/42806
10061 * tree-eh.c (unsplit_eh): Skip debug insns.
10062
100632010-01-26 Richard Guenther <rguenther@suse.de>
10064
10065 PR tree-optimization/42250
10066 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
10067
100682010-01-26 Jakub Jelinek <jakub@redhat.com>
10069
10070 PR fortran/42866
10071 * omp-low.c (expand_omp_sections): Only use single_pred if
10072 l2_bb is single_pred_p.
10073
100742010-01-25 Christian Bruel <christian.bruel@st.com>
10075
10076 PR target/42841
10077 * config/sh/sh.c (find_barrier): Increase length for non delayed
10078 conditional branches.
10079 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
10080
100812010-01-24 David S. Miller <davem@davemloft.net>
10082
10083 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
10084 define if not using GAS.
10085 * config/sparc/sparc.c (sparc_elf_asm_named_section):
10086 Likewise. Delete SECTION_MERGE code, which is only applicable
10087 when using GAS.
10088
100892010-01-24 Mark Mitchell <mark@codesourcery.com>
10090
10091 PR c++/42748
10092 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
10093 mangling of va_list in system headers.
10094
100952010-01-23 Toon Moene <toon@moene.org>
10096
10097 * tree-predcom.c (combine_chains): Return NULL, not false.
10098
100992010-01-23 Joern Rennecke <amylaar@spamcop.net>
10100
10101 * tree-loop-distribution.c (distribute_loop): Fix declaration and
10102 initialization of variable res to agree with return type.
10103
101042010-01-22 Steve Ellcey <sje@cup.hp.com>
10105
10106 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
10107 * tree-sra.c: Add include of expr.h.
10108
101092010-01-22 Jakub Jelinek <jakub@redhat.com>
10110
10111 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
10112 insert the debug stmt on the single non-EH edge from the stmt.
10113
101142010-01-22 Richard Henderson <rth@redhat.com>
10115
10116 PR tree-opt/42833
10117 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
10118 the RHS until after generate_subtree_copies has insertted its
10119 code before the current statement.
10120
101212010-01-22 Joern Rennecke <amylaar@spamcop.net>
10122
10123 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
10124
10125 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
10126
101272010-01-21 Martin Jambor <mjambor@suse.cz>
10128
10129 PR tree-optimization/42585
10130 * tree-sra.c (struct access): New field grp_total_scalarization.
10131 (dump_access): Dump the new field.
10132 (should_scalarize_away_bitmap): New variable.
10133 (cannot_scalarize_away_bitmap): Likewise.
10134 (sra_initialize): Allocate new bitmaps.
10135 (sra_deinitialize): Free new bitmaps.
10136 (create_access_1): New function.
10137 (create_access): Parts moved to create_access_1.
10138 (type_consists_of_records_p): New function.
10139 (completely_scalarize_record): Likewise.
10140 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
10141 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
10142 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
10143 access.
10144 (analyze_all_variable_accesses): Completely scalarize small eligible
10145 records.
10146
101472010-01-21 Martin Jambor <mjambor@suse.cz>
10148
10149 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
10150
101512010-01-21 Andrew Haley <aph@redhat.com>
10152
10153 * gcc.c (process_command): Move lang_specific_driver before
10154 setting cc_libexec_prefix.
10155
101562010-01-21 Richard Guenther <rguenther@suse.de>
10157
10158 PR middle-end/19988
10159 * fold-const.c (negate_expr_p): Pretend only negative
10160 real constants are easily negatable.
10161
101622010-01-20 Janis Johnson <janis187@us.ibm.com>
10163 Jason Merrill <jason@redhat.com>
10164
10165 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
10166 (TYPE_TRANSPARENT_AGGR): this, for union and record.
10167 * calls.c (initialize argument_information): Handle it.
10168 * c-common.c (handle_transparent_union_attribute): Use new name.
10169 * c-decl.c (finish_struct): Ditto.
10170 * c-typeck.c (type_lists_compatible_p): Ditto.
10171 (convert_for_assignment): Use new name and also handle record.
10172 * function.c (aggregate_value_p): Handle it.
10173 (pass_by_reference): Ditto.
10174 (assign_parm_data_types): Ditto.
10175 * print-tree.c (print_node): Ditto.
10176 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
10177 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
10178 * tree.c (first_field): New fn.
10179
101802010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
10181
10182 PR target/42818
10183 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
10184 even when linking statically, for now.
10185
101862010-01-20 Alexandre Oliva <aoliva@redhat.com>
10187
10188 PR debug/42715
10189 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
10190 without a cselib val.
10191 (count_uses): Accept MO_VAL_SET with no val on stores.
10192 (add_stores): Likewise.
10193
101942010-01-20 Jakub Jelinek <jakub@redhat.com>
10195
10196 * var-tracking.c (check_value_val): Add a compile time assertion.
10197 (dv_is_decl_p): Simplify.
10198 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
10199 gcc_assert if ENABLE_CHECKING.
10200
102012010-01-20 Alexandre Oliva <aoliva@redhat.com>
10202
10203 PR debug/42782
10204 * var-tracking.c: Include tree-flow.h.
10205 (mem_dies_at_call): New.
10206 (dataflow_set_preserve_mem_locs): Use it.
10207 (dataflow_set_remove_mem_locs): Likewise.
10208 (dump_var): Renamed from dump_variable. Adjust all callers.
10209 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
10210 * Makefile.in (var-tracking.o): Adjust deps.
10211
102122010-01-20 Joern Rennecke <amylaar@spamcop.net>
10213
10214 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
10215
102162010-01-20 Richard Guenther <rguenther@suse.de>
10217
10218 PR tree-optimization/42717
10219 * tree-ssa-dce.c (get_live_post_dom): Remove.
10220 (forward_edge_to_pdom): Take an arbitrary edge to copy
10221 degenerate PHI args from.
10222 (remove_dead_stmt): Use the first post-dominator even if it
10223 does not contain live statements as redirection destination.
10224
102252010-01-20 Richard Guenther <rguenther@suse.de>
10226
10227 * tree-inline.c (estimate_num_insns): Handle EH builtins.
10228
102292010-01-20 Jakub Jelinek <jakub@redhat.com>
10230
10231 * sel-sched.c (create_speculation_check): Remove set but not used
10232 variable twin.
10233 (try_transformation_cache): Remove set but not used variable ds.
10234 (calculate_privileged_insns): Remove set but not used variables
10235 cur_insn and min_spec_insn.
10236 (find_best_expr): Remove set but not used variable avail_n.
10237 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
10238 variable e.
10239 * cgraphunit.c (assemble_thunk): Remove set but not used variable
10240 false_label.
10241 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
10242 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
10243 new_scop_exit_edge.
10244
102452010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
10246
10247 PR bootstrap/42786
10248 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
10249 cpu types. Add support for *-sse3 cpu types.
10250 (x86_64-*-*): Ditto.
10251
102522010-01-20 Jakub Jelinek <jakub@redhat.com>
10253
10254 PR middle-end/42803
10255 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
10256 argument, call initializer_constant_valid_p_1 instead of
10257 initializer_constant_valid_p, pass CACHE to it, return NULL
10258 immediately if first call returns NULL.
10259 (initializer_constant_valid_p_1): New function.
10260 (initializer_constant_valid_p): Use it.
10261
102622010-01-20 Thomas Quinot <quinot@adacore.com>
10263
10264 * tree.def (PLACEHOLDER_EXPR): Fix comment.
10265
102662010-01-20 Jakub Jelinek <jakub@redhat.com>
10267
10268 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
10269 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
10270 (loc_list_from_tree): Don't handle unsigned division. Handle
10271 signed modulo using DW_OP_{over,over,div,mul,minus}.
10272 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
10273 modulo instead of signed.
10274
102752010-01-20 DJ Delorie <dj@redhat.com>
10276
10277 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
10278 (Fpa): Pass it
10279 (h8300_emit_stack_adjustment): Propogate it.
10280 (push): Pass it.
10281 (h8300_expand_prologue): Likewise.
10282 (h8300_expand_epilogue): Likewise.
10283
102842010-01-19 Michael Matz <matz@suse.de>
10285
10286 PR tree-optimization/41783
10287 * tree-data-ref.c (toplevel): Include flags.h.
10288 (dump_data_dependence_relation): Also dump the inputs if the
10289 result will be unknown.
10290 (split_constant_offset_1): Look through some conversions.
10291 * tree-predcom.c (determine_roots_comp): Restart a new chain if
10292 the offset from last element is too large.
10293 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
10294 (reassociate_to_the_same_stmt): Handle vector registers.
10295 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
10296 (e.g. conversions).
10297 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
10298 wide_prolog_niters argument, emit widening instructions.
10299 (vect_do_peeling_for_alignment): Adjust caller, use widened
10300 variant of the iteration cound.
10301 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
10302
103032010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10304
10305 PR target/38697
10306 * config/arm/neon-testgen.m (emit_automatics): New parameter
10307 features. Adjust for Fixed_return_reg feature.
10308 (test_intrinsic): Call emit_automatics with new feature.
10309 * config/arm/neon.ml: Update copyright years.
10310 (features): New Fixed_return_reg feature.
10311 (ops): Update feature for Vget_low.
10312
103132010-01-19 Jakub Jelinek <jakub@redhat.com>
10314
10315 PR tree-optimization/42719
10316 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
10317 stmt uses.
10318
10319 PR debug/42728
10320 * fwprop.c (all_uses_available_at): Return false if def_set dest
10321 is a REG that is used in def_insn.
10322
103232010-01-19 Joern Rennecke <amylaar@spamcop.net>
10324
10325 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
10326
10327 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
10328 Add argument names.
10329
10330 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
10331
10332 * target.h (struct gcc_target) <secondary_reload>: Change type
10333 of last argument to secondary_reload_info *.
10334
103352010-01-18 Uros Bizjak <ubizjak@gmail.com>
10336
10337 PR target/42774
10338 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
10339 memory references with unaligned offsets. Remove CQImode handling.
10340 (unaligned_memory_operand): Return 1 for memory references with
10341 unaligned offsets. Remove CQImode handling.
10342
103432010-01-18 Richard Guenther <rguenther@suse.de>
10344
10345 PR middle-end/39954
10346 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
10347 builtin calls.
10348
103492010-01-18 Richard Guenther <rguenther@suse.de>
10350
10351 PR tree-optimization/42781
10352 * tree-ssa-structalias.c (find_what_var_points_to): Skip
10353 restrict processing only if the original variable was artificial.
10354
103552010-01-18 Joern Rennecke <amylaar@spamcop.net>
10356
10357 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
10358 find number of popped argument bytes.
10359
10360 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
10361 Fix the text that describes the return value for invalid insns.
10362
10363 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
10364
10365 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
10366 Clarify what 'cost of the -dependence' is. Fix quoting.
10367
10368 * toplev.c (default_get_pch_validity): Rename argument to "sz".
10369 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
10370
103712010-01-17 Jakub Jelinek <jakub@redhat.com>
10372
10373 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
10374 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
10375
103762010-01-17 Richard Guenther <rguenther@suse.de>
10377
10378 PR middle-end/42248
10379 * function.c (split_complex_args): Take a VEC to modify.
10380 (assign_parms_augmented_arg_list): Build a VEC instead of
10381 a chain of PARM_DECLs.
10382 (assign_parms_unsplit_complex): Take a VEC of arguments.
10383 Do not fixup unmodified parms.
10384 (assign_parms): Deal with the VEC.
10385 (gimplify_parameters): Likewise.
10386
103872010-01-17 Richard Guenther <rguenther@suse.de>
10388
10389 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
10390 node existence check.
10391 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
10392 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
10393 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
10394 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
10395 (gimple_execute_on_growing_pred): Likewise.
10396
103972010-01-17 Richard Guenther <rguenther@suse.de>
10398
10399 PR tree-optimization/42773
10400 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
10401 (compute_antic_aux): Likewise.
10402 (compute_partial_antic_aux): Likewise.
10403
104042010-01-17 Jie Zhang <jie.zhang@analog.com>
10405
10406 PR debug/42767
10407 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
10408 and US_TRUNCATE.
10409
104102010-01-17 Joern Rennecke <amylaar@spamcop.net>
10411
10412 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
10413 appearance.
10414
10415 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
10416 Fix markup for strict argument.
10417
10418 (TARGET_SCHED_REORDER2): Fix argument types.
10419
10420 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
10421 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
10422
10423 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
10424 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
10425
10426 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
10427 Add argument name.
10428
10429 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
10430 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
10431 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
10432 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
10433 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
10434
10435 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
10436
10437 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
10438
10439 (TARGET_ASM_RELOC_RW_MASK): Add return type.
10440 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
10441
10442 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
10443
10444 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
10445 Use prototype.
10446
10447 (TARGET_ASM_NAMED_SECTION): Fix argument list.
10448
10449 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
10450 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
10451
10452 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
10453
10454 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
10455
10456 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
10457 referring to it. Fix language.
10458
10459 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
10460
10461 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
10462
10463 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
10464
10465 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
10466
10467 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
10468 '@var{stream}. Remove stray 'and'.
10469
10470 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
10471
10472 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
10473
10474 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
10475
10476 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
10477 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
10478
10479 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
10480 Fix description of return value.
10481 Rename argument "sz" to "len."
10482
10483 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
10484 Clarify meaning of 'true' return value.
10485
10486 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
10487
10488 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
10489 rep_mode versus mode_rep.
10490
10491 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
10492
10493 (TARGET_BUILTIN_DECL): Fix name.
10494
10495 (TARGET_COMMUTATIVE_P): Fix type of first argument.
10496
10497 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
10498
10499 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
10500
10501 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
10502
10503 (TARGET_RELAXED_ORDERING): Use @deftypevr.
10504
10505 (TARGET_GET_DRAP_RTX): Note that this is a hook.
10506 Clarify language.
10507
10508 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
10509 Rename argument tm_fn to md_fn.
10510
10511 (TARGET_OPTION_PRINT): Fix argument list.
10512
105132010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
10514
10515 PR target/42664
10516 * config/i386/i386.c (ix86_fixup_binary_operands):
10517 Revert FMA4 fixup of operands.
10518
105192010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10520
10521 PR gcc/42525
10522 * Makefile.in (write_entries_to_file, install-plugin):
10523 Use \012 instead of \n with tr.
10524
105252010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
10526
10527 * configure.ac (HAVE_AS_REF): New C macro.
10528 * configure: Regenerate.
10529 * config.in: Likewise.
10530 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
10531 if HAVE_AS_REF.
10532 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
10533 if HAVE_AS_REF.
10534
105352010-01-16 Joern Rennecke <amylaar@spamcop.net>
10536
10537 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
10538
10539 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
10540
10541 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
10542
10543 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
10544
10545 (TARGET_IN_SMALL_DATA_P): Fix argument type.
10546
10547 (TARGET_BINDS_LOCAL_P): Fix argument type.
10548
10549 (TARGET_ASM_FILE_END): Use prototype.
10550
10551 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
10552
10553 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
10554
10555 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
10556
10557 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
10558
10559 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
10560 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
10561
10562 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
10563 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
10564
10565 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
10566 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
10567 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
10568 (TARGET_ADDR_SPACE_CONVERT): Likewise.
10569
10570 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
10571
10572 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
10573
10574 (TARGET_INIT_BUILTINS): Use prototype.
10575
10576 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
10577 Put 'const char *' in braces. Fix parameter types.
10578 (TARGET_INVALID_CONVERSION): Fix parameter types.
10579 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
10580 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
10581
10582 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
10583 Fix argument type.
10584
10585 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
10586
10587 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
10588
105892010-01-15 Joern Rennecke <amylaar@spamcop.net>
10590
10591 * doc/tm.texi (TARGET_HELP): Fix return type.
10592
10593 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
10594 in braces. Fix argument types.
10595
10596 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
10597
10598 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
10599
10600 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
10601
10602 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
10603 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
10604
10605 (TARGET_MANGLE_TYPE): Fix argument types.
10606
10607 (TARGET_IRA_COVER_CLASSES): Use prototype.
10608
10609 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
10610
10611 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
10612
10613 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
10614
10615 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
10616
10617 (TARGET_CALLEE_COPIES): Fix argument types.
10618
10619 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
10620
10621 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
10622
10623 (TARGET_FUNCTION_VALUE): Fix argument types.
10624
10625 (TARGET_RETURN_IN_MSB): Fix argument type.
10626
10627 (TARGET_RETURN_IN_MEMORY): Fix argument types.
10628
10629 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
10630
10631 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
10632
10633 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
10634 agree with return type.
10635
10636 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
10637
106382010-01-15 Jing Yu <jingyu@google.com>
10639
10640 PR rtl-optimization/42691
10641 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
10642 a pseudo to a constant and are merged, and adjust comments.
10643
106442010-01-15 Eric Botcazou <ebotcazou@adacore.com>
10645
10646 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
10647
106482010-01-15 Richard Guenther <rguenther@suse.de>
10649
10650 PR middle-end/42739
10651 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
10652 labels of computed or non-local gotos to the destination.
10653 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
10654 landing pad label is the first label.
10655
106562010-01-15 Richard Guenther <rguenther@suse.de>
10657
10658 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
10659
106602010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10661
10662 PR target/42747
10663 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
10664 to allow generation of the xssqrtdp instruction on power7.
10665 (sqrtdf2_fpr): Ditto.
10666
106672010-01-14 Jakub Jelinek <jakub@redhat.com>
10668
10669 PR middle-end/42674
10670 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
10671 functions with noreturn attribute.
10672
10673 PR c++/42608
10674 * varasm.c (declare_weak): Add weak attribute to decl if it
10675 doesn't have one already.
10676 (assemble_external): Only add decls to weak_decls if they also
10677 have weak attribute.
10678
106792010-01-14 Alexandre Oliva <aoliva@redhat.com>
10680
10681 * var-tracking.c (var_reg_delete): Don't delete the association
10682 between REGs and values or one-part variables if the register
10683 isn't clobbered.
10684
106852010-01-14 Jakub Jelinek <jakub@redhat.com>
10686
10687 PR debug/42657
10688 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
10689 because its first operand is a non-localized variable.
10690
106912010-01-14 Martin Jambor <mjambor@suse.cz>
10692
10693 PR tree-optimization/42706
10694 * tree-sra.c (encountered_recursive_call): New variable.
10695 (encountered_unchangable_recursive_call): Likewise.
10696 (sra_initialize): Initialize both new variables.
10697 (callsite_has_enough_arguments_p): New function.
10698 (scan_function): Call decl and flags check only for IPA-SRA, check
10699 whether there is a recursive call and whether it has enough arguments.
10700 (all_callers_have_enough_arguments_p): New function.
10701 (convert_callers): Look for recursive calls only when
10702 encountered_recursive_call is set.
10703 (ipa_early_sra): Bail out either if
10704 !all_callers_have_enough_arguments_p or
10705 encountered_unchangable_recursive_call.
10706
107072010-01-14 Alexander Monakov <amonakov@ispras.ru>
10708
10709 * sel-sched.c: Add 2010 to copyright years.
10710 * sel-sched-ir.c: Likewise.
10711 * sel-sched-ir.h: Likewise.
10712
107132010-01-14 Martin Jambor <mjambor@suse.cz>
10714
10715 PR tree-optimization/42714
10716 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
10717 constructors specially.
10718
107192010-01-14 Andi Kleen <ak@linux.intel.com>
10720
10721 * config/i386/drivers-i386.c (detect_caches_intel):
10722 Add l2sizekb parameter and fill in.
10723 (host_detect_local_cpu): Add l2sizekb, fill in.
10724 Add Atom small cache heuristic.
10725
107262010-01-14 Andi Kleen <ak@linux.intel.com>
10727
10728 * config/i386/drivers-i386.c (detect_caches_cpuid4):
10729 Add level3 parameter and fill in.
10730 (detect_caches_intel): Handle level3 cache.
10731
107322010-01-14 Andi Kleen <ak@linux.intel.com>
10733
10734 * config/i386/drivers-i386.c (host_detect_local_cpu):
10735 Fix core duo detection.
10736
107372010-01-14 Andi Kleen <ak@linux.intel.com>
10738
10739 * config/i386/drivers-i386.c (host_detect_local_cpu):
10740 Fix Atom detection.
10741
107422010-01-14 Alexander Monakov <amonakov@ispras.ru>
10743
10744 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
10745 (rs6000_variable_issue_1): this. Use...
10746 (rs6000_variable_issue): here. Reimplement. Print debug info.
10747
107482010-01-14 Alexander Monakov <amonakov@ispras.ru>
10749
10750 * sel-sched-ir.c (sel_restore_other_notes): Rename to
10751 sel_restore_notes. Update all callers. Call reemit_notes
10752 for all insns.
10753
107542010-01-14 Andrey Belevantsev <abel@ispras.ru>
10755
10756 PR rtl-optimization/42246
10757 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
10758 loops.
10759
107602010-01-14 Andrey Belevantsev <abel@ispras.ru>
10761
10762 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
10763 all successors is the same as number of successors in current region.
10764
107652010-01-14 Alexander Monakov <amonakov@ispras.ru>
10766
10767 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
10768 to rename is not separable. Otherwise check that its LHS is not NULL.
10769
107702010-01-14 Alexander Monakov <amonakov@ispras.ru>
10771
10772 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
10773
107742010-01-14 Alexander Monakov <amonakov@ispras.ru>
10775
10776 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
10777 available registers when failed to discover LHS register class.
10778 Fix indentation. Update comment.
10779
107802010-01-14 Andrey Belevantsev <abel@ispras.ru>
10781 Alexander Monakov <amonakov@ispras.ru>
10782
10783 PR rtl-optimization/42389
10784 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
10785 to can_issue_more.
10786 (advance_state_on_fence): Likewise.
10787 (sel_target_adjust_priority): Print debug output only when
10788 sched_verbose >= 4, not 2.
10789 (get_expr_cost): Do not issue all unique insns on the next cycle.
10790 (fill_insns): Initialize can_issue_more from the value saved
10791 with the fence.
10792 * sel-sched-ir.c (flist_add): New parameter issue_more.
10793 Init FENCE_ISSUE_MORE with it.
10794 (merge_fences): Likewise.
10795 (init_fences): Update call to flist_add.
10796 (add_to_fences, add_clean_fence_to_fences)
10797 (add_dirty_fence_to_fences): Likewise.
10798 (move_fence_to_fences): Update call to merge_fences.
10799 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
10800 sched groups.
10801 * sel-sched-ir.h (struct _fence): New field issue_more.
10802 (FENCE_ISSUE_MORE): New accessor macro.
10803
108042010-01-14 Andrey Belevantsev <abel@ispras.ru>
10805
10806 PR rtl-optimization/42388
10807 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
10808 that have no predecessors nor successors. Do not call move_bb_info
10809 for empty blocks outside of current region.
10810
108112010-01-14 Alexander Monakov <amonakov@ispras.ru>
10812
10813 PR rtl-optimization/42294
10814 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
10815 * sel-sched.c (move_exprs_to_boundary): Transitively add all
10816 originators' originators.
10817
108182010-01-14 Alexander Monakov <amonakov@ispras.ru>
10819
10820 PR rtl-optimization/39453
10821 PR rtl-optimization/42246
10822 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
10823 for pipelining_p.
10824 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
10825
108262010-01-14 Andrey Belevantsev <abel@ispras.ru>
10827 Alexander Monakov <amonakov@ispras.ru>
10828
10829 PR middle-end/42245
10830 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
10831 (maybe_tidy_empty_bb): ... here. Make static. Add new
10832 argument. Update all callers.
10833 (tidy_control_flow): ... and here. Recompute topological order
10834 of basic blocks in region if necessary.
10835 (sel_redirect_edge_and_branch): Change return type. Return true
10836 if topological order might have been invalidated.
10837 (purge_empty_blocks): Export and move from...
10838 * sel-sched.c (purge_empty_blocks): ... here.
10839 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
10840 (maybe_tidy_empty_bb): Delete prototype.
10841 (purge_empty_blocks): Declare.
10842
108432010-01-14 Andrey Belevantsev <abel@ispras.ru>
10844
10845 PR rtl-optimization/42249
10846 * sel-sched.c (try_replace_dest_reg): When chosen register
10847 and original register is the same, do not bail out early, but
10848 still check all original insns for validity of replacing destination
10849 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
10850 in this case.
10851
108522010-01-14 Jakub Jelinek <jakub@redhat.com>
10853
10854 PR c/42721
10855 Port from no-undefined-overflow branch:
10856 2009-03-09 Richard Guenther <rguenther@suse.de>
10857
10858 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
10859
108602010-01-14 Richard Guenther <rguenther@suse.de>
10861
10862 PR lto/42665
10863 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
10864
108652010-01-14 Ira Rosen <irar@il.ibm.com>
10866
10867 PR tree-optimization/42709
10868 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
10869 as scalar type in creation of constant vector operand.
10870
108712010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10872
10873 PR testsuite/42414
10874 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
10875 (check-parallel-%): Match `testsuite' directory component only
10876 at the end.
10877
108782010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
10879
10880 PR translation/39521
10881 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
10882 strings with _().
10883
108842010-01-13 Richard Guenther <rguenther@suse.de>
10885
10886 PR tree-optimization/42730
10887 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
10888 offset zero.
10889
108902010-01-13 Steve Ellcey <sje@cup.hp.com>
10891
10892 PR target/pr42542
10893 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
10894 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
10895 them signed.
10896
108972010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
10898
10899 * config/bfin/libgcc-bfin.ver: Regenerate based on current
10900 libgcc-std.ver. Add entries for ___smulsi3_highpart and
10901 ___umulsi3_highpart.
10902
10903 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
10904 rather than schedule_insns if the pass is enabled.
10905
109062010-01-13 Martin Jambor <mjambor@suse.cz>
10907
10908 PR tree-optimization/42704
10909 * tree-sra.c (sra_modify_assign): Do not delete assignments to
10910 SSA_NAMEs.
10911
109122010-01-13 Martin Jambor <mjambor@suse.cz>
10913
10914 PR tree-optimization/42703
10915 * tree-sra.c (analyze_access_subtree): Check that we can build a
10916 reference to the original data within the aggregate.
10917
109182010-01-13 Richard Guenther <rguenther@suse.de>
10919
10920 PR tree-optimization/42705
10921 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
10922
109232010-01-13 Richard Guenther <rguenther@suse.de>
10924
10925 PR middle-end/42716
10926 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
10927
109282010-01-13 Jakub Jelinek <jakub@redhat.com>
10929
10930 PR debug/41371
10931 * var-tracking.c (values_to_unmark): New variable.
10932 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
10933 values_to_unmark vector. Moved body to...
10934 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
10935 instead queue it into values_to_unmark vector.
10936 (vt_find_locations): Free values_to_unmark vector.
10937
109382010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
10939
10940 * config/s390/s390.c (override_options): Set
10941 default of max-pending-list-length to 256
10942
109432010-01-13 Richard Guenther <rguenther@suse.de>
10944
10945 PR lto/42678
10946 * tree-pass.h (PROP_gimple_lcx): New.
10947 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
10948 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
10949 before the final cleanup_eh.
10950 (dump_properties): Dump PROP_gimple_lcx.
10951 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
10952 (tree_lower_complex_O0): Remove.
10953 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
10954 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
10955 tree_lower_complex, schedule TODO_update_ssa.
10956 * lto-streamer-out.c (output_function): Stream the functions
10957 properties.
10958 * lto-streamer-in.c (input_function): Likewise.
10959 (lto_read_body): Do not override them here.
10960
109612010-01-12 Joseph Myers <joseph@codesourcery.com>
10962
10963 PR c/42708
10964 * c-typeck.c (build_c_cast): Fold value cast to union type before
10965 wrapping it in a CONSTRUCTOR.
10966
109672010-01-12 Jakub Jelinek <jakub@redhat.com>
10968
10969 PR rtl-optimization/42699
10970 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
10971 involved.
10972
109732010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10974
10975 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
10976 SUBTARGET_WARN_UNUSED_SPEC): Move ...
10977 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
10978 SUBTARGET_WARN_UNUSED_SPEC): ... here
10979 * config/mips/iris5.h (LIBGCC_SPEC): Define.
10980
109812010-01-12 Julian Brown <julian@codesourcery.com>
10982
10983 * config/arm/neon-schedgen.ml (Utils): Don't try to
10984 open missing module.
10985 (find_with_result): New.
10986
109872010-01-12 Jakub Jelinek <jakub@redhat.com>
10988
10989 PR debug/42662
10990 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
10991 sharing when canonicalizing ({lt,ge}u (plus a b) b).
10992
10993 PR tree-optimization/42645
10994 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
10995 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
10996 decl_map, set processing_debug_stmt to -1 and return name without
10997 any remapping.
10998
109992010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
11000
11001 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
11002 binutils version, and reword target configuration description.
11003
110042010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
11005
11006 * config/avr/avr.h (LINKER_NAME): Remove.
11007
110082010-01-11 Janis Johnson <janis187@us.ibm.com>
11009
11010 PR target/42416
11011 * config/rs6000/rs6000.c (rs6000_override_options): On targets
11012 that support VSX, warn for -mno-altivec if vsx is not disabled,
11013 and disable vsx.
11014
110152010-01-11 Joseph Myers <joseph@codesourcery.com>
11016 Shujing Zhao <pearly.zhao@oracle.com>
11017
11018 PR translation/42469
11019 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
11020 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
11021 character between option name and help text.
11022 * c.opt (imultilib): Likewise.
11023
110242010-01-10 Rafael Avila de Espindola <espindola@google.com>
11025
11026 * lto-streamer-out.c (output_unreferenced_globals): Output static
11027 variables.
11028
110292010-01-10 Steven Bosscher <steven@gcc.gnu.org>
11030
11031 PR rtl-optimization/42621
11032 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
11033 optimizing for size.
11034 (duplicate_computed_gotos): Remove now-redundant check.
11035
110362010-01-10 Steve Ellcey <sje@cup.hp.com>
11037
11038 PR target/37454
11039 * configure.ac: Save and restore LDFLAGS and LIBS
11040 * configure: Regenerate.
11041
110422010-01-10 Richard Guenther <rguenther@suse.de>
11043
11044 PR middle-end/42667
11045 * builtins.c (fold_builtin_strlen): Add type argument and
11046 convert the resulting length to it.
11047 (fold_builtin_1): Adjust.
11048
110492010-01-09 Jakub Jelinek <jakub@redhat.com>
11050
11051 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
11052 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
11053 1 insn.
11054 (num_insns_constant_wide): Adjust for that change.
11055
110562010-01-09 Alexandre Oliva <aoliva@redhat.com>
11057
11058 PR debug/42631
11059 * web.c (union_defs): Add used argument, to combine uses of
11060 uninitialized regs.
11061 (entry_register): Adjust type and tests of used argument.
11062 (web_main): Widen used for new use. Pass it to union_defs.
11063 * df.h (union_defs): Adjust prototype.
11064
110652010-01-09 Alexandre Oliva <aoliva@redhat.com>
11066
11067 PR debug/42630
11068 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
11069 uses in new incoming argument. Free body.
11070 (reset_debug_uses_in_loop): New.
11071 (analyze_insn_to_expand_var): Call the latter if the former found
11072 anything. Fix whitespace. Reject invalid dest overlaps before
11073 going through all insns in the loop.
11074
110752010-01-09 Alexandre Oliva <aoliva@redhat.com>
11076
11077 PR debug/42629
11078 * haifa-sched.c (dying_use_p): Debug insns don't count.
11079
110802010-01-09 Alexandre Oliva <aoliva@redhat.com>
11081
11082 PR middle-end/42363
11083 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
11084 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
11085 (verify_gimple_call): Reject LHS in noreturn calls.
11086
110872010-01-09 Alexandre Oliva <aoliva@redhat.com>
11088
11089 PR debug/42604
11090 PR debug/42395
11091 * tree-vect-loop-manip.c (adjust_info): New type.
11092 (adjust_vec): New pointer to vector.
11093 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
11094 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
11095 (slpeel_update_phis_for_duplicate_loop): Use them.
11096 (slpeel_update_phi_nodes_for_guard1): Likewise.
11097 (slpeel_update_phi_nodes_for_guard2): Likewise.
11098 (slpeel_tree_peel_loop_to_edge): Likewise.
11099 (vect_update_ivs_after_vectorizer): Likewise.
11100
111012010-01-09 Alexandre Oliva <aoliva@redhat.com>
11102
11103 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
11104 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
11105
111062010-01-09 Alexandre Oliva <aoliva@redhat.com>
11107
11108 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
11109 bogus uninitialized warning.
11110
111112010-01-09 Richard Guenther <rguenther@suse.de>
11112
11113 PR middle-end/42512
11114 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
11115 the evolution is compatible with the initial condition.
11116
111172010-01-09 Jakub Jelinek <jakub@redhat.com>
11118
11119 * gcc.c (process_command): Update copyright notice dates.
11120 * gcov.c (print_version): Likewise.
11121 * gcov-dump.c (print_version): Likewise.
11122 * mips-tfile.c (main): Likewise.
11123 * mips-tdump.c (main): Likewise.
11124
111252010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
11126
11127 PR target/41885
11128 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
11129 (rotlhi3): Delete.
11130 (rotlhi3_8): Delete.
11131 (rotlsi3): Delete.
11132 (rotlsi3_8): Delete.
11133 (rotlsi3_16): Delete.
11134 (rotlsi3_24): Delete.
11135 (rotl<mode>3): New.
11136 (*rotw<mode>3): New.
11137 (*rotb<mode>3): New.
11138 * config/avr/avr.c (avr_rotate_bytes): New function.
11139 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
11140
111412010-01-08 Steve Ellcey <sje@cup.hp.com>
11142
11143 PR target/37454
11144 * configure.ac: Modify -rdynamic check.
11145 * configure: Regenerate.
11146
111472010-01-08 DJ Delorie <dj@redhat.com>
11148
11149 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
11150 register popping order.
11151
111522010-01-08 Richard Guenther <rguenther@suse.de>
11153
11154 PR lto/42528
11155 * c.opt (fsigned-char): Also let LTO handle this option.
11156 (funsigned-char): Likewise.
11157
111582010-01-07 Richard Guenther <rguenther@suse.de>
11159
11160 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
11161 (gimple_op): Likewise.
11162 (gimple_op_ptr): Likewise.
11163 (gimple_assign_set_lhs): Remove gcc_assert.
11164 (gimple_assign_set_rhs1): Likewise.
11165 (gimple_assign_set_rhs2): Likewise.
11166 (gimple_call_set_lhs): Likewise.
11167 (gimple_call_set_fn): Likewise.
11168 (gimple_call_set_fndecl): Likewise.
11169 (gimple_call_fndecl): Likewise.
11170 (gimple_call_return_type): Likewise.
11171 (gimple_call_set_chain): Likewise.
11172 (gimple_call_num_args): Likewise.
11173 (gimple_call_set_arg): Likewise.
11174 (gimple_cond_set_code): Likewise.
11175 (gimple_cond_set_lhs): Likewise.
11176 (gimple_cond_set_rhs): Likewise.
11177 (gimple_cond_set_true_label): Likewise.
11178 (gimple_cond_set_false_label): Likewise.
11179 (gimple_label_set_label): Likewise.
11180 (gimple_goto_set_dest): Likewise.
11181 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
11182 (gimple_debug_bind_get_value): Likewise.
11183 (gimple_debug_bind_get_value_ptr): Likewise.
11184 (gimple_debug_bind_set_var): Likewise.
11185 (gimple_debug_bind_set_value): Likewise.
11186 (gimple_debug_bind_reset_value): Likewise.
11187 (gimple_debug_bind_has_value_p): Likewise.
11188 (gimple_return_retval_ptr): Remove gcc_assert.
11189 (gimple_return_retval): Likewise.
11190 (gimple_return_set_retval): Likewise.
11191 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
11192 (safe_referenced_var_iterator): Remove.
11193 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
11194 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
11195 (fill_referenced_var_vec): Remove.
11196 (first_readonly_imm_use): Remove redundant gcc_assert.
11197 (phi_arg_index_from_use): Combine gcc_asserts.
11198 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
11199 (first_imm_use_stmt): Remove redundant gcc_assert.
11200 * tree-cfg.c (verify_gimple_call): Verify function and chain
11201 operands. Verify arguments.
11202 (verify_types_in_gimple_stmt): Verify condition code and labels.
11203
112042010-01-07 Richard Guenther <rguenther@suse.de>
11205
11206 PR tree-optimization/42641
11207 * sese.c (rename_map_elt_info): Use the SSA name version, do
11208 not hash pointers.
11209
112102010-01-07 Jakub Jelinek <jakub@redhat.com>
11211
11212 PR tree-optimization/42625
11213 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
11214 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
11215
112162010-01-07 Duncan Sands <baldrick@free.fr>
11217
11218 * Makefile.in (PLUGIN_HEADERS): Add version.h.
11219
112202010-01-07 Uros Bizjak <ubizjak@gmail.com>
11221
11222 PR target/42511
11223 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
11224 note itself is not function_invariant_p.
11225
112262009-01-07 Steven Bosscher <steven@gcc.gnu.org>
11227
11228 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
11229 Do not add the DF_NOTE problem.
11230 * store-motion.c (execute_rtl_store_motion): Likewise.
11231
112322010-01-07 Martin Jambor <mjambor@suse.cz>
11233
11234 PR tree-optimization/42157
11235 * tree-sra.c (compare_access_positions): Stabilize sort if both
11236 accesses have integer types, return zero immediately if they are the
11237 same.
11238
112392010-01-06 Richard Henderson <rth@redhat.com>
11240
11241 PR middle-end/41883
11242 * haifa-sched.c (add_to_note_list): Merge into ...
11243 (concat_note_lists): ... here, and ...
11244 (unlink_other_notes, rm_other_notes): Merge into...
11245 (remove_notes): ... here. Create REG_SAVE_NOTEs for
11246 NOTE_INSN_EPILOGUE_BEG.
11247
112482010-01-06 Richard Guenther <rguenther@suse.de>
11249
11250 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
11251 not inline regular functions into always-inline functions.
11252
112532010-01-06 Nick Clifton <nickc@redhat.com>
11254
11255 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
11256 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
11257 used together.
11258 (OVERRIDE_OPTIONS): Delete.
11259 (OPTIMIZATION_OPTIONS): Define.
11260 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
11261 * config/rx/rx.c (rx_handle_option): Issue an error message if
11262 -mcpu=rx200 and -fpu are used together.
11263 (rx_set_optimization_options): New function. Issue an error
11264 message if an optimization attribute attempts to reset the FPU/
11265 math optimization pairing.
11266 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
11267 * config/rx/rx.opt: Set the default to 32-bit doubles.
11268 * config/rx/t-rx: Add multilibs for -nofpu option.
11269 * doc/invoke.texi: Update documentation of RX options.
11270
112712010-01-06 Richard Guenther <rguenther@suse.de>
11272
11273 * tree-ssa-pre.c (name_to_id): New global.
11274 (alloc_expression_id): Simplify SSA name handling.
11275 (lookup_expression_id): Likewise.
11276 (init_pre): Zero name_to_id.
11277 (fini_pre): Free it.
11278
112792010-01-06 Uros Bizjak <ubizjak@gmail.com>
11280
11281 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
11282
112832010-01-05 H.J. Lu <hongjiu.lu@intel.com>
11284
11285 PR target/42542
11286 * config/i386/sse.md (smaxv2di3): New.
11287 (umaxv2di3): Likewise.
11288 (sminv2di3): Likewise.
11289 (uminv2di3): Likewise.
11290
112912010-01-05 Eric Botcazou <ebotcazou@adacore.com>
11292
11293 PR target/42564
11294 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
11295 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
11296 (legitimize_tls_address): Likewise.
11297 (sparc_tls_referenced_p): Likewise.
11298 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
11299 and adjust calls to legitimize_pic_address.
11300 (legitimate_constant_p) Use sparc_tls_referenced_p.
11301 (legitimate_pic_operand_p): Likewise.
11302 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
11303 (sparc_tls_symbol_ref_1): Delete.
11304 (sparc_tls_referenced_p): Make static, recognize specific patterns.
11305 (legitimize_tls_address): Make static, handle CONST patterns.
11306 (legitimize_pic_address): Make static, remove unused parameter and
11307 adjust recursive calls.
11308 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
11309 and adjust call to legitimize_pic_address.
11310 (sparc_output_mi_thunk): Likewise.
11311
113122010-01-05 Paolo Bonzini <bonzini@gnu.rg>
11313 H.J. Lu <hongjiu.lu@intel.com>
11314
11315 PR target/42542
11316 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
11317 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
11318 operands to make them signed.
11319
11320 Revert:
11321 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11322
11323 PR target/42542
11324 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
11325 GTU to GT for V4SI and V2DI.
11326
11327 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
11328 (umin<mode>3): Removed.
11329 (uminv8hi3): New.
11330 (uminv4si3): Likewise.
11331
113322010-01-05 Martin Jambor <mjambor@suse.cz>
11333
11334 PR tree-optimization/42462
11335 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
11336 current_function_decl to helper functions and macros.
11337
113382010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11339
11340 PR bootstrap/41771
11341 * flags.h: Don't include real.h.
11342 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
11343 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
11344 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
11345 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
11346 * dominance.c: Update copyright.
11347 * gimple.c (walk_gimple_op): Remove inline.
11348 * tree-ssa-reassoc.c: Include real.h.
11349 * Makefile.in (FLAGS_H): Remove $(REAL_H).
11350 (tree-ssa-reassoc.o): Depend on $(REAL_H).
11351
113522010-01-05 Nick Clifton <nickc@redhat.com>
11353
11354 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
11355 register to push into the stack frame when the accumulator has to
11356 be saved during interrupts.
11357
113582010-01-05 Eric Fisher <joefoxreal@gmail.com>
11359
11360 * doc/invoke.texi: Remove the documentation about option
11361 -Wunreachable-code.
11362 * common.opt (Wunreachable-code): Preserved for backward
11363 compatibility.
11364 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
11365 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
11366 the backward compatibility flag section.
11367
113682010-01-05 Richard Guenther <rguenther@suse.de>
11369
11370 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
11371
113722010-01-05 Jakub Jelinek <jakub@redhat.com>
11373
11374 PR other/42611
11375 * cfgexpand.c (expand_one_var): Diagnose too large variables.
11376
11377 PR tree-optimization/42508
11378 * tree-sra.c (convert_callers): Check for recursive call
11379 by comparing cgraph nodes instead of decls.
11380 (modify_function): Call ipa_modify_formal_parameters also
11381 on all same_body aliases.
11382
11383 * cgraphunit.c (cgraph_materialize_all_clones): Compare
11384 cgraph nodes when checking for same_body aliases.
11385
113862010-01-05 Richard Guenther <rguenther@suse.de>
11387
11388 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
11389 allocation and lookup.
11390 (get_or_alloc_expr_for_constant): Likewise.
11391 (phi_translate): Sink allocation.
11392
113932010-01-04 Richard Guenther <rguenther@suse.de>
11394
11395 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
11396 a new entry only if needed.
11397 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
11398 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
11399 hashtable lookup.
11400 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
11401 the result array.
11402 (phi_translate): Handle CONSTANTs early.
11403
114042010-01-04 Martin Jambor <mjambor@suse.cz>
11405
11406 PR tree-optimization/42398
11407 * tree-sra.c (struct access): Removed flag grp_different_types.
11408 (dump_access): Do not dump the removed flag.
11409 (sort_and_splice_var_accesses): Do not set the removed flag.
11410 (sra_modify_expr): Check for type compatibility directly.
11411
114122010-01-04 Martin Jambor <mjambor@suse.cz>
11413
11414 PR tree-optimization/42366
11415 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
11416 edges with variable number of parameters.
11417 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
11418 flag instead of asserting it.
11419 (ipa_read_node_info): Read uses_analysis_done flag.
11420
114212010-01-04 Richard Guenther <rguenther@suse.de>
11422
11423 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
11424 iterative_hash_* as intended.
11425 (vn_reference_compute_hash): Likewise. Simplify hashing
11426 SSA names.
11427 (vn_reference_lookup_2): Likewise.
11428 (vn_nary_op_compute_hash): Likewise.
11429 (vn_phi_compute_hash): Likewise.
11430 (expressions_equal_p): Remove strange code.
11431 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
11432 (pre_expr_hash): Likewise. Simplify hashing SSA names.
11433 (bitmap_insert_into_set_1): Take value-id as parameter.
11434 (add_to_value): Pass it.
11435 (bitmap_insert_into_set): Likewise.
11436 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
11437
114382010-01-04 Jakub Jelinek <jakub@redhat.com>
11439
11440 PR driver/42442
11441 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
11442 (do_self_spec): For switches with SWITCH_IGNORE set set also
11443 SWITCH_IGNORE_PERMANENTLY.
11444 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
11445 of SWITCH_IGNORE.
11446
114472010-01-04 Rafael Avila de Espindola <espindola@google.com>
11448
11449 * lto-streamer-out.c (output_unreferenced_globals): Output the full
11450 tree of an unreferenced global var.
11451
114522010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11453
11454 PR target/42542
11455 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
11456 GTU to GT for V4SI and V2DI.
11457
11458 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
11459 (umin<mode>3): Removed.
11460 (uminv8hi3): New.
11461 (uminv4si3): Likewise.
11462
114632010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11464
11465 PR lto/42581
11466 * collect2.c (main): Turn on trace in collect2 if -v is passed
11467 to gcc with LTO.
11468
114692010-01-03 Jerry Quinn <jlquinn@optonline.net>
11470
11471 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
11472 description of expression operand.
11473
114742010-01-03 Andrew Jenner <andrew@codesourcery.com>
11475
11476 * configure.ac: Add install-html to target_list for Make-hooks.
11477 * configure: Regenerate.
11478 * fortran/Make-lang.in (F95_HTMLFILES): New.
11479 (fortran.html): Use it.
11480 (fortran.install-html): New.
11481 * Makefile.in (install-html): Add lang.install-html.
11482 * java/Make-lang.in (JAVA_HTMLFILES): New.
11483 (java.html): Use it.
11484 (java.install-html): New.
11485 * objc/Make-lang.in (objc.install-html): New.
11486 * objcp/Make-lang.in (obj-c++.install-html): New.
11487 * cp/Make-lang.in (c++.install-html): New.
11488 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
11489 * lto/Make-lang.in (lto.install-html): New.
11490
114912010-01-03 H.J. Lu <hongjiu.lu@intel.com>
11492
11493 PR lto/42520
11494 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
11495
114962009-01-03 Steven Bosscher <steven@gcc.gnu.org>
11497
11498 PR rtl-optimization/41862
11499 * store-motion.c (store_killed_in_insn, compute_store_table,
11500 remove_reachable_equiv_notes, replace_store_insn,
11501 build_store_vectors): Ignore all DEBUG_INSNs.
11502
115032010-01-03 H.J. Lu <hongjiu.lu@intel.com>
11504
11505 PR lto/41564
11506 * common.opt: Add dumpdir.
11507
11508 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
11509 isn't specified.
11510 (option_map): Add --dumpdir.
11511
11512 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
11513
11514 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
11515
11516 * opts.c (decode_options): Try dump_dir_name first if
11517 dump_base_name isn't an absolute path.
11518 (common_handle_option): Handle OPT_dumpdir.
11519
11520 * toplev.c (dump_dir_name): New.
11521 (print_switch_values): Also ignore -dumpdir.
11522
11523 * toplev.h (dump_dir_name): New.
11524
115252010-01-03 Richard Guenther <rguenther@suse.de>
11526
11527 PR tree-optimization/42589
11528 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
11529 double-word expansion of bswap32.
11530
115312010-01-03 Steven Bosscher <steven@gcc.gnu.org>
11532
11533 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
11534 with BLOCK_FOR_INSN.
11535 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
11536 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
11537 noce_process_if_block): Likewise.
11538 * gcse.c (compute_local_properties, insert_expr_in_table,
11539 insert_set_in_table, canon_list_insert, find_avail_set,
11540 pre_insert_copy_insn): Likewise.
11541
11542 * basic-block.h (BLOCK_NUM): Move from here...
11543 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
11544
115452010-01-03 Richard Guenther <rguenther@suse.de>
11546
11547 PR tree-optimization/42438
11548 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
11549 contains_may_not_return_call flag.
11550 (BB_MAY_NOTRETURN): New.
11551 (valid_in_sets): Trapping nary operations are not valid
11552 in blocks that may not return.
11553 (insert_into_preds_of_block): Remove check for trapping expressions.
11554 (compute_avail): Compute also BB_MAY_NOTRETURN.
11555
115562010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
11557
11558 * doc/invoke.texi: Add 2010 to copyright years.
11559
115602010-01-03 Eric Botcazou <ebotcazou@adacore.com>
11561
11562 * config/sparc/sparc.c: Fix formatting nits.
11563
115642010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
11565 Alexander Monakov <amonakov@ispras.ru>
11566
11567 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
11568
115692010-01-02 Richard Guenther <rguenther@suse.de>
11570
11571 PR middle-end/42577
11572 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
11573 (simplify_switch_using_ranges): Mark to be removed edges
11574 as non-executable.
11575
115762010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11577
11578 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
11579
11580 * collect2.c (scan_libraries): Add missing argument in call to
11581 scan_prog_file.
11582
115832010-01-02 Uros Bizjak <ubizjak@gmail.com>
11584
11585 PR target/42448
11586 * config/alpha/predicates.md (aligned_memory_operand): Return false
11587 for CQImode.
11588 (unaligned_memory_operand): Return true for CQImode.
11589 * config/alpha/alpha.c (get_aligned_mem): Assert that location
11590 doesn not cross aligned SImode word boundary.
11591
115922010-01-02 Anatoly Sokolov <aesok@post.ru>
11593
11594 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
11595 Remove.
11596 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
11597 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
11598
115992010-01-02 Richard Guenther <rguenther@suse.de>
11600
11601 PR lto/41597
11602 * toplev.c (compile_file): Emit LTO marker properly. Change
11603 it to __gnu_lto_v1.
11604 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
11605
116062010-01-01 Richard Guenther <rguenther@suse.de>
11607
11608 PR debug/42455
11609 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
11610
116112010-01-01 Richard Guenther <rguenther@suse.de>
11612
11613 PR c/42570
11614 * c-decl.c (grokdeclarator): For zero-size arrays force
11615 structural equality checks as layout_type does.
11616
116172010-01-01 H.J. Lu <hongjiu.lu@intel.com>
11618
11619 * builtins.c: Update copyright to 2010.
11620
116212010-01-01 H.J. Lu <hongjiu.lu@intel.com>
11622
11623 PR lto/42531
11624 * lto-streamer-out.c (produce_asm): Revert the last change.
11625 (copy_function): Likewise.
11626
11627 * lto-streamer.c (lto_get_section_name): Skip any leading
11628 asterisk in name.
11629
116302010-01-01 Richard Guenther <rguenther@suse.de>
11631
11632 PR middle-end/42559
11633 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
11634 for LABEL_DECLs.
11635
11636\f
11637Copyright (C) 2010 Free Software Foundation, Inc.
11638
11639Copying and distribution of this file, with or without modification,
11640are permitted in any medium without royalty provided the copyright
11641notice and this notice are preserved.
11642
0bc25dd0
KT
11643 PR bootstrap/44299
11644 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
11645 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
11646
1da2ed5f
JM
116472010-05-27 Joseph Myers <joseph@codesourcery.com>
11648
11649 * diagnostic-core.h: New. Contents moved from diagnostic.h and
11650 toplev.h.
11651 * diagnostic.c: Don't include toplev.h.
11652 (progname): Define. Moved from toplev.c.
11653 (seen_error): New function.
11654 * diagnostic.h: Include diagnostic-core.h.
11655 (diagnostic_t, emit_diagnostic): Don't declare here.
11656 * toplev.c (progname): Move to toplev.c.
11657 (emit_debug_global_declarations, compile_file, finalize,
11658 do_compile, toplev_main): Use seen_error.
11659 * toplev.h: Include diagnostic-core.h.
11660 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
11661 internal_error, warning, warning_at, error, error_n, error_at,
11662 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
11663 verbatim, fnotice, progname): Move to diagnostic-core.h.
11664 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
11665 (expand_builtin_expect): Use seen_error.
11666 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
11667 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
11668 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
11669 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
11670 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
11671 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
11672 errorcount for errors.
11673 * c-opts.c (c_common_finish): Use seen_error.
11674 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
11675 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
11676 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
11677 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
11678 (get_coverage_counts): Use seen_error.
11679 * dwarf2out.c (dwarf2out_finish): Use seen_error.
11680 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
11681 gimplify_body): Use seen_error.
11682 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
11683 * ipa-pure-const.c (gate_pure_const): Use seen_error.
11684 * ipa-reference.c (gate_reference): Use seen_error.
11685 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
11686 * lambda-code.c: Include diagnostic-core.h instead of
11687 diagnostic.h.
11688 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
11689 * lto-compress.c: Include diagnostic-core.h instead of
11690 diagnostic.h.
11691 * lto-section-in.c: Include diagnostic-core.h instead of
11692 diagnostic.h.
11693 * lto-streamer-out.c: Include diagnostic-core.h instead of
11694 diagnostic.h.
11695 * lto-streamer.c: Include diagnostic-core.h instead of
11696 diagnostic.h.
11697 (gate_lto_out): Use seen_error.
11698 * matrix-reorg.c: Include diagnostic-core.h instead of
11699 diagnostic.h.
11700 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
11701 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
11702 (gate_expand_omp, lower_omp_1): Use seen_error.
11703 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
11704 (rest_of_decl_compilation, rest_of_type_compilation,
11705 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
11706 * tree-cfg.c (label_to_block_fn): Use seen_error.
11707 * tree-inline.c (optimize_inline_calls): Use seen_error.
11708 * tree-mudflap.c (mudflap_finish_file): Use
11709 seen_error.
11710 * tree-optimize.c (gate_all_optimizations,
11711 gate_all_early_local_passes, gate_all_early_optimizations): Use
11712 seen_error.
11713 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
11714 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
11715 (varpool_remove_unreferenced_decls,
11716 varpool_assemble_pending_decls): Use seen_error.
11717 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
11718 (TOPLEV_H, DIAGNOSTIC_H): Update.
11719 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
11720 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
11721 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
11722 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
11723 coverage.o, lambda-code.o): Update dependencies.
11724
fe08ec12
DS
117252010-05-25 Dodji Seketeli <dodji@redhat.com>
11726
11727 PR c++/44188
11728 * c-common.c (is_typedef_decl): Move this definition ...
11729 * tree.c (is_typedef_decl): ... here.
11730 (typdef_variant_p): Move definition here from gcc/cp/tree.c.
11731 * c-common.h (is_typedef_decl): Move this declaration ...
11732 * tree.h (is_typedef_decl): ... here.
11733 (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
11734 * dwarf2out.c (is_naming_typedef_decl): New function.
11735 (gen_tagged_type_die): Split out of ...
11736 (gen_type_die_with_usage): ... this function. When an anonymous
11737 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
11738 is emitted for the typedef.
11739 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
11740 anonymous tagged types.
11741
b042534c
JM
117422010-05-27 Jason Merrill <jason@redhat.com>
11743
11744 * print-tree.c (debug_vec_tree): New fn.
11745 (print_vec_tree): New fn.
11746 * tree.h: Declare them.
11747 * gdbinit.in (pvt): New command.
11748
11749 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
11750
11751 * gdbinit.in (pdd): New command.
11752
cdc029b9
JH
117532010-05-27 Jan Hubicka <jh@suse.cz>
11754
11755 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
11756 (update_caller_keys): Return early if there are no callers;
11757 only update fibheap when decresing the key.
11758 (update_callee_keys): Avoid recursion.
11759 (decide_inlining_of_small_functions): When badness does not match;
11760 re-insert into fibheap.
11761
7a3b4887
SB
117622010-05-27 Steven Bosscher <steven@gcc.gnu.org>
11763
11764 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
11765 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
11766 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
11767 (ALL_HOST_OBJS): Now a union of the above two.
11768 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
11769 all files in ALL_HOST_FRONTEND_OBJS.
11770 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
11771
11772 * c-common.c: Pretend to be a backend file by undefining
11773 IN_GCC_FRONTEND (still need rtl.h here).
11774
753d358d
JH
117752010-05-27 Jan Hubicka <jh@suse.cz>
11776
11777 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
11778 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
11779
88302d54
JH
117802010-05-27 Jan Hubicka <jh@suse.cz>
11781
11782 * sched-ebb.c: Rename struct deps to struct deps_desc.
11783 * ddg.c: Likewise.
11784 * sel-sched-ir.c: Likewise.
11785 * sched-deps.c: Likewise.
11786 * sched-int.h: Likewise.
11787 * sched-rgn.c: Likewise.
11788
117892010-05-27 Jon Beniston <jon@beniston.com>
9bb81453
JB
11790
11791 PR 43726
11792 * config/lm32/lm32.h: Remove definition of
11793 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
11794
7951d88a
EB
117952010-05-27 Eric Botcazou <ebotcazou@adacore.com>
11796
11797 PR lto/44230
11798 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
11799
fde9c428
RG
118002010-05-27 Richard Guenther <rguenther@suse.de>
11801
11802 PR tree-optimization/44284
11803 * tree-vect-stmts.c (vectorizable_assignment): Handle
11804 sign-changing conversions as simple copy.
11805
3714764d
MK
118062010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
11807
11808 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
11809 Bionic C library.
11810 (__gthread_active_p): Check for pthread_create if compiling against
11811 Bionic C library.
11812
51b9db92
MK
118132010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
11814
11815 Support compilation for Android platform. Reimplement -mandroid.
11816
11817 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
11818 (*android*): Set ANDROID_DEFAULT.
11819 (arm*-*-linux*): Include linux-android.h.
11820 (arm*-*-eabi*): Don't include previous -mandroid implementation.
11821 * config/arm/eabi.h: Remove, move Android-specific parts ...
11822 * config/linux-android.h: ... here. New file.
11823 * config/arm/eabi.opt: Rename to ...
11824 * config/linux-android.opt: ... this.
11825 (mandroid): Allow -mno-android option. Initialize based on
11826 ANDROID_DEFAULT.
11827 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
11828 Move logic to corresponding LINUX_TARGET_* macros.
11829 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
11830 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
11831 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
11832 Android definitions.
11833 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
11834 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
11835 Document.
11836
74c70253
MK
118372010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
11838
11839 Add support for Bionic C library
11840
11841 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
11842 macro.
11843 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
11844 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
11845
11846 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
11847 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
11848 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
11849 to support multiple C libraries. Handle Bionic.
11850 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
11851 (BIONIC_DYNAMIC_LINKER64): Define.
11852 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
11853 Update.
11854 (TARGET_HAS_SINCOS): Enable for Bionic.
11855
11856 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
11857 the last option specified on command line take effect.
11858 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
11859 (mbionic): New.
11860 (mglibc, muclibc): Update.
11861
11862 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
11863 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
11864 DEFAULT_LIBC.
11865
11866 * doc/invoke.texi (-mglibc, -muclibc): Update.
11867 (-mbionic): Document.
11868
3ef0694c
UW
118692010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11870
11871 * c-common.h (c_register_addr_space): Add prototype.
11872 (ADDR_SPACE_KEYWORD): Remove.
11873 * c-common.c (c_register_addr_space): New function.
11874 (c_addr_space_name): Reimplement.
11875 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
11876
11877 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
11878 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
11879
11880 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
11881 Remove TARGET_ADDR_SPACE_KEYWORDS.
11882
447924ef
JM
118832010-05-27 Joseph Myers <joseph@codesourcery.com>
11884
11885 * input.c: New file.
11886 * input.h (main_input_filename): Move declaration to toplev.h.
11887 * toplev.c (input_location, line_table): Move to input.c
11888 * toplev.h (main_input_filename): Move declaration from input.h.
11889 * tree.c (expand_location): Move to input.c.
11890 * Makefile.in (OBJS-common): Add input.o.
11891 (input.o): Add dependencies.
11892
62116e60
RG
118932010-05-27 Richard Guenther <rguenther@suse.de>
11894
11895 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
11896 for non-existant files.
11897 (fork_execute): Mark args_name file as deleted.
11898
64c31785
KT
118992010-05-27 Kai Tietz <kai.tietz@onevision.com>
11900
11901 PR bootstrp/44287
11902 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
11903 (narrow_signed_type): Likewise.
11904
e466e2ce
JH
119052010-05-26 Jan Hubicka <jh@suse.cz>
11906
11907 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
11908 edge only when checking is enabled; check using former_clone_of;
11909 check inline clones too.
11910 (cgraph_materialize_clone): Record former_clone_of pointer.
11911 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
11912 combining redirections; dump args_to_skip bitmap
11913 (cgraph_materialize_all_clones): Do no redirection here.
11914 * ipa-inline.c (inline_transform): Do redirection here.
11915 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
11916 cheking only).
11917
e62d5d9f
SB
119182010-05-26 Steven Bosscher <steven@gcc.gnu.org>
11919
11920 * config/avr/avr-c.c: Do not include regs.h.
11921 Include cpplib.h for cpp_define and tree.h for c-common.h.
11922 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
11923 * config/avr/t-avr: Fix dependencies for avr-c.o.
11924
d477d1fe
SB
119252010-05-26 Steven Bosscher <steven@gcc.gnu.org>
11926
11927 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
11928 string instead of SYMBOL_REF rtx.
11929 * rtl.h (set_stack_check_libfunc): Move prototype from here...
11930 * libfuncs.h: ...to here. Adjust for explow.c change.
11931
ab9b814d
JM
119322010-05-26 Joseph Myers <joseph@codesourcery.com>
11933
11934 * pretty-print.c: Don't include ggc.h.
11935 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
11936 (identifier_to_locale): Use them for allocation.
11937 * pretty-print.h (identifier_to_locale_alloc,
11938 identifier_to_locale_free): Declare.
11939 * toplev.c (alloc_for_identifier_to_locale): New.
11940 (general_init): Set identifier_to_locale_alloc and
11941 identifier_to_locale_free.
11942 * Makefile.in (pretty-print.o): Update dependencies.
11943
c9549072
EB
119442010-05-26 Eric Botcazou <ebotcazou@adacore.com>
11945
11946 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
11947 pointer types if they have different alignment or mode.
11948
bf44d792
AS
119492010-05-26 Anatoly Sokolov <aesok@post.ru>
11950
11951 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
11952 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
11953 * config/sparc/sparc-protos.h (function_value): Remove declaration.
11954 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
11955 sparc_function_value_regno_p): New functions.
11956 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
11957 TARGET_FUNCTION_VALUE_REGNO_P): Define.
11958 (function_value): Rename to...
11959 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
11960 argument to 'outgoing'.
11961 (function_arg_record_value, function_arg_union_value,
11962 function_arg_vector_value): Update comment.
11963
4ad2e1ec
EB
119642010-05-26 Eric Botcazou <ebotcazou@adacore.com>
11965
11966 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
11967 (fde_needed_for_eh_p): New predicate.
11968 (output_call_frame_info): Use it throughout to decide whether FDEs
11969 are needed for EH purpose.
11970 (dwarf2out_begin_prologue): Reorder assignments.
11971
4204425f
SP
119722010-05-26 Sebastian Pop <sebastian.pop@amd.com>
11973
11974 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
11975 special case loop->header.
11976 (is_predicated): New.
11977 (if_convertible_loop_p): Call it.
11978
e1449456
SP
119792010-05-26 Sebastian Pop <sebastian.pop@amd.com>
11980
11981 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
11982 iterator in parameter. Do not generate code during the analysis.
11983 (tree_if_convert_cond_stmt): Removed.
11984 (tree_if_convert_stmt): Removed.
11985 (predicate_bbs): New.
11986 (if_convertible_loop_p): Call predicate_bbs.
11987 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
11988 now contains all the analysis part.
11989
76b84776
SP
119902010-05-26 Sebastian Pop <sebastian.pop@amd.com>
11991
11992 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
11993 statements in the analysis part.
11994 (tree_if_convert_stmt): Update comment.
11995 (remove_conditions_and_labels): New.
11996 (combine_blocks): Call remove_conditions_and_labels.
11997 (tree_if_conversion): Update comment.
11998
bc447143
SP
119992010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12000
12001 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
12002 than 2 predecessors or more than 2 successors.
12003
6d795034
SP
120042010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12005
12006 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
12007 of loops in which the data dependence analysis fails.
12008
d7309618
SP
120092010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12010
12011 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
12012 CDI_POST_DOMINATORS.
12013 (tree_if_conversion): Same.
12014
7b371e73
SP
120152010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12016
12017 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
12018
4ab71973
SP
120192010-05-26 Sebastian Pop <sebastian.pop@amd.com>
12020
12021 * tree-if-conv.c: Update copyright years. Fix comments.
12022 Fix indentation.
12023
a6766312
KT
120242010-05-26 Kai Tietz <kai.tietz@onevision.com>
12025
12026 * builtin-types.def (BT_INT128): New primitive type.
12027 (BT_UINT128): Likewise.
12028 * c-common.c (c_common_r): Add __int128 keyword.
12029 (c_common_type_for_size): Handle __int128.
12030 (c_common_type_for_mode): Likewise.
12031 (c_common_signed_or_unsigned_type): Likewise.
12032 (c_common_nodes_and_builtins): Add builtin type
12033 if target supports 128-bit integer scalar.
12034 * c-common.h (enum rid): Add RID_INT128.
12035 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
12036 if target supports 128-bit integer scalar.
ade52657 12037 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
a6766312
KT
12038 (finish_declspecs): Likewise.
12039 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
12040 (c_token_starts_declspecs): Likewise.
12041 (c_parser_declspecs): Likewise.
12042 (c_parser_attributes): Likewise.
12043 (c_parser_objc_selector): Likewise.
12044 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
12045 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
12046 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
12047 * tree.c (make_or_reuse_type): Likewise.
12048 (make_unsigned_type): Likewise.
12049 (build_common_tree_nodes_2): Likewise.
12050 * tree.h (enum integer_type_kind): Add itk_int128 and
12051 itk_unsigned_int128.
ade52657 12052 (int128_integer_type_node): New define.
a6766312 12053 (int128_unsigned_type_node): New define.
a6766312
KT
12054 * doc/extend.texi: Add documentation about __int128 type.
12055
880ad25f
RG
120562010-05-26 Richard Guenther <rguenther@suse.de>
12057
12058 * tree-ssa-sccvn.c (copy_nary): Adjust.
12059 (copy_phis): Rename to ...
12060 (copy_phi): ... this. Adjust.
12061 (copy_references): Rename to ...
12062 (copy_reference): ... this. Adjust.
12063 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
12064 result into the valid table.
12065
52642070
SB
120662010-05-26 Steven Bosscher <steven@gcc.gnu.org>
12067
12068 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
12069 insn-config.h, insn-codes.h, recog.h, and optabs.h.
12070
58cd6303
LB
120712010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12072
ade52657 12073 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
58cd6303 12074
c3a02647
RG
120752010-05-26 Richard Guenther <rguenther@suse.de>
12076
12077 * opts.c (common_handle_option): Handle OPT_Ofast.
12078
5f0f4a3b
JM
120792010-05-26 Joseph Myers <joseph@codesourcery.com>
12080
12081 * diagnostic.c: Don't include opts.h.
12082 (permissive_error_option): Define.
12083 (diagnostic_initialize): Take n_opts parameter. Allocate memory
12084 for classify_diagnostic. Don't use memset for
12085 classify_diagnostic. Initialize new and recently added fields.
12086 (diagnostic_classify_diagnostic): Use context->n_opts instead of
12087 N_OPTS.
12088 (diagnostic_report_diagnostic): Pass context parameter to
12089 diagnostic_report_warnings_p. Use option_enabled and option_name
12090 hooks from context.
12091 (emit_diagnostic): Use permissive_error_option.
12092 (permerror): Likewise.
12093 * diagnostic.h: Don't include options.h.
12094 (struct diagnostic_context): Add n_opts, opt_permissive,
12095 inhibit_warnings, warn_system_headers, option_enabled and
12096 option_name fields. Change classify_diagnostic to a pointer.
12097 * opts-diagnostic.h: New file.
12098 * opts.c: Include opts-diagnostic.h.
12099 (common_handle_option): Set global_dc fields for -Wfatal-errors,
12100 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
12101 (option_name): New function.
12102 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
12103 (c_common_handle_option): Set global_dc->permissive for
12104 -fpermissive.
12105 * c-common.c (c_cpp_error): Save and restore
12106 global_dc->warn_system_headers, not variable warn_system_headers.
12107 * toplev.c: Include opts-diagnostic.h.
12108 (general_init): Update call to diagnostic_initialize. Set
12109 global_dc->show_column, global_dc->option_enabled and
12110 global_dc->option_name.
12111 (process_options): Don't set global_dc fields here.
12112 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
12113 (diagnostic.o, opts.o, toplev.o): Update dependencies.
12114
f024f85d
HS
121152010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
12116
12117 * config/picochip/picochip.md (movsi): Split a movsi from a
12118 const after reload.
12119
e4dfaf72
LB
121202010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12121
12122 * ggc-zone.c: Update copyright year.
12123 (poison_region): Mark memory for Valgrind as undefined before
12124 memset () call and inaccessible afterwards.
12125 (ggc_pch_total_size): Change type of i to int.
12126
121272010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12128
12129 * ggc-common.c (ggc_free_overhead): Allow empty slot.
12130
121312010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
12132
12133 * ggc-common.c: Update copyright year.
12134 (ggc_rlimit_bound): Remove prototype. Compile only if
12135 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
12136 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
12137 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
12138 (ggc_min_heapsize_heuristic): Likewise.
12139
630d3fad
RG
121402010-05-26 Richard Guenther <rguenther@suse.de>
12141
12142 PR rtl-optimization/44164
12143 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
12144 no-common access-path disambiguation.
12145 (indirect_ref_may_alias_decl_p): Adjust.
12146 (indirect_refs_may_alias_p): Likewise.
12147 (refs_may_alias_p_1): Likewise.
12148
b9b6c084
SB
121492010-05-26 Steven Bosscher <steven@gcc.gnu.org>
12150
12151 * c-typeck.c: Do not include expr.h.
12152
d347d97e
SB
121532010-05-26 Steven Bosscher <steven@gcc.gnu.org>
12154
12155 * rtl.h (decl_default_tls_model): Move prototype from here...
12156 * output.h: ...to here.
12157 * c-decl.c: Do not include rtl.h.
12158 * c-pragma.c: Likewise.
12159 * c-parser.c: Likewise.
12160 * c-gimplify.c: Likewise. And also not hard-reg-set.
12161 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
12162 FIXME note for it. Add a FIXME note for expr.h.
12163 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
12164 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
12165 defined.
12166
0d65bdbb
JJ
121672010-05-26 Jakub Jelinek <jakub@redhat.com>
12168
12169 PR target/44199
12170 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
12171 or total_size is larger than red zone size for non-V4 ABI, emit a
12172 stack_tie resp. frame_tie insn before stack pointer restore.
12173 * config/rs6000/rs6000.md (frame_tie): New insn.
12174
8f4f502f
EB
121752010-05-25 Eric Botcazou <ebotcazou@adacore.com>
12176
12177 * function.h (struct function): Add can_throw_non_call_exceptions bit.
12178 * lto-streamer-in.c (input_function): Stream it in.
12179 * lto-streamer-out.c (output_function): Stream it out.
12180 * function.c (allocate_struct_function): Set it.
12181 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
12182 for flag_non_call_exceptions.
12183 * cfgbuild.c (control_flow_insn_p): Likewise.
12184 (make_edges): Likewise.
12185 * cfgexpand.c (expand_stack_alignment): Likewise.
12186 * combine.c (distribute_notes): Likewise.
12187 * cse.c (cse_extended_basic_block): Likewise.
12188 * except.c (insn_could_throw_p): Likewise.
12189 * gcse.c (simple_mem): Likewise.
12190 * ipa-pure-const.c (check_call): Likewise.
12191 (check_stmt ): Likewise.
12192 * lower-subreg.c (lower-subreg.c): Likewise.
12193 * optabs.c (emit_libcall_block): Likewise.
12194 (prepare_cmp_insn): Likewise.
12195 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
12196 * postreload.c (rest_of_handle_postreload): Likewise.
12197 * reload1.c (reload_as_needed): Likewise.
12198 (emit_input_reload_insns): Likewise.
12199 (emit_output_reload_insns): Likewise.
12200 (fixup_abnormal_edges): Likewise.
12201 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
12202 * store-motion.c (find_moveable_store): Likewise.
12203 * tree-eh.c (stmt_could_throw_p): Likewise.
12204 (tree_could_throw_p): Likewise.
12205 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
12206 * config/arm/arm.c (arm_expand_prologue): Likewise.
12207 (thumb1_expand_prologue): Likewise.
12208 * config/rx/rx.md (cbranchsf4): Likewise.
12209 (cmpsf): Likewise.
12210 * config/s390/s390.c (s390_emit_prologue): Likewise.
12211 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
12212 (inline_forbidden_into_p): New predicate.
12213 (expand_call_inline): Use it to forbid inlining.
12214 (tree_can_inline_p): Likewise.
12215
c962b78d
SB
122162010-05-25 Steven Bosscher <steven@gcc.gnu.org>
12217
12218 * config/i386/i386-c.c: Do not include rtl.h.
12219 * config/i386/t-i386: Update dependencies.
12220
afb67dc2
SB
122212010-05-25 Steven Bosscher <steven@gcc.gnu.org>
12222
12223 * attribs.c: Do not include rtl.h.
12224 * Makefile.in: Update dependencies.
12225
e233a3b2
AS
122262010-05-25 Anatoly Sokolov <aesok@post.ru>
12227
12228 * double-int.h (double_int_and): New.
12229 * combine.c (try_combine): Clean up, use double_int_* and
12230 immed_double_int_const functions.
12231
bc492e47
RO
122322010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12233
12234 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
12235 stderr to /dev/null instead of grep -q.
12236 * configure: Regenerate.
12237
245763e3
SB
122382010-05-25 Steven Bosscher <steven@gcc.gnu.org>
12239
12240 * Makefile.in (EXCEPT_H): Fix typo.
12241
4ac293e2
VM
122422010-05-25 Vladimir Makarov <vmakarov@redhat.com>
12243
12244 * ira-build.c (update_conflict_hard_reg_costs): New.
12245 (ira_build): Call update_conflict_hard_reg_costs.
12246
60a5d78a
JJ
122472010-05-25 Jakub Jelinek <jakub@redhat.com>
12248
bb9862c6
JJ
12249 PR debug/41371
12250 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
12251 ENABLE_CHECKING.
12252 (intersect_loc_chains): Walk the s2var's loc_chain together
12253 with s1node chain as long as the locations are equal, don't
12254 call find_loc_in_1pdv in that case.
12255
60a5d78a
JJ
12256 PR debug/42801
12257 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
12258 (copy_bind_expr): ... instead of here.
12259 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
12260 if the block hasn't been remapped.
12261 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
12262 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
12263
c946a318
RG
122642010-05-25 Richard Guenther <rguenther@suse.de>
12265
12266 PR middle-end/44069
12267 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
12268 out-of-bounds array accesses.
12269
50ee30d5
RG
122702010-05-25 Richard Guenther <rguenther@suse.de>
12271
12272 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
12273 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
12274 (run_gcc): Re-organize to make cleanup easier.
12275
ca1930ce
AK
122762010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12277
12278 * config/s390/s390.c (optimization_options): Fix and move the
12279 flag_prefetch_loop_arrays override ...
12280 (override_options): ... here.
12281
a13812e2
JM
122822010-05-25 Joseph Myers <joseph@codesourcery.com>
12283
12284 * diagnostic.c: Don't include plugin.h.
12285 (diagnostic_report_diagnostic): Don't handle plugins specially
12286 here. Pass context to internal_error callback.
12287 * diagnostic.h (struct diagnostic_context): Add context parameter
12288 to internal_error callback.
ade52657 12289 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
a13812e2
JM
12290 * plugin.h (struct diagnostic_context): Declare.
12291 (warn_if_plugins, plugins_internal_error_function): Declare.
12292 * toplev.c (general_init): Set global_dc->internal_error.
12293 * Makefile.in (diagnostic.o): Update dependencies.
12294
9a2d05e0
IS
122952010-05-25 Iain Sandoe <iains@gcc.gnu.org>
12296
12297 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
12298 * config/rs6000/t-darwin64: New.
12299 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
12300 build crt2.
12301
8fde8b40
CB
123022010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
12303
12304 PR 44203
12305 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
12306 match the original (and intended) behaviour before r159557. This
12307 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
12308 in two ways.
12309
be6d3f0e
RG
123102010-05-25 Richard Guenther <rguenther@suse.de>
12311
12312 * doc/invoke.texi: Document -Ofast.
12313 * target.h (struct gcc_target): Add handle_ofast.
12314 * target-def.h (TARGET_HANDLE_OFAST): Add.
12315 (TARGET_INITIALIZER): Adjust.
ade52657 12316 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
be6d3f0e
RG
12317 * common.opt (Ofast): Add.
12318
ac5eda13
PB
123192010-05-25 Paolo Bonzini <bonzini@gnu.org>
12320
12321 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
12322 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
12323
123242010-05-25 Paolo Bonzini <bonzini@gnu.org>
6597fd0b
PB
12325
12326 PR target/43610
12327 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
12328 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
12329 false_rtx. Use false_rtx to compute the correct *ptest for reversed
12330 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
12331
9d4545b2
JJ
123322010-05-25 Jakub Jelinek <jakub@redhat.com>
12333
12334 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
12335 DW_OP_minus with negated offset instead of DW_OP_plus.
ade52657 12336 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
9d4545b2 12337
ee4e1706
WG
123382010-05-25 Wei Guozhi <carrot@google.com>
12339
12340 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
12341 tst instruction and a new alternative.
12342 * config/arm/constraints.md (Pu): New constraint.
12343
427188d5
SP
123442010-05-24 Sebastian Pop <sebastian.pop@amd.com>
12345
12346 * function.c (assign_stack_local_1): Initialize variable
12347 to avoid warning when bootstrapping at -O3.
12348
96ee6e08
SB
123492010-05-24 Steven Bosscher <steven@gcc.gnu.org>
12350
12351 * configure.ac (all_lang_makefiles): Remove everything related to it.
12352 * configure: Regenerate.
12353 * Makefile.in: Fix reference to ada Make-lang.in.
12354 Remove support for LANG_MAKEFILES.
12355
1ab55d69
MK
123562010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
12357 Sandra Loosemore <sandra@codesourcery.com>
12358
12359 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
12360 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
12361 description. Add arm_neon_fp16_ok.
12362 (Add Options): Add arm_neon and arm_neon_fp16.
12363
243fbddd
JM
123642010-05-24 Joseph Myers <joseph@codesourcery.com>
12365
12366 * diagnostic.c: Don't include flags.h.
12367 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
ade52657 12368 context parameters. Check flags in the context passed as a parameter.
243fbddd
JM
12369 (diagnostic_build_prefix): Add context parameter. Check
12370 show_column flag in context.
ade52657
UB
12371 (diagnostic_action_after_output): Check fatal_errors flag in context.
12372 (diagnostic_report_current_module): Check show_column flag in context.
243fbddd
JM
12373 (default_diagnostic_starter): Update call to
12374 diagnostic_build_prefix.
ade52657 12375 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
243fbddd
JM
12376 (emit_diagnostic): Pass context to permissive_error_kind.
12377 (permerror): Pass context to permissive_error_kind.
12378 * diagnostic.h (struct diagnostic_context): Add show_column,
12379 pedantic_errors, permissive and fatal_errors fields.
12380 (diagnostic_build_prefix): Update prototype.
12381 * langhooks.c
12382 * toplev.c (process_options): Set flags in global_dc from
12383 flag_show_column, flag_pedantic_errors, flag_permissive,
12384 flag_fatal_errors.
12385 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
12386 to diagnostic_build_prefix.
12387 * Makefile.in (diagnostic.o): Update dependencies.
12388
42f40af4
L
123892010-05-24 H.J. Lu <hongjiu.lu@intel.com>
12390
12391 * config/i386/ia32intrin.h (__crc32q): Define only if
12392 __SSE4_2__ is defined.
12393
1db0429a
IS
123942010-05-24 Iain Sandoe <iains@gcc.gnu.org>
12395
12396 PR target/44132
12397 PR middle-end/43602
12398 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
12399 DECL_VISIBILITY_SPECIFIED.
12400 (emutls_decl): Set DECL_PRESERVE_P and copy
12401 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
12402 (emutls_finalize_control_var): New callback.
12403 (emutls_finish): Finalize emutls control variables.
ade52657 12404 * toplev.c (compile_file): Move the call to emutls_finish ()
1db0429a
IS
12405 before varpool_assemble_pending_decls ().
12406
e72e2da4
DG
124072010-05-24 Daniel Gutson <dgutson@codesourcery.com>
12408
12409 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
12410 added to the preprocessor condition.
12411
b748fbd6
PB
124122010-05-24 Paul Brook <paul@codesourcery.com>
12413
12414 * gengtype-lex.l: Add HARD_REG_SET.
12415 * expr.c (expand_expr_real_1): Record writes to hard registers.
12416 * function.c (rtl_data): Add asm_clobbers.
12417 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
12418 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
12419 Use crtl->asm_clobbers.
12420
9888e9cf
RW
124212010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12422
12423 * doc/makefile.texi (Makefile): Mention stages 'profile'
12424 and 'feedback' for profiledbootstrap.
12425
cf5b989e
L
124262010-05-23 H.J. Lu <hongjiu.lu@intel.com>
12427
12428 PR target/44245
12429 * config/i386/i386.c (def_builtin): Properly check
12430 OPTION_MASK_ISA_64BIT.
12431
dc5027f4
JM
124322010-05-23 Joseph Myers <joseph@codesourcery.com>
12433
12434 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
12435 typedefs with different but compatible types. Allow duplicate
12436 typedefs with the same type except for pedantic non-C1X, but give
12437 warning for variably modified types.
12438 * c-typeck.c (tagged_types_tu_compatible_p,
12439 function_types_compatible_p, type_lists_compatible_p,
12440 comptypes_internal): Add parameter different_types_p; set
12441 *different_types_p for different but compatible types. All
12442 callers changed.
12443 (comptypes_check_different_types): New.
12444 * c-tree.h (comptypes_check_different_types): Declare.
12445
2d1a4cc1
SB
124462010-05-23 Steven Bosscher <steven@gcc.gnu.org>
12447
ade52657 12448 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
2d1a4cc1
SB
12449 * jump.c: Include basic-block.h.
12450 * profile.c: Likewise.
12451 * tree-profile.c: Likewise.
12452 * coverage.c: Likewise.
12453 * basic-block.h (optimize_function_for_size_p): Move to function.h.
12454 (optimize_function_for_speed_p): Likewise.
12455 * function.h (optimize_function_for_size_p,
12456 optimize_function_for_speed_p): Moved here from basic-block.h.
539bac37 12457 * Makefile.in: Update dependencies.
2d1a4cc1 12458
5767217f
RW
124592010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12460
12461 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
12462 before calling make; allow override through $MAKE.
12463 * doc/invoke.texi (Optimize Options): Document override.
12464
7a955d62
AS
124652010-05-23 Anatoly Sokolov <aesok@post.ru>
12466
12467 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
12468 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12469 (rs6000_mode_dependent_address_ptr): Make static.
12470 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12471 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
12472 Remove.
12473
362ff46e 124742010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
7b37a805
ML
12475
12476 PR target/43869
12477 * config/i386/i386.c: Make sure that the correct regparm is passed.
12478
9ecb1730
SB
124792010-05-23 Steven Bosscher <steven@gcc.gnu.org>
12480
12481 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
12482 * sbitmap.c: ...to here to internalize sbitmap element access.
12483 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
12484 Explain why basic-block.h is included.
12485 * function.h: Include tm.h for CUMULATIVE_ARGS.
12486 * Makefile.in: Update dependencies.
12487
7a8cba34
SB
124882010-05-22 Steven Bosscher <steven@gcc.gnu.org>
12489
12490 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
12491 New core types.
12492 * sbitmap.h (struct sbitmap_def): Do not typedef here.
12493 * sbitmap.c: Include sbitmap.h.
12494 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
12495 hard-reg-set.h. Split everything related to regsets out from here...
12496 * regset.h: ...to here. New file.
12497 * df.h: Include regset.h and sbitmap.h.
12498 * tree-flow.h: Likewise.
12499 * cfgloop.h: Likewise.
12500 * except.h: Do not include sbitmap.h. Include hashtab.h.
12501 * cgraph.h: Include vec.h and function.h.
12502 * reload.h (struct insn_chain): Change types of live_throughout
12503 and dead_or_set from regset_head to bitmap_head.
12504 (compute_use_by_pseudos): Be defined also if regset.h is not included.
12505 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
12506 spilled_regs from regset_head to bitmap_head to avoid dependency
12507 in regset.h.
12508 * sel-sched-ir.h: Include regset.h.
12509 * reload.c: Include df.h before reload.h.
12510 * caller-save.c: Likewise.
12511 * reload1.c: Likewise.
12512 * ira.c: Likewise.
12513 (mark_elimination): Update type of r to bitmap, consistent with
12514 DF_LR_IN.
12515 * dominance.c: Include bitmap.h.
12516 * modulo-sched.c: Include df.h.
12517 * cfganal.c: Include bitmap.h and sbitmap.h.
12518 * cfgbuild.c: Include sbitmap.h.
12519 * lcm.c: Include sbitmap.h.
12520 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
12521 * domwalk.c: Include sbitmap.h, exclude ggc.h.
12522 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
12523 * cselib.c: Include bitmap.h.
12524 * tree-optimize.c: Include regset.h.
12525 * stmt.c: Include bitmap.h.
12526 * Makefile.in: Update dependencies.
12527
9f90e80a
JH
125282010-05-22 Jan Hubicka <jh@suse.cz>
12529
12530 * cgraph.h (struct varpool_node): Add same_comdat_group.
12531 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
12532 pointer.
12533 (output_varpool): Update call of lto_output_varpool_node.
12534 (input_varpool): Read same_comdat_group pointer.
12535 (input_varpool_1): Fixup same_comdat_group pointer.
12536 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
12537 group is needed, all are.
12538 * varpool.c (varpool_remove_node): Remove node from same comdat group
12539 linklist too.
12540 (varpool_analyze_pending_decls): Walk same comdat groups.
12541
a2c9fe42
SB
125422010-05-22 Steven Bosscher <steven@gcc.gnu.org>
12543
12544 * rtl.h (union rtunion_def): Remove rt_bit member.
12545 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
12546 * print-rtl (print_rtx): Do not print the member.
12547 * gengtype.c (adjust_field_rtx_def): Do not handle it.
12548 * gengenrtl.c (type_from_format): Likewise.
12549 (accessor_from_format): Likewise.
12550
3b2ce251
JM
125512010-05-22 Joseph Myers <joseph@codesourcery.com>
12552
12553 * dbgcnt.c: Include toplev.h instead of errors.h.
12554 * ira-emit.c: Don't include errors.h.
12555 * ira.c: Include toplev.h instead of errors.h.
12556 * lto-compress.c: Include toplev.h instead of errors.h.
12557 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
12558 ira.o, dbgcnt.o): Update dependencies.
12559
bd9eb5da
RG
125602010-05-22 Richard Guenther <rguenther@suse.de>
12561
12562 * gimple.c (gimple_types_compatible_p): Check type qualifications
12563 before merging pointer to complete and pointer to incomplete type.
12564 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
12565 we use our own resolution algorithm. The gold linker plugin
12566 doesn't do the job we want it to do here.
12567
277e2873
AS
125682010-05-22 Anatoly Sokolov <aesok@post.ru>
12569
12570 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12571 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12572 (sparc_mode_dependent_address_p): New function.
12573
613b1547
SB
125742010-05-21 Steven Bosscher <steven@gcc.gnu.org>
12575
12576 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
12577
12578 * timevar.c: Do not include any core headers.
12579 (timevar_print): De-i18n-ize.
12580 (print_time): Likewise.
12581 * timevar.h (timevar_push, timevar_pop): Make inline functions.
12582
cf835838
JM
125832010-05-21 Joseph Myers <joseph@codesourcery.com>
12584
12585 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
12586 langhooks-def.h.
12587 (diagnostic_initialize): Initialize x_data not last_function.
12588 (diagnostic_report_current_function): Move to tree-diagnostic.c.
12589 (default_diagnostic_starter): Call
12590 diagnostic_report_current_module not
12591 diagnostic_report_current_function.
12592 (diagnostic_report_diagnostic): Initialize x_data not
12593 abstract_origin.
12594 (verbatim): Likewise.
12595 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
12596 x_data.
12597 (struct diagnostic_context): Change last_function to x_data.
12598 (diagnostic_auxiliary_data): Replace with
12599 diagnostic_context_auxiliary_data and
12600 diagnostic_info_auxiliary_data.
12601 (diagnostic_last_function_changed, diagnostic_set_last_function,
12602 diagnostic_report_current_function): Move to tree-diagnostic.h.
12603 (print_declaration, dump_generic_node, print_generic_stmt,
12604 print_generic_stmt_indented, print_generic_expr,
12605 print_generic_decl, debug_c_tree, dump_omp_clauses,
12606 print_call_name, debug_generic_expr, debug_generic_stmt,
12607 debug_tree_chain, default_tree_printer): Move to
12608 tree-pretty-print.h.
12609 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
12610 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
12611 gimple-pretty-print.h.
12612 * pretty-print.c: Don't include tree.h
12613 (pp_base_format): Don't handle %K here.
12614 (pp_base_tree_identifier): Move to tree-pretty-print.c.
12615 * pretty-print.h (text_info): Change abstract_origin to x_data.
12616 (pp_tree_identifier, pp_unsupported_tree,
12617 pp_base_tree_identifier): Move to tree-pretty-print.h.
12618 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
12619 tree-pretty-print.h: New files.
12620 * tree-pretty-print.c: Include tree-pretty-print.h.
12621 (percent_K_format): New. Moved from pretty-print.c.
12622 (pp_base_tree_identifier): Move from pretty-print.c.
12623 * c-objc-common.c: Include tree-pretty-print.h.
12624 (c_tree_printer): Handle %K here.
12625 * langhooks.c: Include tree-diagnostic.h.
12626 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
12627 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
12628 (default_tree_printer): Handle %K using percent_K_format.
12629 (general_init): Use default_tree_diagnostic_starter.
12630 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
12631 (free_lang_data): Use default_tree_diagnostic_starter.
12632 * c-pretty-print.c: Include tree-pretty-print.h.
ade52657
UB
12633 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
12634 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
12635 * dwarf2out.c: Include tree-pretty-print.h.
12636 * except.c: Include tree-pretty-print.h.
12637 * gimple-pretty-print.c: Include tree-pretty-print.h and
12638 gimple-pretty-print.h.
12639 * gimplify.c: Include tree-pretty-print.h.
12640 * graphite-poly.c: Include tree-pretty-print.h and
12641 gimple-pretty-print.h.
12642 * ipa-cp.c: Include tree-pretty-print.h.
12643 * ipa-inline.c: Include gimple-pretty-print.h.
ade52657 12644 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
12645 * ipa-pure-const.c: Include gimple-pretty-print.h.
12646 * ipa-struct-reorg.c: Include tree-pretty-print.h and
12647 gimple-pretty-print.h.
12648 * ipa-type-escape.c: Include tree-pretty-print.h.
12649 * print-rtl.c: Include tree-pretty-print.h.
12650 * print-tree.c: Include gimple-pretty-print.h.
12651 * sese.c: Include tree-pretty-print.h.
12652 * tree-affine.c: Include tree-pretty-print.h.
12653 * tree-browser.c: Include tree-pretty-print.h.
12654 * tree-call-cdce.c: Include gimple-pretty-print.h.
ade52657 12655 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
12656 * tree-chrec.c: Include tree-pretty-print.h.
12657 * tree-data-ref.c: Include tree-pretty-print.h and
12658 gimple-pretty-print.h.
12659 * tree-dfa.c: Include tree-pretty-print.h.
12660 * tree-if-conv.c: Include tree-pretty-print.h and
12661 gimple-pretty-print.h.
12662 * tree-inline.c: Include tree-pretty-print.h.
12663 * tree-into-ssa.c: Include tree-pretty-print.h and
12664 gimple-pretty-print.h.
12665 * tree-nrv.c: Include tree-pretty-print.h.
12666 * tree-object-size.c: Include tree-pretty-print.h and
12667 gimple-pretty-print.h.
12668 * tree-outof-ssa.c: Include tree-pretty-print.h and
12669 gimple-pretty-print.h.
12670 * tree-parloops.c: Include tree-pretty-print.h and
12671 gimple-pretty-print.h.
12672 * tree-predcom.c: Include tree-pretty-print.h and
12673 gimple-pretty-print.h.
12674 * tree-scalar-evolution.c: Include tree-pretty-print.h and
12675 gimple-pretty-print.h.
12676 * tree-sra.c: Include tree-pretty-print.h.
12677 * tree-ssa-address.c: Include tree-pretty-print.h.
12678 * tree-ssa-alias.c: Include tree-pretty-print.h.
12679 * tree-ssa-ccp.c: Include tree-pretty-print.h and
12680 gimple-pretty-print.h.
12681 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
12682 * tree-ssa-copy.c: Include tree-pretty-print.h and
12683 gimple-pretty-print.h.
12684 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
12685 * tree-ssa-dce.c: Include tree-pretty-print.h and
12686 gimple-pretty-print.h.
12687 * tree-ssa-dom.c: Include tree-pretty-print.h and
12688 gimple-pretty-print.h.
12689 * tree-ssa-dse.c: Include gimple-pretty-print.h.
12690 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
12691 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
12692 * tree-ssa-live.c: Include tree-pretty-print.h and
12693 gimple-pretty-print.h.
12694 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
12695 gimple-pretty-print.h.
12696 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
12697 gimple-pretty-print.h.
12698 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
12699 gimple-pretty-print.h.
12700 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
12701 gimple-pretty-print.h.
12702 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
12703 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
12704 * tree-ssa-operands.c: Include tree-pretty-print.h and
12705 gimple-pretty-print.h.
12706 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
12707 gimple-pretty-print.h.
12708 * tree-ssa-pre.c: Include tree-pretty-print.h and
12709 gimple-pretty-print.h.
12710 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
12711 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
12712 gimple-pretty-print.h.
12713 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
12714 gimple-pretty-print.h.
12715 * tree-ssa-sink.c: Include gimple-pretty-print.h.
12716 * tree-ssa-ter.c: Include tree-pretty-print.h and
12717 gimple-pretty-print.h.
12718 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
12719 * tree-ssa.c: Include tree-pretty-print.h and
12720 gimple-pretty-print.h.
12721 * tree-stdarg.c: Include gimple-pretty-print.h.
12722 * tree-switch-conversion.c: Include gimple-pretty-print.h.
12723 * tree-tailcall.c: Include tree-pretty-print.h and
12724 gimple-pretty-print.h.
12725 * tree-vect-data-refs.c: Include tree-pretty-print.h and
12726 gimple-pretty-print.h.
12727 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
12728 gimple-pretty-print.h.
12729 * tree-vect-loop.c: Include tree-pretty-print.h and
12730 gimple-pretty-print.h.
12731 * tree-vect-patterns.c: Include gimple-pretty-print.h.
12732 * tree-vect-slp.c: Include tree-pretty-print.h and
12733 gimple-pretty-print.h.
12734 * tree-vect-stmts.c: Include tree-pretty-print.h and
12735 gimple-pretty-print.h.
12736 * tree-vectorizer.c: Include tree-pretty-print.h.
12737 * tree-vrp.c: Include tree-pretty-print.h and
12738 gimple-pretty-print.h.
12739 * value-prof.c: Include tree-pretty-print.h and
12740 gimple-pretty-print.h.
12741 * var-tracking.c: Include tree-pretty-print.h.
12742 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
12743 (tree-diagnostic.o): New dependencies.
12744 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
12745 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
12746 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
12747 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
12748 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
12749 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
12750 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
12751 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
12752 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
12753 tree-ssa-address.o, tree-ssa-loop-niter.o,
12754 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
12755 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
12756 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
12757 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
12758 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
12759 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
12760 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
12761 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
12762 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
12763 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
12764 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
12765 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
12766 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
12767 tree-switch-conversion.o, var-tracking.o, value-prof.o,
12768 cfgexpand.o, pretty-print.o): Update dependencies.
12769
cf4f4175
AT
127702010-05-22 Andreas Tobler <andreast@fgznet.ch>
12771
12772 * tree-ssa-structalias.c: Remove tm_p.h from include.
12773
c6d0f11a
JL
127742010-05-21 Jeff Law <law@redhat.com>
12775
12776 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
12777
d3f28910
JM
127782010-05-21 Jason Merrill <jason@redhat.com>
12779
12780 * tree-eh.c (cleanup_is_dead_in): New.
12781 (lower_try_finally): Don't generate a dead cleanup region.
12782 (lower_cleanup): Likewise.
12783
14db98d4
JJ
127842010-05-21 Jakub Jelinek <jakub@redhat.com>
12785
12786 PR debug/44223
12787 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
12788 unchain each use from the cyclic next_regno_use chain first.
12789
d49b6e1e
SB
127902010-05-21 Steven Bosscher <steven@gcc.gnu.org>
12791
12792 * real: Do not include gmp.h, mpfr.h, and mpc.h.
12793 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
12794 (real_value_negate, real_value_abs): New prototypes.
12795 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
12796 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
12797 new include file for interface between MPFR and REAL_VALUE_TYPE.
12798 * real.c: Include realmpfr.h.
12799 (real_arithmetic2): Remove legacy function.
12800 (real_value_negate): New.
12801 (real_value_abs): New.
12802 (mfpr_from_real, real_from_mpfr): Move from here...
12803 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
12804 * builtins.c: Include realmpfr.h.
12805 * fold-const.c: Include realmpfr.h.
12806 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
12807 (fold_negate_const): Likewise.
12808 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
12809 * toplev.c: Include realmpfr.h.
12810 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
12811 and real_value_negate.
12812 * fixed-value.c (check_real_for_fixed_mode): Likewise.
12813 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
12814 (vfp3_const_double_index): Likewise.
12815 (arm_print_operand): Likewise.
12816 * Makefile.in: Update dependencies.
12817
5b4b1c9a
AK
128182010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12819
12820 * config/s390/s390.c (override_options): Increase the default
12821 of max-completely-peel-times.
12822
7c19c715
JB
128232010-05-21 Julian Brown <julian@codesourcery.com>
12824 Mark Mitchell <mark@codesourcery.com>
12825
12826 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
12827 sibling calls for Thumb-1.
12828 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
12829 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
12830 Thumb-2.
12831 (*call_insn, *call_value_insn): Don't use for Thumb-2.
12832 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
12833 for Thumb-2.
12834 (return): New expander.
12835 (*arm_return): New name for ARM return insn.
12836 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
12837
3943fe02
JS
128382010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
12839
12840 * config.gcc (sparc64-*-rtems*): New target.
12841
95f6e526
NF
128422010-05-21 Nathan Froyd <froydnj@codesourcery.com>
12843
12844 * tree.c (build_function_decl_skip_args): Fix grammar.
12845 (build_function_type_list_1): Fix typos, adjust formatting.
12846
40013784
SB
128472010-05-21 Steven Bosscher <steven@gcc.gnu.org>
12848
12849 * tree.h: Include real.h and fixed-value.h as basic datatypes.
12850 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
12851 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
12852 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
12853 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
12854 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
12855 tree-pretty-print.c, tree-loop-distribution.c,
12856 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
12857 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
12858 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
12859 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
12860 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
12861 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
12862 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
12863 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
12864 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
12865 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
12866 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
12867 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
12868 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
12869 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
12870 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
12871 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
12872 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
12873 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
12874 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
12875 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
12876 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
12877 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
12878 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
12879 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
12880 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
12881 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
12882 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
12883 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
12884 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
12885 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
12886 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
12887 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
12888 config/score/score7.c, config/score/score.c, config/arm/arm.c,
12889 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
12890 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
ade52657 12891 config/bfin/bfin.c: Clean up redundant includes.
40013784
SB
12892 * Makefile.in: Update accordingly.
12893
0a7561b7
NF
128942010-05-21 Nathan Froyd <froydnj@codesourcery.com>
12895
12896 PR middle-end/44204
12897 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
12898 statement has no arguments.
12899
e1935569
KT
129002010-05-21 Kai Tietz <kai.tietz@onevision.com>
12901
12902 PR/44139
12903 * varasm.c (emutls_decl): Merge attributes to new decl.
12904
46314d3e
EB
129052010-05-21 Eric Botcazou <ebotcazou@adacore.com>
12906
12907 PR middle-end/44101
12908 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
12909 around the uniquized constructor if its type requires a conversion.
12910
f99fcb3b
JJ
129112010-05-21 Jakub Jelinek <jakub@redhat.com>
12912
12913 PR debug/44205
12914 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
12915 at -O0 goto_locus of any of the incoming edges differs from
12916 goto_locus of outgoing edge, or gimple_location of any of the
12917 labels differs.
12918
0583835c
VM
129192009-09-14 Vladimir Makarov <vmakarov@redhat.com>
12920
12921 * ira.c (ira_non_ordered_class_hard_regs): Define.
ade52657 12922 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
0583835c
VM
12923 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
12924 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
12925 cost of unaligned hard regs when allocating multi-reg pseudos.
12926
9f946bc1
RS
129272010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
12928
12929 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
12930 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
12931 for TARGET_NO_FLOAT.
12932 * config/mips/mips.c (mips_file_start): Expand conditional expression
12933 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
12934 (mips_override_options): Move -mno-float override -msoft-float and
12935 -mhard-float.
12936 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
12937 Condition(TARGET_SUPPORTS_NO_FLOAT).
12938 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
12939 __mips_no_float here.
12940 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
12941 (TARGET_SUPPORTS_NO_FLOAT): Define.
12942 * config/mips/sdemtk.opt: Delete.
12943
69610617
SB
129442010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
12945
ade52657 12946 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
69610617 12947
953c29f7
UB
129482010-05-20 Uros Bizjak <ubizjak@gmail.com>
12949
12950 PR target/43733
12951 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
12952 * configure: Regenerate.
12953 * config.in: Regenerate.
12954 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
12955 instead of sahf only for 64bit targets.
12956
69b45d71
JJ
129572010-05-20 Jakub Jelinek <jakub@redhat.com>
12958
12959 PR debug/44178
12960 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
12961 setup_ref_regs for DEBUG_INSNs.
12962
a14f1878
JH
129632010-05-20 Jan Hubicka <jh@suse.cz>
12964
12965 PR middle-end/44197
12966 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
12967
5797be12
KZ
129682010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
12969
12970 PR bootstrap/43870
12971 * df-scan.c (df_ref_compare): Stabilize sort.
12972
f1ca3117
JJ
129732010-05-20 Jakub Jelinek <jakub@redhat.com>
12974
12975 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
12976 argument. Don't use DW_OP_piece if offset is non-zero,
12977 put offset into second DW_OP_bit_piece argument.
12978 (dw_sra_loc_expr): Adjust callers. For memory expressions
12979 compute offset.
12980
d8ec9c14
HPN
129812010-05-20 Hans-Peter Nilsson <hp@axis.com>
12982
12983 PR target/44202
12984 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
12985 settings for 16-bit-constant "addo" alternative.
12986
951771dc
JW
129872010-05-19 James E. Wilson <wilson@codesourcery.com>
12988
9af157ac
JW
12989 * config/mips/mips-dsp.md (add<DSPV:mode>3,
12990 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
12991
951771dc
JW
12992 PR target/43764
12993 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
12994 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
12995 Use it.
12996
676dd4d4
JM
129972010-05-19 Joseph Myers <joseph@codesourcery.com>
12998
12999 * diagnostic.c (FLOAT, FFS): Don't undefine.
13000 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
13001 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
13002 include ordering.
13003
caba7aaa
RS
130042010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
13005
13006 * combine.c (propagate_for_debug): Call make_compound_operation
13007 on the source value.
13008 (try_combine): When implementing a split chosen by find_split_point,
13009 either copy i2src or set it to null. Assert that i2src is not null
13010 before substituting into CALL_INSN_FUNCTION_USAGE.
13011
1961ffb8
AS
130122010-05-19 Anatoly Sokolov <aesok@post.ru>
13013
13014 * double-int.h (double_int_ior): New function.
13015 * tree.h (build_int_cst_wide_type): Remove.
13016 * tree.c (build_int_cst_wide_type): Remove.
13017 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
13018 of build_int_cst_wide_type.
13019 * stor-layout.c (set_sizetype): (Ditto.).
13020 * dojump.c (do_jump): Use build_int_cstu instead of
13021 build_int_cst_wide_type.
13022
616f1431
EB
130232010-05-19 Eric Botcazou <ebotcazou@adacore.com>
13024
13025 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
13026 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
13027 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
ade52657 13028 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
616f1431
EB
13029 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
13030 propagate the 'data' argument to copy_tree_r.
13031 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
13032 Propagate 'data' argument to walk_tree.
13033 (copy_if_shared): New function.
13034 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
13035 (unmark_visited): New function.
13036 (unshare_body): Call copy_if_shared instead of doing it manually.
13037 (unvisit_body): Call unmark_visited instead of doing it manually.
13038
f311c3b4
NF
130392010-05-19 Nathan Froyd <froydnj@codesourcery.com>
13040
13041 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
13042 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
13043 * hooks.c: Likewise.
13044 * target-def.h (TARGET_FOLD_BUILTIN): Define to
13045 hook_tree_tree_int_treep_bool_null.
ade52657 13046 * target.h (struct gcc_target): Update signature of fold_builtin
f311c3b4
NF
13047 field.
13048 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
13049 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
13050 instead of the call expression.
13051 (fold_builtin_call_array): Pass n and argarray directly.
13052 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
13053 consing a list.
13054 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
13055 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
13056 `i' and use it in place of `arity'.
13057 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
13058 Dereference `args' directly.
13059 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
13060
40f1bdd9
RO
130612010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13062
13063 * doc/sourcebuild.texi (Effective-Target Keywords): Document
13064 3dnow, sse3, sse2.
13065 (Directives): Document optional dg-require-effective-target
13066 selector.
13067
817c2996
RG
130682010-05-19 Richard Guenther <rguenther@suse.de>
13069
13070 PR lto/44196
13071 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
13072
c04b6b38
RG
130732010-05-19 Richard Guenther <rguenther@suse.de>
13074
13075 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
13076 * common.opt (fwhopr=): New.
13077 * opts.c (common_handle_option): Handle OPT_fwhopr.
13078 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
13079 * collect2.c (main): Match -fwhopr*.
13080 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
13081 Execute ltrans stage in parallel when jobs is bigger than 1.
13082
ed104137
RO
130832010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13084
13085 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
13086 pentiumpro on Solaris 8/x86 with Sun as.
13087 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
13088 hidden alias bug.
13089 (gcc_cv_as_ix86_quad): Check for .quad directive.
13090 * configure: Regenerate.
13091 * config.in: Regenerate.
13092 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
13093
749aa96d
MJ
130942010-05-19 Martin Jambor <mjambor@suse.cz>
13095
13096 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
13097 also for indirect edges. Actual printing moved...
13098 (ipa_print_node_jump_functions_for_edge): ...here.
13099 (ipa_compute_jump_functions): Renamed to
13100 ipa_compute_jump_functions_for_edge and made static.
13101 (ipa_compute_jump_functions): New function.
13102 (make_edge_direct_to_target): Check if the number of arguments on
13103 the newly direct edge is the same as the number of parametrs of
13104 the callee.
13105 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
13106 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
13107 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
13108 analysis functions unconditionally, call the new
13109 ipa_analyze_params_uses on the node instead of every edge.
13110
81f32326
CB
131112010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
13112
431043bd 13113 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
81f32326 13114 to tree.
431043bd 13115 (dump_mem_ref): Adopt debug code to handle a tree as step. This
81f32326
CB
13116 also checks for a constant int vs. non-constant but
13117 loop-invariant steps.
431043bd 13118 (find_or_create_group): Change the sort algorithm to only consider
81f32326 13119 steps that are constant ints.
431043bd 13120 (idx_analyze_ref): Adopt code to handle a tree instead of a
81f32326 13121 HOST_WIDE_INT for step.
431043bd 13122 (gather_memory_references_ref): Handle tree instead of int and be
81f32326 13123 prepared to see a NULL_TREE.
431043bd 13124 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
81f32326 13125 prefetches if the step cannot be calculated at compile time.
431043bd 13126 (issue_prefetch_ref): Issue prefetches for non-constant but
81f32326
CB
13127 loop-invariant steps.
13128
39b27b3a
NF
131292010-05-18 Nathan Froyd <froydnj@codesourcery.com>
13130
13131 Revert:
13132 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
13133
13134 * tree.h (build_call_list): Remove.
13135 * tree.c (build_call_list): Remove.
13136
3fcb9d1b
NF
131372010-05-18 Nathan Froyd <froydnj@codesourcery.com>
13138
13139 * tree.h (build_call_list): Remove.
13140 * tree.c (build_call_list): Remove.
13141
58efc3ac
JH
131422010-05-18 Jan Hubicka <jh@suse.cz>
13143
13144 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
13145
0495bafc
VM
131462010-05-18 Vladimir Makarov <vmakarov@redhat.com>
13147
13148 PR rtl-optimization/43332
13149 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
13150
abdbbf16
AS
131512010-05-18 Anatoly Sokolov <aesok@post.ru>
13152
13153 * tree.h (build_int_cstu): Implement as static inline.
13154 * tree.c (build_int_cstu): Remove function.
13155 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
13156 sign extended.
13157
cf96bae7
RG
131582010-05-18 Richard Guenther <rguenther@suse.de>
13159
13160 PR lto/44143
13161 * lto-wrapper.c (verbose): New variable. Initialize from -v.
13162 (debug): Initialize from -save-temps.
13163 (collect_execute): Print command-line when verbose.
13164 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
13165 for ltrans invocation. Produce -dumpbase flag again.
13166 (process_args): Remove.
13167 (main): Simplify.
13168 * collect2.c (maybe_run_lto_and_relink): Only pass object
13169 files to lto-wrapper.
13170 * gcc.c (LINK_COMMAND_SPEC): Likewise.
13171
80e2a014
JH
131722010-05-18 Jan Hubicka <jh@suse.cz>
13173
13174 * opts.c (decode_options): Do not disable whopr at ipa_cp.
13175 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
13176
174f391c
SB
131772010-05-18 Steven Bosscher <steven@gcc.gnu.org>
13178
13179 PR lto/44184
13180 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
13181 in a GIMPLE_ASM.
13182 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
13183 in a GIMPLE_ASM.
13184
13077931
JJ
131852010-05-18 Jakub Jelinek <jakub@redhat.com>
13186
13187 PR debug/41371
13188 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
13189 rtx_equal_p inline.
13190
02540df4
SB
131912010-05-18 Steven Bosscher <steven@gcc.gnu.org>
13192
13193 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
13194 lto-macho as lto_binary_reader.
13195
13196 * darwin.c (darwin_asm_named_section): Do not add assembler comment
13197 after .section directive; just print it before the directive instead.
13198
36576655
JH
131992010-05-17 Jan Hubicka <jh@suse.cz>
13200
13201 * cgraph.c (cgraph_create_virtual_clone): Only check
13202 versionable_function_p when not in wpa and checking is enabled.
13203 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
13204 there are no more functions to materialize.
13205
922f15c2
JH
132062010-05-17 Jan Hubicka <jh@suse.cz>
13207
13208 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
13209 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
13210 New functions.
13211 (output_cgraph): Call output_cgraph_opt_summary.
13212 (input_cgrpah): Call input_cgraph_opt_summary.
13213 (output_cgraph_opt_summary_p, output_node_opt_summary,
13214 input_node_opt_summary, input_cgraph_opt_section): New functions.
13215 * lto-section-in.c (lto_section_name): Add cgraphopt.
13216 * tree-inline.c (tree_function_versioning): Handle parm_num.
13217 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
13218 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
13219
d3a9b459
CF
132202010-05-17 Changpeng Fang <changpeng.fang@amd.com>
13221
13222 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
13223 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
13224 the insn to prefetch ratio heuristic to loops with known trip count.
13225
8532678c
CF
132262010-05-17 Changpeng Fang <changpeng.fang@amd.com>
13227
13228 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
13229 (schedule_prefetches): Do not generate a prefetch if the unroll factor
13230 is far from what is required by the prefetch.
13231
339f49ec
JH
132322010-05-17 Jan Hubicka <jh@suse.cz>
13233
13234 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
13235 (ipcp_estimate_growth): Likewise.
13236 (ipcp_const_param_count): Likewise.
13237 (ipcp_insert_stage): Likewise.
13238 * ipa-prop.c (visit_load_for_mod_analysis): New function.
13239 (visit_store_addr_for_mod_analysis): Set used flag.
13240 (ipa_detect_param_modifications): Set used flag for SSE params;
13241 update use of walk_stmt_load_store_addr_ops.
13242 (ipa_print_node_params): Print used flag.
13243 (ipa_write_node_info): Stream used flag.
13244 (ipa_read_node_info): Likewise.
13245 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
13246 (ipa_is_param_used): New function.
13247 (lto_ipa_fixup_call_notes): Remove unused declaration.
13248
2433310d
RO
132492010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13250
13251 PR target/44074
13252 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
13253 * configure: Regenerate.
13254 * config.in: Regenerate.
431043bd 13255 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
2433310d
RO
13256 !HAVE_AS_IX86_REP_LOCK_PREFIX.
13257 Don't emit whitespace.
13258 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
13259 (*rep_movsi): Likewise.
13260 (*rep_movsi_rex64): Likewise.
13261 (*rep_movqi): Likewise.
13262 (*rep_movqi_rex64): Likewise.
13263 (*rep_stosdi_rex64): Likewise.
13264 (*rep_stossi): Likewise.
13265 (*rep_stossi_rex64): Likewise.
13266 (*rep_stosqi): Likewise.
13267 (*rep_stosqi_rex64): Likewise.
13268 (*cmpstrnqi_nz_1): Use {%;} after repz.
13269 (*cmpstrnqi_nz_rex_1): Likewise.
13270 (*cmpstrnqi_1): Likewise.
13271 (*cmpstrnqi_rex_1): Likewise.
13272 (*strlenqi_1): Use {%;} after repnz.
13273 (*strlenqi_rex_1): Likewise.
13274 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
13275 (*sync_compare_and_swap<mode>): Likewise.
13276 (sync_double_compare_and_swap<mode>): Likewise.
13277 (*sync_double_compare_and_swapdi_pic): Likewise.
13278 (sync_old_add<mode>): Likewise.
13279 (sync_add<mode>): Likewise.
13280 (sync_sub<mode>): Likewise.
13281 (sync_<code><mode>): Likewise.
13282
b258210c
MJ
132832010-05-17 Martin Jambor <mjambor@suse.cz>
13284
13285 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
13286 otr_token and polymorphic.
13287 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
13288 (cgraph_clone_edge): Copy the above fields.
13289 * tree.c (get_binfo_at_offset): New function.
13290 * tree.h (get_binfo_at_offset): Declare.
13291 * ipa-prop.h (enum jump_func_type): Added known_type jump function
13292 type, reordered items, updated comments.
13293 (union jump_func_value): Added base_type field, reordered fields.
13294 (enum ipa_lattice_type): Moved down in the file.
13295 (struct ipa_param_descriptor): New field polymorphic.
13296 (ipa_is_param_polymorphic): New function.
13297 * ipa-prop.c: Include gimple.h and gimple-fold.h.
13298 (ipa_print_node_jump_functions): Print known type jump functions.
13299 (compute_complex_pass_through): Renamed to...
13300 (compute_complex_assign_jump_func): this.
13301 (compute_complex_ancestor_jump_func): New function.
13302 (compute_known_type_jump_func): Likewise.
13303 (compute_scalar_jump_functions): Create known type and complex ancestor
13304 jump functions.
13305 (ipa_note_param_call): New parameter polymorphic, set the corresponding
13306 flag in the call note accordingly.
13307 (ipa_analyze_call_uses): Renamed to...
13308 (ipa_analyze_indirect_call_uses): this. New parameter target, define
13309 variable var only in the block where it is used.
13310 (ipa_analyze_virtual_call_uses): New function.
13311 (ipa_analyze_call_uses): Likewise.
13312 (combine_known_type_and_ancestor_jfs): Likewise.
13313 (update_jump_functions_after_inlining): Implemented handling of a
13314 number of new jump function types combination.
13315 (print_edge_addition_message): Removed.
13316 (make_edge_direct_to_target): New function.
13317 (try_make_edge_direct_simple_call): Likewise.
13318 (try_make_edge_direct_virtual_call): Likewise.
13319 (update_call_notes_after_inlining): Renamed to...
13320 (update_indirect_edges_after_inlining): this. Moved edge creation for
13321 indirect calls to try_make_edge_direct_simple_call, also calls
13322 try_make_edge_direct_virtual_call for virtual calls.
13323 (ipa_print_node_params): Changed the header message.
13324 (ipa_write_jump_function): Stream also known type jump functions.
13325 (ipa_read_jump_function): Likewise.
13326 (ipa_write_indirect_edge_info): Stream new fields in
13327 cgraph_indirect_call_info.
13328 (ipa_read_indirect_edge_info): Likewise.
13329 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
13330 GIMPLE_FOLD_H.
13331
d5d74497
RO
133322010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13333
13334 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
13335
58a11859
NF
133362010-05-17 Nathan Froyd <froydnj@codesourcery.com>
13337
13338 * tree.h (CALL_EXPR_ARGS): Delete.
13339 (call_expr_arglist): Delete.
13340 * tree.c (call_expr_arglist): Delete.
13341 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
13342 targetm.fold_builtin.
13343 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
13344 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
13345 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
13346 arglist parameter. Use CALL_EXPR_ARG.
13347 (picochip_expand_builtin_3op): Likewise.
13348 (picochip_expand_builtin_2opvoid): Likewise.
13349 (picochip_expand_array_get): Likewise.
13350 (picochip_expand_array_put): Likewise.
13351 (picochip_expand_array_testport): Likewise.
13352 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
13353 rather than arglist.
13354 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
13355 CALL_EXPR_ARGS.
13356 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
13357 than TREE_VALUE and TREE_CHAIN.
13358 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
13359 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
13360 the arglist.
13361
f1de5107
JJ
133622010-05-17 Jakub Jelinek <jakub@redhat.com>
13363
f145213f
JJ
13364 PR bootstrap/42347
13365 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
13366 to have no fallthru edge.
13367
f1de5107
JJ
13368 PR middle-end/44102
13369 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
13370 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
13371 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
13372 add BARRIER after previous bb if needed.
13373
b64fca63 133742010-05-17 Nathan Froyd <froydnj@codesourcery.com>
431043bd 13375
b64fca63 13376 * tree.c (build_function_type_list_1): Remove bogus assert condition.
431043bd 13377
2882bfcc
AM
133782010-05-17 Alan Modra <amodra@gmail.com>
13379
13380 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
13381 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
13382 with copy_reg rtx param.
13383 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
13384 Correct cases where code for ABI_V4 did not initialise the reg
13385 used to access frame. Also leave frame_reg_rtx as sp for large
13386 frames that save no regs.
13387
5feb49f0
MJ
133882010-05-17 Martin Jambor <mjambor@suse.cz>
13389
13390 PR middle-end/44133
13391 * tree-sra.c (create_access_replacement): New parameter rename, mark
13392 the replaement for renaming only when it is true.
13393 (get_access_replacement): Pass true in the rename parameter of
13394 create_access_replacement.
13395 (get_unrenamed_access_replacement): New function.
13396 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
13397 replacement declaration from it.
13398
56731d64
BS
133992010-05-17 Bernd Schmidt <bernds@codesourcery.com>
13400
13401 * function.c (try_fit_stack_local, add_frame_space): New static
13402 functions.
13403 (assign_stack_local_1): Use them. Look for opportunities to use
13404 space previously wasted on alignment.
13405 * function.h (struct frame_space): New.
13406 (struct rtl_data): Add FRAME_SPACE_LIST member.
13407 * reload1.c (something_was_spilled): New static variable.
13408 (alter_reg): Set it.
13409 (reload): Test it in addition to testing if the frame size changed.
13410
24a235c8
CB
134112010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
13412
431043bd
UB
13413 * config/s390/s390.c: Define sane prefetch settings and activate
13414 flag_prefetch_loop_arrays on -O3.
13415 * config/s390/s390.h: Declare that read can use write prefetch.
24a235c8 13416
18252dcf
JJ
134172010-05-17 Jakub Jelinek <jakub@redhat.com>
13418
13419 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
13420 build.
13421
199f1dc4
JH
134222010-05-16 Jan Hubicka <jh@suse.cz>
13423
13424 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
13425 function body; do not check stdarg field of struct function.
13426
ccbbf8a2
JH
134272010-05-16 Jan Hubicka <jh@suse.cz>
13428
13429 * cgraph.c (dump_cgraph_node): Dump versionable flag.
13430 * cgraph.h (cgraph_local_info): Add versionable flag.
13431 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
13432 (ipcp_versionable_function_p): Use it.
13433 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
13434 versionable flag.
13435
91fbf0c7
JH
134362010-05-16 Jan Hubicka <jh@suse.cz>
13437
13438 * cgraph.c (cgraph_clone_node): Take decl argument and insert
13439 clone into hash when it is different from orig.
13440 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
13441 * cgraph.h (cgraph_clone_node): Update prototype.
13442 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
13443 (lto_cgraph_encoder_delete): Delete body map.
13444 (lto_cgraph_encoder_size): Move to header.
ccbbf8a2
JH
13445 (lto_cgraph_encoder_encode_body_p,
13446 lto_set_cgraph_encoder_encode_body): New.
91fbf0c7
JH
13447 (lto_output_node): Do not take written_decls argument; output clone_of
13448 pointer.
13449 (add_node_to): Add include_body_argument; call
13450 lto_set_cgraph_encoder_encode_body on master of the clone.
13451 (add_references): Update use of add_node_to.
13452 (compute_ltrans_boundary): Likewise.
13453 (output_cgraph): Do not create written_decls bitmap.
13454 (input_node): Take nodes argument; stream in clone_of correctly.
13455 (input_cgraph_1): Update use of input_node.
13456 * lto-streamer-out.c (lto_output): Use encoder info to decide
13457 what bodies to output.
13458 * ipa-inline.c (cgraph_clone_inlined_nodes,
13459 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
13460 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
13461 (lto_cgraph_encoder_size): Define here.
13462 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
13463 Declare.
13464
6b87d1b4
RG
134652010-05-16 Richard Guenther <rguenther@suse.de>
13466
13467 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
13468 -fipa-type-escape.
13469 * ipa-type-escape.c (gate_type_escape_vars): Run when
13470 -fipa-struct-reorg runs.
13471 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
13472 * common.opt (fipa-type-escape): Remove.
13473
203a92e3
EB
134742010-05-16 Eric Botcazou <ebotcazou@adacore.com>
13475
13476 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
13477 (decode_options): Likewise.
13478 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
13479
e419f710
JH
134802010-05-16 Jan Hubicka <jh@suse.cz>
13481
13482 * ipa.c (function_and_variable_visibility): Also bring local all
13483 aliases.
13484
2e0c984c
RG
134852010-05-16 Richard Guenther <rguenther@suse.de>
13486
13487 * alias.c (nonoverlapping_memrefs_p): Remove use of
13488 IPA type-escape information.
13489
32912286
JM
134902010-05-16 Joseph Myers <joseph@codesourcery.com>
13491
13492 * c-common.c (c_common_reswords): Add _Static_assert for C.
13493 * c-parser.c (c_token_starts_declaration,
13494 c_parser_next_token_starts_declaration,
13495 c_parser_static_assert_declaration_no_semi,
13496 c_parser_static_assert_declaration): New.
13497 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
13498 Handle static assertions if static_assert_ok.
13499 (c_parser_external_declaration, c_parser_declaration_or_fndef,
13500 c_parser_compound_statement_nostart, c_parser_label,
13501 c_parser_for_statement, c_parser_objc_methodprotolist,
13502 c_parser_omp_for_loop): All callers of
13503 c_parser_declaration_or_fndef changed.
13504 (c_parser_struct_declaration): Handle static assertions.
13505 (c_parser_compound_statement_nostart): Use
13506 c_parser_next_token_starts_declaration and
13507 c_token_starts_declaration to detect start of declarations.
13508 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
13509 Likewise.
13510
a3ca07e3
AS
135112010-05-16 Anatoly Sokolov <aesok@post.ru>
13512
13513 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
13514 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
13515 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
13516 TARGET_FUNCTION_VALUE_REGNO_P): Define.
13517 (mmix_function_outgoing_value): Rename to...
13518 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
13519 (mmix_function_value_regno_p): Make static.
13520 (mmix_libcall_value): New function.
13521 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
13522 mmix_function_value_regno_p): Remove declaration.
13523
29d17485
EB
135242010-05-16 Eric Botcazou <ebotcazou@adacore.com>
13525
13526 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
13527 BUILT_IN_ALLOCA if stack checking is enabled.
13528
a6590c31
RG
135292010-05-16 Richard Guenther <rguenther@suse.de>
13530
13531 * var-tracking.c (vars_copy_1): Inline ...
13532 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
13533 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
13534 (variable_merge_over_cur): Adjust. Merge asserts.
13535 (variable_merge_over_src): Likewise.
13536 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
13537 (variable_post_merge_new_vals): Merge asserts.
13538 (variable_post_merge_perm_vals): Likewise.
13539 (find_mem_expr_in_1pdv): Likewise.
13540 (dataflow_set_different_value): Remove.
13541 (onepart_variable_different_p): Merge asserts.
13542 (variable_different_p): Likewise.
13543 (dataflow_set_different_1): Inline ...
13544 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
13545 (emit_notes_for_differences_1): Merge asserts.
13546
6456e26e
RG
135472010-05-16 Richard Guenther <rguenther@suse.de>
13548
13549 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
13550 * optabs.c (libfunc_decl_hash): Likewise.
13551 * varasm.c (emutls_decl): Likewise.
13552
1d4c5fe9
SB
135532010-05-16 Steven Bosscher <steven@gcc.gnu.org>
13554
13555 * c-decl.c: Don't include gimple.h.
13556 (merge_decls): Do not copy gimple_body.
13557
9feb3d6a
JM
135582010-05-15 Jason Merrill <jason@redhat.com>
13559
13560 * c.opt: Add -fnothrow-opt.
13561
9b3cf76a
JH
135622010-05-15 Jan Hubicka <jh@suse.cz>
13563
29d17485
EB
13564 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
13565 analyzed.
9b3cf76a
JH
13566 * passes.c (ipa_write_summaries): Write all analyzed nodes.
13567
f4ce02c5
SB
135682010-05-15 Steven Bosscher <steven@gcc.gnu.org>
13569
13570 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
13571 * Makefile.in: Add it.
13572 Fix all other Makefile dependencies for changes below.
13573 * tree.h: Include it instead of defining VEC primitives here.
13574 * gimple.h: Likewise.
13575 * rtl.h: Likewise.
13576 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
13577 * except.h: Include vecir.h, break dependence on tree.h.
13578
13579 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
13580 Move from here...
13581 * tree-iterator.c: ...to here.
13582 * tree-iterator.h: Fix file introduction comment. Add extern markers.
13583
13584 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
13585 tm_p.h.
13586 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
13587 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
13588 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
13589 tree-mudflap.h, and target.h.
13590 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
13591 predict.h, tree-inline.h, gimple.h, and langhooks.h.
13592 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
13593 Add FIXME for why gimple.h is still included (should be unnecessary
13594 since GCC 4.5 gimplification unit-at-a-time).
13595 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
13596 * c-pragma.c: Add FIXME for why function.h needs to be included just
13597 for cfun, at front-end level.
13598 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
13599 Do not include ggc.h, but include vecprim.h for VEC(char).
13600 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
13601 Explain why target.h is included.
13602 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
13603 Explain why gimple.h is included.
13604 * c-ppoutput.c: Do not include tm.h.
13605 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
13606 * c-parses.c: Explain why rtl.h is included, and that this (and only
13607 this) is also why tm.h must be included.
13608 Do not include except.h.
13609 * c-lang.c: Do not include ggc.h.
13610
12201e48
UB
136112010-05-15 Uros Bizjak <ubizjak@gmail.com>
13612
13613 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
13614
4bdd0a60
JM
136152010-05-15 Joseph Myers <joseph@codesourcery.com>
13616
13617 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
13618 unions by default if those structs and unions have no tags. Do
13619 not condition anonymous struct and unions handling on flag_iso.
13620 Allow anonymous structs and unions for C1X.
13621 (finish_struct): Do not diagnose lack of named fields when
13622 anonymous structs and unions present for C1X. Accept flexible
13623 array members in structure with anonymous structs or unions but no
13624 directly named fields.
13625 * doc/extend.texi (Unnamed Fields): Update.
13626
d025732d
EB
136272010-05-15 Eric Botcazou <ebotcazou@adacore.com>
13628
13629 * gimple.h (compare_field_offset): Rename into...
13630 (gimple_compare_field_offset): ...this.
13631 * gimple.c (compare_field_offset): Rename into...
13632 (gimple_compare_field_offset): ...this. Compare the full access if
13633 the offset is self-referential.
13634 (gimple_types_compatible_p): Adjust for above renaming.
13635 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
13636 DECL_NONADDRESSABLE_P flag of fields before merging them.
13637
b75bdd29
NF
136382010-05-15 Nathan Froyd <froydnj@codesourcery.com>
13639
13640 * tree.h (ctor_to_list): Delete.
13641 * tree.c (ctor_to_list): Delete.
13642
f3380641
JH
136432010-05-15 Jan Hubicka <jh@suse.cz>
13644
13645 * ipa-reference.c: Include toplev.h
13646 (is_proper_for_analysis): Only add to all_module_statics
13647 if it is allocated.
13648 (write_node_summary_p, stream_out_bitmap,
13649 ipa_reference_write_optimization_summary,
13650 ipa_reference_read_optimization_summary): New.
13651 (struct ipa_opt_pass_d pass_ipa_reference): Add
13652 optimization summary streaming.
12201e48 13653 * lto-cgraph.c (referenced_from_this_partition_p,
f3380641
JH
13654 reachable_from_this_partition_p): New functions.
13655 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
13656 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
13657 * opts.c (decode_options): Enable ipa_reference.
13658 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
13659 * lto-streamer.h (referenced_from_this_partition_p,
13660 reachable_from_this_partition_p): Declare.
13661
9d0baae1
RG
136622010-05-15 Richard Guenther <rguenther@suse.de>
13663
13664 PR tree-optimization/44038
13665 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
13666 taking the address of a V_C_E of a constant.
13667
46c30019
JH
136682010-05-14 Jan Hubicka <jh@suse.cz>
13669
13670 * tree.h (memory_identifier_string): Remove.
13671 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
13672 (ipa_reference_global_vars_info_d): Remove statics_not_read and
13673 statics_not_written.
13674 (ipa_reference_optimization_summary_d): New structure.
13675 (ipa_reference_optimization_summary_t): New type and vector.
13676 (ipa_reference_vars_info_d): Embedd structures instead of using
13677 pointers.
13678 (reference_vars_to_consider): Remove out of GGC space.
13679 (module_statics_escape): Remove.
13680 (global_info_obstack): Rename to ...
13681 (optimization_summary_obstack): ... this one.
13682 (initialization_status_t): Remove.
13683 (memory_identifier_string): Remove.
13684 (get_reference_vars_info): Fix indenting.
13685 (set_reference_vars_info): Likewise.
13686 (get_reference_optimization_summary): New.
13687 (set_reference_optimization_summary): New.
13688 (get_global_reference_vars_info): Remove.
13689 (ipa_reference_get_read_global): Remove.
13690 (ipa_reference_get_written_global): Remove.
13691 (ipa_reference_get_not_read_global): Update.
13692 (ipa_reference_get_not_written_global): Update.
13693 (is_proper_for_analysis): Outlaw addressable.
13694 (propagate_bits): Update for new datastructures.
13695 (analyze_variable): Remove.
13696 (init_function_info): Update for new datastructures.
13697 (clean_function_local_data): Remove.
13698 (clean_function): Remove.
13699 (copy_global_bitmap): Use optimizations_summary_obstack.
13700 (duplicate_node_data): Duplicate optimization summary only.
13701 (remove_node_data): Remove optimization summary only.
13702 (generate_summary): Do not analyze variables; do not compute
13703 module_statics_escape; do not prune solutions by it.
13704 (read_write_all_from_decl): Fix typos in comments.
13705 (propagate): Doscover readonly and nonaddressable first;
13706 update for new datastructures; share global bitmaps.
13707 * ipa-reference.h (ipa_reference_get_read_global,
13708 ipa_reference_get_written_global): Remove.
13709 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
13710 * Makefile.in: Remove ipa-refereference from GT files.
13711
22bf7d17
JJ
137122010-05-14 Jakub Jelinek <jakub@redhat.com>
13713
13714 PR debug/44112
13715 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
13716 for all SYMBOL_REF_DECLs.
13717
4a444e58
JH
137182010-05-14 Jan Hubicka <jh@suse.cz>
13719
13720 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
13721 (varpool_all_refs_explicit_p): New inline function.
13722 * ipa-reference.c: Update comment.
13723 (module_statics_written): Remove.
13724 (get_static_decl): Remove.
13725 (ipa_init): Do not initialize module_statics_written.
13726 (analyze_function): Likewise.
13727 (generate_summary): Likewise; do not compute module_statics_readonly
13728 and do not update variable flags.
13729 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
13730 * ipa.c: Inlucde flags.h
13731 (cgraph_local_node_p): New.
13732 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
13733 promote functions to local.
13734 (ipa_discover_readonly_nonaddressable_vars): New function.
13735 (function_and_variable_visibility): Use cgraph_local_node_p.
13736 * varpool.c (varpool_finalize_decl): Set force_output for
13737 DECL_PRESERVE_P vars.
13738
bc8ddfe6
JH
137392010-05-14 Jan Hubicka <jh@suse.cz>
13740
13741 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
13742
4d2ab9e3
RG
137432010-05-14 Richard Guenther <rguenther@suse.de>
13744
13745 PR tree-optimization/44119
13746 * tree-ssa-pre.c (eliminate): Properly mark replacement of
13747 a PHI node necessary.
13748
9e87b842
EB
137492010-05-14 Eric Botcazou <ebotcazou@adacore.com>
13750
13751 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
13752
786f715d
JM
137532010-05-14 Jason Merrill <jason@redhat.com>
13754
9bb1a81b
JM
13755 PR c++/44127
13756 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
13757 (gimple_call_set_nothrow): New.
13758 * gimple.c (gimple_build_call_from_tree): Call it.
13759 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
13760
786f715d
JM
13761 PR c++/44127
13762 * gimplify.c (gimplify_seq_add_stmt): No longer static.
13763 * gimple.h: Declare it.
13764 * gimple.c (gimple_build_eh_filter): No ops.
13765
19fb0b86
JH
137662010-05-14 Jan Hubicka <jh@suse.cz>
13767
13768 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
13769 nodes already in queue.
9e87b842
EB
13770 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
13771 re-enqueueing node.
19fb0b86 13772
88c04a5d
JJ
137732010-05-14 Jakub Jelinek <jakub@redhat.com>
13774
13775 PR debug/44136
13776 * cfgexpand.c (expand_debug_expr): If non-memory op0
13777 has BLKmode, return NULL.
13778
1133125e
HJ
137792010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
13780
13781 * config.gcc: Add support for --with-cpu option for bdver1.
13782 * config/i386/i386.h (TARGET_BDVER1): New macro.
13783 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
13784 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
13785 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
13786 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
13787 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
13788 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
13789 (processor_type): Add PROCESSOR_BDVER1.
13790 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
13791 processor_type in config/i386/i386.h.
13792 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
13793 movaps <reg, reg> instead of movapd <reg, reg> when replacing
13794 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
13795 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
13796 to emit packed xor instead of packed double/packed integer
13797 xor for SSE and AVX when moving a zero value.
9e87b842
EB
13798 * config/i386/sse.md: Add check for
13799 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
13800 movapd/movdqa for SSE and AVX.
13801 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
13802 single logical operations i.e and, or and xor instead of packed double
13803 logical operations for SSE and AVX.
12201e48
UB
13804 * config/i386/i386-c.c (ix86_target_macros_internal):
13805 Add PROCESSOR_BDVER1.
1133125e
HJ
13806 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
13807 (has_fma4, has_xop): New.
13808 * config/i386/i386.c (bdver1_cost): New variable.
13809 (m_BDVER1): New macro.
13810 (m_AMD_MULTIPLE): Add m_BDVER1.
13811 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
9e87b842
EB
13812 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
13813 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
13814 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
13815 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
13816 x86_tune_sse_partial_reg_dependency,
13817 x86_tune_sse_unaligned_load_optimal,
13818 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
13819 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
13820 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
13821 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
13822 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
1133125e
HJ
13823 Enable/disable for bdver1.
13824 (processor_target_table): Add bdver1_cost.
13825 (cpu_names): Add bdver1.
13826 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
13827 processor_alias_table.
9e87b842
EB
13828 (ix86_expand_vector_move_misalign): Change.
13829 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
13830 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
13831 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
13832 of movupd/movdqu for SSE and AVX.
1133125e
HJ
13833 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
13834 (ix86_tune_adjust_cost): Add code for bdver1.
13835 (standard_sse_constant_opcode): Add check for
13836 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
13837 of packed double xor for SSE and AVX.
13838
e972cc7e
PH
138392010-05-14 Pat Haugen <pthaugen@us.ibm.com>
13840
13841 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
13842 result to unsigned.
13843
6a080096
TG
138442010-05-14 Tristan Gingold <gingold@adacore.com>
13845
13846 * toplev.c (default_debug_hooks): Remove this variable.
13847 (process_options): Remove assignments to default_debug_hooks.
13848
b5023f3c
MJ
138492010-05-14 Martin Jambor <mjambor@suse.cz>
13850
13851 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
13852 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
13853 * langhooks.h (struct lang_hooks_for_decls): Removed field
13854 fold_obj_type_ref.
13855 * tree.c (free_lang_data): Remove assignment to
13856 lang_hooks.fold_obj_type_ref.
13857 * tree.def (OBJ_TYPE_REF): Update comment.
13858
6141b7db
RG
138592010-05-14 Richard Guenther <rguenther@suse.de>
13860
13861 PR tree-optimization/44124
13862 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
13863
e15a8cbe
AM
138642010-05-14 Alan Modra <amodra@gmail.com>
13865
13866 PR target/44075
13867 * config/rs6000/rs6000.c (struct machine_function): Reorder
13868 fields for better packing. Add lr_save_state.
13869 (rs6000_ra_ever_killed): Return lr_save_state if set.
13870 (rs6000_emit_eh_reg_restore): Set lr_save_state.
13871
da405c74
JH
138722010-05-13 Jan Hubicka <jh@suse.cz>
13873
13874 * varpool.c (decide_is_variable_needed): Drop code checking
13875 TREE_SYMBOL_REFERENCED.
13876
152464d2
JH
138772010-05-13 Jan Hubicka <jh@suse.cz>
13878
13879 * final.c (output_addr_const): Do not call mark_decl_referenced.
13880 * cgraphunit.c (process_function_and_variable_attributes): Use
13881 mark_needed_node dirrectly.
13882 (assemble_thunk): Do not call mark_decl_referenced.
13883
32cbdf00
AS
138842010-05-13 Anatoly Sokolov <aesok@post.ru>
13885
13886 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
13887
e4f36d31
JL
138882010-05-13 Jeff Law <law@redhat.com>
13889
13890 * ira-conflicts.c (print_allocno_conflicts): New function broken out
13891 from...
13892 (print_conflicts): Call print_allocno_conflicts.
13893
1fcebc11
JJ
138942010-05-13 Jakub Jelinek <jakub@redhat.com>
13895
13896 PR debug/44104
13897 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
13898 if it is NULL.
13899
917ed773
KT
139002010-05-13 Kai Tietz <kai.tietz@onevision.com>
13901
13902 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
13903 t-mingw-w64 or t-mingw-w32 for multilib configuration.
13904 * config/i386/t-mingw-w32: New.
13905 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
12201e48 13906
1ae6fe9b
MJ
139072010-05-13 Martin Jambor <mjambor@suse.cz>
13908
13909 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
13910 gimple-fold.c).
13911 * gimple-fold.c (get_base_binfo_for_type): New function.
13912 (gimple_get_relevant_ref_binfo): Likewise.
13913 (gimple_fold_obj_type_ref_known_binfo): Likewise.
13914 (gimple_fold_obj_type_ref): Likewise.
13915 (fold_gimple_call): Simplify condition for folding virtual calls
13916 and call gimple_fold_obj_type_ref.
13917 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
13918 (gimple_fold_obj_type_ref_known_binfo): Likewise.
13919
78c7cabb
AS
139202010-05-13 Andreas Schwab <schwab@linux-m68k.org>
13921
13922 * config/rs6000/rs6000-protos.h
13923 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
13924 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
13925 (rs6000_debug_mode_dependent_address)
13926 (rs6000_mode_dependent_address_ptr): Likewise.
13927
823e9473
JJ
139282010-05-13 Jakub Jelinek <jakub@redhat.com>
13929
13930 PR debug/43983
13931 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
13932 by SRA.
13933 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
13934 * tree-sra.c (create_access_replacement): Call unshare_expr before
12201e48 13935 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
823e9473
JJ
13936 * dwarf2out.c: Include tree-flow.h.
13937 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
13938 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
13939 Handle DW_OP_bit_piece.
13940 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
13941 construct_piece_list, adjust_piece_list): New functions.
13942 (add_var_loc_to_decl): Handle SRA optimized variables.
13943 Adjust for var_loc_note to loc field renaming.
13944 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
13945 in VAR_LOCATION note.
13946 (new_loc_descr_op_bit_piece): New function.
13947 (dw_sra_loc_expr): New function.
13948 (dw_loc_list): Use it. Don't handle the last range after the
13949 loop, handle it inside of the loop. Adjust for var_loc_note
13950 to loc field renaming.
13951 (add_location_or_const_value_attribute): Only special case
13952 single entry loc lists if loc is NOTE_P. Adjust for
13953 var_loc_note to loc field renaming.
13954 (dwarf2out_var_location): Don't set newloc->var_loc_note
13955 and newloc->next here.
13956
bd3cdcc0
JH
139572010-05-12 Jan Hubicka <jh@suse.cz>
13958
c46a5e28
EB
13959 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
13960 flag.
bd3cdcc0
JH
13961 * cgraph.h (cgraph_only_called_directly_p,
13962 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
13963 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
13964 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
13965 (assemble
13966 * ipa.c (cgraph_remove_unreachable_nodes): Use
c46a5e28
EB
13967 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
13968 flags.
bd3cdcc0
JH
13969 * tree-inline.c (copy_bb): Check address_taken flag.
13970 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
13971 externally_visible flag.
13972
5116acc6
JM
139732010-05-12 Jason Merrill <jason@redhat.com>
13974
13975 PR bootstrap/44048
13976 PR target/44099
13977 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
13978 * sdbout.c (plain_type_1): Likewise.
13979 * dwarf2out.c (is_base_type): Likewise.
13980 (gen_type_die_with_usage): Likewise. Generate
13981 DW_TAG_unspecified_type for any LANG_TYPE.
13982
5f902d76
JH
139832010-05-12 Jan Hubicka <jh@suse.cz>
13984
13985 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
13986 indrect edges too.
13987 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
13988 (cgraph_clone_edge): Update.
13989 (cgraph_node_remove_callees): Remove indirect calls too.
13990 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
13991 (cgraph_create_indirect_edge): Update prototype.
13992 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
13993 is_proper_for_analysis.
13994 (add_new_function, visited_nodes, function_insertion_hook_holder,
13995 get_local_reference_vars_info, mark_address_taken, mark_address,
13996 mark_load, mark_store, check_asm_memory_clobber, check_call,
13997 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
13998 (ipa_init): Do not initialize visited_nodes;
13999 function_insertion_hook_holder.
14000 (analyze_variable): Rewrite.
14001 (analyze_function): Rewrite.
14002 (copy_local_bitmap): Remove.
14003 (duplicate_node_dat): Do not duplicate local info.
14004 (generate_summary): Simplify to only walk cgraph.
14005 (write_node_summary_p, ipa_reference_write_summary,
14006 ipa_reference_read_summary): Remove.
14007 (propagate): Do not remove function insertion;
14008 generate summary.
14009 (pass_ipa_reference): NULLify summary handling fields.
14010 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
14011 (input_edge): Input ecf_flags.
14012 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
14013 (update_indirect_edges_after_inlining): Ignore edges with unknown
14014 param.
14015
87a0ebfd
ST
140162010-05-12 Sriraman Tallam <tmsriram@google.com>
14017
14018 * implicit-zee.c: New file.
14019 * tree-pass.h (pass_implicit_zee): Declare.
14020 * passes.c (init_optimization_passes): Add zee pass.
14021 * common.opt (fzee): New flag.
14022 * timevar.def (TV_ZEE): Define.
14023 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
14024 and beyond.
14025 * Makefile.in (implicit-zee.o): Add new build file.
14026
01f0a9dc
KH
140272010-05-12 Kazu Hirata <kazu@codesourcery.com>
14028 Nathan Froyd <froydnj@codesourcery.com>
14029
14030 * c-common.c (sync_resolve_params): Remove write-only variable.
14031
cbda7dc6
AS
140322010-05-12 Anatoly Sokolov <aesok@post.ru>
14033
14034 * target.h (struct gcc_target): Add mode_dependent_address_p field.
14035 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
14036 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
14037 * targhooks.c (default_mode_dependent_address_p): New function.
14038 * targhooks.h (default_mode_dependent_address_p): Declare function.
14039 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
14040 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
ade52657 14041 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
cbda7dc6 14042 target hook. Change return type to bool.
ade52657 14043 * recog.h (mode_dependent_address_p): Change return type to bool.
cbda7dc6 14044
1df43907
KH
140452010-05-12 Kazu Hirata <kazu@codesourcery.com>
14046 Nathan Froyd <froydnj@codesourcery.com>
14047
14048 * tree-mudflap.c (build_function_type_0, build_function_type_1,
14049 build_function_type_2, build_function_type_3): Remove.
14050 (mudflap_init): Use build_function_type_list.
14051
f9b36bb3
KH
140522010-05-12 Kazu Hirata <kazu@codesourcery.com>
14053 Nathan Froyd <froydnj@codesourcery.com>
14054
14055 * coverage.c (build_fn_info_value): Call build_constructor instead of
14056 build_constructor_from_list.
14057 (build_ctr_info_value): Likewise.
14058 (build_gcov_info): Likewise.
14059
f88203b0
NF
140602010-05-12 Nathan Froyd <froydnj@codesourcery.com>
14061
14062 * tree.c (build_constructor): Compute TREE_CONSTANT for the
14063 resultant constructor.
14064 (build_constructor_single): Don't set TREE_CONSTANT.
14065 (build_constructor_from_list): Don't compute TREE_CONSTANT.
14066
b34fd25c
JH
140672010-05-12 Jan Hubicka <jh@suse.cz>
14068
14069 * cgraph.h (struct varpool_node): Add aux.
14070 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
14071 * varpool.c (varpool_remove_node): Do not remove initializer.
14072 (varpool_reset_queue): Export.
14073 (varpool_finalize_decl): Volatile vars are forced to be output.
14074 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
14075 replaced decl.
14076 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
14077 process_references, varpool_can_remove_if_no_refs): New functions.
14078 (cgraph_remove_unreachable_nodes): Handle variables too.
14079
49f19b1c
L
140802010-05-12 H.J. Lu <hongjiu.lu@intel.com>
14081
14082 PR target/44088
14083 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
14084
7c2db0d3
JJ
140852010-05-12 Jakub Jelinek <jakub@redhat.com>
14086
f22f4340
JJ
14087 PR middle-end/44085
14088 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
14089 change value of ORT_TASK.
14090 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
14091 (omp_notice_threadprivate_variable): New function.
14092 (omp_notice_variable): Call it for threadprivate variables.
14093 If enclosing ctx is a task, print enclosing task rather than
14094 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
14095 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
14096 if task has untied clause.
14097
7c2db0d3
JJ
14098 PR debug/42278
14099 * dwarf2out.c (base_type_die): Don't add name attribute here.
14100 (modified_type_die): Instead of sizetype use
14101 its underlying original type. If a DW_TAG_base_type doesn't
14102 have name added, add __unknown__.
14103 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
14104 always call force_type_die instead.
14105
623a6941
MK
141062010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
14107
14108 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
14109 for __stack_chk_guard.
14110
056928b2
JJ
141112010-05-11 Jakub Jelinek <jakub@redhat.com>
14112
9d000e83
JJ
14113 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
14114 don't call start_source_file debug hook here...
14115 (finish_options): ... but here, after outputting predefined and
14116 command line defines and undefs.
14117
3b5fda81
JJ
14118 PR middle-end/44071
14119 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
14120 no fallthru edge.
14121 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
14122 optimizing away empty bb with no successors, move over its
14123 footer chain to fallthru predecessor.
14124 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
14125 (rtl_split_edge): For asm goto call patch_jump_insn even if
14126 splitting fallthru edge.
14127
3895ec53
JJ
14128 PR c++/44059
14129 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
14130 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
14131 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
14132 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
14133 on DW.ref.* decls.
14134
056928b2
JJ
14135 PR c++/44062
14136 * c-parser.c (c_parser_expression): Mark LHS of a comma
14137 expression as read if it is a decl, handled component or
14138 COMPOUND_EXPR with that on the RHS.
14139 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
14140 if it is a decl or handled component.
14141
9a809897
JH
141422010-05-11 Jan Hubicka <jh@suse.cz>
14143
14144 * lto-symtab.c (lto_symtab_free): New function.
14145 * lto-streamer.h (lto_symtab_free): Declare.
14146
141472010-05-11 Jan Hubicka <jh@suse.cz>
14148
14149 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
14150 that if function is needed it is reachable.
14151 (lto_output_node): See if it the function is reachable or referenced.
14152 (output_cgraph): Update call of lto_output_node.
14153 * lto-streamer.h (reachable_from_other_partition_p): Declare.
14154
b8053194
JH
141552010-05-11 Jan Hubicka <jh@suse.cz>
14156
14157 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
14158 Mark as used.
14159
1aa14195
JH
141602010-05-11 Jan Hubicka <jh@suse.cz>
14161
14162 PR tree-optimize/44063
c46a5e28
EB
14163 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
14164 queue.
1aa14195
JH
14165 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
14166 limits.
14167 (estimate_function_body_sizes): Compute sizes even when disregarding.
14168
f088f0ae
KT
141692010-05-11 Kai Tietz <kai.tietz@onevision.com>
14170
14171 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
14172
dcda03f4
JH
141732010-05-11 Jan Hubicka <jh@suse.cz>
14174
14175 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
14176 into every boundary.
14177
ece02605
JH
141782010-05-11 Jan Hubicka <jh@suse.cz>
14179
14180 * matrix-reorg.c (matrix_reorg): Rebuild edges.
14181
cc56d170
JH
141822010-05-11 Jan Hubicka <jh@suse.cz>
14183
14184 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
14185 lto_streamer_cache_delete): Put nodes into heap.
979aeb33
JH
14186 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
14187 heap.
cc56d170 14188
99b766fc
JH
141892010-05-11 Jan Hubicka <jh@suse.cz>
14190
14191 * cgraphbuild.c (cgraph_rebuild_references): New.
a2acdf1f
JH
14192 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
14193 out extern inlines.
99b766fc
JH
14194 * cgraph.h (cgraph_rebuild_references): Declare.
14195 * tree-inline.c (tree_function_versioning): Use it.
14196 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
14197
a940b4d9
JH
141982010-05-11 Jan Hubicka <jh@suse.cz>
14199
14200 * cgraph.c: Include ipa-utils.h
14201 (cgraph_create_virtual_clone): Update references.
14202 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
14203
57762e97
CB
142042010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
14205
78c7cabb 14206 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
57762e97
CB
14207 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
14208 cache size.
14209
a8beb3a7
CB
142102010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
14211
78c7cabb 14212 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
a8beb3a7 14213
3f592b38
JJ
142142010-05-11 Jakub Jelinek <jakub@redhat.com>
14215
09b201fc
JJ
14216 * gcc.c (execute): For -### don't quote arguments that
14217 contain just alphanumerics and _/-. characters.
14218 * doc/invoke.texi: Document that change for -###.
14219
3f592b38
JJ
14220 PR debug/44023
14221 * df-problems.c (struct dead_debug): Add to_rescan field.
14222 (dead_debug_init): Clear to_rescan field.
14223 (dead_debug_finish): Rescan all debug insns in to_rescan
14224 bitmap and free the bitmap.
14225 (dead_debug_insert_before): Instead of rescanning debug insns
14226 immediately queue their rescanning until dead_debug_finish.
14227 (df_note_bb_compute): After dead_debug_add do continue instead
14228 of break.
14229
1de12eab
JJ
142302010-05-10 Jakub Jelinek <jakub@redhat.com>
14231
14232 PR debug/44028
14233 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
14234 clear also INSN_REG_USE_LIST.
14235
e472d6bf
RO
142362010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14237
14238 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
14239
6cd174f6
JH
142402010-05-10 Jan Hubicka <jh@suse.cz>
14241
c46a5e28
EB
14242 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
14243 commited change.
6cd174f6 14244
5c4f225f
JH
142452010-05-10 Jan Hubicka <jh@suse.cz>
14246
c46a5e28
EB
14247 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
14248 Allocate encoders.
5c4f225f
JH
14249 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
14250 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
14251 (lto_streamer_cache_create): Init alloc pool.
14252 (lto_streamer_cache_delete): Free alloc pool.
14253 * lto-streamer.h: Include alloc pool.
14254 (lto_streamer_cache_d): Use alloc pool.
14255 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
14256
de61f467
JH
142572010-05-10 Jan Hubicka <jh@suse.cz>
14258
14259 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
14260 * cgraphbuild.c: Include except.h
14261 (record_type_list, record_eh_tables): New function.
14262 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
14263
e4fa83d3
JH
142642010-05-10 Jan Hubicka <jh@suse.cz>
14265
14266 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
14267 __frame_dummy_init_array_entry, force_to_data): Attribute as used
14268 rather than unused.
14269
8a9ecffd
MM
142702010-05-10 Michael Matz <matz@suse.de>
14271
14272 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
14273 (can_reassociate_p): Use FLOAT_TYPE_P.
14274 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
14275 (vect_force_simple_reduction): ... this.
62e59133 14276 * tree-parloops.c (gather_scalar_reductions): Use
8a9ecffd
MM
14277 vect_force_simple_reduction.
14278 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
14279 vect_is_simple_reduction, add modify argument, if true rewrite
14280 "a-b" into "a+(-b)".
14281 (vect_is_simple_reduction, vect_force_simple_reduction): New
14282 functions.
14283 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
14284
142852010-05-10 H.J. Lu <hongjiu.lu@intel.com>
14286 Vladimir Makarov <vmakarov@redhat.com>
46044dd9
L
14287
14288 PR rtl-optimization/44012
14289 * ira-build.c (remove_unnecessary_allocnos): Nullify
14290 regno_allocno_map of the removed allocno.
14291
2e2b183b
RO
142922010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14293
14294 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
14295 to /dev/null.
14296 * configure: Regenerate.
14297
a93e1899
RO
142982010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14299
14300 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
14301 unused.
14302 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
14303 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
14304 support in Sun ld.
14305 * configure: Regenerate.
14306
571943de
RG
143072010-05-10 Richard Guenther <rguenther@suse.de>
14308
14309 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
14310 marked if the entry identifier is marked.
14311
0b7b376d
RG
143122010-05-10 Richard Guenther <rguenther@suse.de>
14313
14314 * c-common.c (struct c_common_attributes): Add fnspec attribute.
14315 (handle_fnspec_attribute): New function.
14316 * gimple.h (gimple_call_return_flags): Declare.
14317 (gimple_call_arg_flags): Likewise.
14318 * gimple.c (gimple_call_arg_flags): New function.
14319 (gimple_call_return_flags): Likewise.
14320 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
14321 New argument flags.
14322 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
14323 return value flags.
14324 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
14325 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
14326 main work to ...
14327 (make_heapvar_for): ... this new function.
14328 (handle_rhs_call): Handle fnspec attribute argument specifiers.
14329 (handle_lhs_call): Likewise.
14330 (find_func_aliases): Adjust.
14331
1755aad0
RG
143322010-05-10 Richard Guenther <rguenther@suse.de>
14333
14334 PR tree-optimization/44050
62e59133 14335 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
1755aad0 14336
333b67a9
WG
143372010-05-10 Wei Guozhi <carrot@google.com>
14338
14339 PR target/42879
14340 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
14341
0fb96aa4
JM
143422010-05-09 Joseph Myers <joseph@codesourcery.com>
14343
14344 PR c/10676
14345 * c-typeck.c (lookup_field): Take a type directly. Update
14346 recursive calls.
14347 (build_component_ref): Update call to lookup_field.
14348 (set_init_label): Use lookup_field to find initialized field.
14349 Handle returned list of fields like a sequence of designators.
14350
3d7a712a
RG
143512010-05-09 Richard Guenther <rguenther@suse.de>
14352
14353 PR middle-end/44024
14354 * fold-const.c (tree_single_nonzero_warnv_p): Properly
14355 handle &FUNCTION_DECL.
14356
492fc0ee
JM
143572010-05-09 Joseph Myers <joseph@codesourcery.com>
14358
14359 PR c/4784
14360 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
14361 structures and unions recursively.
14362 (detect_field_duplicates): Move duplicate detection with a hash to
14363 detect_field_duplicates_hash. Always use a hash if anonymous
14364 structures or unions are present.
14365 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
14366 give errors.
14367
44f276c6
L
143682010-05-09 H.J. Lu <hongjiu.lu@intel.com>
14369
14370 PR target/44046
14371 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
14372 detect Atom, Core 2 and Core i7.
14373
d6205185
RG
143742010-05-09 Richard Guenther <rguenther@suse.de>
14375
14376 * gcc.c (store_arg): Handle temporary file deletion for
14377 joined arguments.
14378
5588864d
RG
143792010-05-09 Richard Guenther <rguenther@suse.de>
14380
14381 PR middle-end/44043
14382 * ipa-inline.c (estimate_function_body_sizes): Return after
14383 disregarding inline limits.
14384
aa34f42c
RG
143852010-05-09 Richard Guenther <rguenther@suse.de>
14386
14387 * gcc.c (store_arg): Revert last change.
14388
844381e5
SL
143892010-05-08 Sandra Loosemore <sandra@codesourcery.com>
14390
14391 PR middle-end/28685
14392 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
14393 (optimize_ops_list): Call it.
14394
43896afb
RG
143952010-05-08 Richard Guenther <rguenther@suse.de>
14396
14397 PR tree-optimization/44030
14398 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
14399 NECESSARY flag if we propagate from a inserted expression.
14400
f56000ed
EB
144012010-05-08 Eric Botcazou <ebotcazou@adacore.com>
14402
14403 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
14404 domain types as equal if they are both PLACEHOLDER_EXPRs.
14405
1522167d
RG
144062010-05-08 Richard Guenther <rguenther@suse.de>
14407
14408 * lto-wrapper.c (run_gcc): Remove linker output from
14409 command line for LTRANS invocation.
14410
c082f9f3
SB
144112010-05-07 Steven Bosscher <steven@gcc.gnu.org>
14412
14413 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
14414 lto-macho as lto_binary_reader.
14415 * target.h (struct gcc_target): New hooks lto_start and lto_end.
14416 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
14417 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
14418 in lto_start and lto_end calls.
14419 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
14420 magic numbers.
14421 (scan_prog_file): Update is_elf_or_coff call.
14422 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
14423
14424 * collect2.c (main): Fix enum comparison.
14425
14426 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
14427 Add prototypes.
14428 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
14429 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
14430 and TARGET_ASM_LTO_END.
14431 * darwin.c: Include obstack.h and lto-streamer.h.
14432 (lto_section_names_offset, lto_section_names_obstack,
14433 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
14434 global variables.
14435 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
14436 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
14437 to a temporary file.
14438 (darwin_asm_lto_end): New function. Restore asm_out_file.
14439 (darwin_asm_named_section): For LTO sections, replace the name with
14440 the offset of the section name in a string table, and build this
14441 table.
14442 (darwin_file_start): Initialize global vars for LTO support.
14443 (darwin_file_end): If output to asm_out_file was redirected, append it
14444 to the proper asm_out_file here. Add the section names section.
14445
18bc5398
SB
144462010-05-07 Steven Bosscher <steven@gcc.gnu.org>
14447
14448 * c-pragma.c (pending_weak_d, pending_weak): New.
14449 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
14450 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
14451 handle_pragma_weak): Update the uses of pending_weaks.
14452
0f590a2d
RW
144532010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14454
14455 PR documentation/44016
14456 * doc/standards.texi (Standards): Link to unversioned
14457 cxx0x_status.html page.
14458
3bd5cdeb
IS
144592010-05-07 Iain Sandoe <iains@gcc.gnu.org>
14460
14461 PR target/43708
14462 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
14463 in addition to TREE_USED, to avoid "set but unused" warnings.
14464
9bf4598b
CF
144652010-05-07 Changpeng Fang <changpeng.fang@amd.com>
14466
14467 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
14468 (is_loop_prefetching_profitable): Do not insert prefetches
14469 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
14470 times the prefetch ahead distance.
14471
ccacf0e1
CF
144722010-05-07 Changpeng Fang <changpeng.fang@amd.com>
14473
14474 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
14475 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
14476 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
14477 the unroll_factor.
14478
55e5a2eb
CF
144792010-05-07 Changpeng Fang <changpeng.fang@amd.com>
14480
14481 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
14482 a diagnostic info when the insn-to-mem ratio is too small.
14483
5cd0e96b
RG
144842010-05-07 Richard Guenther <rguenther@suse.de>
14485
14486 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
14487 the linker plugin.
14488 (store_arg): Queue temp_filename for deletion instead of
14489 the whole argument.
14490
48cf395b
RB
144912010-05-07 Richard Guenther <rguenther@suse.de>
14492
14493 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
14494 (run_gcc): Handle LTRANS phase invocation.
62e59133 14495 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
48cf395b 14496
86b2c5b6
JJ
144972010-05-07 Jakub Jelinek <jakub@redhat.com>
14498
14499 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
14500 this is also meaningful on PARM_DECLs and RESULT_DECLs.
14501
c4e1e0b1
RO
145022010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14503
14504 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
14505
a7d4562a
RG
145062010-05-07 Richard Guenther <rguenther@suse.de>
14507
14508 PR tree-optimization/44020
14509 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
14510 code when PRE is not yet initialized.
14511
a6b02ef3
RO
145122010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14513
14514 * config/mips/dbxmdebug.h: Remove.
14515 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
14516
d42ba3b8
SZ
145172010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
14518
14519 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
14520 with null pointer and also warn about ordered comparison of zero with
14521 pointer if -Wextra.
14522
a6733c71
AS
145232010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
14524
14525 * graphite-blocking.c
14526 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
14527 * graphite-clast-to-gimple.c
14528 (clast_to_gcc_expression): Same.
14529 (precision_for_value): Same.
14530 (precision_for_interval): Same.
14531 (gcc_type_for_interval): Same.
14532 (graphite_create_new_guard): Same.
14533 (compute_bounds_for_level): Same.
14534 (graphite_create_new_loop_guard): Same.
14535 * graphite-interchange.c
14536 (build_linearized_memory_access): Same.
14537 (pdr_stride_in_loop): Same.
14538 (memory_strides_in_loop_1): Same.
14539 (memory_strides_in_loop): Same.
14540 (extend_scattering): Same.
14541 (psct_scattering_dim_for_loop_depth): Same.
14542 (pbb_number_of_iterations): Same.
14543 * graphite-poly.h
14544 (debug_iteration_domains): Same.
14545 * graphite-ppl.c
14546 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
14547 (ppl_set_inhomogeneous_gmp): Same.
14548 (ppl_strip_loop): Same.
14549 (ppl_lexico_compare_linear_expressions): Same.
14550 (ppl_read_polyhedron_matrix): Same.
14551 (ppl_max_for_le_pointset): Same.
14552 * graphite-ppl.h
14553 (ppl_read_polyhedron_matrix): Same.
14554 (tree_int_to_gmp): Same.
14555 (gmp_cst_to_tree): Same.
14556 (ppl_set_inhomogeneous): Same.
14557 (ppl_set_inhomogeneous_tree): Same.
14558 (ppl_set_coef): Same.
14559 (ppl_set_coef_tree): Same.
14560 * graphite-sese-to-poly.c
14561 (build_pbb_scattering_polyhedrons): Same.
14562 (build_scop_scattering): Same.
14563 (scan_tree_for_params_right_scev): Same.
14564 (scan_tree_for_params): Same.
14565 (find_params_in_bb): Same.
14566 (find_scop_parameters): Same.
14567 (add_upper_bounds_from_estimated_nit): Same.
14568 (build_loop_iteration_domains): Same.
14569 (add_condition_to_domain): Same.
14570 (pdr_add_memory_accesses): Same.
14571
145722010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
14573
14574 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
14575 CLooG's value_* macros to their respective mpz_* counterparts.
14576 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
14577 (graphite_create_new_loop_guard): Same.
14578 * graphite-interchange.c (build_linearized_memory_access): Same.
14579 (pdr_stride_in_loop): Same.
14580 (memory_strides_in_loop_1): Same.
14581 (1st_interchange_profitable_p): Same.
14582 * graphite-poly.c (extend_scattering): Same.
14583 (psct_scattering_dim_for_loop_depth): Same.
14584 (pbb_number_of_iterations): Same.
14585 (pbb_number_of_iterations_at_time): Same.
14586 * graphite-poly.h (new_1st_loop): Same.
14587 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
14588 (oppose_constraint): Same.
14589 (insert_constraint_into_matrix): Same.
14590 (ppl_set_inhomogeneous_gmp): Same.
14591 (ppl_set_coef_gmp): Same.
14592 (ppl_strip_loop): Same.
14593 (ppl_lexico_compare_linear_expressions): Same.
14594 (ppl_max_for_le_pointset): Same.
14595 (ppl_min_for_le_pointset): Same.
14596 (ppl_build_realtion): Same.
14597 * graphite-ppl.h (gmp_cst_to_tree): Same.
14598 (ppl_set_inhomogeneous): Same.
14599 (ppl_set_inhomogeneous_tree): Same.
14600 (ppl_set_coef): Same.
14601 (ppl_set_coef_tree): Same.
14602 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
14603 (build_scop_scattering): Same.
14604 (add_value_to_dim): Same.
14605 (scan_tree_for_params_right_scev): Same.
14606 (scan_tree_for_params_int): Same.
14607 (scan_tree_for_params): Same.
14608 (find_params_in_bb): Same.
14609 (find_scop_parameters): Same.
14610 (add_upper_bounds_from_estimated_nit): Same.
14611 (build_loop_iteration_domains): Same.
14612 (create_linear_expr_from_tree): Same.
14613 (add_condition_to_domain): Same.
14614 (pdr_add_memory_accesses): Same.
14615
14c2101d
JM
146162010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
14617 Jason Merrill <jason@redhat.com>
14618
14619 * c-common.c (c_common_reswords): Add nullptr.
14620 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
14621 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
14622 (gen_type_die_with_usage): Likewise.
14623 * dbxout.c (dbxout_type): Likewise.
14624 * sdbout.c (plain_type_1): Likewise.
14625
ebad5233
JM
146262010-05-06 Jason Merrill <jason@redhat.com>
14627
941f78d1
JM
14628 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
14629 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
14630 ret appropriately.
14631 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
14632
ebad5233
JM
14633 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
14634 stripping WITH_SIZE_EXPR.
14635 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
14636 change.
14637
9aaa1ee8
RO
146382010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14639
14640 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
14641 list of obsolete configurations.
14642 Disabled check for obsolete configurations.
14643 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
14644 Removed support for previous versions.
14645 * config/mips/iris.h: Removed.
14646 * config/mips/iris5.h: Removed.
14647 * config/mips/iris6.h: Merged old iris.h contents.
14648 (TARGET_IRIX): Removed.
14649 (DRIVER_SELF_SPECS): Removed mabi=32.
14650 (IDENT_ASM_OP): Removed undef.
14651 (STARTFILE_SPEC): Removed mabi=32.
14652 (ENDFILE_SPEC): Likewise.
14653 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
14654 (MACHINE_TYPE): Update for IRIX 6.5.
14655 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
14656 TARGET_IRIX by TARGET_IRIX6.
14657 (mips_file_start): Likewise.
14658 (mips_output_external): Remove IRIX 5/6 O32 support.
14659 (mips_output_function_prologue): Likewise.
14660 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
14661 TARGET_IRIX6.
14662 (TARGET_CPU_CPP_BUILTINS): Likewise.
14663 (TARGET_IRIX): Removed.
14664 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
14665 (MULTILIB_DIRNAMES): Removed 32.
14666 (MULTILIB_OSDIRNAMES): Removed ../lib.
62e59133 14667 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
9aaa1ee8 14668 (Specific, mips-sgi-irix5): Document removal.
62e59133 14669 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
9aaa1ee8
RO
14670 Remove references to older IRIX 6 releases and the O32 ABI.
14671
5b8bd3d5
JJ
146722010-05-06 Jakub Jelinek <jakub@redhat.com>
14673
14674 PR bootstrap/43994
14675 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
14676 instead of DF_REF_REAL_REG.
14677
e97580ce
DK
146782010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
14679
14680 PR target/43888
14681 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
14682 handling to still return true for x64 targets.
14683
f24d84cc
MK
146842010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
14685
14686 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
14687
ef38b551
JH
146882010-05-06 Jan Hubicka <jh@suse.cz>
14689
14690 PR tree-optimization/43791
14691 * ipa-inline.c (update_caller_keys): Remove bogus
14692 disregard_inline_limits check.
14693
0ab555de
MM
146942010-05-06 Michael Matz <matz@suse.de>
14695
14696 PR tree-optimization/43984
14697 * tree-ssa-pre.c (inserted_phi_names): Remove.
14698 (inserted_exprs): Change to bitmap.
14699 (create_expression_by_pieces): Set bits, don't append to vector.
14700 (insert_into_preds_of_block): Don't handle inserted_phi_names.
14701 (eliminate): Don't look at inserted_phi_names, remove deleted
14702 insns from inserted_exprs.
62e59133 14703 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
0ab555de
MM
14704 (init_pre, fini_pre): Allocate and free bitmaps.
14705 (execute_pre): Insert insns on edges before elimination.
14706
315a02da
MK
147072010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
14708
14709 * tree.c (initializer_zerop): Handle STRING_CST.
14710
3734d960
MLI
147112010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
14712
14713 PR 40989
14714 * doc/invoke.texi (Wimplicit): Document as C only.
14715 * opts.c (common_handle_option): Add argument kind.
14716 (handle_option): Rename as read_cmdline_option. Factor out code to...
14717 (handle_option): ... here. New.
14718 (handle_options): Rename as read_cmdline_options.
14719 (decode_options): Update call.
14720 (set_option): Use option index instead of option pointer. Classify
14721 diagnostics correctly.
14722 (enable_warning_as_error): Call handle_option.
14723 * opts.h (set_option): Update declaration.
14724 (handle_option): Declare.
62e59133 14725 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3734d960
MLI
14726 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
14727 * c-opts.c (set_Wimplicit): Delete.
14728 (c_family_lang_mask): New static constant.
14729 (c_common_handle_option): Add argument kind. Use handle_option
14730 instead of set_Wimplicit.
14731 (c_common_post_options): warn_implicit and warn_implicit_int
14732 are disabled by default.
14733 * c-common.c (warn_implicit): Do not define here.
14734 * c-common.h (warn_implicit): Do not declare here.
14735 (c_common_handle_option): Update declaration.
14736 * lto-opts.c (lto_reissue_options): Update call to set_option.
14737
2b90475a
RG
147382010-05-06 Richard Guenther <rguenther@suse.de>
14739
14740 PR tree-optimization/43571
14741 * domwalk.c (walk_dominator_tree): Walk the dominator
14742 sons in more optimal order.
14743
e3bdfed6
RG
147442010-05-06 Richard Guenther <rguenther@suse.de>
14745
14746 PR tree-optimization/43934
14747 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
14748 (stmt_cost): Likewise.
14749 (extract_true_false_args_from_phi): New helper.
14750 (determine_max_movement): For PHI nodes verify we can hoist them
14751 and compute their cost.
14752 (determine_invariantness_stmt): Handle PHI nodes.
14753 (move_computations_stmt): Likewise. Hoist PHI nodes in
14754 if-converted form using COND_EXPRs.
62e59133 14755 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
e3bdfed6
RG
14756 (tree_ssa_lim): Likewise.
14757 * tree-flow.h (tree_ssa_lim): Adjust prototype.
14758 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
14759
a81b065a
RG
147602010-05-06 Richard Guenther <rguenther@suse.de>
14761
14762 PR tree-optimization/43987
14763 * tree-ssa-structalias.c (could_have_pointers): For possibly
14764 address-taken variables force pointers to be recorded.
14765 (create_variable_info_for_1): Likewise.
14766 (push_fields_onto_fieldstack): Pass in wheter all fields
14767 must have pointers.
14768 (find_func_aliases): Query types instead of vars whether
14769 they contain pointers where appropriate.
14770
369451ec
JH
147712010-05-06 Jan Hubicka <jh@suse.cz>
14772
14773 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
14774 (record_reference, mark_address, mark_load, mark_store): Record
14775 references.
14776 (record_references_in_initializer): Update call of record_references.
14777 (rebuild_cgraph_edges): Remove all references before rebuiding.
14778 * cgraph.c (cgraph_create_node): Clear ref list.
14779 (cgraph_remove_node): Remove references.
14780 (dump_cgraph_node): Dump references.
14781 (cgraph_clone_node): Clone references.
14782 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
14783 (struct cgraph_node, varpool_node): Add ref_lst.
14784 * ipa-ref.c: New file.
14785 * ipa-ref.h: New file.
14786 * ipa-ref-inline.h: New file.
14787 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
14788 (referenced_from_other_partition_p): New function.
14789 (lto_output_varpool_node): Take set arugment; call
14790 referenced_from_other_partition.
14791 (lto_output_ref): New.
14792 (add_references): New.
14793 (output_refs): New.
62e59133 14794 (output_cgraph): Compute boundary based on references; output refs.
369451ec
JH
14795 (output_varpool): Accept cgraph_node_set argument.
14796 (input_ref): New.
14797 (input_refs): New.
14798 (input_cgraph): Call input_refs.
14799 * lto-section-in.c (lto_section_name): Add refs.
ade52657 14800 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
369451ec
JH
14801 (ipa-ref.o): New file.
14802 * varpool.c (varpool_node): Clear ipa ref list.
14803 (varpool_remove_node): Remove references.
14804 (dump_varpool_node): Dump references.
14805 (varpool_assemble_decl): Only compile finalized ones.
14806 (varpool_extra_name_alias): Initialize ref list.
14807 * lto-streamer.c (lto-get_section_name): Add .refs section.
14808 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
14809 (referenced_from_other_partition_p): Declared.
14810
7d8930a0
IR
148112010-05-06 Ira Rosen <irar@il.ibm.com>
14812
14813 PR tree-optimization/43901
14814 * tree-vect-stmts.c (vectorizable_call): Assert that vector
14815 type is not NULL if it's transformation phase, and return
14816 FALSE if it's analysis.
62e59133
UB
14817 (vectorizable_conversion, vectorizable_operation,
14818 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
7d8930a0 14819
a1c4f19f
AP
148202010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
14821
14822 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
14823 Delete.
14824 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
14825 New define.
14826 * config/mips/mips-protos.h
14827 (mips_small_register_classes_for_mode_p): Delete prototype.
14828
93b338c3
BS
148292010-05-06 Bernd Schmidt <bernds@codesourcery.com>
14830
14831 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
14832 * config/arm/arm.c (multiple_operation_profitable_p,
14833 compute_offset_order): New static functions.
14834 (load_multiple_sequence, store_multiple_sequence): Use them.
14835 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
14836 memory offsets, not register numbers.
14837 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
14838
50701474
SB
148392010-05-05 Steven Bosscher <steven@gcc.gnu.org>
14840
62e59133 14841 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
50701474
SB
14842 (get_pending_sizes, put_pending_size, put_pending_sizes):
14843 Update the uses of pending_sizes.
14844 * c-decl.c (store_parm_decls): Likewise.
14845 * c-tree.h (struct c_arg_info): Likewise.
14846 * tree.h: Update the prototype for get_pending_sizes and
14847 put_pending_sizes.
14848
564a129d
JM
148492010-05-05 Jason Merrill <jason@redhat.com>
14850
0f559c16
JM
14851 PR debug/43370
14852 * c-common.c (handle_aligned_attribute): Respect
14853 ATTR_FLAG_TYPE_IN_PLACE.
14854
564a129d
JM
14855 PR testsuite/43758
14856 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
14857 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
14858 (TARGET_INITIALIZER): Use it.
14859 * c-common.c (attribute_takes_identifier_p): Call it.
14860 * c-common.h: Update prototype.
14861 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
14862 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
14863
58c13acc
JJ
148642010-05-05 Jakub Jelinek <jakub@redhat.com>
14865
14866 PR debug/43950
14867 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
14868 DW_ID_down_case for Fortran compilation units.
14869
5b042919
JH
148702010-05-05 Jan Hubicka <jh@suse.cz>
14871
14872 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
14873 handle aliases.
14874
ca361dec
EB
148752010-05-05 Eric Botcazou <ebotcazou@adacore.com>
14876
14877 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
14878 a variable-sized RESULT_DECL.
14879
fa6aeae1
MK
148802010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
14881
14882 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
14883
6d729f28
JM
148842010-05-05 Jason Merrill <jason@redhat.com>
14885
14886 PR c++/43787
14887 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
14888 returns GS_OK.
14889 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
14890
e972a1d3
AO
148912010-05-05 Alexandre Oliva <aoliva@redhat.com>
14892 Jakub Jelinek <jakub@redhat.com>
14893
14894 PR debug/43478
14895 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
14896 (dead_debug_init, dead_debug_finish): New functions.
14897 (dead_debug_add, dead_debug_insert_before): Likewise.
14898 (df_note_bb_compute): Initialize a dead_debug object, add dead
14899 debug uses to it, insert debug bind insns before death insns,
14900 reset debug insns that refer to pending uses at the end.
14901 * rtl.h (make_debug_expr_from_rtl): New prototype.
14902 * varasm.c (make_debug_expr_from_rtl): New function.
14903
2f41ecf5
JH
149042010-05-05 Jan Hubicka <jh@suse.cz>
14905
14906 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
62e59133
UB
14907 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
14908 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
14909 lto_varpool_encoder_deref, lto_varpool_encoder_size,
2f41ecf5
JH
14910 lto_varpool_encoder_encode_initializer_p,
14911 lto_set_varpool_encoder_encode_initializer): New functions.
14912 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
14913 call output_varpool.
14914 (input_varpool_node): Do not always set analyzed.
14915 (input_cgraph_1): Return vector of cgraph nodes.
14916 (input_varpool_1): Return vector of varpools.
14917 (input_cgraph): Free the vectors.
14918 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
14919 output only initializers needed.
14920 (lto_output): Only call output_cgraph.
14921 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
14922 * lto-section-out.c (lto_new_out_decl_state): Initialize
14923 state->varpool_node_encoder.
14924 * lto-streamer.h (lto_varpool_encoder_d): New.
62e59133 14925 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
2f41ecf5
JH
14926 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
14927 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
14928 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
14929 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
14930 Declare.
14931 (output_varpool, input_varpool): Remove declarations.
14932
9e0546ef
JH
149332010-05-05 Jan Hubicka <jh@suse.cz>
14934
14935 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
14936 with body can prevail.
14937
149382010-05-05 Jan Hubicka <jh@suse.cz>
14939
14940 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
14941 size.
14942
0277fabf
LB
149432010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
14944
62e59133 14945 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
0277fabf
LB
14946
14947 * gengtype.h (erro_at_line): Constify pos argument.
14948
14949 * gengtype.c: Include hashtab.h.
14950 (enum gc_used): Document GC_MAYBE_POINTED_TO.
14951 (error_at_line): Constify pos argument.
14952 (do_typedef): Initialize p->opt field.
14953 (get_file_gtfilename): Fix comment typo.
14954 (struct walk_type_data): Constify line field.
14955 (get_output_file_for_structure): New function.
14956 (write_local_func_for_structure): Constify orig_s argument.
14957 Use get_output_file_for_structure.
14958 (write_func_for_structure): Use get_output_file_for_structure.
14959 (INDENT): New define.
14960 (dump_pair, dump_type, dump_type_list, dump_typekind)
14961 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
14962 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
14963 functions.
14964 (seen_types): New variable.
14965 (main): New variable do_dump. Process "-d" command line option.
14966 Call dump_everything if dump requested.
14967
dbb2a2cb
JJ
149682010-05-05 Jakub Jelinek <jakub@redhat.com>
14969
14970 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
14971 in a temporary instead of invoking the macro multiple times.
14972 (track_expr_p): Likewise.
14973
650cfcab
NV
149742010-05-04 Neil Vachharajani <nvachhar@google.com>
14975
14976 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
14977 per new semantics.
14978 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
14979 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
14980 conditions for printing notes.
14981 * common.opt (-Wcoverage-mismatch): Allow negative, default to
14982 true, update documentation.
14983 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
650cfcab 14984
97e3c923
JJ
149852010-05-04 Jakub Jelinek <jakub@redhat.com>
14986
14987 PR c/43981
14988 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
14989 on dimen.
14990
ade6a9ac
L
149912010-05-04 H.J. Lu <hongjiu.lu@intel.com>
14992
14993 PR target/43799
62e59133 14994 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
ade6a9ac
L
14995 (*sse_prologue_save_insn1): Likewise.
14996 (SSE prologue save splitter): Likewise.
14997
7ef5e86c
EB
149982010-05-04 Eric Botcazou <ebotcazou@adacore.com>
14999
15000 * tree.c (free_lang_data_in_one_sizepos): New inline function.
15001 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
15002 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
15003 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
15004 all decls. Call it on DECL_FIELD_OFFSET of fields.
15005 (find_decls_types_r): Follow DECL_VALUE_EXPR.
15006 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
15007
6cbd3b6a
MJ
150082010-05-04 Martin Jambor <mjambor@suse.cz>
15009
15010 * tree-sra.c (build_access_from_expr_1): The first parameter type
15011 changed to simple tree.
15012 (build_access_from_expr): Likewise, gsi parameter was eliminated.
15013 (scan_assign_result): Renamed to assignment_mod_result, enum elements
15014 renamed as well.
15015 (build_accesses_from_assign): Removed all parameters except for a
15016 simple gimple statement. Now returns a simple bool.
15017 (scan_function): All non-analysis parts moved to separate functions
15018 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
15019 parameters and updated both callers.
15020 (sra_modify_expr): Removed parameter data.
15021 (sra_modify_function_body): New function.
15022 (perform_intra_sra): Call sra_modify_function_body to modify the
15023 function body.
15024 (replace_removed_params_ssa_names): Parameter data changed into
15025 adjustments vector.
15026 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
15027 changed the parameter dont_convert to convert with the opposite
15028 meaning.
15029 (sra_ipa_modify_assign): Parameter data changed into adjustments
15030 vector, return value changed to bool.
15031 (ipa_sra_modify_function_body): New function.
15032 (sra_ipa_reset_debug_stmts): Updated a comment.
15033 (modify_function): Use ipa_sra_modify_function_body to modify function
15034 body.
15035
2147c71c
L
150362010-05-04 H.J. Lu <hongjiu.lu@intel.com>
15037
15038 PR middle-end/43671
15039 * alias.c (true_dependence): Handle the same VALUE in x and mem.
15040 (canon_true_dependence): Likewise.
15041 (write_dependence_p): Likewise.
15042
85912441
JH
150432010-05-04 Jan Hubicka <jh@suse.cz>
15044
15045 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
15046 * cgraphbuild.c: Include ipa-utils.h
15047 (record_reference_ctx): New struct.
15048 (record_reference): Simplify to work on initializers; not statements.
15049 (mark_address, mark_load, mark_store): New.
15050 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
15051 walk PHI nodes too.
15052 (record_references_in_initializer): Update use of record_reference.
15053 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
15054 walk PHI nodes too.
15055
688a10c2
JH
150562010-05-04 Jan Hubicka <jh@suse.cz>
15057
15058 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
15059 node will be removed anyway.
15060 (lto_varpool_replace_node): Allow also unanalyzed nodes;
15061 relink aliases of node into prevailing node.
15062 * varpool.c (varpool_remove_node): Remove aliases properly;
15063 when removing node, remove all its aliases too; remove DECL_INITIAL
15064 of removed node; ggc_free the varpool node.
15065
27c2cfa6
RG
150662010-05-04 Richard Guenther <rguenther@suse.de>
15067
15068 PR tree-optimization/43879
15069 * tree-ssa-structalias.c (alias_get_name): Use
15070 DECL_ASSEMBLER_NAME if available.
15071 (create_function_info_for): Return the varinfo node.
15072 (ipa_pta_execute): Associate same-body aliases and extra names
15073 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
15074
9c265c4d
KK
150752010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
15076
62e59133 15077 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
9c265c4d 15078
a5c011cd
MP
150792010-05-04 Mikael Pettersson <mikpe@it.uu.se>
15080
15081 PR bootstrap/43964
15082 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
15083 only if HONOR_REG_ALLOC_ORDER is not defined.
15084
622d360e
RG
150852010-05-04 Richard Guenther <rguenther@suse.de>
15086
15087 PR tree-optimization/43949
15088 * tree-vrp.c (extract_range_from_binary_expr): Only handle
15089 TRUNC_MOD_EXPR.
15090
cbb4feb3
JM
150912010-04-26 Jason Merrill <jason@redhat.com>
15092
15093 * c.opt (-fstrict-enums): New.
15094 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
15095
67e67979
DU
150962010-05-03 David Ung <davidu@mips.com>
15097 James E. Wilson <wilson@codesourcery.com>
15098
e492f63b 15099 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
67e67979
DU
15100 emit the trap instruction before the divide for TUNE_74K.
15101
42db504c
SB
151022010-05-03 Steven Bosscher <steven@gcc.gnu.org>
15103
15104 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
15105 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
15106 based on the above, for new target hook.
15107
15108 * hooks.c (hook_bool_mode_true): New generic hook.
15109 * hooks.h (hook_bool_mode_true): Add prototype.
15110
15111 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
15112 target hook.
15113 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
15114 target hook, set to hook_bool_mode_false.
15115 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
15116 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
15117 with targetm.small_register_classes_for_mode_p.
15118 (find_reusable_reload): Likewise.
15119 (combine_reloads): Likewise.
15120 * reload1.c (reload_as_needed): Likewise.
15121 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
15122 * ifcvt.c (noce_process_if_block, check_cond_move_block,
15123 dead_or_predicable): Likewise.
15124 * regmove.c (optimize_reg_copy_1): Likewise.
15125 * calls.c (prepare_call_address): Likewise.
15126 (precompute_register_parameters): Likewise.
15127
15128 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
15129 hook definition.
15130 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
15131 implementation of the hook that considers all register classes
15132 small except for SH64.
15133 (sh_override_options): Use the new hook.
15134 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
15135 Add prototype.
15136
15137 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
15138 hook definition.
15139 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
15140 implementation of the hook that considers all register classes
15141 small for THUMB1.
15142 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
15143 Add prototype.
15144
15145 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
15146 hook definition.
15147 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
15148 implementation of the hook that considers all register classes
15149 small for MIPS16.
15150 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
15151 Add prototype.
15152
15153 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
15154 hook definition.
15155 * config/m32c/m32c.h: Likewise.
15156 * config/pdp11/pdp11.h: Likewise.
15157 * config/avr/avr.h: Likewise.
15158 * config/xtensa/xtensa.h: Likewise.
15159 * config/m68hc11/m68hc11.h: Likewise.
15160 * config/mn10300/mn10300.h: Likewise.
15161 * config/mcore/mcore.h: Likewise.
15162 * config/h8300/h8300.h: Likewise.
15163 * config/bfin/bfin.h: Likewise.
15164
15165 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
15166 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
15167
e6693cfa
AS
151682010-05-03 Anatoly Sokolov <aesok@post.ru>
15169
15170 * double-int.h (tree_to_double_int): Remove macro.
15171 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
15172 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
15173 (tree_to_double_int): New function.
15174 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
15175 Move ...
15176 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
15177
8eb7bc3c
RG
151782010-05-03 Richard Guenther <rguenther@suse.de>
15179
15180 PR tree-optimization/43971
15181 * tree-ssa-structalias.c (get_constraint_for_1): Fix
15182 constraints in the !flag_delete_null_pointer_checks case.
15183
c4e26da1
JJ
151842010-05-03 Jakub Jelinek <jakub@redhat.com>
15185
15186 PR debug/43972
15187 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
15188 result mode matches original rtl mode.
15189
2dfccd83
DK
151902010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
15191
2385a470 15192 PR target/43888
2dfccd83
DK
15193 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
15194
18fdef20
UB
151952010-05-02 Uros Bizjak <ubizjak@gmail.com>
15196
15197 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
15198 when processing flag options.
15199
7c393241
UB
152002010-05-02 Uros Bizjak <ubizjak@gmail.com>
15201
15202 * gcov-iov.c (main): Change format string placeholder
15203 from %#08x to 0x%08x.
15204 * genchecksum.c (dosum): Change format string placeholder
15205 from %#02x to 0x%02x.
15206
52c307ba
RG
152072010-05-02 Richard Guenther <rguenther@suse.de>
15208
15209 PR tree-optimization/43879
7c393241 15210 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
52c307ba 15211
4896c7b8
BH
152122010-05-02 Bruno Haible <bruno@clisp.org>
15213
15214 * doc/extend.texi (Function Attributes): Fix a typo.
15215
34a47f6f
UB
152162010-05-02 Uros Bizjak <ubizjak@gmail.com>
15217
15218 Revert:
15219 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
15220 placeholder from 0x%x to %#x.
15221 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
7c393241
UB
15222 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
15223 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
15224 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
15225 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
15226 * config/i386/i386.c (ix86_target_string): Ditto.
34a47f6f 15227 * config/i386/i386.c (output_pic_addr_const): Ditto.
7c393241 15228 (print_operand): Ditto.
34a47f6f 15229
35c59d9c
UB
152302010-05-02 Uros Bizjak <ubizjak@gmail.com>
15231
15232 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
15233 placeholder from 0x%x to %#x.
15234 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
15235 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
15236 (ASM_OUTPUT_DEBUG_DATA): Ditto.
15237 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
15238 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
15239 * optc-gen.awk: Ditto.
15240 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
15241 (HOST_WIDE_INT_PRINT_HEX): Ditto.
15242 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
15243 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
35c59d9c 15244
82f81f18
AS
152452010-05-01 Anatoly Sokolov <aesok@post.ru>
15246
15247 * target.h (struct calls): Add function_value_regno_p field.
15248 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
15249 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
15250 * targhooks.c (default_function_value_regno_p): New function.
15251 * targhooks.h (default_function_value_regno_p): Declare function.
15252 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
15253 * builtins.c. (apply_result_size): (Ditto.).
15254 * combine.c. (likely_spilled_retval_p): (Ditto.).
15255 * mode-switching.c. Include 'target.h'.
15256 (create_pre_exit): Use function_value_regno_p hook.
15257 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
15258 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
15259 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
15260
15261 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
15262 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
15263 (ix86_function_value_regno_p): Declare as static, change argument
15264 type to const unsigned int.
15265 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
15266
bab4d587
RG
152672010-05-01 Richard Guenther <rguenther@suse.de>
15268
15269 PR tree-optimization/43949
15270 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
15271 types.
15272 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
15273
3e93ff81
AS
152742010-05-01 Anatoly Sokolov <aesok@post.ru>
15275
15276 * rtl.h (CONST_DOUBLE_P): Define.
15277 (rtx_to_double_int): Declare.
15278 * emit-rtl.c (rtx_to_double_int): New function.
15279 * dwarf2out.c (insert_double): New function.
15280 (loc_descriptor, add_const_value_attribute): Clean up, use
15281 rtx_to_double_int and insert_double functions.
15282
bcbc9564
JW
152832010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
15284
15285 * doc/extend.texi (Inline): Add missing return keyword to examples.
15286 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
15287 "command-line".
15288
ce276b61
EB
152892010-04-30 Eric Botcazou <ebotcazou@adacore.com>
15290
15291 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
15292 the variable part of the offset as well. Use highest_pow2_factor for
15293 all alignment checks.
15294
82677400
RB
152952010-04-30 Richard Guenther <rguenther@suse.de>
15296
15297 PR tree-optimization/43879
15298 * tree-ssa-structalias.c (type_could_have_pointers): Functions
15299 can have pointers.
15300
cd71491e
JH
153012010-04-30 Jan Hubicka <jh@suse.cz>
15302
82677400
RB
15303 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
15304 varpool.
cd71491e
JH
15305 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
15306
ace72c88
JH
153072010-04-30 Jan Hubicka <jh@suse.cz>
15308
82677400
RB
15309 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
15310 New.
ace72c88
JH
15311 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
15312 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
15313 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
15314 cgraph_node_set_needs_ltrans_p): Remove.
15315
b6feb796
SB
153162010-04-30 Steven Bosscher <steven@gcc.gnu.org>
15317
15318 * sdbout.c: Include vec.h, do not include varray.h.
15319 (deferred_global_decls, sdbout_global_decl,
15320 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
15321 * toplev.c: Do not include varray.h.
15322 (dump_memory_report): Do not dump VARRAY statistics.
15323 * gengtype.c (open_base_file): Ignore varray.h.
15324 * Makefile.in: Update for abovementioned changes.
15325 Remove all traces of varray.c and varray.h.
15326 * varray.c: Remove file.
15327 * varray.h: Remove file.
15328
05575e07
JH
153292010-04-30 Jan Hubicka <jh@suse.cz>
15330
15331 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
15332 references.
15333
9c6e0798
JH
153342010-04-30 Jan Hubicka <jh@suse.cz>
15335
15336 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
15337 needed.
15338
47d8a903
RG
153392010-04-30 Richard Guenther <rguenther@suse.de>
15340
15341 * tree-ssa-structalias.c (get_constraint_for_1): Generate
15342 constraints for CONSTRUCTOR.
15343
b6050cb7
RG
153442010-04-30 Richard Guenther <rguenther@suse.de>
15345
15346 PR lto/43946
15347 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
15348 first after all lowering passes.
15349
9aae8d16
SB
153502010-04-30 Steven Bosscher <steven@gcc.gnu.org>
15351
15352 * toplev.c: Include varray.h for statistics dumping.
15353 * tree.h: Do not declare varray_head_tag.
15354 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
15355 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
15356 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
15357 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
15358 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
15359 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
15360 c-common.c, c-common.h, reg-stack.c, basic-block.h,
15361 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
15362 include varray.h.
15363 * Makefile.in: Update for abovementioned changes.
15364
a07ecd2b
JJ
153652010-04-30 Jakub Jelinek <jakub@redhat.com>
15366
15367 PR debug/43942
15368 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
15369
41700fc3
HS
153702010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
15371
15372 * config/picochip/picochip.c (picochip_legitimize_address): Define.
15373 Use this function to do machine-specific conversion.
15374 (picochip_legitimize_reload_address): Likewise.
15375 (picochip_legitimate_address_p): Check valid base register only if
15376 strict.
15377 (picochip_check_conditional_copy): Check for modw only if opnd is
15378 register.
15379 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
15380 to call the function in c.
15381 * config/picochip/picochip-protos.h
15382 (picochip_legitimize_reload_address): Define.
15383 * config/picochip/picochip.md (supported_compare1): Define.
15384
8b4765bf
JH
153852010-04-30 Jan Hubicka <jh@suse.cz>
15386
15387 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
15388 (cgraph_global_info): Remove inlined.
15389 (LTO_cgraph_tag_names): Remove.
15390 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
15391 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
15392 simplify cgraph tags and document.
15393 (lto_output_node): Use only LTO_cgraph_unavail_node and
15394 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
35c59d9c 15395 for_functions_valid, global info, process and output flags.
8b4765bf 15396 (input_overwrite_node): Initialize estimated stack size and
35c59d9c 15397 estimated growth. Do not read flags we no longer store.
8b4765bf
JH
15398 (input_node): Likewise do not read info no longer stored.
15399 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
15400 flag.
15401
4be68d9a
RG
154022010-04-30 Richard Guenther <rguenther@suse.de>
15403
15404 PR tree-optimization/43879
15405 * tree-ssa-structalias.c (get_constraint_for_1): Properly
15406 handle non-zero initializers.
15407
06468254
RG
154082010-04-30 Richard Guenther <rguenther@suse.de>
15409
15410 * builtins.c (fold_builtin_1): Delete free (0).
15411
8b4765bf 154122010-04-29 Jan Hubicka <jh@suse.cz>
49ba8180
JH
15413
15414 * gengtype.c (open_base_files): Add lto-streamer.h
15415 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
15416 (pass_ipa_cp): GGC collect.
15417 * toplev. (compile_file): Do not output symbols.
15418 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
15419 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
15420 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
15421 * lto-section-in.c: Include ggc.h
15422 (lto_new_in_decl_state): Alloc in GGC.
15423 (lto_delete_in_decl_state): Likewise.
35c59d9c
UB
15424 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
15425 Collect.
49ba8180 15426
5a733826
BS
154272010-04-29 Bernd Schmidt <bernds@codesourcery.com>
15428
15429 PR target/42895
15430 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
15431 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
15432 (HONOR_REG_ALLOC_ORDER): Describe new macro.
15433 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
15434 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
15435 account only if HONOR_REG_ALLOC_ORDER is not defined.
15436 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
15437 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
35c59d9c
UB
15438
154392010-04-29 Jon Grant <04@jguk.org>
15440
7c6d86cc
JG
15441 * collect2.c (vflag): Change type from int to bool.
15442 (debug): Likewise.
15443 (helpflag): New global bool.
35c59d9c
UB
15444 (main): Set vflag and debug with boolean, not integer truth values.
15445 Accept new "--help" option and output usage text if found.
7c6d86cc
JG
15446 * collect2.h (vflag): Update prototype.
15447 (debug): Likewise.
35c59d9c 15448
55040b34
L
154492010-04-29 H.J. Lu <hongjiu.lu@intel.com>
15450
716a3481 15451 PR bootstrap/43936
35c59d9c 15452 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
55040b34 15453
46e70c4e
RG
154542010-04-29 Richard Guenther <rguenther@suse.de>
15455
15456 PR bootstrap/43935
15457 * plugin.h (invoke_plugin_callbacks): Annotate arguments
15458 with ATTRIBUTE_UNUSED.
15459
0d0539f0
L
154602010-04-29 H.J. Lu <hongjiu.lu@intel.com>
15461
15462 PR target/43921
15463 * config/i386/i386.c (get_some_local_dynamic_name): Replace
15464 INSN_P with NONDEBUG_INSN_P.
15465 (distance_non_agu_define): Likewise.
15466 (distance_agu_use): Likewise.
15467
8e5f0b49
BS
154682010-04-29 Bernd Schmidt <bernds@codesourcery.com>
15469
15470 From Dominique d'Humieres <dominiq@lps.ens.fr>
15471 PR bootstrap/43858
15472 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
15473 test_set.
15474
35c59d9c 154752010-04-29 Brian Hackett <bhackett1024@gmail.com>
efda3807
BH
15476
15477 * plugin.h (invoke_plugin_callbacks): New inline function.
15478 * plugin.c (flag_plugin_added): New global flag.
15479 (add_new_plugin): Initialize above flag.
15480 (invoke_plugin_callbacks): Rename to ...
15481 (invoke_plugin_callbacks_full): ... this.
15482
2942c502
JH
154832010-04-28 Jan Hubicka <jh@suse.cz>
15484
15485 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
15486 (lto_varpool_replace_node): New.
15487 (lto_symtab_resolve_symbols): Resolve varpool nodes.
15488 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
15489 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
15490 * cgraph.h (varpool_node_ptr): New type.
15491 (varpool_node_ptr): New vector.
15492 (varpool_node_set_def): New structure.
15493 (varpool_node_set): New type.
15494 (varpool_node_set): New vector.
15495 (varpool_node_set_element_def): New structure.
15496 (varpool_node_set_element, const_varpool_node_set_element): New types.
15497 (varpool_node_set_iterator): New type.
15498 (varpool_node): Add prev pointers, add used_from_other_partition,
15499 in_other_partition.
15500 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
15501 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
15502 varpool_get_node, varpool_remove_node): Declare.
15503 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
15504 varpool_node_set_size): New inlines.
15505 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
15506 * tree-pass.h (varpool_node_set_def): Forward declare.
15507 (ipa_opt_pass_d): Summary writting takes vnode sets too.
15508 (ipa_write_optimization_summaries): Update prototype.
15509 * ipa-cp.c (ipcp_write_summary): Update.
15510 * ipa-reference.c (ipa_reference_write_summary): Update.
15511 * lto-cgraph.c (lto_output_varpool_node): New static function.
15512 (output_varpool): New function.
15513 (input_varpool_node): New static function.
15514 (input_varpool_1): New function.
15515 (input_cgraph): Input varpool.
15516 * ipa-pure-const.c (pure_const_write_summary): Update.
15517 * lto-streamer-out.c (lto_output): Update, output varpool too.
15518 (write_global_stream): Kill WPA hack.
15519 (produce_asm_for_decls): Update.
15520 (output_alias_pair_p): Handle variables.
15521 (output_unreferenced_globals): Output only needed partition of varpool.
15522 * ipa-inline.c (inline_write_summary): Update.
35c59d9c
UB
15523 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
15524 cgraph.
2942c502
JH
15525 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
15526 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
15527 varpool_node_set_new, varpool_node_set_add,
15528 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
15529 debug_varpool_node_set): New functions.
15530 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
15531 (execute_one_pass): Process new decls too.
15532 (ipa_write_summaries_2): Pass around vsets.
15533 (ipa_write_summaries_1): Likewise.
15534 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
15535 to add.
15536 (ipa_write_optimization_summaries_1): Pass around vsets.
15537 (ipa_write_optimization_summaries): Likewise.
15538 * varpool.c (varpool_get_node): New.
15539 (varpool_node): Update doubly linked lists.
15540 (varpool_remove_node): New.
15541 (dump_varpool_node): More dumping.
15542 (varpool_enqueue_needed_node): Update doubly linked lists.
15543 (decide_is_variable_needed): Kill ltrans hack.
15544 (varpool_finalize_decl): Kill lto hack.
15545 (varpool_assemble_decl): Skip decls in other partitions.
15546 (varpool_assemble_pending_decls): Update doubly linkes lists.
15547 (varpool_empty_needed_queue): Likewise.
15548 (varpool_extra_name_alias): Likewise.
15549 * lto-streamer.c (lto_get_section_name): Add vars section.
15550 * lto-streamer.h (lto_section_type): Update.
15551 (output_varpool, input_varpool): Declare.
15552
da7f2697
MS
155532010-04-28 Mike Stump <mikestump@comcast.net>
15554
74ca3393 15555 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
da7f2697 15556
91eace2b
EB
155572010-04-28 Eric Botcazou <ebotcazou@adacore.com>
15558
15559 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
15560 record or union type with RECORD_OR_UNION_TYPE_P predicate.
15561 (lto_input_ts_type_tree_pointers): Likewise.
15562 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
15563 (lto_output_ts_type_tree_pointers): Likewise.
15564
8478130d
EB
155652010-04-28 Eric Botcazou <ebotcazou@adacore.com>
15566
15567 Uniquization of constants at the Tree level
20225a9b 15568 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
8478130d
EB
15569 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
15570 bit to the end.
15571 (tree_output_constant_def): Declare.
20225a9b 15572 * gimplify.c (gimplify_init_constructor): When using block copy, first
8478130d 15573 uniquize the constant constructor on the RHS.
20225a9b
EB
15574 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
15575 DECL_IN_CONSTANT_POOL flag.
8478130d 15576 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
20225a9b
EB
15577 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
15578 constant pool.
8478130d
EB
15579 (assemble_variable): Deal with symbols belonging to the tree constant
15580 pool.
15581 (get_constant_section): Add ALIGN parameter and simplify.
15582 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
15583 (assemble_constant_contents): Use the expression of the VAR_DECL.
15584 (output_constant_def_contents): Use the alignment of the VAR_DECL.
15585 (tree_output_constant_def): New global function.
15586 (mark_constant): Use the expression of the VAR_DECL.
20225a9b
EB
15587 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
15588 its expression.
8478130d
EB
15589 (output_object_block): Likewise and assemble the expression.
15590
331c7fcd
EB
155912010-04-28 Eric Botcazou <ebotcazou@adacore.com>
15592
15593 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
15594 hash_tree, eq_tree): New tree hash table.
15595 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
15596 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
15597 lto_orig_address_remove): Reimplement.
15598
34f97b94
XDL
155992010-04-28 Xinliang David Li <davidxl@google.com>
15600
15601 PR c/42643
15602 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
15603 (compute_uninit_opnds_pos): New function.
15604 (is_non_loop_exit_postdominating): New function.
15605 (compute_control_dep_chain): New function.
15606 (find_pdom): New function.
15607 (convert_control_dep_chain_into_preds): New function.
15608 (find_predicates): New function.
15609 (find_control_equiv_block): New function.
15610 (collect_phi_def_edges): New function.
15611 (find_def_preds): New function.
15612 (find_dom): New function.
15613 (dump_predicates): New function.
15614 (get_cmp_code): New function.
15615 (is_value_included_in): New function.
15616 (find_matching_predicate_in_rest_chains): New function.
15617 (use_pred_not_overlap_with_undef_path_pred): New function.
15618 (is_use_properly_guarded): New function.
15619 (normalize_cond_1): New function.
15620 (is_and_or_or): New function.
15621 (normalize_cond): New function.
15622 (is_gcond_subset_of): New function.
15623 (is_subset_of_any): New function.
15624 (is_or_set_subset_of): New function.
15625 (is_and_set_subset_of): New function.
15626 (is_norm_cond_subset_of): New function.
15627 (is_pred_expr_subset_of): New function.
15628 (is_pred_chain_subset_of): New function.
15629 (is_included_in): New function.
15630 (is_superset_of): New function.
15631 (find_uninit_use): New function.
15632 (warn_uninitialized_phi): New function.
15633 (compute_possibly_undefined_names): New function.
15634 (ssa_undefined_value_p): New function.
15635 (execute_late_warn_uninitialized): New function.
15636 * tree-ssa.c (ssa_undefined_value_p): Removed.
15637 (warn_uninit): Changed to extern.
15638 (warn_uninitialized_phi): Removed.
15639 (warn_uninitialized_vars): Changed to extern.
15640 (execute_late_warn_uninitialized): Removed
15641 * tree-flow.h: Add new prototypes.
15642 * timevar.def: Add new time variable.
15643 * Makefile.in: Add new build file.
15644
85fac79c
UB
156452010-04-28 Uros Bizjak <ubizjak@gmail.com>
15646
15647 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
15648 type if available.
15649
902a51a1
RO
156502010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15651
15652 PR target/22224
15653 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
15654
e33c6cd6
MJ
156552010-04-28 Martin Jambor <mjambor@suse.cz>
15656
15657 * cgraph.h (struct cgraph_node): New field indirect_calls.
15658 (struct cgraph_indirect_call_info): New type.
15659 (struct cgraph_edge): Removed field indirect_call. New fields
15660 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
15661 (cgraph_create_indirect_edge): Declare.
15662 (cgraph_make_edge_direct): Likewise.
15663 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
15664 * ipa-prop.h (struct ipa_param_call_note): Removed.
15665 (struct ipa_node_params): Removed field param_calls.
15666 (ipa_create_all_structures_for_iinln): Declare.
15667 * cgraph.c: Described indirect edges and uids in initial comment.
15668 (cgraph_add_edge_to_call_site_hash): New function.
15669 (cgraph_edge): Search also among the indirect edges, use
15670 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
15671 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
15672 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
15673 site hash.
15674 (initialize_inline_failed): Assign a reason to indirect edges.
15675 (cgraph_create_edge_1): New function.
15676 (cgraph_create_edge): Moved some functionality to
15677 cgraph_create_edge_1.
15678 (cgraph_create_indirect_edge): New function.
15679 (cgraph_edge_remove_callee): Add an assert checking for
15680 non-indirectness.
15681 (cgraph_edge_remove_caller): Special-case indirect edges.
15682 (cgraph_remove_edge): Likewise.
15683 (cgraph_set_edge_callee): New function.
15684 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
15685 (cgraph_make_edge_direct): New function.
15686 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
15687 the declaration of the call statement matches.
15688 (cgraph_node_remove_callees): Special-case indirect edges.
15689 (cgraph_clone_edge): Likewise.
15690 (cgraph_clone_node): Clone also the indirect edges.
15691 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
15692 indirect_call, dump count of indirect_calls edges.
15693 * ipa-prop.c (iinlining_processed_edges): New variable.
15694 (ipa_note_param_call): Create indirect edges instead of
15695 creating notes. New parameter node.
15696 (ipa_analyze_call_uses): New parameter node, pass it on to
15697 ipa_note_param_call.
15698 (ipa_analyze_stmt_uses): Likewise.
15699 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
15700 (print_edge_addition_message): Work on edges rather than on notes.
15701 (update_call_notes_after_inlining): Likewise, renamed to
15702 update_indirect_edges_after_inlining.
15703 (ipa_create_all_structures_for_iinln): New function.
15704 (ipa_free_node_params_substructures): Do not free notes.
15705 (ipa_edge_duplication_hook): Propagate bits within
15706 iinlining_processed_edges bitmap.
15707 (ipa_node_duplication_hook): Do not duplicate notes.
15708 (free_all_ipa_structures_after_ipa_cp): Renamed to
15709 ipa_free_all_structures_after_ipa_cp.
15710 (free_all_ipa_structures_after_iinln): Renamed to
62e59133 15711 ipa_free_all_structures_after_iinln.
e33c6cd6
MJ
15712 (ipa_write_param_call_note): Removed.
15713 (ipa_read_param_call_note): Removed.
15714 (ipa_write_indirect_edge_info): New function.
15715 (ipa_read_indirect_edge_info): Likewise.
15716 (ipa_write_node_info): Do not stream notes, do stream information
15717 in indirect edges.
15718 (ipa_read_node_info): Likewise.
15719 (lto_ipa_fixup_call_notes): Removed.
15720 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
15721 * ipa-inline.c (pass_ipa_inline): Likewise.
15722 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
15723 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
15724 * tree-inline.c (copy_bb): Removed an unnecessary double check for
15725 is_gimple_call.
15726 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
15727 edges.
15728 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
15729 (output_cgraph): Stream also indirect edges.
15730 (lto_output_edge): Added capability to stream indirect edges.
15731 (input_edge): Likewise.
15732 (input_cgraph_1): Likewise.
f3d1b157
MJ
15733 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
15734 of indirect edges.
e33c6cd6 15735
18abb35e
RG
157362010-04-28 Richard Guenther <rguenther@suse.de>
15737
15738 PR tree-optimization/43879
15739 PR tree-optimization/43909
15740 * tree-ssa-structalias.c (struct variable_info): Add
15741 only_restrict_pointers flag.
15742 (new_var_info): Initialize it. Increment stats.total_vars here.
62e59133 15743 (create_function_info_for): Do not increment stats.total_vars here.
18abb35e
RG
15744 (get_function_part_constraint): Fix build with C++.
15745 (insert_into_field_list): Remove.
15746 (push_fields_onto_fieldstack): Properly merge fields.
15747 (create_variable_info_for): Split and simplify.
15748 (create_variable_info_for_1): New piece.
15749 (intra_create_variable_infos): Properly make restrict constraints
15750 from parameters.
15751
c718820a
RG
157522010-04-28 Richard Guenther <rguenther@suse.de>
15753
15754 PR c++/43880
35c59d9c 15755 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
c718820a 15756
5dc16b19
MLI
157572010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
15758 Jan Hubicka <hubicka@ucw.cz>
15759
15760 * doc/invoke.texi (-Wsuggest-attribute=const,
15761 -Wsuggest-attribute=pure): Document.
15762 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
15763 (function_always_visible_to_compiler_p,
15764 suggest_attribute, warn_function_pure, warn_function_const):
15765 New functions.
15766 (check_call): Improve debug info.
15767 (analyze_function): Do not check availability.
15768 (add_new_function): Check availability.
15769 (propagate): Output warnings.
15770 (skip_function_for_local_pure_const): New function.
15771 (local_pure_const): Use it; output warnings.
15772 * common.opt (Wsuggest-attribute=const,
15773 Wsuggest-attribute=pure): New.
15774
78b41ae2
JJ
157752010-04-27 Jakub Jelinek <jakub@redhat.com>
15776
15777 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
15778 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
15779 or DW_CFA_def_cfa_offset{,_sf}.
15780
62107106
EB
157812010-04-27 Eric Botcazou <ebotcazou@adacore.com>
15782
15783 * tree.h: Fix truncated long macros.
15784
ad211091
KT
157852010-04-27 Kai Tietz <kai.tietz@onevision.com>
15786
15787 * collect2.c (TARGET_64BIT): Redefine to target's default.
15788 * tlink.c: Likewise.
15789 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
15790 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
15791 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
15792 for underscoring __USER_LABEL_PREFIX__.
15793 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
15794 (SUB_LINK_ENTRY32): New.
15795 (SUB_LINK_ENTRY64): New.
85fac79c 15796 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
ad211091
KT
15797 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
15798 (SUB_LINK_ENTRY64): New.
15799 (SUB_LINK_ENTRY): New.
15800 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
15801 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
15802 x64 target is choosen.
15803 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
15804 * configure: Regenerated.
15805 * configure.ac (leading-mingw64-underscores): Option added.
15806
e65bb9be
JH
158072010-04-27 Jan Hubicka <jh@suse.cz>
15808
15809 * doc/invoke.texi (-fipa-profile): Document.
15810 * opts.c (decode_options): Enable ipa-profile at -O1.
15811 * timevar.def (TV_IPA_PROFILE): Define.
15812 * common.opt (fipa-profile): Add.
62107106
EB
15813 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
15814 flag for clones.
e65bb9be
JH
15815 (cgraph_propagate_frequency): Handle only local ones.
15816 * tree-pass.h (pass_ipa_profile): Declare.
15817 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
15818 (pass_ipa_profile): Use TV_IPA_PROFILE.
15819 * ipa.c (ipa_profile): New function.
15820 (gate_ipa_profile): Likewise.
15821 (pass_ipa_profile): New global variable.
15822 * passes.c (pass_ipa_profile): New.
15823
8606c81d
NF
158242010-04-27 Nathan Froyd <froydnj@codesourcery.com>
15825
15826 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
15827
78eaf7bf
MJ
158282010-04-27 Martin Jambor <mjambor@suse.cz>
15829
15830 PR middle-end/43812
15831 * ipa.c (dissolve_same_comdat_group_list): New function.
15832 (function_and_variable_visibility): Call
15833 dissolve_same_comdat_group_list when comdat group contains external or
15834 newly local nodes.
15835 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
15836 lists are circular and that they contain only DECL_ONE_ONLY nodes.
15837
5b56d3bb
EB
158382010-04-27 Eric Botcazou <ebotcazou@adacore.com>
15839
15840 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
15841 (const_hash_1) <VECTOR_CST>: New case.
15842 (compare_constant) <VECTOR_CST>: Likewise.
15843 <ADDR_EXPR>: Deal with LABEL_REFs.
15844 (copy_constant) <VECTOR_CST>: New case.
15845
fa5f5e27
JH
158462010-04-27 Jan Hubicka <jh@suse.cz>
15847
15848 * cgraph.c (cgraph_propagate_frequency): New function.
15849 * cgraph.h (cgraph_propagate_frequency): Declare.
15850 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
15851 cgraph_propagate_frequency.
15852
934f5b42
JJ
158532010-04-27 Jakub Jelinek <jakub@redhat.com>
15854
15855 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
15856
cb751cbd
BS
158572010-04-27 Bernd Schmidt <bernds@codesourcery.com>
15858
15859 PR target/40657
15860 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
15861 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
15862 here to determine which regs to push and how much stack to reserve.
15863
a5027830
JZ
158642010-04-27 Jie Zhang <jie@codesourcery.com>
15865
15866 * doc/gimple.texi (gimple_statement_with_ops): Remove
15867 addresses_taken field.
15868 (gimple_statement_with_memory_ops): Likewise.
15869
d89488ec
JH
158702010-04-27 Jan Hubicka <jh@suse.cz>
15871
15872 * tree-inline.c (eni_inlining_weights): Remove.
15873 (estimate_num_insns): Special case more builtins.
15874
637f1455 158752010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
85fac79c 15876
637f1455
SZ
15877 PR c/32207
15878 * c-typeck.c (build_binary_op): Move forward check for comparison
15879 pointer with null pointer constant and adjust the diagnostic message.
15880
f0423078
DK
158812010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
15882
15883 PR lto/42776
15884 * configure.ac (gcc_cv_as_section_has_align): Set if installed
15885 binutils supports extended .section directive needed by LTO, or
15886 warn if older binutils found.
15887 (LTO_BINARY_READER): New AC_SUBST'd variable.
15888 (LTO_USE_LIBELF): Likewise.
15889 * gcc/config.gcc (lto_binary_reader): New target-specific configure
15890 variable.
15891 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
15892 (LTO_USE_LIBELF): Likewise.
15893 * configure: Regenerate.
15894
15895 * collect2.c (is_elf): Rename from this ...
15896 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
15897 object files in addition to ELF-formatted ones.
15898 (scan_prog_file): Caller updated. Also allow for LTO info marker
15899 symbol to be prefixed or not by an extra underscore.
15900
15901 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
15902 * config/i386/winnt.c: Also #include lto-streamer.h
15903 (i386_pe_asm_named_section): Specify 1-byte section alignment for
15904 LTO named sections.
15905 (i386_pe_asm_output_aligned_decl_common): Add comment.
15906 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
15907
68e87fc9
HPN
159082010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
15909
45c384e3 15910 PR target/43889
68e87fc9
HPN
15911 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
15912 Add missing earlyclobber for second alternative.
15913
823ff7b4
BS
159142010-04-26 Bernd Schmidt <bernds@codesourcery.com>
15915
15916 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
15917 bits for artificial defs at the top of the block.
15918 * fwprop.c (single_def_use_enter_block): Don't call it.
15919
1637c2e1 159202010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
9ec69d2e
JH
15921
15922 PR 43715
15923 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
15924 instead of "$gcc_cv_objdump -T".
15925 Use "-undefined dynamic_lookup" on darwin.
15926 * gcc/configure: Regenerate.
15927
b83a701b
JJ
159282010-04-26 Jakub Jelinek <jakub@redhat.com>
15929
15930 PR c/43893
15931 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
15932
8415f317
NF
159332010-04-26 Nathan Froyd <froydnj@codesourcery.com>
15934
15935 * c-parser.c (struct c_token): Move location field up.
15936 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
15937 (struct c_declspecs): Convert typespec_word, storage_class, and
15938 default_int_p into bitfields.
15939 (struct c_declarator): Move loc field up.
15940
448f65db
NF
159412010-04-26 Nathan Froyd <froydnj@codesourcery.com>
15942
15943 * cfgloop.h (struct loop): Move can_be_parallel field up.
15944 * ipa-prop.h (struct ip_node_params): Move bitfields up.
15945 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
15946 down.
15947 (struct iv_cand): Convert pos field into a bitfield.
15948 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
15949 field up.
15950 (struct _stmt_vec_info): Shuffle fields for better packing.
15951
736865e1
EB
159522010-04-26 Eric Botcazou <ebotcazou@adacore.com>
15953
15954 * varasm.c (IN_NAMED_SECTION): Remove guard.
15955 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
15956 (IN_NAMED_SECTION_P): ...this.
15957 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
15958 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
15959
06ec59e6
EB
159602010-04-26 Eric Botcazou <ebotcazou@adacore.com>
15961
15962 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
15963 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
15964 of shadowing it. Fix comments.
15965
5fefcf92
JH
159662010-04-26 Jan Hubicka <jh@suse.cz>
15967
15968 * cgraph.c (cgraph_create_node): Set node frequency to normal.
15969 (cgraph_clone_node): Copy function frequency.
15970 * cgraph.h (node_frequency): New enum
15971 (struct cgraph_node): Add.
15972 * final.c (rest_of_clean_state): Update.
15973 * lto-cgraph.c (lto_output_node): Output node frequency.
15974 (input_overwrite_node): Input node frequency.
15975 * tre-ssa-loop-ivopts (computation_cost): Update.
06ec59e6
EB
15976 * lto-streamer-out.c (output_function): Do not output function
15977 frequency.
15978 * predict.c (maybe_hot_frequency_p): Update and handle functions
15979 executed once.
5fefcf92
JH
15980 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
15981 attribute lookup.
15982 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
06ec59e6
EB
15983 (compute_function_frequency): Set noreturn functions to be executed
15984 once.
5fefcf92
JH
15985 (choose_function_section): Update.
15986 * lto-streamer-in.c (input_function): Do not input function frequency.
06ec59e6
EB
15987 * function.c (allocate_struct_function): Do not initialize function
15988 frequency.
5fefcf92
JH
15989 * function.h (function_frequency): Remove.
15990 (struct function): Remove function frequency.
15991 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
15992 (try_update): Update.
15993 * tree-inline.c (initialize_cfun): Do not update function frequency.
15994 * passes.c (pass_init_dump_file): Update.
15995 * i386.c (ix86_compute_frame_layout): Update.
15996 (ix86_pad_returns): Update.
15997
330af32c
JZ
159982010-04-26 Jie Zhang <jie@codesourcery.com>
15999
16000 PR tree-optimization/43833
16001 * tree-vrp.c (range_int_cst_p): New.
16002 (range_int_cst_singleton_p): New.
16003 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
16004 when both operands are constants. Use range_int_cst_p in
16005 BIT_IOR_EXPR case.
16006
ae2b0888
JH
160072010-04-26 Jan Hubicka <jh@suse.cz>
16008
16009 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
16010
98b2dfbb
RG
160112010-04-26 Richard Guenther <rguenther@suse.de>
16012
16013 PR lto/43080
16014 * gimple.c (gimple_decl_printable_name): Deal gracefully
16015 with a NULL DECL_NAME.
16016
1ae3075b
RG
160172010-04-26 Richard Guenther <rguenther@suse.de>
16018
16019 PR lto/42425
16020 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
16021 if emitting debug information and it is either a function
16022 or a namespace decl.
16023
4b5caab7
IR
160242010-04-26 Ira Rosen <irar@il.ibm.com>
16025
85fac79c
UB
16026 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
16027 determine if the statement is vectorizable, and a macro to access it.
16028 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
16029 Skip statements that can't be vectorized. If the analysis fails,
16030 mark the statement as unvectorizable if vectorizing basic block.
4b5caab7 16031 (vect_compute_data_refs_alignment): Likewise.
85fac79c 16032 (vect_verify_datarefs_alignment): Skip statements marked as
4b5caab7 16033 unvectorizable. Add print.
85fac79c
UB
16034 (vect_analyze_group_access): Skip statements that can't be
16035 vectorized. If the analysis fails, mark the statement as
4b5caab7 16036 unvectorizable if vectorizing basic block.
85fac79c
UB
16037 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
16038 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4b5caab7
IR
16039 generated stmts for SLP.
16040 (new_stmt_vec_info): Initialize the new field.
85fac79c 16041 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4b5caab7
IR
16042 statements marked as unvectorizable.
16043
2778d766
JM
160442010-04-25 Joseph Myers <joseph@codesourcery.com>
16045
16046 * c-common.c (flag_isoc1x): New.
16047 (flag_isoc99): Update comment.
16048 * c-common.h (flag_isoc1x): New.
16049 (flag_isoc99): Update comment.
16050 * c-cppbuiltin.c (builtin_define_float_constants): Also define
16051 __<type>_DECIMAL_DIG__.
16052 * c-opts.c (set_std_c1x): New.
16053 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
16054 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
16055 * c.opt (-std=c1x, -std=gnu1x): New options.
16056 * doc/cpp.texi: Mention -std=c1x.
16057 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
16058 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
16059 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
16060 * doc/standards.texi: Mention C1X.
16061 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
16062 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
16063 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
16064 Define for C1X.
16065
3d416346
UB
160662010-04-25 Uros Bizjak <ubizjak@gmail.com>
16067
16068 * config/i386/gmon-sol2.c (_mcleanup): Change format string
16069 placeholder from 0x%x to %#x.
16070 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
16071 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
16072 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
16073 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
16074 * config/i386/i386.c (ix86_target_string): Ditto.
16075 (output_pic_addr_const): Ditto.
16076 (print_operand): Ditto.
16077
910ed7dc
PB
160782010-04-25 Paolo Bonzini <bonzini@gnu.org>
16079
16080 * combine.c (find_split_point): Add third argument. Use it
16081 to find nested multiply-accumulate instructions. Adjust calls.
16082 (try_combine): Adjust call to find_split_point.
16083
423b2799
GP
160842010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
16085
16086 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
16087
27d0d96a
BS
160882010-04-24 Bernd Schmidt <bernds@codesourcery.com>
16089
16090 PR tree-optimization/41442
16091 * fold-const.c (merge_truthop_with_opposite_arm): New function.
16092 (fold_binary_loc): Call it.
16093
c7d0de89
MLI
160942010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
16095
3d416346 16096 * toplev.c (general_init): Set default for fdiagnostics-show-option.
c7d0de89 16097 * opts.c (common_handle_option): Allow disabling it.
3d416346
UB
16098 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
16099
915f5921
EB
161002010-04-23 Eric Botcazou <ebotcazou@adacore.com>
16101
16102 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
16103 between modes if both types are integral.
16104
4e708ff7
RG
161052010-04-23 Richard Guenther <rguenther@suse.de>
16106
16107 PR tree-optimization/43572
16108 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
16109
8fd8a06f
RG
161102010-04-23 Richard Guenther <rguenther@suse.de>
16111
16112 PR lto/43455
16113 * tree-inline.c (tree_can_inline_p): Also check compatibility
16114 of return types.
16115
77620011
MJ
161162010-04-23 Martin Jambor <mjambor@suse.cz>
16117
16118 PR tree-optimization/43846
16119 * tree-sra.c (struct access): New flag grp_assignment_read.
16120 (build_accesses_from_assign): Set grp_assignment_read.
16121 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
16122 (enum mark_read_status): New type.
16123 (analyze_access_subtree): Propagate grp_assignment_read, create
16124 accesses also if both direct_read and root->grp_assignment_read.
16125
5c20baf1
MJ
161262010-04-23 Martin Jambor <mjambor@suse.cz>
16127
16128 PR middle-end/43835
16129 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
16130 function does not have type attributes.
16131
c67f69a3
RG
161322010-04-23 Richard Guenther <rguenther@suse.de>
16133
16134 PR lto/42653
16135 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
16136 of FUNCTION_DECLs.
16137
086058c2
LB
161382010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
16139
16140 * sese.h (create_if_region_on_edge): Remove.
16141
16142 * sese.c (create_if_region_on_edge): Make static.
16143
16144 * tree-inline.c: Do not include ggc.h.
16145
16146 * expr.c: Do not include ggc.h.
16147
16148 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
16149 dependencies.
16150
fc9c984d
KK
161512010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
16152
16153 PR target/43744
16154 * config/sh/sh.c (find_barrier): Don't emit a constant pool
16155 in the middle of insns for casesi_worker_2.
16156
cf42f095
DE
161572010-04-22 David Edelsohn <edelsohn@gnu.org>
16158
16159 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
16160
161612010-04-22 Ira Rosen <irar@il.ibm.com>
74500b3e 16162
5bdd895c 16163 PR tree-optimization/43842
d5dceab8 16164 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
74500b3e
IR
16165 loop unrolling in update of exit phis. Fix comment.
16166 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
d5dceab8 16167 least two reduction statements in the loop before starting SLP
74500b3e
IR
16168 analysis.
16169
d5f4a527
NC
161702010-04-22 Nick Clifton <nickc@redhat.com>
16171
16172 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
16173
44741f03
AM
161742010-04-22 Alexander Monakov <amonakov@ispras.ru>
16175
16176 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
16177 to simplify a + ~a.
16178
f873b205
LB
161792010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
16180
16181 * tree-parloops.c (loop_parallel_p): New argument
16182 parloop_obstack. Pass it down.
16183 (parallelize_loops): New variable parloop_obstack. Initialize it,
16184 pass it down, free it.
16185
16186 * tree-loop-linear.c (linear_transform_loops): Pass down
16187 lambda_obstack.
16188
16189 * tree-data-ref.h (lambda_compute_access_matrices): New argument
16190 of type struct obstack *.
16191
16192 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
16193 scratch_obstack. Initialize it, pass down, free it.
16194
16195 * lambda.h (lambda_loop_new): Remove.
16196 (lambda_matrix_new, lambda_matrix_inverse)
16197 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
16198 argument of type struct obstack *.
16199
16200 * lambda-trans.c (lambda_trans_matrix_new): New argument
16201 lambda_obstack. Pass it down, use obstack allocation for ret.
16202 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
16203 it down.
16204
16205 * lambda-mat.c (lambda_matrix_get_column)
16206 (lambda_matrix_project_to_null): Remove.
16207 (lambda_matrix_new): New argument lambda_obstack. Use obstack
16208 allocation for mat.
16209 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
16210 lambda_obstack.
16211
16212 * lambda-code.c (lambda_loop_new): New function.
16213 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
16214 (lambda_compute_auxillary_space, lambda_compute_target_space)
16215 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
16216 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
16217 (build_access_matrix): New argument lambda_obstack. Use obstack
16218 allocation for am.
16219 (lambda_compute_step_signs, lambda_compute_access_matrices): New
16220 argument lambda_obstack. Pass it down.
16221
b99279f3
BS
162222010-04-22 Bernd Schmidt <bernds@codesourcery.com>
16223
16224 * optabs.h (expand_widening_mult): Declare.
16225
b3be2694
RG
162262010-04-22 Richard Guenther <rguenther@suse.de>
16227
16228 PR tree-optimization/43845
16229 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
16230 lookup the CALL_EXPR function and arguments.
16231
038eab67
NC
162322010-04-22 Nick Clifton <nickc@redhat.com>
16233
16234 * config/stormy16/stormy16.c
d5dceab8 16235 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
038eab67
NC
16236 * config/stormy16/stormy16.h: Tidy up formatting.
16237 (DONT_USE_BUILTIN_SETJMP): Remove definition.
16238 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
16239 (ineqbranchsi): Delete pattern.
16240 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
16241 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
16242 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
16243 stormy16-lib2-ucmpsi2.c.
16244
907deb1a
BS
162452010-04-22 Bernd Schmidt <bernds@codesourcery.com>
16246
16247 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
16248 df_simulate_find_noclobber_defs as appropriate. Keep track of an
16249 extra set merge_set_noclobber, and use it to relax the final test
16250 slightly.
16251 * df.h (df_simulate_find_noclobber_defs): Declare.
16252 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
16253 conditional defs.
16254 (df_simulate_find_noclobber_defs): New function.
16255
6a0447ba
UB
162562010-04-22 Uros Bizjak <ubizjak@gmail.com>
16257
16258 * config/i386/i386.md: Use {} around multi-line preparation statements.
16259
a1e3b3d9
LB
162602010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
16261
16262 * c-tree.h (push_init_level, pop_init_level, set_init_index)
16263 (process_init_element): New argument of type struct obstack *.
16264
16265 * c-typeck.c (push_init_level, pop_init_level, set_designator)
16266 (set_init_index, set_init_label, set_nonincremental_init)
16267 (set_nonincremental_init_from_string, find_init_member)
16268 (output_init_element, output_pending_init_elements)
16269 (process_init_element): New argument braced_init_obstack. Pass it
16270 down.
16271 (push_range_stack, add_pending_init): New argument
16272 braced_init_obstack. Use obstack allocation.
16273
16274 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
16275 braced_init_obstack. Pass it down.
16276 (c_parser_braced_init): New variables ret, braced_init_obstack.
16277 Initialize obstack, pass it down and finally free it.
16278
5b58b39b
BS
162792010-04-22 Bernd Schmidt <bernds@codesourcery.com>
16280
16281 PR middle-end/29274
5b58b39b
BS
16282 * tree-pass.h (pass_optimize_widening_mul): Declare.
16283 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
16284 gate_optimize_widening_mul): New static functions.
16285 (pass_optimize_widening_mul): New.
3d416346 16286 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
5b58b39b
BS
16287 <case MULT_EXPR>: Remove support for widening multiplies.
16288 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
16289 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
16290 simplify_gen_unary rather than directly building extensions.
16291 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
16292 WIDEN_MULT_EXPR.
16293 * expmed.c (expand_widening_mult): New function.
16294 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
16295
bc58d7e1
JH
162962010-04-21 Jan Hubicka <jh@suse.cz>
16297
16298 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
16299 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
16300 * lto-wpa-fixup.c: Remove.
16301 * Makefile.in (lto-wpa-fixup.o): Remove.
16302 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
16303 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
16304 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
16305
e792884f
JH
163062010-04-21 Jan Hubicka <jh@suse.cz>
16307
16308 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
16309 add write_optimization_summary, read_optimization_summary.
16310 (ipa_write_summaries_of_cgraph_node_set): Remove.
16311 (ipa_write_optimization_summaries): Declare.
16312 (ipa_read_optimization_summaries): Declare.
16313 * ipa-cp.c (pass_ipa_cp): Update.
16314 * ipa-reference.c (pass_ipa_reference): Update.
16315 * ipa-pure-const.c (pass_ipa_pure_const): Update.
16316 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
16317 Update.
16318 * ipa-inline.c (pass_ipa_inline): Update.
16319 * ipa.c (pass_ipa_whole_program): Update.
16320 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
16321 * passes.c (ipa_write_summaries_1): Do not test wpa.
16322 (ipa_write_optimization_summaries_1): New.
16323 (ipa_write_optimization_summaries): New.
16324 (ipa_read_summaries): Do not test ltrans.
16325 (ipa_read_optimization_summaries_1): New.
16326 (ipa_read_optimization_summaries): New.
16327
ecd03d10
JH
163282010-04-21 Jan Hubicka <jh@suse.cz>
16329
16330 * lto-cgraph.c (lto_output_node): Do not output comdat groups
16331 for boundary nodes.
16332 (output_cgraph): Do not arrange comdat groups for boundary nodes.
16333
71a810c3
JJ
163342010-04-21 Jakub Jelinek <jakub@redhat.com>
16335
16336 PR debug/40040
16337 * dwarf2out.c (add_name_and_src_coords_attributes): Add
16338 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
16339
dd6d1ad7
JH
163402010-04-21 Jan Hubicka <jh@suse.cz>
16341
16342 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
16343
c9945504
JH
163442010-04-21 Jan Hubicka <jh@suse.cz>
16345
16346 * varpool.c (decide_is_variable_needed): Variable is always needed
16347 during ltrans.
16348
e7cfce71
JH
163492010-04-21 Jan Hubicka <jh@suse.cz>
16350
16351 * opts.c (decode_options): Enable pure-const pass for whopr.
16352
0115e6c7
JH
163532010-04-21 Jan Hubicka <jh@suse.cz>
16354
16355 * cgraph.c (dump_cgraph_node): Dump also assembler name.
16356 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
16357 at WPA dumping.
16358 (cgraph_decide_inlining): Do not expect callee to be removed in all
16359 cases.
16360
96c2a0d6
EW
163612010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
16362
16363 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
16364
656ef6bb
UB
163652010-04-21 Uros Bizjak <ubizjak@gmail.com>
16366
16367 * config/i386/i386.md (x86_shrd): Add athlon_decode and
16368 amdfam10_decode attributes.
16369
78db7d92
JJ
163702010-04-21 Jakub Jelinek <jakub@redhat.com>
16371
16372 PR middle-end/43570
16373 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
16374 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
16375 (lower_copyprivate_clauses): Use private var in outer
16376 context instead of original var. Make sure the types
16377 are correct for VLAs.
16378
11152c95
RG
163792010-04-21 Richard Guenther <rguenther@suse.de>
16380
16381 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
16382 to non-pointer objects.
16383
8f65940d
JJ
163842010-04-21 Jakub Jelinek <jakub@redhat.com>
16385
0f2f44c0
JJ
16386 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
16387 last chain entry if it starts with the still current label.
16388 (add_location_or_const_value_attribute): Check that
6a0447ba 16389 loc_list->first->next is NULL instead of comparing ->first with ->last.
0f2f44c0
JJ
16390 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
16391 to add_var_loc_to_decl.
16392
8f65940d 16393 * dwarf2out.c (output_call_frame_info): For dw_cie_version
6a0447ba 16394 >= 4 add also address size and segment size fields into CIE header.
8f65940d
JJ
16395
16396 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
16397 long as address size is the same as sizeof (void *) and
16398 segment size is 0.
16399 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
16400 address size or segment size is unexpected, return DW_EH_PE_omit.
16401 (classify_object_over_fdes): If get_cie_encoding returned
16402 DW_EH_PE_omit, return -1.
16403 (init_object): If classify_object_over_fdes returned -1,
16404 pretend there were no FDEs at all.
16405
2d2d5a91
UB
164062010-04-21 Uros Bizjak <ubizjak@gmail.com>
16407
16408 * config/i386/i386.md (bswap<mode>2): Macroize expander from
16409 bswap{si,di}2 using SWI48 mode iterator.
16410 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
16411 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
16412 set modrm attribute of bswap insn to 0 and remove length attribute.
16413 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
16414 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
16415 set mode attribute to <MODE> and remove length attribute.
16416
4811db8d
JW
164172010-04-20 James E. Wilson <wilson@codesourcery.com>
16418
16419 PR rtl-optimization/43520
16420 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
16421 zero available registers.
16422
3c642f92
KG
164232010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16424
16425 * builtins.c (fold_builtin_cproj): Fold more cases.
16426
43272bf5
KG
164272010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16428
16429 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
16430 (fold_builtin_1): Fold builtin cproj.
16431 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
16432 Use ATTR_CONST_NOTHROW_LIST.
16433
e96ccb30
UB
164342010-04-20 Uros Bizjak <ubizjak@gmail.com>
16435
16436 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
16437 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
16438 ffsi2_no_cmove for !TARGET_CMOVE.
16439 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
16440 (ffssi2): Remove expander.
16441 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
16442 mode iterator.
16443 (ctz<mode>2): Ditto from ctz{si,di}2.
16444 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
16445 mode iterator.
16446 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
16447 mode iterator.
16448
4c0ab69d
JJ
164492010-04-20 Jakub Jelinek <jakub@redhat.com>
16450
16451 * dwarf2out.c (AT_linkage_name): Define.
16452 (clone_as_declaration): Handle DW_AT_linkage_name.
16453 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
16454 of DW_AT_MIPS_linkage_name.
16455 (move_linkage_attr): Likewise.
16456 (dwarf2out_finish): Likewise.
16457
94e85e0a
XDL
164582010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
16459
16460 PR middle-end/41952
e96ccb30 16461 * fold-const.c (fold_comparison): New folding rule.
94e85e0a 16462
4c0ab69d 164632010-04-20 Anatoly Sokolov <aesok@post.ru>
54fb1ae0
AS
16464
16465 * double-int.h (double_int_setbit): Declare.
16466 * double-int.c (double_int_setbit): New function.
16467 * rtl.h (immed_double_int_const): Declare.
16468 * emit-rtl.c (immed_double_int_const): New function.
16469 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
16470 and immed_double_int_const functions.
16471 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
16472 expand_copysign_bit): (Ditto.).
16473 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
16474 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
16475 * dojump.c (prefer_and_bit_test): (Ditto.).
16476 * expr.c (convert_modes, reduce_to_bit_field_precision,
16477 const_vector_from_tree): (Ditto.).
16478 * expmed.c (mask_rtx, lshift_value): (Ditto.).
16479
a837268b
JH
164802010-04-20 Jan Hubicka <jh@suse.cz>
16481
16482 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
16483 (dump_cgraph_node): Dump new flags.
e96ccb30
UB
16484 * cgraph.h (struct cgraph_node): Add flags
16485 reachable_from_other_partition and in_other_partition.
16486 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
16487 other partition can not be removed.
16488 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
16489 the other partition must be output; silence sanity checking on
16490 leaking functions bodies from other paritition.
a837268b
JH
16491 * lto-cgraph.c (reachable_from_other_partition_p): New function.
16492 (lto_output_node): Output new flags; do not sanity check that inline
16493 clones are output; drop lto_forced_extern_inline_p code; do not mock
16494 visibility flags at partition boundaries.
16495 (add_node_to): New function.
16496 (output_cgraph): Use it to sort functions so masters appear before
16497 clones.
16498 (input_overwrite_node): Input new flags.
16499 * passes.c (ipa_write_summaries): Do not call
16500 lto_new_extern_inline_states.
74ca3393
EB
16501 * lto-section-out.c (forced_extern_inline,
16502 lto_new_extern_inline_states lto_delete_extern_inline_states,
16503 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
a837268b
JH
16504 * lto-streamer.h (lto_new_extern_inline_states,
16505 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
16506 lto_forced_extern_inline_p): Kill.
16507
3c323b52
RG
165082010-04-20 Richard Guenther <rguenther@suse.de>
16509
16510 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
16511 from vars that can have pointers.
16512 (process_constraint): Dump useless constraints.
16513
b28ae58f
RG
165142010-04-20 Richard Guenther <rguenther@suse.de>
16515
e96ccb30 16516 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
b28ae58f
RG
16517 (dump_sa_points_to_info): Remove asserts.
16518 (init_base_vars): nothing_id isn't an escape point nor does it
16519 have pointers.
16520
1197ce8e
JJ
165212010-04-20 Jakub Jelinek <jakub@redhat.com>
16522
16523 * tree.h (TYPE_REF_IS_RVALUE): Define.
16524 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
16525 should_move_die_to_comdat, prune_unused_types_walk): Handle
16526 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
16527 (modified_type_die, gen_reference_type_die): Emit
16528 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
16529 if TYPE_REF_IS_RVALUE and -gdwarf-4.
16530
72e2cf16
AK
165312010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16532
16533 PR target/43635
16534 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
16535 calls for -fpic -m31 if they have been sibcall optimized.
16536
810d71d0
JW
165372010-04-19 James E. Wilson <wilson@codesourcery.com>
16538
4a863f3a
JW
16539 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
16540 ar.lc fixed and call-used.
16541
810d71d0
JW
16542 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
16543
3ee2243c
JH
165442010-04-19 Jan Hubicka <jh@suse.cz>
16545
16546 * opts.c (decode_options): Disable whpr incompatible passes.
16547 * lto/lto.c (lto_1_to_1_map): Skip clones.
16548 (read_cgraph_and_symbols): Do not mark everything as needed.
16549 (do_whole_program_analysis): Do map only after optimizing;
16550 set proper cgraph_state; use passmanager.
16551
576319a7
DD
165522010-04-19 DJ Delorie <dj@redhat.com>
16553
16554 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
16555 POINTER_PLUS_EXPR and fix them.
16556
578ad141
EW
165572010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
16558
16559 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
16560 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
16561 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
16562 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
16563 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
16564 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
16565 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
16566 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
16567 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
16568 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
16569 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
16570
d321bd2d
EB
165712010-04-19 Eric Botcazou <ebotcazou@adacore.com>
16572
16573 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
16574 (check_cond_move_block): Likewise.
16575 (cond_move_process_if_block): Likewise.
16576 (noce_find_if_block): Improve formatting.
16577 (find_if_header): Pass 0 to memset and tweak conditions.
16578 (cond_exec_find_if_block): Fix long lines and tweak conditions.
16579
74e27d0d
JJ
165802010-04-19 Jakub Jelinek <jakub@redhat.com>
16581
e96ccb30
UB
16582 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
16583 for -gdwarf-4.
74e27d0d 16584
fd2e4e99
JJ
16585 PR middle-end/43337
16586 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
16587 with non-local decl doesn't need chain.
16588
ec995732
VM
165892010-04-19 Vladimir Makarov <vmakarov@redhat.com>
16590
16591 * ira-color.c (allocno_reload_assign): Avoid accumulating
16592 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
16593
acd63801
MJ
165942010-04-19 Martin Jambor <mjambor@suse.cz>
16595
16596 * gimple.h (create_tmp_reg): Declare.
16597 * gimplify.c (create_tmp_reg): New function.
16598 (gimplify_return_expr): Use create_tmp_reg.
16599 (gimplify_omp_atomic): Likewise.
16600 (gimple_regimplify_operands): Likewise.
16601 * tree-dfa.c (make_rename_temp): Likewise.
16602 * tree-predcom.c (predcom_tmp_var): Likewise.
16603 (reassociate_to_the_same_stmt): Likewise.
16604 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
16605 (get_replaced_param_substitute): Likewise.
16606 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
16607 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
16608 * tree-ssa-pre.c (get_representative_for): Likewise.
16609 (create_expression_by_pieces): Likewise.
16610 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
16611 (create_tailcall_accumulator): Likewise.
16612
0b6e2868
MJ
166132010-04-19 Martin Jambor <mjambor@suse.cz>
16614
16615 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
16616 new_stmt.
16617 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
16618
1936a7d4
RG
166192010-04-19 Richard Guenther <rguenther@suse.de>
16620
16621 PR tree-optimization/43796
16622 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
16623 from SCEV in the lattice.
16624 (vrp_visit_phi_node): Dump change.
16625
479881c3
RG
166262010-04-19 Richard Guenther <rguenther@suse.de>
16627
16628 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
16629 * configure: Re-generated.
16630
d53bed0b
RG
166312010-04-19 Richard Guenther <rguenther@suse.de>
16632
16633 PR tree-optimization/43783
16634 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
16635 constant ARRAY_REF operands two and three if possible.
16636
90f775a9
UB
166372010-04-19 Uros Bizjak <ubizjak@gmail.com>
16638
16639 PR target/43766
16640 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
16641
8d9b7be5
JZ
166422010-04-19 Jie Zhang <jie@codesourcery.com>
16643
16644 PR target/43662
90f775a9 16645 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
8d9b7be5 16646
d5dceab8 166472010-04-19 Ira Rosen <irar@il.ibm.com>
b5aeb3bb
IR
16648
16649 PR tree-optimization/37027
e96ccb30 16650 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
b5aeb3bb
IR
16651 and macro to access it.
16652 (vectorizable_reduction): Add argument.
16653 (vect_get_slp_defs): Likewise.
16654 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
16655 statements for possible use in SLP.
16656 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
16657 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
16658 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
16659 add new argument.
16660 (vectorizable_reduction): Likewise.
e96ccb30 16661 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
b5aeb3bb
IR
16662 vect_get_slp_defs.
16663 (vectorizable_type_demotion, vectorizable_type_promotion,
16664 vectorizable_store): Likewise.
16665 (vect_analyze_stmt): Update call to vectorizable_reduction.
16666 (vect_transform_stmt): Likewise.
16667 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
16668 (vect_build_slp_tree): Fix indentation. Check that there are no loads
16669 from different interleaving chains in same node.
16670 (vect_slp_rearrange_stmts): New function.
e96ccb30 16671 (vect_supported_load_permutation_p): Allow load permutations for
b5aeb3bb
IR
16672 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
16673 inside SLP nodes if necessary.
16674 (vect_analyze_slp_instance): Handle reductions.
16675 (vect_analyze_slp): Try to build SLP instances originating from groups
16676 of reductions.
16677 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
16678 (vect_get_constant_vectors): Create initial vectors for reductions
16679 according to reduction code. Add new argument.
e96ccb30 16680 (vect_get_slp_defs): Add new argument, pass it to
b5aeb3bb
IR
16681 vect_get_constant_vectors.
16682 (vect_schedule_slp_instance): Remove SLP tree root statements.
16683
5a2fa9e8
JJ
166842010-04-19 Jakub Jelinek <jakub@redhat.com>
16685
16686 * tree.h (ENUM_IS_SCOPED): Define.
16687 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
16688 for ENUM_IS_SCOPED enums.
16689
3b9e5d95
EB
166902010-04-18 Eric Botcazou <ebotcazou@adacore.com>
16691
16692 * fold-const.c (fold_comparison): Use ssizetype.
16693 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
16694 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
16695 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
16696 * tree-object-size.c (compute_object_sizes): Use size_type_node.
16697
16698 * tree.h (initialize_sizetypes): Remove parameter.
16699 (build_common_tree_nodes): Remove second parameter.
16700 * stor-layout.c (initialize_sizetypes): Remove parameter.
16701 Always create an unsigned type.
16702 (set_sizetype): Assert that the passed type is unsigned and simplify.
16703 * tree.c (build_common_tree_nodes): Remove second parameter.
16704 Adjust call to initialize_sizetypes.
16705 * c-decl.c (c_init_decl_processing): Remove second argument in call to
16706 build_common_tree_nodes.
16707
b3c35965
MK
167082010-04-18 Matthias Klose <doko@ubuntu.com>
16709
16710 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
16711
d5dceab8 167122010-04-18 Ira Rosen <irar@il.ibm.com>
59eefaa6
IR
16713
16714 PR tree-optimization/43771
16715 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
16716 load permutation doesn't have gaps.
16717
07b3ef2e
JH
167182010-04-18 Jan Hubicka <jh@suse.cz>
16719
16720 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
16721 (sse_prologue_save_insn expander): Use new pattern.
16722 (sse_prologue_save_insn1): New pattern and splitter.
16723 (sse_prologue_save_insn): Update to deal also with 64bit aligned
16724 blocks.
90f775a9
UB
16725 * i386.c (setup_incoming_varargs_64): Do not compute jump
16726 destination here.
07b3ef2e 16727 (ix86_gimplify_va_arg): Update alignment needed.
90f775a9 16728 (ix86_local_alignment): Do not align all local arrays to 128bit.
07b3ef2e 16729
6a8cd100
JH
167302010-04-17 Jan Hubicka <jh@suse.cz>
16731
16732 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
16733
9e315505
RE
167342010-04-17 Richard Earnshaw <rearnsha@arm.com>
16735
16736 * arm.md (negdi2): Remove redundant code to force values into a
16737 register.
16738
6f0668cf
RE
167392010-04-17 Richard Earnshaw <rearnsha@arm.com>
16740
16741 * arm/bpabi.S: Add EABI alignment attributes to objects.
16742 * arm/bpabi-v6m.S: Likewise.
16743 * arm/crti.asm: Likewise.
16744 * arm/crtn.asm: Likewise.
16745 * arm/lib1funcs.asm: Likewise.
16746 * arm/libunwind.S: Likewise.
16747
1b78f575
RE
167482010-04-17 Richard Earnshaw <rearnsha@arm.com>
16749
16750 * arm-protos.h (tune_params): New structure.
16751 * arm.c (current_tune): New variable.
16752 (arm_constant_limit): Delete.
16753 (struct processors): Add pointer to the tune parameters.
16754 (arm_slowmul_tune): New tuning option.
16755 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
16756 (all_cores): Adjust to pick up the tuning model.
16757 (arm_constant_limit): New function.
16758 (arm_override_options): Select the appropriate tuning model. Delete
16759 initialization of arm_const_limit.
16760 (arm_split_constant): Use the new constant-limit model.
16761 (arm_rtx_costs): Pick up the current tuning model.
16762 * arm.md (is_strongarm, is_xscale): Delete.
16763 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
16764 for Xscale variant architectures.
16765 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
16766
80d56d04
RR
167672010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16768
1b78f575
RE
16769 * config/arm/arm.c (arm_gen_constant): Remove unused variable
16770 can_shift.
80d56d04
RR
16771 (arm_rtx_costs_1): Remove unused variable extra_cost.
16772 (arm_unwind_emit_set): Use variable offset.
16773 (thumb1_output_casesi): Remove unused variable flags.
16774
6190446b
JL
167752010-04-16 Jeff Law <law@redhat.com>
16776
16777 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
016f9d9d
JL
16778 needing assignment rather than doing a two-phase assignment. Remove
16779 unused variable 'm'.
6190446b 16780
24f8d71e
JJ
167812010-04-16 Jakub Jelinek <jakub@redhat.com>
16782
16783 PR bootstrap/43767
16784 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
16785
f1665f5c
DK
167862010-04-16 Doug Kwan <dougkwan@google.com>
16787
16788 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
16789 (next_operand_entry_id): New static variable.
16790 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
16791 (add_to_ops_vec): Assigned unique ID to operand entry.
16792 (struct oecount_s): New field ID.
16793 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
16794 (undistribute_ops_list): Assign unique IDs to oecounts.
16795 (init_reassoc): reset next_operand_entry_id.
16796
f638261a
DK
167972010-04-16 Doug Kwan <dougkwan@google.com>
16798
16799 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
16800 missing left parenthesis.
e96ccb30 16801
4a81b412
UB
168022010-04-16 Uros Bizjak <ubizjak@gmail.com>
16803
16804 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
16805 *btdi_rex64 using SWI48 mode iterator.
16806 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
16807 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
16808 *jcc_btdi_mask_rex64.
16809
9d4d1f8e
AS
168102010-04-16 Anatoly Sokolov <aesok@post.ru>
16811
16812 * double-int.h (tree_to_double_int): Convert to macro.
16813 * double-int.c (tree_to_double_int): Remove.
16814
835eb810
JJ
168152010-04-16 Jakub Jelinek <jakub@redhat.com>
16816
16817 PR debug/43762
16818 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
16819 with want_address 2 and in case a single element list might be
16820 possible, call it again with want_address 0.
16821
168222010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
db624ecb 16823
0f6b820c
KP
16824 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
16825 case 'W' print operands for HI mode.
16826 * config/h8300/h8300.h (Y0, Y2) : New constraints.
16827 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
16828 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
16829 * config/h8300/predicate.md (bit_register_indirect_operand): New.
16830
a7494d9e
KP
16831 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
16832
e96ccb30 16833 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
8cb81753
KP
16834 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
16835 #xx:3 and #xx:4 mode.
16836
60744089
KP
16837 * config/h8300/h8300.md (inverted load with HImode dest): Add
16838 support for H8300SX.
16839
db624ecb
KP
16840 * config/h8300/predicate.md (bit_operand): Allow immediate values that
16841 satisfy 'U' constraint.
16842
8ccb78f2
RO
168432010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16844
e96ccb30 16845 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
8ccb78f2
RO
16846 * configure: Regenerate.
16847 * config.in: Regenerate.
16848 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
16849 works.
16850
bc9c331d
RG
168512010-04-16 Richard Guenther <rguenther@suse.de>
16852
16853 * tree.h (struct tree_decl_minimal): Move pt_uid ...
16854 (struct tree_decl_common): ... here.
16855 (DECL_PT_UID): Adjust.
16856 (SET_DECL_PT_UID): Likewise.
16857 (DECL_PT_UID_SET_P): Likewise.
16858
12de6355
RG
168592010-04-16 Richard Guenther <rguenther@suse.de>
16860
16861 PR tree-optimization/43572
16862 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
16863 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
16864 * tree-flow.h (is_call_clobbered): Remove.
16865 * tree-flow-inline.h (is_call_clobbered): Likewise.
16866 * tree-dfa.c (dump_variable): Do not dump call clobber state.
16867 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
16868 (execute_return_slot_opt): Adjust.
16869 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
16870 check for call clobbered vars here.
16871 (find_tail_calls): Move tailcall verification to the
16872 proper place.
16873
6ab643b5
DN
168742010-04-16 Diego Novillo <dnovillo@google.com>
16875
e96ccb30 16876 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
6ab643b5 16877
f0c6475a
BS
168782010-04-16 Bernd Schmidt <bernds@codesourcery.com>
16879
16880 PR target/40603
16881 * config/arm/arm.md (cbranchqi4): New pattern.
16882 * config/arm/predicates.md (const0_operand,
16883 cbranchqi4_comparison_operator): New predicates.
16884
f0107145
RG
168852010-04-16 Richard Guenther <rguenther@suse.de>
16886
16887 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
16888 (dump_gimple_stmt): Likewise.
16889
f0c6475a 168902010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6ddfdb0f
BS
16891
16892 * recog.h (struct recog_data): New field is_operator.
16893 (struct insn_operand_data): New field is_operator.
16894 * recog.c (extract_insn): Set recog_data.is_operator.
16895 * genoutput.c (output_operand_data): Emit code to set the
16896 is_operator field.
16897 * reload.c (find_reloads): Use it rather than testing for an
16898 empty constraint string.
16899
6ea007e4
BS
16900 PR target/41514
16901 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
16902 If the previous insn is a cbranchsi4_insn with the same arguments,
16903 omit the compare instruction.
16904
3302cfa1
BS
16905 * config/arm/arm.md (addsi3_cbranch): If destination is a high
16906 register, inputs must be low registers and we need a low register
16907 scratch. Handle alternative 2 like alternative 3.
16908
5312b066
JJ
169092010-04-16 Jakub Jelinek <jakub@redhat.com>
16910
16911 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
16912 don't call get_addr on both. If one expression is a VALUE and
16913 the other a REG, check VALUE's locs if the REG isn't among them.
16914
7a296495
CB
169152010-04-16 Christian Bruel <christian.bruel@st.com>
16916
16917 * config/sh/sh.h (sh_frame_pointer_required): New function.
16918 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
16919 (flag_omit_frame_pointer) Set.
16920 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
16921 (rounded_frame_size): Adjust size with outgoing_args_size.
16922 (sh_set_return_address): Must return from stack pointer.
16923 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
16924 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
16925 (ACCUMULATE_OUTGOING_ARGS): Define.
16926 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
ade52657 16927 * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
7a296495 16928
7140f0f9
KK
169292010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
16930
16931 PR target/43471
16932 * config/sh/sh.c (sh_legitimize_reload_address): Use
16933 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
16934 Remove a unneeded check for offset_base.
16935
bafaef55
L
169362010-04-15 H.J. Lu <hongjiu.lu@intel.com>
16937
16938 * configure: Regenerated.
16939
e8de8fea
AK
169402010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
16941
16942 * config/s390/s390.c (s390_call_save_register_used): Switch back
16943 to HARD_REGNO_NREGS.
16944
038a39d1
RG
169452010-04-15 Richard Guenther <rguenther@suse.de>
16946
16947 * alias.c (alias_set_subset_of): Handle alias-set zero
16948 child properly.
16949
28907f9a
MS
169502010-04-15 Mark Shinwell <shinwell@codesourcery.com>
16951 Julian Brown <julian@codesourcery.com>
16952
16953 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
16954 alternatives according to use of high and low regs.
16955 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
16956 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
16957 optimizing for size on Thumb-2.
16958
3f56ef8b
TS
169592010-04-15 Thomas Schwinge <tschwinge@gnu.org>
16960
16961 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
16962
25a6a873
RG
169632010-04-15 Richard Guenther <rguenther@suse.de>
16964
16965 * tree-ssa-structalias.c (struct variable_info): Add
16966 is_fn_info flag.
16967 (new_var_info): Initialize it.
16968 (dump_constraints): Support printing last added constraints.
16969 (debug_constraints): Adjust.
16970 (dump_constraint_graph): Likewise.
16971 (make_heapvar_for): Check for NULL cfun.
16972 (get_function_part_constraint): New function.
16973 (get_fi_for_callee): Likewise.
16974 (find_func_aliases): Properly implement IPA PTA constraints.
16975 (process_ipa_clobber): New function.
16976 (find_func_clobbers): Likewise.
16977 (insert_into_field_list_sorted): Remove.
16978 (create_function_info_for): Properly allocate vars for IPA mode.
16979 Do not use insert_into_field_list_sorted.
16980 (create_variable_info_for): Properly generate constraints for
16981 global vars in IPA mode.
16982 (dump_solution_for_var): Always dump the solution.
16983 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
16984 (find_what_var_points_to): Adjust.
16985 (pt_solution_set): Change.
16986 (pt_solution_ior_into): New function.
16987 (pt_solution_empty_p): Export.
16988 (pt_solution_includes_global): Adjust.
16989 (pt_solution_includes_1): Likewise.
16990 (pt_solutions_intersect_1): Likewise.
16991 (dump_sa_points_to_info): Check some invariants.
16992 (solve_constraints): Move constraint dumping ...
16993 (compute_points_to_sets): ... here.
16994 (ipa_pta_execute): ... and here.
16995 (compute_may_aliases): Do not re-compute points-to info
16996 locally if IPA info is available.
16997 (ipa_escaped_pt): New global var.
16998 (ipa_pta_execute): Properly implement IPA PTA.
16999 * tree-into-ssa.c (dump_decl_set): Support dumping
17000 decls not in referenced-vars.
17001 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
17002 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
17003 (dump_points_to_solution): Likewise.
17004 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
17005 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
e96ccb30 17006 (remap_gimple_stmt): Reset call clobber/use information if necessary.
25a6a873
RG
17007 (copy_decl_to_var): Copy DECL_PT_UID.
17008 (copy_result_decl_to_var): Likewise.
17009 * tree.c (make_node_stat): Initialize DECL_PT_UID.
17010 (copy_node_stat): Copy it.
17011 * tree.h (DECL_PT_UID): New macro.
17012 (SET_DECL_PT_UID): Likewise.
17013 (DECL_PT_UID_SET_P): Likewise.
17014 (struct tree_decl_minimal): Add pt_uid member.
17015 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
17016 (pt_solution_empty_p): Declare.
17017 (pt_solution_set): Adjust.
17018 (ipa_escaped_pt): Declare.
17019 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
17020 * gimple-pretty-print.c (pp_points_to_solution): New function.
17021 (dump_gimple_call): Dump call clobber/use information.
17022 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
17023 * tree-pass.h (TDF_ALIAS): New dump option.
17024 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
17025 * doc/invoke.texi (-fipa-pta): Update documentation.
17026
cbdd87d4
RG
170272010-04-15 Richard Guenther <rguenther@suse.de>
17028
17029 * Makefile.in (OBJS-common): Add gimple-fold.o.
17030 (gimple-fold.o): New rule.
17031 * tree.h (maybe_fold_offset_to_reference,
17032 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
17033 prototypes ...
17034 * gimple.h: ... here.
17035 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
17036 may_propagate_address_into_dereference): Move prototypes ...
17037 * gimple.h: ... here.
17038 * tree-ssa-ccp.c (get_symbol_constant_value,
17039 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
17040 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
17041 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
17042 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
17043 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
17044 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
17045 gimplify_and_update_call_from_tree): Move ...
17046 * gimple-fold.c: ... here. New file.
17047 (ccp_fold_builtin): Rename to ...
17048 (gimple_fold_builtin): ... this.
17049 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
17050
330db1e3
RG
170512010-04-15 Richard Guenther <rguenther@suse.de>
17052
17053 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
17054 fit_double_type, force_fit_type_double, add_double_with_sign,
17055 neg_double, mul_double_with_sign, lshift_double, rshift_double,
17056 lrotate_double, rrotate_double, div_and_round_double): Move ...
17057 * double-int.c: ... here.
17058 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
17059 add_double, neg_double, mul_double_with_sign, mul_double,
17060 lshift_double, rshift_double, lrotate_double, rrotate_double,
17061 div_and_round_double): Move prototypes ...
17062 * double-int.h: ... here.
17063
f0c6475a 170642010-04-15 Bernd Schmidt <bernds@codesourcery.com>
077668e3
BS
17065
17066 PR target/43742
17067 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
17068 matching constraints to ensure inputs match the output.
17069
fa66fc40
KK
170702010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
17071
17072 PR target/43742
17073 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
e96ccb30 17074 in an input-only operand.
fa66fc40 17075
2bd1333d
AS
170762010-04-15 Anatoly Sokolov <aesok@post.ru>
17077
17078 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
17079 (double_int_not, double_int_lshift, double_int_rshift): Declare.
17080 (double_int_negative_p): Convert to static inline function.
74ca3393 17081 * double-int.c (double_int_lshift, double_int_lshift): New functions.
2bd1333d 17082 (double_int_negative_p): Remove.
e96ccb30 17083 * tree.h (lshift_double, rshift_double):
2bd1333d
AS
17084 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
17085 * fold-const.c (fold_convert_const_int_from_real,
17086 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
17087 (lshift_double): Change type of arith argument to bool.
17088 (rshift_double): Change type of arith argument to bool. Correct
17089 comment.
17090 * expmed.c (mask_rtx, lshift_value): (Ditto.).
17091
f0c6475a 170922010-04-14 Bernd Schmidt <bernds@codesourcery.com>
e96ccb30 17093
31ce8a53
BS
17094 PR target/21803
17095 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
17096 at the start and end of the then/else blocks, and omit them from the
17097 conversion.
17098 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
17099 argument; all callers changed. Pass zero to old_insns_match_p instead.
17100 (flow_find_head_matching_sequence): New function.
17101 (old_insns_match_p): Check REG_EH_REGION notes for calls.
17102 * basic-block.h (flow_find_cross_jump,
17103 flow_find_head_matching_sequence): Declare functions.
17104
943f82e7
JM
171052010-04-14 Jason Merrill <jason@redhat.com>
17106
17107 PR c++/36625
17108 * c-common.c (attribute_takes_identifier_p): New fn.
17109 * c-common.h: Declare it.
17110
feeb8c52
UB
171112010-04-14 Uros Bizjak <ubizjak@gmail.com>
17112
17113 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
17114 splitter condition.
17115 (*udivmod<mode>4): Ditto.
17116
4a5528cc
UB
171172010-04-14 Uros Bizjak <ubizjak@gmail.com>
17118
17119 * config/i386/i386.md (maxmin_int): Rename code attribute from
17120 maxminiprefix and update all users.
17121 (maxmin_float): Ditto from maxminfprefix.
17122 (logic): Ditto from logicprefix.
17123 (absneg_mnemonic): Ditto from absnegprefix.
17124 * config/i386/mmx.md: Update all users of maxminiprefix,
4a81b412 17125 maxminfprefix and logicprefix for rename.
4a5528cc
UB
17126 * config/i386/sse.md: Ditto.
17127 * config/i386/sync.md (sync_<code><mode>): Update for
17128 logicprefix rename.
17129
289fcbbd
MLI
171302010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
17131
17132 PR 42966
17133 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
17134 warnings converted to errors.
17135
d58770e7
UB
171362010-04-14 Uros Bizjak <ubizjak@gmail.com>
17137
17138 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
17139 used insn_type variable.
17140 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
17141 to avoid set-but-not-used warning.
17142
a3f1cee4
UB
171432010-04-14 Uros Bizjak <ubizjak@gmail.com>
17144
17145 * df-core.c (df_ref_debug): Change format string placeholder
17146 from 0x%x to %#x.
17147 * dwarf2asm.c (dw2_asm_output_data_raw,
17148 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
17149 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
17150 * dwarf2out.c (output_cfi, output_cfi_directive,
17151 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
17152 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
17153 Ditto.
17154 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
17155 * print-rtl.c (print_rtx): Ditto.
17156
3eb4dbe3
MM
171572010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
17158
17159 PR middle-end/42694
17160 * builtins.c (expand_builtin_pow_root): New function to expand pow
17161 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
17162 series of sqrt and cbrt calls under -ffast-math.
17163 (expand_builtin_pow): Call it.
17164
fc249fe5
MM
171652010-04-14 Michael Matz <matz@suse.de>
17166
17167 PR tree-optimization/42963
17168 * tree-cfg.c (touched_switch_bbs): New static variable.
17169 (group_case_labels_stmt): New function broken out from ...
17170 (group_case_labels): ... here, use the above.
17171 (start_recording_case_labels): Allocate touched_switch_bbs.
17172 (end_recording_case_labels): Deallocate it, call
17173 group_case_labels_stmt.
17174 (gimple_redirect_edge_and_branch): Remember index of affected BB.
17175
0fcbf3ed
UB
171762010-04-14 Uros Bizjak <ubizjak@gmail.com>
17177
17178 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
17179 from insn template.
17180
3f529c2c
UB
171812010-04-14 Uros Bizjak <ubizjak@gmail.com>
17182
17183 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
17184
1ce18dc8
JH
171852010-04-13 Jan Hubicka <jh@suse.cz>
17186
17187 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
17188 of optimized out static functions.
17189 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
17190 cost computation. Also sanity check for overflows.
17191 (update_caller_keys): Update cgraph_edge_badness call; properly
17192 update fibheap and sanity check that it is up to date.
17193 (add_new_edges_to_heap): Update cgraph_edge_badness.
17194 (cgraph_decide_inlining_of_small_function): Likewise;
17195 add sanity checking that badness in heap is up to date;
17196 improve dumping of reason; Update badness of calls to the
17197 offline copy of function currently inlined; dump badness
17198 of functions not inlined because of unit growth limits.
17199
9e9ef331
EB
172002010-04-13 Eric Botcazou <ebotcazou@adacore.com>
17201
17202 PR middle-end/32628
17203 * c-common.c (pointer_int_sum): Disregard overflow that occured only
17204 because of sign-extension change when converting to sizetype here...
17205 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
17206
17207 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
17208 the folding to constants. Remove redundant final conversion.
17209 (fold_binary) <associate>: Do not associate if the re-association of
17210 constants alone overflows.
17211 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
17212 to the end of the list.
17213 (multiple_of_p) <COND_EXPR>: New case.
17214
9db94baa
MLI
172152010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
17216
17217 * opt-functions.awk (opt_sanitized_name): New.
17218 (opt_enum): New.
17219 * optc-gen.awk: Use it
17220 * opth-gen.awk: Use it.
17221
0f2ffb9a
MJ
172222010-04-13 Martin Jambor <mjambor@suse.cz>
17223
17224 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
17225 (sra_modify_assign): Delete stmts loading dead data even if racc has no
17226 children. Call replace_uses_with_default_def_ssa_name to handle
17227 SSA_NAES on lhs.
17228
f78b86c0
MM
172292010-04-13 Michael Matz <matz@suse.de>
17230
17231 PR middle-end/43730
17232 * builtins.c (expand_builtin_interclass_mathfn): Also create
17233 a register if the predicate doesn't match.
17234
0e6229c2
DN
172352010-04-13 Diego Novillo <dnovillo@google.com>
17236
17237 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
17238 * c-pch.c: Include timevar.h.
17239 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
3f529c2c 17240 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
0e6229c2 17241 * ggc-common.c: Include timevar.h.
3f529c2c 17242 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
0e6229c2
DN
17243 * timevar.def (TV_PCH_SAVE): Define.
17244 (TV_PCH_CPP_SAVE): Define.
17245 (TV_PCH_PTR_REALLOC): Define.
17246 (TV_PCH_PTR_SORT): Define.
17247 (TV_PCH_RESTORE): Define.
17248 (TV_PCH_CPP_RESTORE): Define.
17249
143597ff
MM
172502010-04-13 Michael Matz <matz@suse.de>
17251
17252 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
17253 into MINUS_EXPRs.
17254 (can_reassociate_p): New function.
17255 (break_up_subtract_bb, reassociate_bb): Use it.
17256
54c5ec4f
RG
172572010-04-13 Richard Guenther <rguenther@suse.de>
17258
17259 PR bootstrap/43737
17260 * builtins.c (c_readstr): Fix assert.
17261
719938ae
UB
172622010-04-13 Uros Bizjak <ubizjak@gmail.com>
17263
17264 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
17265 when generating cltd insn.
17266
17267 (*ashl<mode>3_1): Remove special handling for register operand 2.
17268 (*ashlsi3_1_zext): Ditto.
17269 (*ashlhi3_1): Ditto.
17270 (*ashlhi3_1_lea): Ditto.
17271 (*ashlqi3_1): Ditto.
17272 (*ashlqi3_1_lea): Ditto.
17273 (*<shiftrt_insn><mode>3_1): Ditto.
17274 (*<shiftrt_insn>si3_1_zext): Ditto.
17275 (*<shiftrt_insn>qi3_1_slp): Ditto.
17276 (*<rotate_insn><mode>3_1): Ditto.
17277 (*<rotate_insn>si3_1_zext): Ditto.
17278 (*<rotate_insn>qi3_1_slp): Ditto.
17279
3e8542ca
RG
172802010-04-13 Richard Guenther <rguenther@suse.de>
17281
17282 * tree-ssa-structalias.c (callused_id): Remove.
17283 (call_stmt_vars): New.
17284 (get_call_vi): Likewise.
17285 (lookup_call_use_vi): Likewise.
17286 (lookup_call_clobber_vi): Likewise.
17287 (get_call_use_vi): Likewise.
17288 (get_call_clobber_vi): Likewise.
17289 (make_transitive_closure_constraints): Likewise.
17290 (handle_const_call): Adjust to do per-call call-used handling.
17291 (handle_pure_call): Likewise.
17292 (find_what_var_points_to): Remove general callused handling.
17293 (init_base_vars): Likewise.
17294 (init_alias_vars): Initialize call_stmt_vars.
17295 (compute_points_to_sets): Process call-used and call-clobbered
17296 vars for call statements.
17297 (delete_points_to_sets): Free call_stmt_vars.
17298
777e1f09
RG
172992010-04-13 Richard Guenther <rguenther@suse.de>
17300
17301 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
17302 Only add RW dependence for dependence distance zero.
17303 Adjust maximal vectorization factor according to dependences.
17304 Move alignment handling ...
17305 (vect_find_same_alignment_drs): ... here. New function.
17306 (vect_analyze_data_ref_dependences): Adjust.
17307 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
17308 (vect_analyze_data_refs): Adjust minimal vectorization factor
17309 according to data references.
17310 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
17311 dependences before determining the vectorization factor.
17312 Analyze alignment after determining the vectorization factor.
17313 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
17314 dependences before alignment.
17315 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
17316 Adjust prototype.
17317 (vect_analyze_data_refs): Likewise.
17318 (MAX_VECTORIZATION_FACTOR): New define.
17319
1a710808
DS
173202010-04-13 Duncan Sands <baldrick@free.fr>
17321
17322 * except.h (lang_eh_type_covers): Remove.
17323 * except.c (lang_eh_type_covers): Likewise.
17324
9602b6a1 173252010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3f529c2c
UB
17326 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
17327
9602b6a1
AK
17328 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
17329 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
3f529c2c 17330 UNITS_PER_LONG where it is ABI relevant.
9602b6a1
AK
17331 (s390_return_addr_rtx): Likewise.
17332 (s390_back_chain_rtx): Likewise.
17333 (s390_frame_area): Likewise.
17334 (s390_frame_info): Likewise.
17335 (s390_initial_elimination_offset): Likewise.
17336 (save_gprs): Likewise.
17337 (s390_emit_prologue): Likewise.
17338 (s390_emit_epilogue): Likewise.
17339 (s390_function_arg_advance): Likewise.
17340 (s390_function_arg): Likewise.
17341 (s390_va_start): Likewise.
17342 (s390_gimplify_va_arg): Likewise.
17343 (s390_function_profiler): Likewise.
17344 (s390_optimize_prologue): Likewise.
17345 (s390_rtx_costs): Likewise.
17346 (s390_secondary_reload): Likewise.
17347 (s390_promote_function_mode): Likewise.
17348 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
17349 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
17350 registers available.
17351 (s390_unwind_word_mode): New function.
17352 (s390_function_value): Split 64 bit values into register pair if
17353 used as return value.
17354 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
17355 function call parameters. Handle parallels.
17356 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
17357 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
17358 (DWARF_CIE_DATA_ALIGNMENT): New macro.
17359 (s390_expand_setmem): Remove unused variable src_addr.
17360 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
3f529c2c 17361 deal with 64 bit registers.
9602b6a1
AK
17362 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
17363 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
17364 (UNITS_PER_LONG): New macro.
17365 * libjava/include/s390-signal.h: Define extended ucontext
17366 structure containing the upper halfs of the 64 bit registers.
17367
3b123595
SB
173682010-04-13 Simon Baldwin <simonb@google.com>
17369
17370 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
17371
cb3d597d
EB
173722010-04-13 Eric Botcazou <ebotcazou@adacore.com>
17373
17374 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
17375 rvalue on the RHS if the LHS is of a non-renamable type.
17376 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
17377
4adbd5dd
MK
173782010-04-13 Matthias Klose <doko@ubuntu.com>
17379
17380 * gcc.c (cc1_options): Handle -iplugindir before processing
17381 the cc1 spec. Only add -iplugindir once.
17382 (cpp_unique_options): Add -iplugindir option if -fplugin* options
17383 found.
17384 * common.opt (iplugindir): Remove `Separate' property, initialize.
17385 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
17386 option.
17387 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
17388 (distclean): Remove plugin dir.
17389 * doc/invoke.texi: Document -iplugindir.
17390
173912010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
17392
17393 * doc/plugins.texi (Loading Plugins): Document short
17394 -fplugin=foo option.
17395 (Plugin API): Mention default_plugin_dir_name function.
17396
17397 * gcc.c (find_file_spec_function): Add new declaration.
17398 (static_spec_func): Use it for "find-file".
17399 (find_file_spec_function): Add new function.
17400 (cc1_options): Add -iplugindir option if -fplugin* options found.
17401
17402 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
17403
17404 * plugin.c (add_new_plugin): Updated comment, and handle short
17405 plugin name.
17406 (default_plugin_dir_name): Added new function.
17407
719938ae 17408 * common.opt (iplugindir): New option to set the plugin directory.
4adbd5dd 17409
e0db9cc6
UB
174102010-04-12 Uros Bizjak <ubizjak@gmail.com>
17411
17412 * config/i386/i386.md (any_rotate): New code iterator.
17413 (rotate_insn): New code attribute.
17414 (rotate): Ditto.
17415 (SWIM124): New mode iterator.
17416 (<rotate_insn>ti3): New expander.
17417 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
17418 any_rotate code iterator.
17419 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
17420 using any_rotate code iterator and SWIM124 mode iterator.
17421 (ix86_rotlti3): New insn_and_split pattern.
17422 (ix86_rotrti3): Ditto.
17423 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
17424 ix86_rotl{di,ti}3 patterns.
17425 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
17426 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
17427 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
17428 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
17429 code iterator and SWI mode iterator.
17430 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
17431 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
17432 code iterator.
17433 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
17434 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
17435 (bswap rotatert splitter): Add splitter.
17436 (bswap splitter): Macroize splitter using any_rotate code iterator.
17437 Add insn predicate to split only for TARGET_USE_XCHGB or when
17438 optimizing function for size.
17439
077c8ada
SE
174402010-04-12 Steve Ellcey <sje@cup.hp.com>
17441
17442 * config/pa/pa.c (emit_move_sequence): Remove use of
17443 deleted variable flag_argument_noalias.
17444
c7392d11
RO
174452010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17446
17447 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
17448 configurations.
17449 Add to unsupported targets list.
17450 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
17451 sparc*-sun-solaris2.[567]* from target lists.
17452 * configure: Regenerate.
17453 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
17454 removal.
17455 Remove Solaris 7 patch references.
17456 (Specific, sparc-sun-solaris2.7): Removed.
17457 (sparc-sun-solaris2*): Update Solaris 7 example.
17458 (sparc64-*-solaris2*): Likewise.
17459
8c200350
RO
174602010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17461
17462 * config.build (alpha*-dec-osf4*): Remove.
17463 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
17464 of obsolete configurations.
17465 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
17466 support.
17467 * config/alpha/t-osf4: Renamed to ...
17468 * config/alpha/t-osf5: ... this.
17469 * config/alpha/osf.h: Renamed to ...
17470 * config/alpha/osf5.h: ... this.
17471 Merged old osf5.h contents.
17472 Update comments.
17473 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
17474 (EXTRA_SPECS): Removed.
17475 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
17476 reflect removal of Tru64 UNIX V4.0/V5.0 support.
17477 Document that.
17478
887204da
RO
174792010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17480
17481 * doc/contrib.texi (Contributors, Rainer Orth): Update.
17482
c1b8e139
KT
174832010-04-12 Kai Tietz <kai.tietz@onevision.com>
17484
17485 PR/43702
17486 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
17487 __thiscall convention.
17488
b38bccca
SE
174892010-04-12 Steve Ellcey <sje@cup.hp.com>
17490
17491 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
17492 orig_base.
17493 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
17494
fc2f1f53
SE
174952010-04-12 Steve Ellcey <sje@cup.hp.com>
17496
17497 * function.c (assign_parms_initialize_all): Add unused attribute
17498 to fntype.
17499
d086d311
RG
175002010-04-12 Richard Guenther <rguenther@suse.de>
17501
17502 * gsstruct.def (GSS_CALL): New.
17503 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
17504 * gimple.h: Include tree-ssa-alias.h.
17505 (struct gimple_statement_call): New.
17506 (union gimple_statement_struct_d): Add gimple_call member.
17507 (gimple_call_reset_alias_info): Declare.
17508 (gimple_call_use_set): New function.
17509 (gimple_call_clobber_set): Likewise.
17510 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
17511 * gimple.c (gimple_call_reset_alias_info): New function.
17512 (gimple_build_call_1): Call it.
17513 * lto-streamer-in.c (input_gimple_stmt): Likewise.
17514 * tree-inline.c (remap_gimple_stmt): Likewise.
17515 (expand_call_inline): Remove callused handling.
17516 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
17517 * tree-dfa.c (dump_variable): Likewise.
17518 * tree-parloops.c (parallelize_loops): Likewise.
17519 * tree-ssa.c (init_tree_ssa): Likewise.
17520 (delete_tree_ssa): Likewise.
17521 * tree-flow-inline.h (is_call_used): Remove.
17522 * tree-flow.h (struct gimple_df): Remove callused member.
17523 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
17524 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
17525 (ref_maybe_used_by_call_p_1): Simplify.
17526 (call_may_clobber_ref_p_1): Likewise.
17527 * tree-ssa-structalias.c (compute_points_to_sets): Set
17528 the call stmt used and clobbered sets.
17529 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
17530 (find_tail_calls): Verify the tail call.
17531
af961c7f
RG
175322010-04-12 Richard Guenther <rguenther@suse.de>
17533
17534 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
17535 single-iteration always-inline inlining.
17536 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
e0db9cc6 17537 (cgraph_decide_inlining): Do not handle always-inline specially.
af961c7f
RG
17538 (try_inline): Remove always-inline cycle detection special case.
17539 Do not recurse on always-inlines.
17540 (cgraph_early_inlining): Do not iterate if not optimizing.
17541 (cgraph_gate_early_inlining): remove.
17542 (pass_early_inline): Run unconditionally.
17543 (gate_cgraph_decide_inlining): New function.
17544 (pass_ipa_inline): Use it. Do not run the IPA inliner if
17545 not inlining or optimizing.
17546 (cgraph_decide_inlining_of_small_functions): Also consider
17547 always-inline functions.
17548 (cgraph_default_inline_p): Return true for nodes which should
17549 disregard inline limits.
17550 (estimate_function_body_sizes): Assume zero size and time for
17551 nodes which are marked as disregarding inline limits.
17552 (cgraph_decide_recursive_inlining): Do not perform recursive
17553 inlining on always-inline nodes.
17554
fa8351f8
JJ
175552010-04-12 Jakub Jelinek <jakub@redhat.com>
17556
17557 PR bootstrap/43699
17558 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
17559 for exprs satisfying handled_component_p.
17560
675c873b
EB
175612010-04-12 Eric Botcazou <ebotcazou@adacore.com>
17562
17563 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
17564 non-constant aggregate elements.
17565
17566 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
17567 is a real initialization.
17568
c4712597
SZ
175692010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
17570
17571 PR c/36774
17572 * c-decl.c (start_function): Move forward check for nested function.
17573
6f50eb9c
KK
175742010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
17575
17576 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
17577 * config/sh/sh.c: Include reload.h.
17578 (sh_legitimize_reload_address): New.
17579 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
17580 sh_legitimize_reload_address.
17581
c11c09f9
KP
175822010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
17583
17584 * config/sh/sh.md (*movqi_pop): New insn pattern.
17585 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
17586
d72ebc16
UB
175872010-04-11 Uros Bizjak <ubizjak@gmail.com>
17588
17589 * config/i386/i386.md (any_shiftrt): New code iterator.
17590 (shiftrt_insn): New code attribute.
17591 (shiftrt): Ditto.
e0db9cc6
UB
17592 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
17593 using any_shiftrt code iterator.
d72ebc16 17594 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
e0db9cc6 17595 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
d72ebc16
UB
17596 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
17597 pattern from corresponding peephole2 patterns.
e0db9cc6
UB
17598 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
17599 using any_shiftrt code iterator.
17600 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
17601 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
17602 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
17603 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
17604 *{ashr,lshr}<mode>3_cmp_zext.
17605 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
d72ebc16 17606
59caab22
UB
176072010-04-11 Uros Bizjak <ubizjak@gmail.com>
17608
17609 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
17610 scratch register.
17611 (*lshr<mode>3_cconly): Ditto.
17612
9200ac72
UB
176132010-04-11 Uros Bizjak <ubizjak@gmail.com>
17614
17615 * config/i386/i386.md (lshr<mode>3): Macroize expander from
17616 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
17617 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
17618 pattern from *lshr{di,ti}3_1 and corresponding splitters using
17619 DWI mode iterator.
17620 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
17621 from corresponding peephole2 patterns.
17622 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
17623 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
17624 and *lshrdi3_1_rex64 using SWI mode iterator.
d72ebc16 17625 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
9200ac72
UB
17626 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
17627 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
17628 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
17629 and *lshrdi3_cmp_rex64 using SWI mode iterator.
17630 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
17631 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
17632 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
17633 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
17634 SWI mode iterator.
17635
27431d88
UB
176362010-04-10 Uros Bizjak <ubizjak@gmail.com>
17637
17638 * config/i386/i386.md (ashr<mode>3): Macroize expander from
17639 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
17640 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
17641 pattern from *ashr{di,ti}3_1 and corresponding splitters using
17642 DWI mode iterator.
17643 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
17644 from corresponding peephole2 patterns.
17645 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
17646 (ashrsi3_cvt): Rename from ashrsi3_31.
17647 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
17648 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
17649 and x86_64_shift_adj_3 using SWI48 mode iterator.
17650 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
17651 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
17652 and *ashrdi3_1_rex64 using SWI mode iterator.
d72ebc16 17653 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
27431d88
UB
17654 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
17655 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
17656 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
17657 and *ashrdi3_cmp_rex64 using SWI mode iterator.
17658 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
17659 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
17660 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
17661 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
17662 SWI mode iterator.
59caab22 17663 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
27431d88 17664 * config/i386/i386.c (ix86_split_ashr): Update for renamed
9200ac72 17665 x86_shift<mode>_adj_3 expanders.
27431d88 17666
85c9bcd4
WG
176672010-04-10 Wei Guozhi <carrot@google.com>
17668
17669 PR target/42601
17670 * config/arm/arm.c (arm_pic_static_addr): New function.
17671 (legitimize_pic_address): Call arm_pic_static_addr when it detects
17672 a static symbol.
17673 (arm_output_addr_const_extra): Output expression for new pattern.
17674 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
17675
f0c6475a 176762010-04-10 Bernd Schmidt <bernds@codesourcery.com>
979740a0
BS
17677
17678 * ira-costs.c (record_reg_classes): Ignore alternatives that are
17679 not enabled.
4143fd36
BS
17680
17681 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
17682 * web.c: Include "insn-config.h" and "recog.h".
17683 (union_match_dups): New function.
17684 (web_main): Call it.
17685 (union_defs): Don't try to recognize match_dups.
17686
52c1d580
BS
17687 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
17688 if doing so would replace the entire pattern.
17689
ef0f4a03
UB
176902010-04-09 Uros Bizjak <ubizjak@gmail.com>
17691
17692 PR target/43707
17693 PR target/43709
17694 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
17695 and splitter pattern. Change splitter operand 1 predicate to
17696 nonmemory_operand.
17697
add5d998
MJ
176982010-04-09 Martin Jambor <mjambor@suse.cz>
17699
17700 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
17701 lattices are addresses of CONST_DECLs with the same initial value.
17702 (ipcp_print_all_lattices): Print values of CONST_DECLs.
17703 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
17704
43ba743c 177052010-04-09 Eric Botcazou <ebotcazou@adacore.com>
f0c6475a 17706 Bernd Schmidt <bernds@codesourcery.com>
43ba743c
EB
17707
17708 * loop-invariant.c (replace_uses): New static function.
17709 (move_invariant_reg): Use it to ensure we can replace the uses.
17710
177112010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
c3fd7b4d 17712
27431d88
UB
17713 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
17714 function template.
43ba743c 17715 (picochip_override_options): Enable section anchors only above -O1.
c3fd7b4d
HS
17716 (picochip_reorg): Fixed a couple of build warnings.
17717
fcf52686
RO
177182010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17719
17720 * configure.ac (plugin -rdynamic test): Log result.
17721 * configure: Regenerate.
17722 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
17723 (RDYNAMIC_SPEC): Define.
17724 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
17725
55c4f715
RO
177262010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17727
17728 * configure.ac: Determine Sun ld version numbers.
17729 (comdat_group): Restrict GNU ld version checks to gld.
17730 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
17731 (enable_comdat): Support --enable-comdat.
17732 * configure: Regenerate.
17733 * doc/install.texi (Configuration): Document --enable-comdat.
17734
62e08523
RO
177352010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17736
ef0f4a03 17737 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
62e08523
RO
17738 * config/sol2-gld.h: ... here.
17739 * config.gcc (sparc*-*-solaris2*): Reflect this.
17740 (i[34567]86-*-solaris2*): Use it.
17741
034288ef
SE
177422010-04-09 Steve Ellcey <sje@cup.hp.com>
17743
17744 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
17745 setup_clocks_p.
17746 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
17747
d0b8780d
MLI
177482010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
17749
17750 PR 42965
17751 * diagnostic.c (diagnostic_initialize): Initialize
17752 some_warnings_are_errors.
17753 (diagnostic_finish): New.
17754 (diagnostic_action_after_output): Call it before exiting.
17755 (diagnostic_report_diagnostic): Do not print message here. Set
17756 some_warnings_are_errors.
17757 * diagnostic.h (diagnostic_context): Delete
17758 issue_warnings_are_errors_message. Add some_warnings_are_errors.
17759 (diagnostic_finish): Declare.
17760 * toplev.c (toplev_main): Call it before exit.
17761
93e9807a
JM
177622010-04-09 Jason Merrill <jason@redhat.com>
17763
cb6addf4
JM
17764 PR c++/42623
17765 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
17766 for incomplete type.
17767
93e9807a
JM
17768 PR c++/41788
17769 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
17770 based on a warning flag.
17771
74367220
RG
177722010-04-09 Richard Guenther <rguenther@suse.de>
17773
43ba743c 17774 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
74367220 17775
8351bca7
IS
177762010-04-09 Iain Sandoe <iains@gcc.gnu.org>
17777
17778 PR bootstrap/43684
ef0f4a03 17779 * varasm.c (default_assemble_visibility): Wrap vars that are
8351bca7 17780 set, but unused, by targets without GAS.
ade52657 17781 * config/rs6000/rs6000.c (paired_emit_vector_compare):
8351bca7
IS
17782 Remove set, but unused, vars.
17783 (rs6000_legitimize_tls_address): Likewise.
17784 (altivec_expand_dst_builtin): Likewise.
17785 * config/darwin.c (machopic_classify_symbol): Likewise.
17786 (machopic_indirection_name): Likewise.
ef0f4a03 17787
014753cc
UB
177882010-04-09 Uros Bizjak <ubizjak@gmail.com>
17789
17790 * config/i386/i386.md (DWI): New mode iterator.
17791 (S): New mode attribute.
17792 (shift_operand): Ditto.
17793 (shift_immediate_operand): Ditto.
17794 (ashl_input_operand): Ditto.
17795 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
17796 using SDWIM mode iterator.
17797 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
17798 pattern from *ashl{di,ti}3_1 and corresponding splitters using
17799 DWI mode iterator.
17800 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
17801 from corresponding peephole2 patterns.
17802 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
17803 and x86_64_shift_adj_1 using SWI48 mode iterator.
17804 (x86_shift<mode>_adj_2): Ditto.
17805 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
17806 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
17807 using SWI48 mode iterator.
17808 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
17809 *ashldi3_cmp_rex64 using SWI mode iterator.
17810 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
17811 *ashldi3_cconly_rex64 using SWI mode iterator.
17812 * config/i386/i386.c (ix86_split_ashl): Update for renamed
17813 x86_shift<mode>_adj_{1,2}.
17814 (ix86_split_ashr): Ditto.
17815 (ix86_split_lshr): Ditto.
17816
88dd7150
RG
178172010-04-09 Richard Guenther <rguenther@suse.de>
17818
17819 * target.h (builtin_conversion): Pass in input and output types.
17820 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
17821 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
17822 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
17823 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
17824
17825 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
17826 Handle AVX modes.
17827 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
17828
3f2060fd
RG
178292010-04-09 Richard Guenther <rguenther@suse.de>
17830
17831 PR target/43152
17832 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
17833
b690cc0f
RG
178342010-04-09 Richard Guenther <rguenther@suse.de>
17835
17836 * tree-vectorizer.h (struct _stmt_vec_info): Document
17837 that vectype is the type of the LHS.
59caab22 17838 (supportable_widening_operation, supportable_narrowing_operation):
b690cc0f
RG
17839 Get both input and output vector types as arguments.
17840 (vect_is_simple_use_1): Declare.
17841 (get_same_sized_vectype): Likewise.
17842 * tree-vect-loop.c (vect_determine_vectorization_factor):
17843 Set STMT_VINFO_VECTYPE to the vector type of the def.
17844 (vectorizable_reduction): Adjust.
17845 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
17846 Adjust. Specify the output vector type.
17847 (vect_pattern_recog_1): Adjust.
17848 * tree-vect-stmts.c (get_same_sized_vectype): New function.
17849 (vectorizable_call): Adjust.
17850 (vectorizable_conversion): Likewise.
17851 (vectorizable_operation): Likewise.
17852 (vectorizable_type_demotion): Likewise.
17853 (vectorizable_type_promotion): Likewise.
17854 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
17855 the def.
17856 (vect_is_simple_use_1): New function.
17857 (supportable_widening_operation): Get both input and output
17858 vector types.
17859 (supportable_narrowing_operation): Likewise.
17860 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
17861
3e65f251
KT
178622010-04-09 Kai Tietz <kai.tietz@onevision.com>
17863
17864 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
17865 __thiscall and _thiscall as predefined macros.
17866 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
17867 thiscall attribute handling.
17868 (ix86_comp_type_attributes): Likewise.
17869 (ix86_function_regparm): Likewise.
17870 (ix86_return_pops_args): Likewise.
17871 (init_cumulative_args): Likewise.
17872 (find_drap_reg): Likewise.
17873 (ix86_static_chain): Likewise.
17874 (x86_this_parameter): Likewise.
17875 (x86_output_mi_thunk): Likewise.
17876 (ix86_attribute_table): Add description for thiscall attribute.
014753cc 17877 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
3e65f251 17878 * doc/extend.texi: Add documentation for thiscall.
27431d88 17879
dc8d2739
MLI
178802010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
17881
17882 PR c++/28584
17883 * c.opt (Wint-to-pointer-cast): Available in C++.
17884 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
17885
d47d0a8d
EB
178862010-04-08 Eric Botcazou <ebotcazou@adacore.com>
17887
17888 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
17889 * calls.c (expand_call): Pass the function type to aggregate_value_p.
17890 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
17891 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
17892 function type instead. Reorder and simplify checks.
17893
17894 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
17895
dc5ee869
JY
178962010-04-08 Jing Yu <jingyu@google.com>
17897 Zdenek Dvorak <ook@ucw.cz>
17898
17899 PR tree-optimization/42720
17900 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
014753cc
UB
17901 loop unswitch conditions here from ...
17902 (tree_unswitch_single_loop): ... here.
dc5ee869 17903
98c07c54
SP
179042010-04-08 Sebastian Pop <sebastian.pop@amd.com>
17905
17906 * tree-if-conv.c: Fix comments and simplify logic.
17907
6cbcfa9d
SP
179082010-04-08 Sebastian Pop <sebastian.pop@amd.com>
17909
17910 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
17911 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
17912 (main_tree_if_conversion): Update call to tree_if_conversion.
17913
1401cf37
MLI
179142010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
17915
17916 PR 42485
17917 * doc/invoke.texi (-b,-V): Delete.
17918 * doc/tm.texi: Do not mention -b.
17919 * gcc.c (display_help): Delete -b and -V.
17920 (process_command): Delete -b and -V.
17921 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6cbcfa9d 17922
40ac4f73 179232010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
27431d88 17924 Wolfgang Gellerich <gellerich@de.ibm.com>
40ac4f73 17925
014753cc
UB
17926 Implement target hook for loop unrolling
17927 * target.h (loop_unroll_adjust): Add a new target hook function.
17928 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
17929 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
17930 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
17931 (s390_loop_unroll_adjust): Implement the new target hook for s390.
17932 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
17933 target hook.
17934 (decide_unroll_stupid): Likewise.
40ac4f73 17935
07c60ef7
RO
179362010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17937
17938 PR target/43643
17939 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
17940
dd178909
RO
179412010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17942
17943 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
17944 (Specific, *-*-solaris2*): Likewise.
17945 Don't prefer Sun as over GNU as.
17946
cc6ae6a1
WG
179472010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
17948
c46a5e28
EB
17949 * config/s390/s390.c (override_options): Adjust the z10 defaults
17950 for max-unroll-times, max-completely-peeled-insns
17951 and max-completely-peel-times.
cc6ae6a1 17952
adfa3cd3
AK
179532010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
17954
17955 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
17956 instructions for z10.
17957 (s390_expand_setmem): Likewise.
17958 (s390_expand_cmpmem): Likewise.
17959
84ae6d7b
RG
179602010-04-08 Richard Guenther <rguenther@suse.de>
17961
17962 PR tree-optimization/43679
17963 * tree-ssa-pre.c (eliminate): Only propagate copies.
17964
5a905a2b
JJ
179652010-04-08 Jakub Jelinek <jakub@redhat.com>
17966
17967 PR bootstrap/43681
17968 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
17969 set but not used variable warning.
17970
7548c1be
WG
179712010-04-08 Wei Guozhi <carrot@google.com>
17972
17973 PR target/41653
17974 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
17975 (arm_size_rtx_costs): Call the new function when optimized for size.
17976
aa847cc8
JJ
179772010-04-08 Jakub Jelinek <jakub@redhat.com>
17978
17979 PR debug/43670
17980 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
17981 op0 is not a MEM, just return NULL instead of assertion
17982 failure.
17983 (discover_nonconstant_array_refs): Don't walk debug stmts.
17984
1dcc82c2
DK
179852010-04-08 Doug Kwan <dougkwan@google.com>
17986
17987 * configure.ac: Recognize gold and do not use its version number
17988 to test ld features.
17989 * configure: Regenerate.
17990
b0aef8a8
MK
179912010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
17992
17993 PR middle-end/40815
17994 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
17995 (negate_value): Move code to push elements to broken_up_substracts ...
17996 (eliminate_plus_minus_pair): ... here. Push operands that have no
17997 negative pair to plus_negates.
17998 (repropagate_negates, init_reassoc, fini_reassoc): Update.
17999
7a50adb7
RW
180002010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18001
2d413304
RW
18002 * doc/install.texi (Configuration): Move description of
18003 --enable-lto, --with-libelf*, --enable-gold from Java section to
18004 general section.
18005
7a50adb7
RW
18006 * doc/generic.texi (Working with declarations)
18007 (Function Properties, C and C++ Trees): Fix typos.
18008 * doc/sourcebuild.texi (Top Level): Likewise.
18009
60d3aec4
JJ
180102010-04-07 Jakub Jelinek <jakub@redhat.com>
18011
ebfbbdc5
JJ
18012 PR c/18624
18013 * tree.h (DECL_READ_P): Define.
18014 (struct tree_decl_common): Add decl_read_flag.
18015 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
18016 a set but not used warning.
18017 (merge_decls): Merge DECL_READ_P flag.
18018 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
18019 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
18020 * c-common.c (handle_used_attribute, handle_unused_attribute):
18021 Likewise.
18022 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
18023 New prototypes.
18024 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
18025 New functions.
18026 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
18027 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
18028 c_parser_binary_expression, c_parser_cast_expression,
18029 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
18030 Call default_function_array_read_conversion instead of
18031 default_function_array_conversion where needed.
18032 (c_parser_unary_expression, c_parser_conditional_expression,
18033 c_parser_postfix_expression_after_primary, c_parser_initelt):
18034 Likewise. Call mark_exp_read where needed.
18035 (c_parser_statement_after_labels, c_parser_asm_operands,
18036 c_parser_typeof_specifier, c_parser_sizeof_expression,
18037 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
18038 where needed.
18039 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
18040 New.
18041 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
18042 (warn_unused_but_set_parameter): Default to warn_unused
18043 && extra_warnings.
18044 * doc/invoke.texi: Document -Wunused-but-set-variable and
18045 -Wunused-but-set-parameter.
18046
60d3aec4
JJ
18047 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
18048 used count variable.
18049 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
18050 when operandN variables aren't used in the body of the expander
18051 or splitter.
18052 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
18053 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
18054 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
18055 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
18056 FOR_EACH_IMM_USE_ON_STMT): Likewise.
18057 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
18058 * tree.c (PROCESS_ARG): Likewise.
18059
87cf0651
SB
180602010-04-07 Simon Baldwin <simonb@google.com>
18061
18062 * diagnostic.h (diagnostic_override_option_index): New macro to
18063 set a diagnostic's option_index.
18064 * c-tree.h (c_cpp_error): Add warning reason argument.
18065 * opts.c (_warning_as_error_callback): New.
18066 (register_warning_as_error_callback): Store callback for
18067 warnings enabled via enable_warning_as_error.
18068 (enable_warning_as_error): Call callback, minor code tidy.
18069 * opts.h (register_warning_as_error_callback): Declare.
18070 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
18071 response to -Werror=.
18072 (c_common_init_options): Register warning_as_error_callback in opts.c.
18073 * common.opt: Add -Wno-cpp option.
18074 * c-common.c (struct reason_option_codes_t): Map cpp warning
18075 reason codes to gcc option indexes.
18076 * (c_option_controlling_cpp_error): New function, lookup the gcc
18077 option index for a cpp warning reason code.
18078 * (c_cpp_error): Add warning reason argument, call
18079 c_option_controlling_cpp_error for diagnostic_override_option_index.
18080 * doc/invoke.texi: Document -Wno-cpp.
18081
2ea9dc64
RG
180822010-04-07 Richard Guenther <rguenther@suse.de>
18083
18084 * ipa-reference.c (mark_load): Use get_base_address.
18085 (mark_store): Likewise.
18086
18087 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
18088 inserting GIMPLE_NOPs into the IL.
18089 * tree-ssa-structalias.c (get_constraint_for_component_ref):
18090 Explicitly strip handled components and indirect references.
59caab22 18091
2ea9dc64
RG
18092 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
18093 folding address expressions.
18094 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
18095 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
18096 operand_equal_p to compare decls.
18097 (ptr_deref_may_alias_decl_p): Likewise.
18098 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
18099 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
18100 Handle reversed comparison ops.
18101 * tree-sra.c (asm_visit_addr): Use get_base_address.
014753cc 18102 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
2ea9dc64
RG
18103 * ipa-reference.c (mark_address): Use get_base_address.
18104
95d938ee
RG
181052010-04-07 Richard Guenther <rguenther@suse.de>
18106
18107 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
18108 Propagate constants everywhere.
18109
1a299ae4
JJ
181102010-04-07 Jakub Jelinek <jakub@redhat.com>
18111
18112 PR debug/43516
18113 * tree.c (MAX_INT_CACHED_PREC): Define.
18114 (nonstandard_integer_type_cache): New array.
18115 (build_nonstandard_integer_type): Cache results for precision
18116 <= MAX_INT_CACHED_PREC.
18117
0d3c82d6
RG
181182010-04-07 Richard Guenther <rguenther@suse.de>
18119
18120 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
18121 -fargument-noalias-global, -fargument-noalias-anything): Remove.
18122 * common.opt: Likewise.
014753cc
UB
18123 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
18124 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
0d3c82d6
RG
18125 (nonoverlapping_memrefs_p): Likewise.
18126 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
18127 * opts.c (common_handle_option): Handle OPT_fargument_alias,
18128 OPT_fargument_noalias, OPT_fargument_noalias_anything and
18129 OPT_fargument_noalias_global for backward compatibility.
18130
12bd5a1e
RG
181312010-04-07 Richard Guenther <rguenther@suse.de>
18132
18133 PR tree-optimization/43270
014753cc 18134 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
12bd5a1e
RG
18135 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
18136 * tree-ssa-pre.c (phi_translate_1): Adjust.
18137 (fully_constant_expression): Split out vn_reference handling to ...
18138 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
18139 Fold reads from constant strings.
18140 (vn_reference_lookup): Handle fully constant references.
18141 (vn_reference_lookup_pieces): Likewise.
18142 * Makefile.in (expmed.o-warn): Add -Wno-error.
18143
a7752396
MJ
181442010-04-07 Martin Jambor <mjambor@suse.cz>
18145
18146 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
18147
6392bea6
IS
181482010-04-07 Iain Sandoe <iains@gcc.gnu.org>
18149
18150 PR driver/41594
18151 * gcc.c: Add -static-libstdc++ to list of recognized options.
18152
9af27220
RO
181532010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18154
014753cc 18155 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
9af27220 18156
83a416b0
RG
181572010-04-07 Richard Guenther <rguenther@suse.de>
18158
18159 PR middle-end/42617
014753cc
UB
18160 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
18161 bases build simple mem attributes to retain points-to information.
83a416b0 18162
366f945f
RG
181632010-04-07 Richard Guenther <rguenther@suse.de>
18164
18165 PR middle-end/42617
18166 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
18167 preserve points-to related information.
18168
56c47f22
RG
181692010-04-07 Richard Guenther <rguenther@suse.de>
18170
18171 PR middle-end/42617
18172 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
18173 discard plain indirect references.
014753cc 18174 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
56c47f22
RG
18175 * tree.c (tree_nop_conversion): Likewise.
18176
a42f1217
DS
181772010-04-07 Dodji Seketeli <dodji@redhat.com>
18178
18179 PR debug/43628
18180 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
18181
b97b2634
KT
181822010-04-06 Kai Tietz <kai.tietz@onevision.com>
18183
18184 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
18185 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
18186
62ef2431
SP
181872010-04-07 Sebastian Pop <sebastian.pop@amd.com>
18188
18189 * tree-if-conv.c: Fix indentation and comments.
18190
baaa8e96
SP
181912010-04-07 Sebastian Pop <sebastian.pop@amd.com>
18192
18193 * tree-if-conv.c: Sort static functions in topological order.
18194
b6779d81
SP
181952010-04-07 Sebastian Pop <sebastian.pop@amd.com>
18196
18197 * tree-if-conv.c: Fix indentation and comments.
18198
9310a3e2
SP
181992010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18200
18201 PR middle-end/43519
18202 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
014753cc
UB
18203 lang_hooks.types.type_for_size instead of
18204 build_nonstandard_integer_type.
9310a3e2
SP
18205 When converting an unsigned type to signed, double its precision.
18206 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
18207 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
014753cc
UB
18208 (graphite_create_new_loop_guard): When ub + 1 wraps around,
18209 use lb <= ub.
9310a3e2
SP
18210
182112010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18212
18213 PR middle-end/43519
18214 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
18215 POINTER_PLUS_EXPR for pointer types.
18216
182172010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18218
18219 PR middle-end/43519
18220 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
18221 * graphite-clast-to-gimple.c: Include langhooks.h.
18222 (max_signed_precision_type): New.
18223 (max_precision_type): Takes two types as arguments.
18224 (precision_for_value): New.
18225 (precision_for_interval): New.
18226 (gcc_type_for_interval): New.
18227 (gcc_type_for_value): New.
18228 (gcc_type_for_clast_term): New.
18229 (gcc_type_for_clast_red): New.
18230 (gcc_type_for_clast_bin): New.
18231 (gcc_type_for_clast_expr): Split up into several functions.
18232 (gcc_type_for_clast_eq): Rewritten.
18233 (compute_bounds_for_level): New.
18234 (compute_type_for_level_1): New.
18235 (compute_type_for_level): New.
18236 (gcc_type_for_cloog_iv): Removed.
18237 (gcc_type_for_iv_of_clast_loop): Rewritten.
18238 (graphite_create_new_loop): Compute the lower and upper bound types
18239 with gcc_type_for_clast_expr.
18240 (graphite_create_new_loop_guard): Same.
18241 (find_cloog_iv_in_expr): Removed.
18242 (compute_cloog_iv_types_1): Removed.
18243 (compute_cloog_iv_types): Removed.
18244 (gloog): Do not call compute_cloog_iv_types.
18245 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
18246 GBB_CLOOG_IV_TYPES.
18247 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
18248 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
18249 (GBB_CLOOG_IV_TYPES): Removed.
18250
182512010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18252
18253 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
18254 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
18255 (detect_commutative_reduction): Same.
18256
a3b9e73c
SP
182572010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18258
18259 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
18260 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
18261 argument.
18262 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
18263 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
18264 (rewrite_commutative_reductions_out_of_ssa): Same.
18265 * passes.c (execute_function_todo): Call verify_ssa for every pass
18266 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
18267 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
18268 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
18269 with an extra argument.
18270 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
18271 verify_ssa only when the extra argument is true.
18272 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
18273 with an extra argument.
18274 (tree_transform_and_unroll_loop): Same.
18275
98b6e9dd
SP
182762010-04-06 Sebastian Pop <sebastian.pop@amd.com>
18277
18278 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
18279 for all the passes of the LNO having LOOP_CLOSED_SSA.
18280 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
18281 * tree-loop-distribution.c (pass_loop_distribution): Same.
18282 * tree-pass.h (TODO_verify_loops): Removed.
18283 * tree-ssa-loop.c (pass_tree_loop_init): Same.
18284 (pass_lim): Same.
18285 (pass_tree_unswitch): Same.
18286 (pass_predcom): Same.
18287 (pass_vectorize): Same.
18288 (pass_linear_transform): Same.
18289 (pass_graphite_transforms): Same.
18290 (pass_iv_canon): Same.
18291 (pass_complete_unroll): Same.
18292 (pass_complete_unrolli): Same.
18293 (pass_parallelize_loops): Same.
18294 (pass_loop_prefetch): Same.
18295 (pass_iv_optimize): Same.
18296
c86a3947
CF
182972010-04-06 Changpeng Fang <changpeng.fang@amd.com>
18298
18299 PR middle-end/32824
18300 * passes.c (init_optimization_passes): Move pass_lim before
18301 pass_copy_prop and pass_dce_loop.
18302
37794981
JJ
183032010-04-06 Jakub Jelinek <jakub@redhat.com>
18304
18305 PR target/43667
18306 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
18307 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
18308 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
18309 MULTI_* defines for 4 argument vpermil2p* builtins.
18310
d079b87f
UB
183112010-04-06 Uros Bizjak <ubizjak@gmail.com>
18312
18313 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
18314 * config/i386/i386.c (x86_maybe_negate_const_int): New.
18315 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
18316 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
18317 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
18318 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
18319 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
18320 Use x86_maybe_negate_const_int to output insn mnemonic.
18321 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
18322 check from instruction predicate. Update comments.
18323 * config/i386/sync.md (sync_add<mode>): Use
18324 x86_maybe_negate_const_int to output insn mnemonic.
b1a0b3b4 18325
d079b87f
UB
183262010-04-06 Jan Hubicka <jh@suse.cz>
18327
18328 PR tree-optimization/42906
18329 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
18330 IGNORE_SELF argument. Set visited_control_parents for fully
18331 processed BBs.
b1a0b3b4
JH
18332 (find_obviously_necessary_stmts): Update call of
18333 mark_control_dependent_edges_necessary.
d079b87f 18334 (propagate_necessity): Likewise. Handle PHI edges more curefully.
b1a0b3b4 18335
6593d123
UB
183362010-04-06 Uros Bizjak <ubizjak@gmail.com>
18337
18338 * config/i386/i386.md: Remove comment about 'e' and 'E'
18339 operand modifier.
18340
56186ac2
RG
183412010-04-06 Richard Guenther <rguenther@suse.de>
18342
18343 PR tree-optimization/43627
18344 * tree-vrp.c (extract_range_from_unary_expr): Widenings
18345 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
18346 not varying.
18347
7d11d368
JJ
183482010-04-06 Jakub Jelinek <jakub@redhat.com>
18349
d3bccded
JJ
18350 * BASE-VER: Change to 4.6.0.
18351
7d11d368
JJ
18352 PR target/43638
18353 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
18354 handling.
18355
eb12d0ae
RG
183562010-04-06 Richard Guenther <rguenther@suse.de>
18357
18358 PR middle-end/43661
18359 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
18360
53b79425
RW
183612010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18362
18363 * doc/invoke.texi (Optimize Options): Document that LTO
18364 won't remove object access purely due to incompatible
18365 declarations.
18366
7e0ec110
MK
183672010-04-04 Matthias Klose <doko@ubuntu.com>
18368
18369 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
18370 Initialize variable.
18371
2b22e382
RG
183722010-04-03 Richard Guenther <rguenther@suse.de>
18373
18374 PR middle-end/42509
18375 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
18376 require a non-NULL MEM_OFFSET.
18377
c75c517d
SB
183782010-04-02 Steven Bosscher <steven@gcc.gnu.org>
18379
d079b87f 18380 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
c75c517d
SB
18381 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
18382 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
18383 config/alpha/predicates.md, config/arm/arm.md,
18384 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
18385 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
18386 config/darwin9.h, config/darwin.c, config/darwin.h,
18387 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
18388 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
18389 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
18390 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
18391 config/mips/mips.md, config/mn10300/mn10300.c,
18392 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
18393 config/rs6000/aix.h, config/rs6000/dfp.md,
18394 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
18395 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
18396 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
18397 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
18398 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
18399 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
18400 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
18401 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
18402 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
18403 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
18404 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
18405 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
18406 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
18407 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
18408 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
18409 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
18410 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
18411 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
18412 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
18413 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
18414 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
18415 opt-functions.awk, opth-gen.awk, params.def, passes.c,
18416 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
18417 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
18418 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
18419 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
18420 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
18421 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
18422 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
18423 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
18424 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
18425 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
18426 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
18427 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
18428 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
18429 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
18430
4d9e8446
RW
184312010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18432
18433 PR other/43620
18434 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
18435 * aclocal.m4: Regenerate.
18436
1cdaa211
RG
184372010-04-02 Richard Guenther <rguenther@suse.de>
18438
18439 PR tree-optimization/43629
18440 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
18441 if we have seen a constant value.
18442
d33da5cd
JM
184432010-04-02 Joseph Myers <joseph@codesourcery.com>
18444
014753cc 18445 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
d33da5cd 18446
2e5505a4
RE
184472010-04-02 Richard Earnshaw <rearnsha@arm.com>
18448
18449 PR target/43469
d079b87f 18450 * arm.c (legitimize_tls_address): Adjust call to
2e5505a4
RE
18451 gen_tls_load_dot_plus_four.
18452 (arm_note_pic_base): New function.
18453 (arm_cannot_copy_insn_p): Use it.
18454 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
18455 constraint.
18456
bdfbd9df
RW
184572010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18458
18459 PR bootstrap/43531
18460
18461 Revert:
18462 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18463
18464 * Makefile.in ($(out_object_file)): Depend on
18465 gt-$(basename $(notdir $(out_file))).h.
18466
2bc40daa
RC
184672010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
18468
014753cc 18469 * config.gcc (lm32-*-rtems*): Add t-lm32.
2bc40daa
RC
18470
184712010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
18472
014753cc
UB
18473 * config.gcc: Add lm32-*-rtems*.
18474 * config/lm32/rtems.h: New file.
2bc40daa 18475
abfb38d7
DK
184762010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
18477
18478 PR target/42609
18479 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
18480
2f43d500
JJ
184812010-04-01 Jakub Jelinek <jakub@redhat.com>
18482
18483 * dwarf2out.c (output_compilation_unit_header): For
18484 -gdwarf-4 use version 4 instead of version 3.
18485 (output_line_info): For version 4 and above emit additional
18486 maximum ops per insn header field.
18487 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
18488
18489 * dwarf2out.c (is_c_family, is_java): Remove.
18490 (lower_bound_default): New function.
18491 (add_bound_info, gen_descr_array_type_die): Use it.
18492
777351a5
DS
184932010-04-01 Dodji Seketeli <dodji@redhat.com>
18494
18495 PR debug/43325
18496 * dwarf2out.c (gen_variable_die): Allow debug info for variable
18497 re-declaration when it happens in a function.
18498
6544865a
AH
184992010-04-01 Aldy Hernandez <aldyh@redhat.com>
18500
18501 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
18502 (cgraph_remove_function_insertion_hook): Same.
18503 (cgraph_call_function_insertion_hooks): Same.
18504
5e9fb3db
RG
185052010-04-01 Richard Guenther <rguenther@suse.de>
18506
18507 PR middle-end/43614
18508 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
18509 and TREE_THIS_VOLATILE.
18510 (copy_ref_info): Likewise.
18511 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
18512 * tree.c (build6_stat): Ignore side-effects of all but arg5
18513 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
18514 TARGET_MEM_REF.
18515
eb258d7f
RG
185162010-04-01 Richard Guenther <rguenther@suse.de>
18517
18518 PR tree-optimization/43607
18519 * ipa-type-escape.c (check_call): Do not access non-existing
18520 arguments.
18521
aa8bfcad
RG
185222010-04-01 Richard Guenther <rguenther@suse.de>
18523
18524 PR middle-end/43602
18525 Revert
18526 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
014753cc 18527 Jack Howarth <howarth@bromo.med.uc.edu>
aa8bfcad
RG
18528
18529 * tree-profile.c (tree_init_ic_make_global_vars): Make static
18530 variables TLS.
18531
8c5cfa89
RO
185322010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18533
18534 * doc/install.texi (Prerequisites): Document libelf usability on
18535 IRIX 5/6 and Solaris 2.
18536 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
18537 Update GNU as, GNU ld requirements.
18538 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
18539 Document Sun Studio compiler download.
18540 Update and simplify as, ld recommendations.
18541 (Specific, *-*-solaris2.7): Note obsoletion, removal.
18542
ddcc3550
RO
185432010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18544
9af27220 18545 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
ddcc3550
RO
18546 with_tune_32 to pentium4.
18547
93234e58
UB
185482010-04-01 Uros Bizjak <ubizjak@gmail.com>
18549
18550 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
18551
ef369ad8
RO
185522010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18553
18554 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
18555 obsoletion, removal.
18556 Update IDO URL.
18557 Document GNU as requirement.
18558 Update configure requirements.
014753cc 18559 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
ef369ad8
RO
18560 Recomment IRIX 6.5.18+.
18561 Document IDF/IDL requirement.
18562 Document GNU as requirement.
18563 Document GNU ld bootstrap failure.
18564 Remove freeware.sgi.com reference.
18565
92d80770
RO
185662010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18567
18568 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
18569 UNIX V4.0, V5.0 obsoletion, removal.
18570 Remove --with-gc=simple reference.
18571 Update VM requirements during bootstrap.
18572 Remove -oldas bootstrap description.
18573 Update binutils reference.
18574 Remove comparison failure note.
18575
25d635d9
SP
185762010-03-31 Richard Guenther <rguenther@suse.de>
18577 Zdenek Dvorak <ook@ucw.cz>
18578 Sebastian Pop <sebastian.pop@amd.com>
18579
18580 PR middle-end/43464
18581 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
18582 with multiple arguments.
18583 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
18584
185852010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18586
18587 * graphite-dependences.c (print_pddr): Call print_pdr with an
18588 extra argument.
18589 * graphite-poly.c (debug_pdr): Add an extra argument for the
18590 verbosity level.
18591 (print_pdr): Same.
18592 (print_pbb_domain): Same.
18593 (print_pbb): Same.
18594 (print_scop_context): Same.
18595 (print_scop): Same.
18596 (print_cloog): Same.
18597 (debug_pbb_domain): Same.
18598 (debug_pbb): Same.
18599 (print_pdrs): Same.
18600 (debug_pdrs): Same.
18601 (debug_scop_context): Same.
18602 (debug_scop): Same.
18603 (debug_cloog): Same.
18604 (print_scop_params): Same.
18605 (debug_scop_params): Same.
18606 (print_iteration_domain): Same.
18607 (print_iteration_domains): Same.
18608 (debug_iteration_domain): Same.
18609 (debug_iteration_domains): Same.
18610 (print_scattering_function): Same.
18611 (print_scattering_functions): Same.
18612 (debug_scattering_function): Same.
18613 (debug_scattering_functions): Same.
18614 * graphite-poly.h (debug_pdr): Update declaration.
18615 (print_pdr): Same.
18616 (print_pbb_domain): Same.
18617 (print_pbb): Same.
18618 (print_scop_context): Same.
18619 (print_scop): Same.
18620 (print_cloog): Same.
18621 (debug_pbb_domain): Same.
18622 (debug_pbb): Same.
18623 (print_pdrs): Same.
18624 (debug_pdrs): Same.
18625 (debug_scop_context): Same.
18626 (debug_scop): Same.
18627 (debug_cloog): Same.
18628 (print_scop_params): Same.
18629 (debug_scop_params): Same.
18630 (print_iteration_domain): Same.
18631 (print_iteration_domains): Same.
18632 (debug_iteration_domain): Same.
18633 (debug_iteration_domains): Same.
18634 (print_scattering_function): Same.
18635 (print_scattering_functions): Same.
18636 (debug_scattering_function): Same.
18637 (debug_scattering_functions): Same.
18638
186392010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18640
18641 * graphite-poly.c (print_scattering_function_1): New.
18642 (print_scattering_function): Call it.
18643 (print_scop_params): Remove spaces at the end of lines.
18644 (print_cloog): New.
18645 (debug_cloog): New.
18646 * graphite-poly.h (print_cloog): Declared.
18647 (debug_cloog): Declared.
18648
186492010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18650
18651 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
18652 in loop->header.
18653 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
18654 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
18655 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
18656 to switch between adding the IV bump in loop->latch or in loop->header.
18657
186582010-03-31 Sebastian Pop <sebastian.pop@amd.com>
18659
18660 * graphite-poly.c (print_scattering_function): Pretty print following
18661 the scoplib format.
18662 (print_pdr): Same.
18663 (print_pbb_domain): Same.
18664 (dump_gbb_cases): Same.
18665 (dump_gbb_conditions): Same.
18666 (print_pdrs): Same.
18667 (print_pbb): Same.
18668 (print_scop_params): Same.
18669 (print_scop_context): Same.
18670 (print_scop): Same.
18671 (print_pbb_body): New.
18672 (lst_indent_to): New.
18673 (print_lst): Start new lines with a #.
18674 * graphite-poly.h (pbb_bb): New.
18675 (pbb_index): Use pbb_bb.
18676 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
18677 disjuncts.
18678 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
18679
2080bd29
JJ
186802010-03-31 Jakub Jelinek <jakub@redhat.com>
18681
290d8971
JJ
18682 * dwarf2out.c (size_of_die): For -gdwarf-4 use
18683 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
18684 and 0 instead of 1 for dw_val_class_flag.
18685 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
18686 dw_val_class_range_list, dw_val_class_loc_list,
18687 dw_val_class_lineptr and dw_val_class_macptr, use
18688 DW_FORM_flag_present for dw_val_class_flag and
18689 DW_FORM_exprloc for dw_val_class_loc.
18690 (output_die): For -gdwarf-4 print dw_val_class_loc
18691 size as uleb128 instead of 1 or 2 bytes and don't print
18692 anything for dw_val_class_flag.
18693
109f4af3
JJ
18694 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
18695 instead of cselib_lookup following by tweaking locs->setting_insn.
18696
2080bd29
JJ
18697 PR bootstrap/43596
18698 * cselib.c (cselib_process_insn): Clear cselib_current_insn
18699 even before returning from label, setjmp call or volatile asm
18700 handling.
18701
33283dad
RG
187022010-03-31 Richard Guenther <rguenther@suse.de>
18703
18704 PR middle-end/43600
18705 * cgraphunit.c (cgraph_output_in_order): Do not allocate
18706 temporary data on stack.
18707
a0c21029
RO
187082010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18709
18710 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
18711 (PUSHSECTION_ASM_OP): Remove.
18712 (POPSECTION_ASM_OP): Remove.
18713 (PUSHSECTION_FORMAT): Remove.
18714 * config/sol2.h (PUSHSECTION_FORMAT): Define.
18715 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
18716 * config/sol2.c (solaris_output_init_fini): Use it.
18717
a3f410a2
JZ
187182010-03-31 Jie Zhang <jie@codesourcery.com>
18719
18720 PR 43574
18721 * opt-functions.awk (var_type_struct): Use signed char type
18722 for simple variables.
18723
f0c01ffd
RO
187242010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18725
18726 * config/sol2.c: Include output.h.
18727 (solaris_assemble_visibility): New function.
18728 * config/t-sol2 (sol2.o): Add output.h dependency.
18729 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
18730 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
18731 Redefine.
18732
132b4e82
JJ
187332010-03-31 Jakub Jelinek <jakub@redhat.com>
18734
d8d55ac0
JJ
18735 PR target/43580
18736 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
18737 V2SImode or XFmode on PRE_DEC.
18738
132b4e82
JJ
18739 PR debug/43557
18740 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
18741 BLKmode.
18742
dc12b70e
JZ
187432010-03-31 Jie Zhang <jie@codesourcery.com>
18744
18745 PR 43562
18746 * reload.h (caller_save_initialized_p): Declare.
18747 * toplev.c (backend_init_target): Don't call
93234e58 18748 init_caller_save but set caller_save_initialized_p to false.
dc12b70e
JZ
18749 * caller-save.c (caller_save_initialized_p): Define.
18750 (init_caller_save): Check caller_save_initialized_p.
18751 * ira.c (ira): Call init_caller_save if flag_caller_saves.
18752
4a2f22ff
RO
187532010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18754
18755 PR target/39048
18756 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
18757 and soft-fp/t-softfp to tmake_file.
18758 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
18759 (LIBGCC2_TF_CEXT): Define.
18760 (TF_SIZE): Define.
18761
5847e8da
AO
187622010-03-30 Alexandre Oliva <aoliva@redhat.com>
18763
18764 PR debug/42977
18765 * cselib.c (n_useless_values): Document handling of debug locs.
18766 (n_useless_debug_values, n_debug_values): New variables.
18767 (new_elt_loc_list): Don't add to debug values, keep count.
18768 (promote_debug_loc): New.
18769 (cselib_reset_table): Zero new variables.
18770 (entry_and_rtx_equal_p): Promote debug locs.
18771 (discard_useless_locs): Increment n_useless_debug_values for
18772 debug values.
18773 (remove_useless_values): Adjust n_useless_values and n_debug_values
18774 with n_useless_debug_values.
18775 (add_mem_for_addr): Promote debug locs.
18776 (cselib_lookup_mem): Likewise.
18777 (cselib_lookup_addr): Renamed to...
93234e58 18778 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
5847e8da
AO
18779 (cselib_log_lookup): ... this. Turn into...
18780 (cselib_lookup_addr): ... new wrapper.
18781 (cselib_lookup_from_insn): New.
18782 (cselib_invalidate_regno): Increment n_useless_debug_values for
18783 debug values.
18784 (cselib_invalidate_mem): Likewise.
18785 (cselib_process_insn): Take n_deleted and n_debug_values into
18786 account to guard remove_useless_value call.
18787 (cselib_finish): Zero n_useless_debug_values.
18788 * cselib.h (cselib_lookup_from_insn): Declare.
18789 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
18790 (sched_analyze_2): Likewise.
18791
03a5f060
JJ
187922010-03-30 Jakub Jelinek <jakub@redhat.com>
18793
e9e00885
JJ
18794 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
18795 functions.
18796 (adjust_mems): Replace narrowing SUBREG of expression containing
18797 just PLUS, MINUS, MULT and ASHIFT of registers and constants
18798 with operations in the narrower mode.
18799
03a5f060 18800 PR debug/43593
93234e58
UB
18801 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
18802 regs_invalidated_by_call instead all call_used_reg_set registers.
03a5f060 18803
8533c9d8
SP
188042010-03-30 Sebastian Pop <sebastian.pop@amd.com>
18805
18806 PR middle-end/43430
18807 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
18808 pointer comparisons with types_compatible_p.
18809 * tree-vect-stmts.c (vectorizable_call): Same.
18810 (vectorizable_condition): Same.
18811
a3e7e012
AK
188122010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
18813
18814 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
18815 stack check if the mask would be zero.
18816
40ae6799
SP
188172010-03-30 Seongbae Park <seongbae.park@gmail.com>
18818 Jack Howarth <howarth@bromo.med.uc.edu>
18819
18820 * tree-profile.c (tree_init_ic_make_global_vars): Make static
18821 variables TLS.
18822
2bcba94b
JM
188232010-03-30 Joseph Myers <joseph@codesourcery.com>
18824
18825 PR other/25232
18826 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
18827 and __unordtf2.
18828 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
18829 Include ___unordxf2 and ___unordtf2.
18830 * config/i386/libgcc-glibc.ver: Do not define inheritance from
18831 GCC_4.4.0 here.
18832
15baf7f8
TG
188332010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
18834
18835 * config/lm32/t-lm32: New file.
18836 * config.gcc: Use the above file when targetting lm32.
18837
fba48836
DS
188382010-03-28 Duncan Sands <baldrick@free.fr>
18839
93234e58 18840 * Makefile.in (PLUGIN_HEADERS): Add except.h.
fba48836 18841
49a71bc8
SP
188422010-03-29 Sebastian Pop <sebastian.pop@amd.com>
18843
18844 PR middle-end/43431
18845 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
18846 Improve vectorization cost model diagnostic.
18847
22a8be9e
SP
188482010-03-29 Sebastian Pop <sebastian.pop@amd.com>
18849
18850 PR middle-end/43436
18851 * tree-vect-data-refs.c (vect_analyze_data_refs): When
18852 compute_data_dependences_for_loop returns false, early exit
18853 and output an extra diagnostic for the failed data reference
18854 analysis.
18855
58adb739
RG
188562010-03-29 Richard Guenther <rguenther@suse.de>
18857
18858 PR tree-optimization/43560
93234e58
UB
18859 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
18860 (can_sm_ref_p): Treat stores to readonly locations as trapping.
58adb739 18861
3b34d92c
JZ
188622010-03-29 Jie Zhang <jie@codesourcery.com>
18863
18864 PR 43564
18865 * toplev.c (process_options): Set optimization_default_node
18866 and optimization_current_node.
18867 * opts.c (decode_options): Don't set optimization_default_node
18868 and optimization_current_node.
18869
090f6087
RC
188702010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
18871
18872 * config/rtems.h: Abandon -qrtems_debug.
18873
88cc1e04
JH
188742010-03-28 Jan Hubicka <jh@suse.cz>
18875
18876 PR tree-optimization/43505
18877 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
18878 map should not be copied.
18879
b932b8b1
JDA
188802010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18881
18882 PR middle-end/41674
18883 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
18884 cdtors, set DECL_PRESERVE_P.
18885 * ipa.c (cgraph_externally_visible_p): Return true if declaration
18886 should be preseved.
18887
fb6807b8
UB
188882010-03-27 Uros Bizjak <ubizjak@gmail.com>
18889
18890 PR tree-optimization/43528
18891 * stor-layout.c (place_field): Check that constant fits into
18892 unsigned HWI when skipping calculation of MS bitfield layout.
18893
a9deb256
JH
188942010-03-27 Jan Hubicka <jh@suse.cz>
18895
18896 PR middle-end/43391
18897 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
18898 notice_global_symbol work.
18899
5a9c8a1b
JJ
189002010-03-27 Jakub Jelinek <jakub@redhat.com>
18901
18902 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
18903 instead of dwarf2out_decl.
18904 (struct var_loc_node): Remove section_label field.
18905 (dwarf2out_function_decl): New function.
18906 (dwarf2out_var_location): Don't set section_label field.
18907 (dwarf2out_begin_function): Don't empty decl_loc_table here.
18908
62f7fd21
MM
189092010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
18910
18911 PR tree-optimization/43544
18912 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
18913 First argument for builtin vectorized function hook is now a
18914 tree to be able to distinguish between machine specific and
18915 standard builtins.
18916 * targhooks.c (default_builtin_vectorized_function): Ditto.
18917 * targhooks.h (default_builtin_vectorized_function): Ditto.
18918 * target.h (struct gcc_target): Ditto.
18919 * tree-vect-stmts.c (vectorizable_function): Ditto.
18920 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
18921 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
18922 Ditto.
18923
10e76c1a
JM
189242010-03-26 Joseph Myers <joseph@codesourcery.com>
18925
18926 PR c/43381
18927 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
18928 nested binding iff it is a FUNCTION_DECL.
18929 (store_parm_decls_newstyle): Pass nested=true to bind for
18930 FUNCTION_DECLs amongst parameters.
18931
89245ef2
JJ
189322010-03-26 Jakub Jelinek <jakub@redhat.com>
18933
2155f963
JJ
18934 * var-tracking.c (vt_expand_loc_callback): Don't run
18935 cselib_expand_value_rtx_cb in dummy mode if
18936 cselib_dummy_expand_value_rtx_cb returned false.
18937
e80691a0
JJ
18938 * var-tracking.c (emit_note_insn_var_location): For one part
18939 notes with offset 0, don't add EXPR_LIST around the location.
18940 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
18941 add_location_or_const_value_attribute): Adjust for that change.
18942
89245ef2
JJ
18943 PR debug/43540
18944 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
18945 into first operand and location into second.
18946 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
18947 dw_cfi_oprnd_loc for DW_CFA_expression.
18948 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
18949 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
18950 assume first argument is regnum and second argument is location.
18951
c5e43cc4
UB
189522010-03-26 Uros Bizjak <ubizjak@gmail.com>
18953
18954 PR target/42113
18955 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
18956 of scratch register to DImode. Split to DImode comparison operator.
18957 Use SImode subreg of scratch register in the multiplication.
18958 (*cmp_sadd_sidi): Ditto.
18959 (*cmp_ssub_si): Ditto.
18960 (*cmp_ssub_sidi): Ditto.
18961
fb04bb84
UB
189622010-03-26 Uros Bizjak <ubizjak@gmail.com>
18963
18964 PR target/43524
18965 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
18966 Remove invalid assert and wrong comment.
18967
6ca5d1f6
JJ
189682010-03-26 Jakub Jelinek <jakub@redhat.com>
18969
18970 PR debug/43516
18971 * flags.h (final_insns_dump_p): New extern.
18972 * final.c (final_insns_dump_p): New variable.
18973 (rest_of_clean_state): Set it before -fdump-final-insns=
18974 dumping, clear afterwards.
18975 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
18976 MEM_ALIAS_SET on MEMs.
18977
46bc665f
DM
189782010-03-26 David S. Miller <davem@davemloft.net>
18979
18980 * configure.ac: Fix sparc GOTDATA_OP bug check.
18981 * configure: Rebuild.
18982
9fa195b8
AM
189832010-03-26 Alan Modra <amodra@gmail.com>
18984
18985 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
18986
9b7e6950
RO
189872010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18988
18989 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
18990 TLS_SECTION_ASM_FLAG.
18991
d53c73e0
JJ
189922010-03-25 Jakub Jelinek <jakub@redhat.com>
18993
935ec2c9
JJ
18994 PR bootstrap/43511
18995 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
18996 Clear first_function_block_is_cold.
18997
d53c73e0
JJ
18998 PR c/43385
18999 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
19000 argument if the argument is truth_value_p.
19001
871c9abb
MM
190022010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
19003
fb04bb84 19004 * config/rs6000/constraints.md: Update copyright year for my changes.
94ad7adc 19005
871c9abb
MM
19006 PR target/43484
19007 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
19008 used in reg+reg addressing, swap registers.
19009
81ef7e24
JJ
190102010-03-24 Jakub Jelinek <jakub@redhat.com>
19011
6d217c32
JJ
19012 PR debug/43293
19013 * target.h (struct gcc_target): Add code_end hook.
19014 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
19015 if not yet defined.
19016 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
19017 * toplev.c (compile_file): Call targetm.asm_out.code_end
19018 hook before unwind info/debug info output.
19019 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
19020 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
19021 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
19022 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
19023 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
19024 * config/i386/i386.c (ix86_file_end): Renamed to...
19025 (ix86_code_end): ... this. Make static. Don't call
19026 file_end_indicate_exec_stack. Emit unwind info using
19027 final_start_function/final_end_function.
19028 (darwin_x86_file_end): Remove.
19029 (TARGET_ASM_CODE_END): Define.
19030 * config/i386/i386.h (TARGET_ASM_FILE_END,
19031 NEED_INDICATE_EXEC_STACK): Don't define.
19032 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
19033 (TARGET_ASM_FILE_END): Define to darwin_file_end.
19034 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
19035 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
19036
81ef7e24
JJ
19037 PR target/43498
19038 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
19039 at the beginning and final_end_function at the end.
19040 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
19041
f1c26cad
RO
190422010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19043
19044 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
19045 and Sun as TLS syntax.
19046 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
19047 * configure: Regenerate.
19048 * config.in: Regenerate.
19049 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
19050 (default_elf_asm_named_section): Use it.
19051 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
19052 (i386_output_dwarf_dtprel): Likewise.
19053 (output_addr_const_extra): Likewise.
19054 (output_pic_addr_const): Lowercase @GOTTPOFF.
19055 (output_addr_const_extra): Likewise.
19056 (output_pic_addr_const): Lowercase @GOTNTPOFF.
19057 (output_addr_const_extra): Likewise.
19058 (output_pic_addr_const): Lowercase @INDNTPOFF.
19059 (output_addr_const_extra): Likewise.
19060 (output_pic_addr_const): Lowercase @NTPOFF.
19061 (output_addr_const_extra): Likewise.
19062 (output_pic_addr_const): Lowercase @TPOFF.
19063 (output_addr_const_extra): Likewise.
fb04bb84 19064 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
f1c26cad
RO
19065 (*tls_global_dynamic_64): Likewise.
19066 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
19067 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
19068
19069 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
19070 (ASM_OUTPUT_TLS_COMMON): Use it.
19071 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
19072
19073 PR target/38118
fb04bb84 19074 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
f1c26cad
RO
19075 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
19076 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
19077 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
19078 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
19079 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
19080
d2af65b9
RO
190812010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19082
19083 * config/i386/i386.c (override_options): Don't accept
19084 -mtls-dialect=sun any longer.
19085 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
19086 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
19087 (*tls_local_dynamic_base_32_sun): Likewise.
19088 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
19089
d0ed412a
JJ
190902010-03-24 Jakub Jelinek <jakub@redhat.com>
19091
1db0ea00
JJ
19092 PR debug/43508
19093 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
19094 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
19095
3a6191b1
JJ
19096 PR debug/43479
19097 * ira.c (adjust_cleared_regs): New function.
19098 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
19099
d0ed412a
JJ
19100 PR debug/19192
19101 PR debug/43479
19102 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
19103 from gimple_block.
19104 * expr.c (expand_expr_real): Restore previous
19105 curr_insn_source_location and curr_insn_block after
19106 expand_expr_real_1 call.
19107 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
19108 instead of expand_expr_real_1.
19109
478ab26d
VM
191102010-03-23 Vladimir Makarov <vmakarov@redhat.com>
19111
19112 PR rtl-optimization/43413
19113 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
19114 hard regs too.
19115
67b476d1
JW
191162010-03-22 James E. Wilson <wilson@codesourcery.com>
19117
19118 PR target/43348
19119 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
fb04bb84 19120 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
67b476d1 19121
99eaa2e7
L
191222010-03-22 H.J. Lu <hongjiu.lu@intel.com>
19123
fb04bb84
UB
19124 * config/i386/i386.c (ix86_target_string): Add -mfma.
19125 Fix a typo in comment.
99eaa2e7 19126
212066e6
MS
191272010-03-22 Mike Stump <mikestump@comcast.net>
19128
19129 PR target/23071
19130 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
19131 Don't overly align based upon packed packed fields.
19132
ce30e6fd
JM
191332010-03-22 Jason Merrill <jason@redhat.com>
19134
19135 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
19136 Use () rather than [], and move before the element type.
19137
3a1ef68a
RO
191382010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19139
19140 * doc/configfiles.texi (Configuration Files): Removed
19141 fixinc/Makefile*, intl/Makefile.*.
fb04bb84
UB
19142 * doc/makefile.texi: Fixed markup. Abstract from version
19143 control system used.
3a1ef68a
RO
19144 (Makefile): Removed obsolete gcc/java/parse.y example.
19145 * doc/sourcebuild.texi: Likewise.
19146 (Top Level): Added config, gnattools, libdecnumber, libgcc,
fb04bb84 19147 libgomp, libssp. Removed fastjar.
3a1ef68a
RO
19148 (Miscellaneous Docs): Clarify location.
19149 Added COPYING3, COPYING3.LIB.
fb04bb84 19150 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
3a1ef68a 19151
7f5441df
RO
191522010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19153
19154 PR target/38085
19155 * config/i386/i386.c (x86_function_profiler)
19156 [!NO_PROFILE_COUNTERS]: Fix typo.
19157 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
19158 instead of callq.
19159
d4f3924a
JJ
191602010-03-22 Janis Johnson <janis187@us.ibm.com>
19161 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19162
19163 * doc/sourcebuild.texi (Test Directives): Split into six
19164 subsections, with most of the current text in new subsections
19165 Directives, Selectors, and Final Actions.
19166 (Directives): Split list of test directives into multiple
19167 subsubsections.
19168 (Selectors): Describe use and syntax of selectors.
19169 (Effective-Target Keywords): Describe all existing keywords.
19170 (Add Options): Describe features for dg-add-options.
19171 (Require Support): Describe variants of dg-require-support.
19172 (Final Actions): Describe commands to use in dg-final.
19173
047550e9
MM
191742010-03-22 Michael Matz <matz@suse.de>
19175
19176 PR middle-end/43475
19177 * recog.c (validate_replace_rtx_group): Replace also in
19178 REG_EQUAL and REG_EQUIV notes.
19179
6d7971b8
RG
191802010-03-22 Richard Guenther <rguenther@suse.de>
19181
19182 PR tree-optimization/43390
19183 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
19184 sure vector extracts are type correct.
19185
6af84c85
RG
191862010-03-22 Richard Guenther <rguenther@suse.de>
19187
19188 PR middle-end/40106
19189 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
19190 x * sqrt (x) even when optimizing for size if the target
19191 has native support for sqrt.
19192
539eb459
JJ
191932010-03-22 Jakub Jelinek <jakub@redhat.com>
19194
be36dd85
JJ
19195 * varasm.c (make_decl_rtl_for_debug): Also clear
19196 flag_mudflap for the duration of make_decl_rtl call.
19197
539eb459
JJ
19198 PR debug/43443
19199 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
19200 locs from preserved VALUEs.
19201
19c1be39
JDA
192022010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19203
19204 PR middle-end/42718
19205 * pa.md (movmemsi): Set align to one if zero.
19206 (movmemdi): Likewise.
19207
f8b68ed3
RE
192082010-03-21 Richard Earnshaw <rearnsha@arm.com>
19209
19210 PR target/42321
19211 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
19212 with their corresponding prologue pushes.
19213
941ce52b
AP
192142010-03-20 Andrew Pinski <pinskia@gmail.com>
19215
19216 PR target/43156
19217 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
19218 at the begining or end.
19219 (spu_expand_epilogue): Likewise.
19220
d491d2af
RG
192212010-03-20 Richard Guenther <rguenther@suse.de>
19222
19223 PR rtl-optimization/43438
19224 * combine.c (make_extraction): Properly zero-/sign-extend an
19225 extraction of the low part of a CONST_INT. Also handle
19226 CONST_DOUBLE.
19227
4dd9ee92
MS
192282010-03-19 Mike Stump <mikestump@comcast.net>
19229
19230 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
19231 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
19232 (override_options): Use SUBTARGET32_DEFAULT_CPU.
19233
e49a760f
AP
192342010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
19235
6644642e 19236 PR c/43211
fb04bb84
UB
19237 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
19238 an error.
e49a760f 19239
f0c6475a 192402010-03-19 Bernd Schmidt <bernds@codesourcery.com>
002b2dee
BS
19241
19242 PR rtl-optimization/42258
19243 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
19244 use that may match DEF.
19245
c99102b8
BS
19246 PR target/40697
19247 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
19248 the cost of loading the constant rather than assuming
19249 COSTS_N_INSNS (1).
19250 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
19251 outer code is AND, do the same tests as the andsi3 expander and
19252 return COSTS_N_INSNS (1) if and is cheap.
fdb2c684
BS
19253
19254 * optabs.c (avoid_expensive_constant): Fix formatting.
19255
f9ceed32
MM
192562010-03-19 Michael Matz <matz@suse.de>
19257
19258 PR c++/43116
19259 * attribs.c (decl_attributes): When rebuilding a function pointer
19260 type use the same qualifiers as the original pointer type.
19261
3795eae6
MJ
192622010-03-19 Martin Jambor <mjambor@suse.cz>
19263
19264 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
19265 and is_gimple_ip_invariant_address.
19266
ae0bef88
RR
192672010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19268
19269 Revert
19270 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19271
19272 * config/arm/arm.c (arm_override_options): Turn off
19273 flag_dwarf2_cfi_asm for AAPCS variants.
19274
9abf5d7b
RR
192752010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19276
19277 PR target/43399
19278 * config/arm/arm.c (emit_multi_reg_push): Update comments.
19279 Use PRE_MODIFY instead of PRE_DEC.
19280 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
19281 (vfp_emit_fstmd): Likewise.
19282
8a0b1aa4
MM
192832010-03-19 Michael Matz <matz@suse.de>
19284
19285 PR target/43305
19286 * builtins.c (expand_builtin_interclass_mathfn,
19287 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
19288 if that fails.
19289
3e999e7b
RG
192902010-03-19 Richard Guenther <rguenther@suse.de>
19291
19292 PR tree-optimization/43415
19293 * tree-ssa-pre.c (phi_translate): Split out worker to ...
19294 (phi_translate_1): ... this.
19295 (phi_translate): Move all caching here. Cache all NARY
19296 and REFERENCE translations.
19297
9fd52c6c
DM
192982010-03-19 David S. Miller <davem@davemloft.net>
19299
19300 With help from Eric Botcazou.
19301 * config/sparc/sparc.c: Include dwarf2out.h.
19302 (emit_pic_helper): Delete.
19303 (pic_helper_symbol_name): Delete.
19304 (pic_helper_emitted_p): Delete.
19305 (pic_helper_needed): New.
19306 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
19307 (get_pc_thunk_name): New.
19308 (load_pic_register): Remove 'delay_pic_helper' arg. Use
19309 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
19310 Set pic_helper_needed to true. Don't call emit_pic_helper.
19311 (sparc_expand_prologue): Update load_pic_register call.
19312 (sparc_output_mi_thunk): Likewise.
19313 (sparc_file_end): Emit a hidden comdat symbol for the PIC
19314 thunk if possible. Output CFI information as needed.
19315
a29d9e20 193162010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
b6010cab
FXC
19317 Jack Howarth <howarth@bromo.med.uc.edu>
19318
19319 PR target/36399
48019e3d 19320 * config/i386/i386.h: Fix ABI on darwin x86-32.
b6010cab 19321
b1aa0655
AH
193222010-03-18 Aldy Hernandez <aldyh@redhat.com>
19323
19324 * tree.h: Declare make_decl_rtl_for_debug.
19325 * varasm.c (make_decl_rtl_for_debug): New.
19326 * dwarf2out.c (rtl_for_decl_location): Call it.
19327 * cfgexpand.c (expand_debug_expr): Call it.
19328
f0c12fcc
JJ
193292010-03-18 Jakub Jelinek <jakub@redhat.com>
19330
9a05b749
JJ
19331 PR bootstrap/43399
19332 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
19333 mem_mode.
19334
f0c12fcc
JJ
19335 PR bootstrap/43403
19336 * var-tracking.c (vt_init_cfa_base): Do nothing if
fb04bb84 19337 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
f0c12fcc 19338
e999b0c9
AO
193392010-03-18 Alexandre Oliva <aoliva@redhat.com>
19340
19341 PR debug/42873
19342 * var-tracking.c (canonicalize_vars_star): New.
19343 (dataflow_post_merge_adjust): Use it.
19344
5644a3d0
JJ
193452010-03-18 Jakub Jelinek <jakub@redhat.com>
19346
19347 PR debug/43058
19348 * var-tracking.c (non_suitable_const): New function.
19349 (add_uses): For DEBUG_INSNs with constants, don't record any
19350 value, instead just the constant value itself.
19351 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
19352 is not VAR_LOC_UNKNOWN_P, set var to the constant.
19353 (emit_notes_in_bb): Likewise.
19354 (emit_note_insn_var_location): For onepart variables if
19355 cur_loc is a VOIDmode constant, use DECL_MODE.
19356
8132a837
MJ
193572010-03-18 Martin Jambor <mjambor@suse.cz>
19358
19359 PR middle-end/42450
19360 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
19361 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
19362 all non-clones. Moved call redirection...
fb04bb84 19363 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
8132a837
MJ
19364 (cgraph_materialize_all_clones): Dispose of all
19365 combined_args_to_skip bitmaps.
19366 (verify_cgraph_node): Do not check for edges pointing to wrong
19367 nodes in inline clones.
19368 * tree-inline.c (copy_bb): Call
19369 cgraph_redirect_edge_call_stmt_to_callee.
19370 * ipa.c (cgraph_remove_unreachable_nodes): Call
19371 cgraph_node_remove_callees even when there are used clones.
19372
7893d7ac
L
193732010-03-18 H.J. Lu <hongjiu.lu@intel.com>
19374
19375 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
19376
cdfedab1
L
193772010-03-18 H.J. Lu <hongjiu.lu@intel.com>
19378
19379 PR target/43383
19380 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
19381 for 32bit.
19382
c21372c4
MM
193832010-03-18 Michael Matz <matz@suse.de>
19384
19385 PR middle-end/43419
19386 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
19387 into sqrt(x) if we need to preserve signed zeros.
19388
82fa5f8a
L
193892010-03-18 Steven Bosscher <steven@gcc.gnu.org>
19390 Eric Botcazou <ebotcazou@adacore.com>
19391
19392 PR rtl-optimization/43360
19393 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
19394 note if we don't know its invariant status.
19395
eb45755f
MM
193962010-03-18 Michael Matz <matz@suse.de>
19397
19398 PR tree-optimization/43402
19399 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
19400 PHI chains of ssa names registered for update.
19401
60936b22
PB
194022010-03-17 Peter Bergner <bergner@vnet.ibm.com>
19403
19404 PR target/42427
19405 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
19406 non-offsettable and pre_modify update addressing.
19407 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
19408 and "2" alternatives "#".
19409 (*movdd_softfloat32): Make all alternatives "#";
19410 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
19411 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
19412 (*movdf_softfloat32): Make all alternatives "#";
19413 (movdi): Use the new DIFD mode iterator to create a common splitter
19414 for movdi, movdf and movdd patterns.
19415
316fc112
SZ
194162010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
19417
19418 * common.opt (dumpdir): Remove redundant tab.
19419
ec24771f
MJ
194202010-03-17 Martin Jambor <mjambor@suse.cz>
19421
19422 PR tree-optimization/43347
19423 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
19424 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
19425
e33c42db
BS
194262010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
19427
19428 PR rtl-optimization/42216
19429 * regrename.c (create_new_chain): New function, broken out from...
19430 (scan_rtx_reg): ... here. Call it. Handle the case where we are
19431 appending a use to an empty chain.
19432 (build_def_use): Remove previous changes that convert OP_INOUT to
19433 OP_OUT operands; instead detect the case where an OP_INOUT operand
fb04bb84 19434 uses a previously untracked register and create an empty chain for it.
e33c42db 19435
4c4177dc
RW
194362010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19437
19438 * doc/extend.texi (Function Attributes): Rewrite unfinished
19439 sentence in ms_abi documentation.
19440
60ac9511
AM
194412010-03-17 Alan Modra <amodra@gmail.com>
19442
19443 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
19444 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
19445 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
19446 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
19447
e19d1f06
RH
194482010-03-16 Richard Henderson <rth@redhat.com>
19449
19450 PR middle-end/43365
19451 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
19452 (lower_try_finally): Save and restore eh_seq around the expansion
19453 of the try-finally.
19454
c36fed0c
AH
194552010-03-16 Aldy Hernandez <aldyh@redhat.com>
19456
19457 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
19458 statements before splitting block.
19459
17a7cb4e
RO
194602010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19461
19462 * doc/sourcebuild.texi (Testsuites): Fix markup.
19463 Use pathnames relative to gcc/testsuite.
19464 (Test Directives): Move description of how timeout is determined.
19465 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
19466 (C Tests): Correct gcc.misc-tests directory.
19467 Framework tests now live in gcc.test-framework.
19468
7686fb74
RG
194692010-03-16 Richard Guenther <rguenther@suse.de>
19470
19471 PR middle-end/43379
fb04bb84
UB
19472 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
19473 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7686fb74 19474
7a181764
AH
194752010-03-16 Aldy Hernandez <aldyh@redhat.com>
19476 Alexandre Oliva <aoliva@redhat.com>
19477
19478 PR tree-optimization/42917
19479 * lambda-code.c (remove_iv): Skip debug statements.
19480 (lambda_loopnest_to_gcc_loopnest): Likewise.
19481 (not_interesting_stmt): Debug statements are not interesting.
19482
457eeaae
JJ
194832010-03-16 Jakub Jelinek <jakub@redhat.com>
19484
19485 PR debug/43051
19486 PR debug/43092
19487 * cselib.c (cselib_preserve_constants,
19488 cfa_base_preserved_val): New static variables.
19489 (preserve_only_constants): New function.
19490 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
fb04bb84 19491 clear its REG_VALUES. If cselib_preserve_constants, don't
457eeaae
JJ
19492 empty the whole hash table, but preserve there VALUEs with constants,
19493 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
19494 (cselib_preserve_cfa_base_value): New function.
19495 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
19496 (cselib_init): Change argument to int bitfield. Set
19497 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
19498 is in it.
19499 (cselib_finish): Clear cselib_preserve_constants and
19500 cfa_base_preserved_val.
19501 * cselib.h (enum cselib_record_what): New enum.
19502 (cselib_init): Change argument to int.
19503 (cselib_preserve_cfa_base_value): New prototype.
19504 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
19505 * dse.c (dse_step1): Likewise.
19506 * cfgcleanup.c (thread_jump): Likewise.
19507 * sched-deps.c (sched_analyze): Likewise.
19508 * gcse.c (local_cprop_pass): Likewise.
19509 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
19510 If FN is non-NULL, call the callback always and whenever it returns
19511 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
19512 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
19513 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
19514 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
19515 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
19516 * var-tracking.c: Include recog.h.
19517 (bb_stack_adjust_offset): Remove.
19518 (vt_stack_adjustments): Don't call it, instead just gather the
19519 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
19520 (adjust_stack_reference): Remove.
19521 (compute_cfa_pointer): New function.
19522 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
19523 (struct adjust_mem_data): New type.
19524 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
19525 functions.
19526 (get_address_mode): New function.
19527 (replace_expr_with_values): Use it.
19528 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
19529 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
19530 (adjust_sets): Remove.
19531 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
19532 Use get_address_mode.
19533 (get_adjusted_src): Remove.
19534 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
19535 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
19536 (add_with_sets): Don't call adjust_sets.
19537 (fp_setter, vt_init_cfa_base): New functions.
19538 (vt_initialize): Change return type to bool. Move most of pool etc.
19539 initialization to the beginning of the function from end. Pass
19540 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
19541 If !frame_pointer_needed, call vt_stack_adjustment before mos
19542 vector is filled, call vt_init_cfa_base if argp/framep has been
19543 eliminated to sp. If frame_pointer_needed and argp/framep has
19544 been eliminated to hard frame pointer, set
19545 hard_frame_pointer_adjustment and call vt_init_cfa_base after
19546 encountering fp setter in the prologue. For MO_ADJUST, call
19547 log_op_type before pusing the op into mos vector, not afterwards.
19548 Call adjust_insn before cselib_process_insn/add_with_sets,
19549 call cancel_changes (0) afterwards.
19550 (variable_tracking_main_1): Adjust for vt_initialize calling
19551 vt_stack_adjustments and returning whether it succeeded or not.
19552
7dee65d8
AH
195532010-03-15 Aldy Hernandez <aldyh@redhat.com>
19554
19555 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
19556 debug statements.
19557
6019a098
JJ
195582010-03-15 Jakub Jelinek <jakub@redhat.com>
19559
19560 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
19561 has been set.
19562 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
19563 drap_reg has not been set.
19564
c2172338
MM
195652010-03-15 Michael Matz <matz@suse.de>
19566
19567 PR middle-end/43300
19568 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
19569 use it to expand block copies.
19570 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
19571 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
19572 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
19573
610b64e2
RG
195742010-03-15 Richard Guenther <rguenther@suse.de>
19575
19576 PR tree-optimization/43367
19577 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
19578 elimination check.
19579
610de68d
RB
195802010-03-15 Richard Guenther <rguenther@suse.de>
19581
19582 PR tree-optimization/43317
19583 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
19584
932e2e64
MJ
195852010-03-15 Martin Jambor <mjambor@suse.cz>
19586
610de68d 19587 PR tree-optimization/43141
932e2e64
MJ
19588 * tree-sra.c (create_abstract_origin): New function.
19589 (modify_function): Call create_abstract_origin.
19590
c8c520dd
CD
195912010-03-15 Chris Demetriou <cgd@google.com>
19592
19593 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
19594 wasn't copied.
19595
7f931500
SP
195962010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19597
19598 PR middle-end/43354
19599 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
19600 call insert_out_of_ssa_copy for default definitions.
19601
196022010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19603
19604 * graphite-clast-to-gimple.c (my_long_long): Defined.
19605 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
19606 * graphite-sese-to-poly.c (my_long_long): Defined.
19607 (scop_ivs_can_be_represented): Use it.
19608
196092010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19610
19611 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
19612 graphite-max-bbs-per-function, and loop-block-tile-size.
19613 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
19614 with "maximum".
19615 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
19616
196172010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19618
19619 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
19620 forward declaration.
19621 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
19622 (add_upper_bounds_from_estimated_nit): New.
19623 (build_loop_iteration_domains): Use it.
19624
196252010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19626
19627 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
19628
196292010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19630
19631 PR middle-end/43306
19632 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
19633 should be an INTEGER_CST. Also handle CASE_CONVERT.
19634
196352010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19636
19637 * graphite.c (graphite_initialize): To bound the number of bbs per
19638 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
19639 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
19640 * doc/invoke.texi: Document it.
19641
196422010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19643
19644 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
19645 * graphite-sese-to-poly.h (build_poly_scop): Same.
19646
196472010-03-13 Sebastian Pop <sebastian.pop@amd.com>
19648
19649 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
19650 the number of parameters in the scop. Use as an upper bound
19651 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
19652 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
19653 * doc/invoke.texi: Document it.
19654
929769f4
JQ
196552010-03-13 Jerry Quinn <jlquinn@optonline.net>
19656
19657 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
19658 * doc/c-tree.texi: Remove.
19659 * doc/generic.texi: Merge c-tree.texi here.
19660 * doc/gccint.texi (Trees): Remove menu entry.
19661 (c-tree.texi): Remove @include.
19662 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
19663 * doc/languages.texi (Reading RTL): Ditto.
19664
9c8cab44
SE
196652010-03-12 Steve Ellcey <sje@cup.hp.com>
19666
19667 PR target/42869
19668 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
19669
08f9d725
MM
196702010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
19671
19672 PR middle-end/42431
19673 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
19674 code added to work around reload clobbering CONST insns.
19675
70235ab9
JJ
196762010-03-12 Jakub Jelinek <jakub@redhat.com>
19677
0de3e43f
JJ
19678 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
19679 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
19680 (cselib_preserve_only_values): Remove retain argument, don't
19681 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
19682 * cselib.h (cselib_preserve_only_values): Remove retain argument.
19683 * var-tracking.c (micro_operation): Move insn field before union.
19684 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
19685 (struct variable_tracking_info_def): Remove n_mos field, change
19686 mos into a vector of micro_operations.
19687 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
19688 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
19689 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
19690 changing into a vector.
19691 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
19692 come before all other uops generated by add_stores.
19693 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
19694 argument removal.
19695 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
19696 a vector. Run just one pass over the bbs instead of separate counting
19697 and computation phase.
19698 (vt_finalize): Free VTI (bb)->mos vector instead of array.
19699
70235ab9
JJ
19700 PR debug/43329
19701 * tree-inline.c (remap_decls): Put old_var rather than origin_var
19702 into *nonlocalized_list vector.
19703 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
19704 even if origin is non-NULL.
19705 (gen_variable_die): Likewise.
19706 (process_scope_var): Don't change origin.
19707 (gen_decl_die): Likewise.
19708 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
19709 before adding new edges instead of after it, fix moving over
19710 debug stmts.
19711
7ac22e17
DM
197122010-03-11 David S. Miller <davem@davemloft.net>
19713
77514c73
UB
19714 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
19715 of four.
7ac22e17
DM
19716 * configure: Rebuild.
19717
0e0a1359
MJ
197182010-03-11 Martin Jambor <mjambor@suse.cz>
19719
19720 PR tree-optimization/43257
19721 * tree.c (assign_assembler_name_if_neeeded): New function.
19722 (free_lang_data_in_cgraph): Assembler name assignment moved to the
19723 above new function.
19724 * tree.h (assign_assembler_name_if_neeeded): Declare.
19725 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
19726 the function if needed.
19727
1d9edd01
CD
197282010-03-11 Chris Demetriou <cgd@google.com>
19729
19730 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
19731 include/stdint-gcc.h, and include/stdint.h world-readable.
19732
ff0a0c1d
RG
197332010-03-11 Richard Guenther <rguenther@suse.de>
19734
19735 PR tree-optimization/43255
19736 * tree-vrp.c (process_assert_insertions_for): Do not insert
19737 asserts for trivial conditions.
19738
b509e1fc
AK
197392010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
19740
19741 PR tree-optimization/43280
77514c73
UB
19742 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
19743 generation. Move calculation of size out of the if branch.
b509e1fc
AK
19744 (find_bswap): Modify compare number generation.
19745
108ba00b
RG
197462010-03-11 Richard Guenther <rguenther@suse.de>
19747
19748 PR lto/43200
19749 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
19750 (input_gimple_stmt): Fixup handled component types during
19751 operand read. Also fix up decls in ADDR_EXPRs.
19752
f37f5bb9
EB
197532010-03-10 Eric Botcazou <ebotcazou@adacore.com>
19754
19755 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
19756 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
19757
e9fecf0e
JH
197582010-03-10 Jan Hubicka <jh@suse.cz>
19759
19760 PR c/43288
19761 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
19762 * varasm.c (get_variable_section): Don't do that here...
19763 (make_decl_rtl): ... and here.
19764 (do_assemble_alias): Produce decl RTL.
19765 (assemble_alias): Likewise.
19766
23f39b37
JJ
197672010-03-10 Jakub Jelinek <jakub@redhat.com>
19768
19769 PR debug/43290
19770 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
19771 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
19772 of fde->vdrap_reg.
19773 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
19774 (based_loc_descr): Only express drap or vdrap regno based expressions
19775 using DW_OP_fbreg when not optimizing.
19776 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
19777 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
19778 REG_CFA_SET_VDRAP note.
19779
6edd8198
AM
197802010-03-10 Alexander Monakov <amonakov@ispras.ru>
19781
19782 PR tree-optimization/43236
19783 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
19784 error in calculation of base address in reverse iteration case.
19785 (generate_builtin): Take number of latch executions if the statement
19786 is in the latch.
19787
9f698956
AB
197882010-03-10 Andrey Belevantsev <abel@ispras.ru>
19789
19790 PR middle-end/42859
19791 * tree-eh.c: Include pointer-set.h.
19792 (lower_eh_dispatch): Filter out duplicate case labels and
19793 remove the unneeded edge when the label is unused. Return
19794 true when some edges are removed.
19795 (execute_lower_eh_dispatch): When any lowering resulted in
19796 removing an edge, also delete unreachable blocks.
19797
ff4f03c3
JJ
197982010-03-10 Jakub Jelinek <jakub@redhat.com>
19799
19800 PR bootstrap/43287
19801 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
19802 UNSPEC_MACHOPIC_OFFSET.
19803
7b0f476d
AS
198042010-03-09 Andreas Schwab <schwab@linux-m68k.org>
19805
19806 PR target/43294
19807 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
19808 (m68k_delegitimize_address): New function.
19809
3b7998ea
JJ
198102010-03-09 Jakub Jelinek <jakub@redhat.com>
19811
eb1fcdaa
JJ
19812 PR debug/43299
19813 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
19814
69b89883
JJ
19815 PR debug/43299
19816 * var-tracking.c (adjust_sets): New function.
19817 (count_with_sets, add_with_sets): Use it.
19818 (get_adjusted_src): New inline function.
19819 (add_stores): Use it.
19820
3b7998ea
JJ
19821 PR debug/43304
19822 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
19823 call cselib_dummy_expand_value_rtx_cb instead of
19824 cselib_expand_value_rtx_cb.
bded9b70
JJ
19825
19826 PR debug/43293
19827 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
19828 * config/i386/i386.c: Include debug.h and dwarf2out.h.
19829 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
19830 and .cfi_endproc around the pic thunks.
19831 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
19832 all queued unwind info register saves are saved before the call.
19833 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
19834 considered as sp-=4 for unwind info and the pop as sp+=4 which
19835 also clobbers dest, but doesn't actually restore it.
4398467a
JJ
19836
19837 PR debug/43290
19838 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
19839 RTX_FRAME_RELATED_P.
19840
81ad4ac0
JZ
198412010-03-09 Jie Zhang <jie@codesourcery.com>
19842
19843 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
19844 whitespaces in output template.
19845
dc344e87
JZ
198462010-03-09 Jie Zhang <jie@codesourcery.com>
19847
19848 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
19849 out array boundary.
19850
ff12d3a6
JJ
198512010-03-08 Jakub Jelinek <jakub@redhat.com>
19852
19853 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
19854 builtins.exp in a separate job.
19855
b58543c3
SP
198562010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19857
19858 * graphite-sese-to-poly.c (add_param_constraints): Use
19859 lower_bound_in_type and upper_bound_in_type.
19860
198612010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19862
19863 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
19864 instead of unsigned_type_node.
19865
198662010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19867 Reza Yazdani <reza.yazdani@amd.com>
19868
19869 PR middle-end/43065
19870 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
19871 on pointer type parameters.
19872
198732010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
19874
19875 PR middle-end/42644
19876 PR middle-end/42130
19877 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
19878 handle conversions from pointer to integers.
19879 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
77514c73 19880 induction variable, to be able to work with code generated by CLooG.
b58543c3
SP
19881 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
19882 (build_poly_scop): Bail out if we cannot codegen a loop.
19883
198842010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
19885
19886 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
19887 code generation with gloog_error.
19888
198892010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19890
19891 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
19892 Call fold_convert on all the returned values.
77514c73
UB
19893 (expand_scalar_variables_expr): Pass to
19894 expand_scalar_variables_ssa_name the type of the resulting expression.
b58543c3
SP
19895
198962010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19897
19898 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
77514c73
UB
19899 ppl_min_for_le_pointset.
19900 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
b58543c3
SP
19901 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
19902
199032010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19904
19905 * graphite-dependences.c (map_into_dep_poly): Removed.
19906 (dependence_polyhedron_1): Use combine_context_id_scat.
19907
199082010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19909
19910 * graphite-poly.h (struct poly_scattering): Add layout documentation.
19911 (struct poly_bb): Same.
19912 (combine_context_id_scat): New.
19913
199142010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19915
19916 PR middle-end/42326
19917 * sese.c (name_defined_in_loop_p): Return false for default
19918 definitions.
19919
199202010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19921
19922 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
19923 and clean up the logic.
19924
199252010-03-08 Sebastian Pop <sebastian.pop@amd.com>
19926
19927 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
19928 early return.
19929
1feb8238
JJ
199302010-03-08 Jakub Jelinek <jakub@redhat.com>
19931
19932 * var-tracking.c (remove_cselib_value_chains): Define only for
19933 ENABLE_CHECKING.
19934 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
19935 delete_slot_part, emit_notes_for_differences_1): Don't call
19936 remove_cselib_value_chains here.
19937 (set_slot_part, emit_notes_for_differences_2): Don't call
19938 add_cselib_value_chains here.
19939 (preserved_values): New vector.
19940 (preserve_value): New function.
19941 (add_uses, add_stores, vt_add_function_parameters): Use it
19942 instead of cselib_preserve_value.
19943 (changed_values_stack): New vector.
19944 (check_changed_vars_0): New function.
19945 (check_changed_vars_1, check_changed_vars_2): Use it.
19946 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
19947 changed_values_stack VALUEs.
19948 (vt_emit_notes): For all preserved_values call
19949 add_cselib_value_chains. If ENABLE_CHECKING call
19950 remove_cselib_value_chains before verifying value_chains is empty.
19951 Initialize and free changed_values_stack.
19952 (vt_initialize): Initialize preserved_values.
19953 (vt_finalize): Free preserved_values.
19954
cc788fcc
RG
199552010-03-08 Richard Guenther <rguenther@suse.de>
19956
19957 PR tree-optimization/43269
19958 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
19959 region detection.
19960
69c103c7
MJ
199612010-03-08 Martin Jambor <mjambor@suse.cz>
19962
19963 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
19964 (ipa_is_param_called): Removed.
19965 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
19966 (ipa_print_node_params): Do not print the called flag.
19967 (ipa_write_node_info): Do not stream the called flag.
19968 (ipa_read_node_info): Likewise.
19969
864ddef7
JJ
199702010-03-07 Jakub Jelinek <jakub@redhat.com>
19971
19972 PR debug/43176
19973 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
19974 * cselib.c (struct expand_value_data): Add dummy field.
19975 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
19976 dummy to false.
19977 (cselib_dummy_expand_value_rtx_cb): New function.
19978 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
19979 any rtl.
19980 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
19981 * var-tracking.c: Include pointer-set.h.
19982 (variable): Change n_var_parts to char from int. Add
19983 cur_loc_changed and in_changed_variables fields.
19984 (variable_canonicalize): Remove.
19985 (shared_var_p): New inline function.
19986 (unshare_variable): Maintain cur_loc_changed and
19987 in_changed_variables fields. If var was in changed_variables,
19988 replace it there with new_var. Just copy cur_loc instead of
19989 resetting it to something else.
19990 (variable_union): Don't recompute cur_loc. Use shared_var_p.
19991 (dataflow_set_union): Don't call variable_canonicalize.
19992 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
19993 of their DEBUG_EXPR_TREE_DECLs.
19994 (canonicalize_loc_order_check): Verify that cur_loc is NULL
19995 and in_changed_variables and cur_loc_changed is false.
19996 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
19997 and cur_loc_changed. Don't update cur_loc here.
19998 (variable_merge_over_src): Don't call variable_canonicalize.
19999 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
20000 removing loc that is equal to cur_loc, clear cur_loc,
20001 set cur_loc_changed and ensure variable_was_changed is called.
20002 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
20003 compare pointers in cur_loc check, if it is equal to loc,
20004 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
20005 (variable_different_p): Remove compare_current_location argument,
20006 don't compare cur_loc.
20007 (dataflow_set_different_1): Adjust variable_different_p caller.
20008 (variable_was_changed): If dv had some var in changed_variables
20009 already, reset in_changed_variables flag for it and propagate
20010 cur_loc_changed over to the new variable. On empty var
20011 always set cur_loc_changed. Set in_changed_variables on whatever
20012 var is added to changed_variables.
20013 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
20014 Use shared_var_p. When removing loc that is equal to cur_loc,
20015 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
20016 end, don't set it to something else, just call variable_was_changed.
20017 (delete_slot_part): Use shared_var_p. When cur_loc equals to
20018 loc being removed, clear cur_loc and set cur_loc_changed.
20019 Set cur_loc_changed if all locations have been removed.
20020 (struct expand_loc_callback_data): New type.
20021 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
20022 allocated. Always create SUBREGs if simplify_subreg failed.
20023 Prefer to use cur_loc, when that fails and still in
20024 changed_variables (and seen first time) recompute it. Set
20025 cur_loc_changed of variables which had to change cur_loc and
20026 compute elcd->cur_loc_changed if any of the subexpressions used
20027 had to change cur_loc.
20028 (vt_expand_loc): Adjust to pass arguments in
20029 expand_loc_callback_data structure.
20030 (vt_expand_loc_dummy): New function.
20031 (emitted_notes): New variable.
20032 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
20033 that weren't used for any other decl in current
20034 emit_notes_for_changes call call vt_expand_loc_dummy to update
20035 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
20036 first loc_chain location if NULL before. Always use just
20037 cur_loc instead of first loc_chain location. When cur_loc_changed
20038 is false, when not --enable-checking=rtl just don't emit any note.
20039 When rtl checking, compute the note and assert it is the same
20040 as previous note. Clear cur_loc_changed and in_changed_variables
20041 at the end before removing from changed_variables.
20042 (check_changed_vars_3): New function.
20043 (emit_notes_for_changes): Traverse changed_vars to call
20044 check_changed_vars_3 on each changed var.
20045 (emit_notes_for_differences_1): Clear cur_loc_changed and
20046 in_changed_variables. Recompute cur_loc of new_var.
77514c73 20047 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
864ddef7
JJ
20048 (vt_emit_notes): Initialize and destroy emitted_notes.
20049
c4137918
BS
200502010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
20051
20052 PR rtl-optimization/42220
20053 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
20054 Use verify_reg_tracked to determine if we should use OP_OUT rather
20055 than OP_INOUT.
20056 (build_def_use): If we see an in-out operand for a register that we
20057 know nothing about, treat is an output if possible, fail the block if
20058 not.
20059
cd6549e8
AO
200602010-03-06 Alexandre Oliva <aoliva@redhat.com>
20061
20062 PR debug/42897
20063 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
20064 permanently.
20065
aba09491
AO
200662010-03-06 Alexandre Oliva <aoliva@redhat.com>
20067
20068 PR debug/42897
20069 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
20070 uses of relevant DEFs that are dead outside the loop too.
20071
60d7a09b
AO
200722010-03-06 Alexandre Oliva <aoliva@redhat.com>
20073
20074 * var-tracking.c (dataflow_set_merge): Swap src and src2.
20075 Reverted:
20076 2010-01-13 Jakub Jelinek <jakub@redhat.com>
20077 PR debug/41371
20078 * var-tracking.c (values_to_unmark): New variable.
20079 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
20080 values_to_unmark vector. Moved body to...
20081 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
20082 instead queue it into values_to_unmark vector.
20083 (vt_find_locations): Free values_to_unmark vector.
20084
eeb971c9
EB
200852010-03-05 Eric Botcazou <ebotcazou@adacore.com>
20086
20087 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
20088 (site.exp): Export them when plugins are enabled.
20089
ccc5b640
SP
200902010-03-05 Sebastian Pop <sebastian.pop@amd.com>
20091
20092 PR middle-end/42326
20093 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
20094 that contain scevs.
20095 (chrec_fold_multiply): Same.
20096
3e23fb2e
AP
200972010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
20098
20099 PR c/43248
20100 * c-decl.c (build_compound_literal): Return early if init is
20101 an error_mark_node.
20102
76f76cd0
MJ
201032010-03-04 Martin Jambor <mjambor@suse.cz>
20104
20105 PR tree-optimization/43164
20106 PR tree-optimization/43191
20107 * tree-sra.c (type_consists_of_records_p): Reject records with
20108 zero-size bit-fields at the end.
20109
b2d244d1
MS
201102010-03-04 Mike Stump <mikestump@comcast.net>
20111
20112 * Makefile.in (TAGS): Remove *.y.
20113
9ca87236
RB
201142010-03-04 Richard Guenther <rguenther@suse.de>
20115
20116 PR tree-optimization/40761
20117 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
20118 in reverse order.
20119 (my_rev_post_order_compute): New function.
20120 (init_pre): Call it.
20121
572ae476
CF
201222010-03-04 Changpeng Fang <changpeng.fang@amd.com>
20123
8c0386a4 20124 PR middle-end/43209
9ca87236
RB
20125 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
20126 decrease the cost of an IV candidate when the cost is infinite.
572ae476 20127
f8723eb6
RW
201282010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20129
20130 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
20131 Use '3DNow!' for the extension of that name, ensure normal space
20132 after the string.
20133 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
20134
d8a60d24
JL
201352010-03-03 Jeff Law <law@redhat.com>
20136
20137 * PR middle-end/32693
20138 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
20139 than gen_rtx_SUBREG.
20140 (extract_bit_field_1): Likewise.
20141
8ec49cff
JJ
201422010-03-03 Janis Johnson <janis187@us.ibm.com>
20143
20144 * doc/sourcebuild.texi (Test directives): Document that arguments
20145 include-opts and exclude-opts are now optional for dg-skip-if,
20146 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
20147
2c71ac78
JM
201482010-03-03 Jason Merrill <jason@redhat.com>
20149
20150 PR c++/12909
20151 * cgraph.h (varpool_node): Add extra_name field.
20152 * varpool.c (varpool_extra_name_alias): New.
20153 (varpool_assemble_decl): Emit extra name aliases.
20154 (varpool_mark_needed_node): Look past an extra name alias.
1d5053d6
JM
20155 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
20156 * lto-streamer-in.c (lto_input_tree): Read it.
20157 * lto-streamer-out.c (output_unreferenced_globals): Write it.
2c71ac78 20158
2587aa3b
EB
201592010-03-03 Eric Botcazou <ebotcazou@adacore.com>
20160
20161 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
20162 (sparc*-*-solaris2*): ...this.
20163
db51bb34
JJ
201642010-03-03 Jakub Jelinek <jakub@redhat.com>
20165
7ece48b1
JJ
20166 PR debug/43229
20167 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
20168 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
20169 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
20170 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
20171
0508bed7
JJ
20172 PR debug/43237
20173 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
20174 fallthrough to default handling, just with want_address 0 instead of 2.
20175 For single element lists, add_AT_loc directly, otherwise create an
20176 artificial variable DIE and stick location list to it.
20177
db51bb34
JJ
20178 PR debug/43177
20179 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
20180 (VAL_EXPR_HAS_REVERSE): Define.
20181 (reverse_op): New function.
20182 (add_stores): For reversible operations add an extra MO_VAL_USE.
20183
7428bc26
JM
201842010-03-02 Jason Merrill <jason@redhat.com>
20185
20186 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
20187
d1ced155
EB
201882010-03-02 Eric Botcazou <ebotcazou@adacore.com>
20189
20190 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
20191 (sparc64-*-linux*): Likewise.
20192 (sparc64-*-solaris2*): Include assembler files before linker ones.
20193 (sparc-*-solaris2*): Simplify and reorder to match previous case.
20194 * config/sparc/gas.h: Delete.
20195 * config/sparc/sol2-64.h: Add copyright notice.
20196 * config/sparc/sol2-gas-bi.h: Likewise.
20197 * config/sparc/sol2-gld.h: Likewise.
20198 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
20199 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
20200 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
20201 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
20202 (sparc_elf_asm_named_section): Rename into...
20203 (sparc_solaris_elf_asm_named_section): ...this. Always define.
20204
02d43000
UB
202052010-03-02 Uros Bizjak <ubizjak@gmail.com>
20206
20207 * config/alpha/alpha.c (override_options): Fix -mtune error message.
20208
f6c86fab
JL
202092010-03-02 Jeff Law <law@redhat.com>
20210
4e222e63 20211 PR middle-end/42431
f6c86fab
JL
20212 * reload1.c (rtx_p, substitute_stack): Declare.
20213 (substitute): Record addresses of changed rtxs.
20214 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
20215 Restore the original rtx when complete.
20216 (reload): Free subsitute_stack when complete.
20217
500cdcb0
JJ
202182010-03-02 Janis Johnson <janis187@us.ibm.com>
20219
20220 * doc/gccint.texi (menu): Add Testsuites as a chapter.
20221 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
20222 new chapter.
20223 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
20224 LTO Testing, gcov Testing, profopt Testing, compat Testing,
20225 Torture Tests): Change from subsection to section.
20226
d9a6979d
JJ
202272010-03-02 Jakub Jelinek <jakub@redhat.com>
20228 Steven Bosscher <steven@gcc.gnu.org>
20229
02d43000
UB
20230 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
20231 instead of bb.
d9a6979d 20232
61226dc8
SP
202332010-03-02 Reza Yazdani <reza.yazdani@amd.com>
20234
20235 PR middle-end/42640
20236 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
20237 the assignment from the new induction variable to the assignment
20238 of the value from the original loop PHI function.
20239
15e7a617
JJ
202402010-03-01 Janis Johnson <janis187@us.ibm.com>
20241 Daniel Jacobowitz <dan@codesourcery.com>
20242
20243 * doc/sourcebuild.texi (Test directives): Clarify options to
20244 dg-skip-if.
20245
eb2573ee
RO
202462010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20247
20248 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
20249 Disable cfi directives unless GCC and gas agree on using read-only
20250 .eh_frame sections for 64-bit.
20251 * configure: Regenerate.
20252
12f9ddbc
RG
202532010-03-01 Richard Guenther <rguenther@suse.de>
20254
20255 PR tree-optimization/43220
20256 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
20257 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
20258
f0c10f0f 202592010-03-01 Richard Guenther <rguenther@suse.de>
02d43000 20260 Martin Jambor <mjambor@suse.cz>
f0c10f0f
RG
20261
20262 PR middle-end/41250
20263 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
20264 gimplified parameters.
20265
c40b5400
CB
202662010-03-01 Christian Bruel <christian.bruel@st.com>
20267
20268 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
61226dc8 20269
3c775d2d
L
202702010-03-01 H.J. Lu <hongjiu.lu@intel.com>
20271
20272 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
20273
434c8f4b
RG
202742010-03-01 Richard Guenther <rguenther@suse.de>
20275
20276 PR middle-end/43213
20277 * expr.c (expand_assignment): Use the alias-oracle to tell
20278 if the rhs aliases the result decl.
20279
291c0a12
RO
202802010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20281
20282 PR pch/14940
20283 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
20284 to sol_gt_pch_get_address.
20285 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
20286 64-bit, SPARC and x86.
20287 (sol_gt_pch_get_address): New function.
20288
61226dc8 202892010-03-01 Marco Poletti <poletti.marco@gmail.com>
894e2652
SZ
20290
20291 * toplev.h (inform_n, error_n): Declare.
20292 * diagnostic.c (inform_n, error_n): New function.
20293
6c6366f6
JJ
202942010-03-01 Jakub Jelinek <jakub@redhat.com>
20295
20296 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
20297 has no rtl yet when processing local_decls, queue it and recheck
20298 if deferred stack allocation hasn't assigned it rtl.
20299
826159e5
KK
203002010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
20301
20302 * config/sh/sh.c (unspec_bbr_uid): New.
20303 (gen_block_redirect): Use it instead of INSN_UID.
20304 (gen_far_branch): Likewise.
20305
746ecbcd
L
203062010-02-28 H.J. Lu <hongjiu.lu@intel.com>
20307
20308 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
20309 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
20310
02a9370c
RW
203112010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20312
20313 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
20314 (Warning Options): -Wno-conversion-null is valid for
20315 Objective-C++ as well.
20316 * doc/tm.texi (Named Address Spaces): Likewise.
20317 * doc/plugins.texi (Plugins): Replace TABs with spaces.
20318 * doc/tree-ssa.texi (Tree SSA): Likewise.
20319
91ad7e13
L
203202010-02-27 H.J. Lu <hongjiu.lu@intel.com>
20321
20322 PR bootstrap/43202
20323 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
20324 by default. Don't set the default arch for
20325 i[34567]86-*-darwin*|x86_64-*-darwin*.
20326
55c4eeaa
L
203272010-02-27 H.J. Lu <hongjiu.lu@intel.com>
20328
20329 PR bootstrap/43202
20330 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
20331 default. Set the default 32bit/64bit archs with $with_arch
20332 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
20333
30bc1dca
RG
203342010-02-27 Richard Guenther <rguenther@suse.de>
20335
20336 PR tree-optimization/43186
20337 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
20338 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
20339 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
20340 unroller iterations.
20341
c6b9174f
L
203422010-02-27 H.J. Lu <hongjiu.lu@intel.com>
20343
20344 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
20345 required and i[34567]86-*-* targets don't support 64bit ISA.
20346
2743db69
EB
203472010-02-26 Eric Botcazou <ebotcazou@adacore.com>
20348
20349 PR ada/43096
20350 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
20351 the same alias set.
20352
4d16c0dc
L
203532010-02-26 H.J. Lu <hongjiu.lu@intel.com>
20354
20355 * config.gcc: Set the default arch at least to Prescott for
20356 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
20357 if SSE math is enabled.
20358
0e94b750
MLI
203592010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
20360
20361 * diagnostic.c (diagnostic_initialize): Update.
20362 (diagnostic_report_diagnostic): Test inhibit_notes_p for
20363 informative notes.
20364 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
20365 (diagnostic_inhibit_notes): New.
20366 * toplev.c (process_options): inhibit notes with -fcompare-debug.
20367
7e1542b9
MLI
203682010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
20369
20370 PR c/20631
20371 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
20372 * doc/standards.texi: Likewise.
20373 * doc/extend.texi: Likewise.
20374 * doc/trouble.texi: Likewise.
61226dc8 20375 * doc/cppopts.texi: Likewise.
7e1542b9
MLI
20376 * doc/install.texi: Likewise.
20377 * c.opt (std=c90,std=gnu90): New options.
20378 * c-opts.c (c_common_handle_option): Handle them.
20379
0b901e4c
MLI
203802010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
20381
20382 PR c/24577
20383 * c-decl.c (undeclared_variable): Use an informative note.
20384
37530014
RG
203852010-02-26 Richard Guenther <rguenther@suse.de>
20386
20387 PR tree-optimization/43186
20388 * gimple.h (gimple_fold): Remove.
20389 * gimple.c (gimple_fold): Remove. Inline into single user ...
20390 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
20391 Try harder for conditions.
20392
095c7b3c
JJ
203932010-02-26 Jakub Jelinek <jakub@redhat.com>
20394
20395 PR debug/43190
20396 * function.c (used_types_insert): Don't skip through named pointer
20397 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
20398 and it is different from the main variant's type.
20399
a1e205cf
NC
204002010-02-26 Nick Clifton <nickc@redhat.com>
20401
20402 * config/rx/rx.md (sminsi3): Remove bogus alternative.
20403
a3af5e26
L
204042010-02-26 H.J. Lu <hongjiu.lu@intel.com>
20405
20406 * config.gcc: Support --with-fpmath=sse for x86.
20407
20408 * config/i386/ssemath.h: New.
20409
20410 * doc/install.texi (--with-fpmath=sse): Documented.
20411
2f816591
RG
204122010-02-26 Richard Guenther <rguenther@suse.de>
20413
20414 PR tree-optimization/43188
20415 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
20416 vector types of over-aligned element type.
20417
7ce321b3
L
204182010-02-26 Uros Bizjak <ubizjak@gmail.com>
20419
20420 PR target/43175
20421 * config/i386/i386.c (expand_vec_perm_blend): Use correct
02d43000 20422 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
7ce321b3 20423
b55b184a
JK
204242010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
20425
20426 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
20427
e7140c8d
JJ
204282010-02-26 Jakub Jelinek <jakub@redhat.com>
20429
6764d92c
JJ
20430 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
20431 * var-tracking.c: Include diagnostic.h.
20432 (debug_dv): New function.
20433 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
20434
5a309965
JJ
20435 PR debug/43160
20436 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
20437 (add_value_chain, add_value_chains, remove_value_chain,
20438 remove_value_chains): Handle DEBUG_EXPRs.
20439 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
20440
e7140c8d
JJ
20441 PR debug/43161
20442 * regcprop.c (struct queued_debug_insn_change): New type.
20443 (struct value_data_entry): Add debug_insn_changes field.
20444 (struct value_data): Add n_debug_insn_changes field.
20445 (debug_insn_changes_pool): New variable.
20446 (free_debug_insn_changes, apply_debug_insn_changes,
20447 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
20448 (kill_value_one_regno): Call free_debug_insn_changes if needed.
20449 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
20450 fields.
20451 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
20452 changes for them.
20453 (copyprop_hardreg_forward_1): Don't call apply_change_group for
20454 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
20455 changes, call cprop_find_used_regs via note_stores.
20456 (copyprop_hardreg_forward): When copying vd from predecessor
20457 which has any queued DEBUG_INSN changes, make sure the pointers are
20458 cleared. At the end call df_analyze and then if there are any
20459 DEBUG_INSN changes queued at the end of some basic block for still
20460 live registers, apply them.
20461 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
20462
894b386f
UB
204632010-02-25 Uros Bizjak <ubizjak@gmail.com>
20464
20465 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
20466 (arm*-*-*): Ditto.
20467
3fd77630
L
204682010-02-25 H.J. Lu <hongjiu.lu@intel.com>
20469
20470 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
20471 targets. Set the default with_cpu/with_arch from arch/cpu.
20472 Allow x86-64 and native for with_cpu/with_arch.
20473
4b9c6075
NB
204742010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
20475
20476 * ebitmap.c: Change calls to verify_popcount with calls to
20477 sbitmap_verify_popcount.
20478 (ebitmap_clear_bit): Fixed map->cacheindex test and
20479 map>cache update when bit clearing results in an empty
20480 element.
20481
2fcd8e02
MM
204822010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
20483
20484 PR target/43154
20485 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
20486 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
20487 and support both V2DF and V2DI modes.
20488 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
20489 support both V2DF and V2DI modes.
20490 (general): Delete trailing whitespace from a few patterns.
20491
20492 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
20493 V2DF/V2DI interleave high/low builtins.
20494
20495 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
20496 new VSX builtins.
20497
20498 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
20499 interleave high/low functions.
20500
f61ae065
GP
205012010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
20502
20503 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
20504 #pragma extern_prefix.
20505
7d5d39bb
JJ
205062010-02-25 Jakub Jelinek <jakub@redhat.com>
20507
06796564
JJ
20508 PR debug/43166
20509 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
20510 BLKmode, assert op0 is a MEM and just adjust its mode.
20511
7d5d39bb
JJ
20512 PR debug/43165
20513 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
20514 if bitpos isn't multiple of mode's bitsize.
20515
124e0d27
MLI
205162010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
20517
20518 * c.opt (-ftemplate-depth=): New.
20519 (-ftemplate-depth-): Deprecate.
20520 * optc-gen.awk: Handle -ftemplate-depth=.
20521 * opth-gen.awk: Likewise.
20522 * c-opts.c (c_common_handle_option): Likewise.
02d43000 20523 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
124e0d27 20524
0e7750a0
JM
205252010-02-24 Jason Merrill <jason@redhat.com>
20526
20527 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
20528
c26238f4
RO
205292010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20530
20531 * cfg.c (alloc_aux_for_block): Remove inline.
20532 (alloc_aux_for_edge): Likewise.
20533
bef64e0f
RO
205342010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20535
20536 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
20537
68ba2afe
RO
205382010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20539
20540 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
20541 * config/i386/sol2-gas.h: New file.
20542 * config.gcc (i[34567]86-*-solaris2*): Use it.
20543
2d2e923f
MLI
205442010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
20545
20546 PR c/43128
20547 * c-typeck.c (ep_convert_and_check): New.
20548 (build_conditional_expr): Use it.
20549 (build_binary_op): Likewise.
20550
2e957792
JJ
205512010-02-24 Jakub Jelinek <jakub@redhat.com>
20552
a46368b2
JJ
20553 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
20554
2e957792
JJ
20555 PR debug/43150
20556 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
20557 bounds even for -O+.
20558 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
20559 expr needs to have DECL_NAME set.
20560
12a54f54
NC
205612010-02-24 Nick Clifton <nickc@redhat.com>
20562
20563 * config/mep/mep.c: Include gimple.h.
20564 (mep_function_uses_sp): Delete unused function.
20565 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
20566 parameters. Use unsigned integers to count args. Return a
20567 NULL_RTX instead of an error_mark_node. Toidy up formatting.
20568
8f40ad50
JJ
205692010-02-23 Jakub Jelinek <jakub@redhat.com>
20570
20571 PR target/43107
20572 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
20573 greater or equal to nelt instead of 2 * nelt.
20574 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
20575 with nelt - 1.
20576
a3b20e90
JM
205772010-02-23 Jason Merrill <jason@redhat.com>
20578
3adcf52c
JM
20579 PR debug/42800
20580 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
20581 in cfun->local_decls even if they have register types.
20582
a3b20e90
JM
20583 PR c++/42837
20584 * stor-layout.c (place_field): Don't warn about unnecessary
20585 DECL_PACKED if the type is packed.
20586
5ead99fa
JJ
205872010-02-23 Jakub Jelinek <jakub@redhat.com>
20588
20589 PR target/43139
20590 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
20591 GOTOFF relocs, even when the base reg isn't pic pointer.
20592
2a8e30fb
MM
205932010-02-23 Michael Matz <matz@suse.de>
20594
20595 PR debug/43077
20596 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
20597 (expand_gimple_basic_block): Generate and use debug temps if there
20598 are debug uses left after the last real use of TERed ssa names.
20599 Unlink debug immediate uses when they are expanded.
20600
38170f34
MLI
206012010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
20602
20603 PR 43123
20604 * config/i386/i386.c (override_options): Reorganise to provide
20605 better error messages.
20606
0f9c8f56
SP
206072010-02-22 Sebastian Pop <sebastian.pop@amd.com>
20608
20609 PR middle-end/43083
20610 * graphite-scop-detection.c (create_single_exit_edge): Move
20611 the call to find_single_exit_edge to....
20612 (create_sese_edges): ...here. Don't handle multiple edges
20613 exiting the function.
20614 (build_graphite_scops): Don't handle multiple edges
20615 exiting the function.
20616
206172010-02-22 Sebastian Pop <sebastian.pop@amd.com>
20618
20619 PR middle-end/43097
20620 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
20621 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
20622
206232010-02-22 Sebastian Pop <sebastian.pop@amd.com>
20624
20625 PR middle-end/43026
20626 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
20627
a98c2819
MLI
206282010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
20629
20630 PR c++/43126
20631 * c-typeck.c (convert_arguments): Print declaration location.
20632 * c-common.c (validate_nargs): Rename as
20633 builtin_function_validate_nargs.
20634 (check_builtin_function_arguments): Update.
20635
ea2edf88
RG
206362010-02-22 Richard Guenther <rguenther@suse.de>
20637
20638 PR lto/43045
20639 * tree-inline.c (declare_return_variable): Use the type of
20640 the call stmt lhs if available.
20641
669887fc
DS
206422010-02-22 Duncan Sands <baldrick@free.fr>
20643
20644 * passes.c (register_pass): Always consider all pass lists when
20645 ref_pass_instance_number is zero.
20646
9efc83f4
RG
206472010-02-22 Richard Guenther <rguenther@suse.de>
20648
20649 PR tree-optimization/42749
20650 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
20651 parameter. Do arithmetic in the original type.
20652 (update_accumulator_with_ops): Likewise.
20653 (adjust_accumulator_values): Adjust.
20654
0a88561f
AK
206552010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
20656
20657 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
20658 (QI to BLKmode splitter): New splitter.
20659
5c91eb02
L
206602010-02-22 H.J. Lu <hongjiu.lu@intel.com>
20661
20662 * config/i386/i386.c (initial_ix86_tune_features): Turn on
20663 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
20664
69e3b47f
RG
206652010-02-22 Richard Guenther <rguenther@suse.de>
20666
20667 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
5c91eb02 20668
45df0e43
HPN
206692010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
20670
20671 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
20672 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
20673 ($(T)crti.o, $(T)crtn.o): Remove rules.
20674
72bd130e
TB
206752010-02-21 Tobias Burnus <burnus@net-b.de>
20676
20677 PR fortran/35259
20678 * doc/invoke.texi (-fassociative-math): Document that this
20679 option is automatically enabled for Fortran.
20680
878ee0ab
DM
206812010-02-20 David S. Miller <davem@davemloft.net>
20682
20683 * configure.ac: Test if linker and assembler properly support
20684 GOTDATA_OP relocations.
20685 * configure: Rebuild.
20686 * config.in: Likewise.
20687 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
20688 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
20689 (movsi_high_pic): Likewise.
20690 (movdi_lo_sum_pic): Likewise.
20691 (movdi_high_pic): Likewise.
20692 (movsi_pic_gotdata_op): New pattern.
20693 (movdi_pic_gotdata_op): Likewise.
20694 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
20695 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
02d43000 20696
78c201a4
UB
206972010-02-20 Uros Bizjak <ubizjak@gmail.com>
20698
20699 PR target/43067
20700 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
20701 attribute to ssemul.
20702 (xop_mulv2div2di3_high): Ditto.
20703
17251338
MLI
207042010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
20705
20706 PR c++/35669
20707 * c.opt (Wconversion-null): New option.
20708 * doc/invoke.texi (Wconversion-null): Document.
20709
e7a84854
MLI
207102010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
20711
20712 * common.opt (Wlarger-than-): Add Undocumented.
78c201a4 20713
f233f7ed
MS
207142010-02-19 Mike Stump <mikestump@comcast.net>
20715
20716 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
20717
d88900d7
JM
207182010-02-19 Jason Merrill <jason@redhat.com>
20719
20720 PR target/40332
20721 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
20722 * configure: Likewise.
20723
715a4e08
AM
207242010-02-20 Alan Modra <amodra@gmail.com>
20725
20726 PR middle-end/42344
20727 * cgraph.h (cgraph_make_decl_local): Declare.
20728 * cgraph.c (cgraph_make_decl_local): New function.
20729 (cgraph_make_node_local): Use it.
20730 * cgraphunit.c (cgraph_function_versioning): Likewise.
20731 * ipa.c (function_and_variable_visibility): Likewise.
20732
ad3b056c
JJ
207332010-02-19 Jakub Jelinek <jakub@redhat.com>
20734
20735 PR bootstrap/43121
20736 * except.c (sjlj_emit_function_enter): Don't call
20737 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
20738 directly.
20739 * rtl.h (add_reg_br_prob_note): Remove prototype.
20740
58076e21
MLI
207412010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
20742
20743 PR 41779
20744 * c-common.c (conversion_warning): Remove widening conversions
20745 before checking the conversion of integers to reals.
20746
b42186f1
MS
207472010-02-19 Mike Stump <mikestump@comcast.net>
20748
c387e067
MS
20749 PR middle-end/43125
20750 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
20751
b42186f1
MS
20752 PR objc/43061
20753 * cgraphunit.c (process_function_and_variable_attributes): Check
20754 DECL_PRESERVE_P instead of looking up attribute "used".
20755 * ipa-pure-const.c (check_decl): Likewise.
20756 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
20757 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
20758 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
20759 instead of attribute "used".
20760 * config/sol2-c.c (solaris_pragma_init): Likewise.
20761 (solaris_pragma_fini): Likewise.
20762
8ac074e8
JJ
207632010-02-19 Jakub Jelinek <jakub@redhat.com>
20764
25c0cad4
JJ
20765 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
20766 Use XCNEW instead of xcalloc.
20767 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
20768 XNEW instead of xmalloc.
20769 (get_fields): Use XNEWVEC instead of xmalloc.
20770
e19bcb67
JJ
20771 PR debug/43084
20772 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
20773 populate vars array.
20774 (create_new_general_access): For debug stmts just reset value.
20775 (get_stmt_accesses): For accesses within debug stmts just record them
20776 using add_access_to_acc_sites instead of preventing the peeling or
20777 counting them as accesses.
20778
8ac074e8
JJ
20779 PR middle-end/42233
20780 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
20781
c7da0354
RG
207822010-02-19 Richard Guenther <rguenther@suse.de>
20783
20784 PR tree-optimization/42916
20785 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
20786 instructions.
20787
e5dfb95f
AS
207882010-02-19 Andreas Schwab <schwab@linux-m68k.org>
20789
20790 * configure.ac: Replace all uses of changequote in macro arguments
20791 with proper quoting.
20792
2bdd49f4
JJ
207932010-02-19 Jakub Jelinek <jakub@redhat.com>
20794
20795 PR middle-end/42233
20796 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
20797
604d0dbc
RG
207982010-02-19 Richard Guenther <rguenther@suse.de>
20799
20800 PR tree-optimization/42944
20801 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
20802 test for aliasing with errno.
20803
554cf330
JJ
208042010-02-19 Jakub Jelinek <jakub@redhat.com>
20805
40e90eac
JJ
20806 PR middle-end/42233
20807 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
20808 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
20809 * dojump.c: Include output.h.
20810 (inv): New inline function.
20811 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
20812 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
20813 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
20814 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
20815 argument, pass it down to other calls.
20816 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
20817 add REG_BR_PROB note to the conditional jump.
20818 * cfgexpand.c (add_reg_br_prob_note): Removed.
20819 (expand_gimple_cond): Don't call it, add the probability
20820 as last argument to jumpif_1/jumpifnot_1.
20821 * Makefile.in (dojump.o): Depend on output.h.
20822 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
20823 callers.
20824 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
20825 * stmt.c (do_jump_if_equal): Likewise.
20826 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
20827 * loop-unswitch.c (compare_and_jump_seq): Likewise.
20828 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
20829 Likewise.
20830 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
20831 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
20832 jumpifnot_1 callers.
20833 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
20834 callers.
20835 (store_expr): Adjust jumpifnot caller.
20836 (store_constructor): Adjust jumpif caller.
20837
554cf330
JJ
20838 PR middle-end/42233
20839 * gimplify.c (gimple_boolify): For __builtin_expect call
20840 gimple_boolify also on its first argument.
20841
1a242e3c
UB
208422010-02-18 Uros Bizjak <ubizjak@gmail.com>
20843
20844 * configure.ac (gnu-unique-object): Wrap regexps using [] in
20845 changequote block.
20846 (__stack_chk_fail): Ditto. Remove quadrigraphs.
20847 * configure: Regenerated.
20848
86866b28
UW
208492010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20850
20851 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
20852 lang_hooks.types_compatible_p instead of comptypes.
20853
8168ccc0
SH
208542010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
20855
20856 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
20857 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
20858 if __prefer_thumb__ is defined.
20859
746e119f
MJ
208602010-02-18 Martin Jambor <mjambor@suse.cz>
20861
20862 PR tree-optimization/43066
20863 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
20864 array with zero-sized element type.
20865
82cf0c8c
JJ
208662010-02-18 Jakub Jelinek <jakub@redhat.com>
20867
20868 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
20869 rtx, allocate struct var_loc_node here and return it to the
20870 caller, and only if it is actually needed.
20871 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
20872 move it earlier and return immediately if it returns NULL.
20873
ccb265d6
MP
208742010-02-17 Mikael Pettersson <mikpe@it.uu.se>
20875
20876 * config/sparc/gas.h: New file. Restore
20877 TARGET_ASM_NAMED_SECTION to its ELF default.
20878 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
20879 check !HAVE_GNU_AS.
20880 * config/sparc/sparc.c (sparc_elf_asm_named_section):
20881 Likewise. Add ATTRIBUTE_UNUSED to prototype.
20882 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
20883 after sparc/sysv4.h.
20884
a30f3def
DK
208852010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
20886
20887 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
20888
2f6c5b27
SB
208892010-02-17 Steven Bosscher <steven@gcc.gnu.org>
20890
20891 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
20892 patterns from predicated pattern.
20893
b5e33e04
UB
208942010-02-17 Uros Bizjak <ubizjak@gmail.com>
20895
20896 PR target/43103
20897 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
20898 for insn mnemonic suffix.
20899
a95740b3
RG
209002010-02-17 Richard Guenther <rguenther@suse.de>
20901
20902 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
20903 to loop PHI nodes.
20904
169e464e
JJ
209052010-02-17 Jakub Jelinek <jakub@redhat.com>
20906
20907 PR debug/42918
20908 * caller-save.c (save_call_clobbered_regs): If BB ends with
20909 a DEBUG_INSN, move any notes in between last real insn and the last
20910 DEBUG_INSN after the last DEBUG_INSN.
20911
5498b6d2
JR
209122010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
20913
20914 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
20915 Fix return type. Fix argument type. Explain meaning of return value.
20916
b09bae68
RG
209172010-02-16 Richard Guenther <rguenther@suse.de>
20918
20919 PR tree-optimization/41043
b5e33e04 20920 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
b09bae68
RG
20921 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
20922 statements ...
20923 (vrp_visit_phi_node): ... but only for loop PHI nodes.
20924
d5dceab8 209252010-02-16 Ira Rosen <irar@il.ibm.com>
99f51320
IR
20926
20927 PR tree-optimization/43074
20928 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
20929 * tree-vect-loop.c (vect_analyze_loop_operations): Add
20930 vectorizable cycles in hybrid SLP check.
20931 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
20932
f47e08d9
RG
209332010-02-16 Richard Guenther <rguenther@suse.de>
20934
b5e33e04 20935 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
f47e08d9
RG
20936 (true_dependence): If memrefs_conflict_p computes must-alias
20937 trust it. Move TBAA check after offset-based disambiguation.
20938 (canon_true_dependence): Likewise.
20939
ec8c3978
JJ
209402010-02-16 Alexandre Oliva <aoliva@redhat.com>
20941
20942 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
20943 * doc/invoke.texi: Document it.
20944 * var-tracking.c: Include toplev.h and params.h.
20945 (vt_find_locations): Return bool indicating success. Compute
20946 hash sizes unconditionally. Check new parameter, report.
20947 (variable_tracking_main_1): Check vt_find_locations results and
20948 retry. Renamed from...
20949 (variable_tracking_main): ... this. New wrapper to preserve
20950 flag_var_tracking_assignments.
20951 * Makefile.in (var-tracking.o): Adjust dependencies.
20952
3bf6b403 209532010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
b5e33e04 20954 Jakub Jelinek <jakub@redhat.com>
3bf6b403
JH
20955
20956 PR target/42854
20957 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
20958 if weak_import attribute is present.
20959 * config/darwin.c (machopic_select_section): Likewise.
20960
a934eb2d
JR
209612010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
20962
20963 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
20964 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
20965 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
20966 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
20967
74ca3393
EB
20968 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
20969 types.
a934eb2d
JR
20970
20971 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
20972 Fix argument types.
20973
20974 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
20975 Rewrite text to refer to the names.
20976
02edd2f6
SP
209772010-02-15 Sebastian Pop <sebastian.pop@amd.com>
20978
20979 * config/i386/i386-builtin-types.def
20980 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
20981 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
20982 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
20983 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
20984 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
20985 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
20986 IX86_BUILTIN_VPERMIL2PS256.
20987 (MULTI_ARG_4_DF2_DI_I): Defined.
20988 (MULTI_ARG_4_DF2_DI_I1): Defined.
20989 (MULTI_ARG_4_SF2_SI_I): Defined.
20990 (MULTI_ARG_4_SF2_SI_I1): Defined.
20991 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
20992 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
20993 __builtin_ia32_vpermil2ps256.
20994 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
20995 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
20996 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
20997 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
20998 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
20999 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
21000 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
21001 CODE_FOR_xop_vpermil2v8sf3.
21002 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
21003 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
21004 * config/i386/xopintrin.h (_mm_permute2_pd): New.
21005 (_mm256_permute2_pd): New.
21006 (_mm_permute2_ps): New.
21007 (_mm256_permute2_ps): New.
21008
ac447f25
NC
210092010-02-15 Nick Clifton <nickc@redhat.com>
21010
d079b87f 21011 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
ac447f25
NC
21012 boolean parameters. Use emit_jump_insn when emitting a pop
21013 instruction containing a return insn.
b5e33e04
UB
21014 (push): Use 'true' rather than '1' as second parameter to F.
21015 (h8300_expand_prologue): Likewise.
21016 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
21017 (h8300_expand_epilogue): Likewise.
ac447f25 21018
313333a6
RG
210192010-02-15 Richard Guenther <rguenther@suse.de>
21020
21021 PR middle-end/43068
21022 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
21023 if that is zero.
21024
653958e8
NC
210252010-02-15 Nick Clifton <nickc@redhat.com>
21026
21027 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
21028 delta.
21029
0f667308
MP
210302010-02-14 Marco Poletti <poletti.marco@gmail.com>
21031
21032 * intl.c (fake_ngettext): New function.
21033 * intl.h (fake_ngettext): Declare.
21034 (ngettext): Define macro.
21035 * collect2.c (notice_translated): New function.
21036 (main): Use notice_translated and ngettext.
21037 * collect2.h (notice_translated): Declare.
21038
912eb5a4
SB
210392010-02-14 Steven Bosscher <steven@gcc.gnu.org>
21040
21041 * reorg.c (delete_computation): Comment fixes.
21042 * caller-save.c (setup_save_areas): Idem.
21043 * sel-sched-dump.c (dump_lv_set): Idem.
21044 * rtl.def: Idem.
21045
244e6c5c
AK
210462010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
21047
21048 * config/s390/s390.c (s390_sched_init): New function.
21049 (TARGET_SCHED_INIT): Target hook defined.
21050
9ab99933
DK
210512010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
21052 Jack Howarth <howarth@bromo.med.uc.edu>
21053 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
21054
21055 PR target/42982
21056 Partial revert of unintended change in fix for PR41605.
21057 * config/darwin.h: Fix typo.
21058 * config/darwin9.h: Same.
21059
ed5bdeb6
JJ
210602010-02-11 Jakub Jelinek <jakub@redhat.com>
21061
21062 * c-pch.c (pch_init): Clear v.
21063
f432760f
SP
210642010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21065
21066 PR middle-end/42930
21067 * graphite-scop-detection.c (graphite_can_represent_scev): Call
21068 graphite_can_represent_init for MULT_EXPR.
21069
210702010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21071
21072 PR middle-end/42914
21073 PR middle-end/42530
21074 * graphite-sese-to-poly.c (remove_phi): New.
21075 (translate_scalar_reduction_to_array): Call remove_phi.
21076
210772010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21078
21079 PR middle-end/42771
21080 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
21081 * graphite-clast-to-gimple.h (gloog): Update declaration.
21082 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
21083 * graphite-poly.h (struct poly_bb): Add missing comments.
21084 (struct scop): Add poly_scop_p field.
21085 (POLY_SCOP_P): New.
21086 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
21087 * graphite.c (graphite_transform_loops): Build the polyhedral
21088 representation for each scop before code generation.
21089 * sese.c (rename_variables_in_operand): Removed.
21090 (rename_variables_in_expr): Return the renamed expression.
21091 (rename_sese_parameters): New.
21092 * sese.h (rename_sese_parameters): Declared.
21093
6d892147
RG
210942010-02-11 Richard Guenther <rguenther@suse.de>
21095
21096 PR tree-optimization/42998
21097 * tree-ssa-pre.c (create_expression_by_pieces): Treat
21098 POINTER_PLUS_EXPR properly.
21099
04eadb13
SP
211002010-02-11 Sebastian Pop <sebastian.pop@amd.com>
21101 Changpeng Fang <changpeng.fang@amd.com>
21102
21103 PR middle-end/40886
21104 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
21105 the cost of an IV candidate when the IV is used in a test against zero.
21106
21107 * gcc.dg/tree-ssa/ivopts-3.c: New.
21108
91753e21
RG
211092010-02-11 Richard Guenther <rguenther@suse.de>
21110
21111 PR lto/41664
21112 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
21113 pointer-vs-decl case by swapping refs. Handle some cases
21114 of pointer-vs-decl disambiguations more conservatively.
21115 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
21116 to false after expanding.
21117
f68df07c
RG
211182010-02-11 Richard Guenther <rguenther@suse.de>
21119
21120 PR driver/43021
21121 * gcc.c (process_command): Handle LTO file@offset case more
21122 appropriately.
21123
d2d36740
JJ
211242010-02-11 Jakub Jelinek <jakub@redhat.com>
21125
8f6aedba
JJ
21126 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
21127 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
21128 of DEBUG_INSNs.
21129 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
21130
d2d36740
JJ
21131 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
21132 if MEM's mode size isn't DWARF2_ADDR_SIZE.
21133 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
21134 Optimize eq/ne comparisons when both arguments are known to be
21135 zero-extended.
21136 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
21137 Don't mask operands unnecessarily if they are known to be already
21138 zero-extended.
21139
56592e03
VM
211402010-02-10 Vladimir Makarov <vmakarov@redhat.com>
21141
21142 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
21143 instead of loop.
21144
5418fe84
RG
211452010-02-10 Richard Guenther <rguenther@suse.de>
21146
21147 PR tree-optimization/43017
21148 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
21149 for wrapping signed arithmetic.
21150
92e8e53a
JJ
211512010-02-10 Jakub Jelinek <jakub@redhat.com>
21152
21153 PR debug/43010
21154 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
21155 if no debug info should be emitted for it.
21156
bd55b817
KK
211572010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
21158
21159 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
21160 note when flag_exceptions is set.
21161
2ab43a52
DS
211622010-02-10 Duncan Sands <baldrick@free.fr>
21163
21164 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
21165
d977cb9c
RG
211662010-02-10 Richard Guenther <rguenther@suse.de>
21167
21168 PR c/43007
21169 * tree.c (get_unwidened): Handle constants.
21170 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
21171
563cb662
MJ
211722010-02-10 Martin Jambor <mjambor@suse.cz>
21173
21174 PR lto/42985
21175 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
21176 check for variable argument counts independently.
21177
9e3c399e
CB
211782010-02-10 Christian Bruel <christian.bruel@st.com>
21179
21180 PR target/42841
21181 * config/sh/sh.c (find_barrier): Increase length for non delayed
21182 conditional branches.
01305d24 21183
e938feb4
CB
211842010-02-10 Christian Bruel <christian.bruel@st.com>
21185
21186 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
01305d24 21187
cbb1ab10
JJ
211882010-02-10 Jakub Jelinek <jakub@redhat.com>
21189
21190 * builtins.c (set_builtin_user_assembler_name): Also handle
21191 ffs if int is smaller than word.
21192
b09495c1
VM
211932010-02-09 Vladimir Makarov <vmakarov@redhat.com>
21194
21195 PR middle-end/42973
21196 * ira-conflicts.c (get_dup): Remove.
21197 (process_reg_shuffles): Add new parameter. Use it as an
21198 additional guard for copy generation.
21199 (add_insn_allocno_copies): Rewrite.
21200
57257f0d
AM
212012010-02-09 Alexander Monakov <amonakov@ispras.ru>
21202
21203 * common.opt (fsched2-use-traces): Preserved for backward
21204 compatibility.
21205 * doc/invoke.texi: Remove the documentation about option
21206 -fsched2-use-traces.
21207 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
21208 flag_sched2_use_traces.
21209 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
21210 the backward compatibility flag section.
21211
72d182d3
RG
212122010-02-09 Richard Guenther <rguenther@suse.de>
21213
21214 PR tree-optimization/43008
21215 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
21216 make HEAP variables initialized from global memory if they
21217 are not known builtin functions.
21218 (find_func_aliases): Adjust.
21219
9605a606
RG
212202010-02-09 Richard Guenther <rguenther@suse.de>
21221
21222 PR tree-optimization/43000
21223 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
21224 arithmetic manually.
21225
8d9eca14
JJ
212262010-02-08 Jakub Jelinek <jakub@redhat.com>
21227
21228 PR tree-optimization/42931
21229 * tree-loop-linear.c (try_interchange_loops): Don't call
21230 double_int_mul if estimated_loop_iterations failed.
21231
d3545524
MJ
212322010-02-08 Martin Jambor <mjambor@suse.cz>
21233
21234 PR middle-end/42898
21235 * tree-sra.c (build_accesses_from_assign): Do not mark in
21236 should_scalarize_away_bitmap if stmt has volatile ops.
21237 (sra_modify_assign): Do not process assigns piecemeal if if stmt
21238 has volatile ops.
21239
8a9a2486
JR
212402010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
21241
21242 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
21243
7bf25dd6
AN
212442010-02-07 Adam Nemet <adambnmet@gmail.com>
21245
21246 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
21247 before the pattern.
21248
a46edbff
AP
212492010-02-07 Andrew Pinski <pinskia@gmail.com>
21250
21251 PR middle-end/42946
21252 * df-core.c (df_finish_pass): Change type of saved_flags to int.
21253
86da963e
SP
212542010-02-07 Sebastian Pop <sebastian.pop@amd.com>
21255
21256 PR middle-end/42988
21257 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
21258 to unknown_dependence.
21259 (graphite_legal_transform_dr): Handle the unknown_dependence.
21260 (graphite_carried_dependence_level_k): Same.
21261
212622010-02-07 Sebastian Pop <sebastian.pop@amd.com>
21263
21264 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
21265
997ac87b
RG
212662010-02-07 Richard Guenther <rguenther@suse.de>
21267
21268 PR middle-end/42991
21269 * expr.c (get_inner_reference): Always initialize *pbitsize.
21270
cb6b911a
RG
212712010-02-07 Richard Guenther <rguenther@suse.de>
21272
21273 PR middle-end/42956
21274 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
21275 new ARRAY_REFs on variable size element or minimal index arrays.
21276 Complete.
21277 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
21278 gimple_fold_indirect_ref.
21279
b761dbe6
RE
212802010-02-06 Richard Earnshaw <rearnsha@arm.com>
21281
21282 PR target/42957
21283 * arm.c (arm_override_options): Just return if the user has specified
21284 an invalid fpu name.
21285
b2469a9b
JM
212862010-02-03 Jason Merrill <jason@redhat.com>
21287
21288 PR c++/42870
21289 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
21290 i386_pe_maybe_record_exported_symbol.
21291
1f65437d
SE
212922010-02-05 Steve Ellcey <sje@cup.hp.com>
21293
21294 PR target/42924
21295 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
21296 (pa_delegitimize_address): New function.
21297
126edba2
OS
212982010-02-05 Ozkan Sezer <sezeroz@gmail.com>
21299
21300 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
21301 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
21302
532df904
RG
213032010-02-05 Richard Guenther <rguenther@suse.de>
21304
21305 PR lto/42762
21306 * lto-streamer-in.c (get_resolution): Deal with references
21307 to undefined functions.
21308
5c95f07b
RG
213092010-02-05 Richard Guenther <rguenther@suse.de>
21310
b5e33e04 21311 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
5c95f07b
RG
21312 (fold_const_aggregate_ref): Likewise.
21313 (ccp_fold_stmt): Substitute loads.
21314 (maybe_fold_reference): Verify types before substituting.
21315 Unshare properly.
21316 (fold_gimple_assign): Unshare properly.
b5e33e04 21317 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
5c95f07b 21318
64aa00b1
NF
213192010-02-05 Nathan Froyd <froydnj@codesourcery.com>
21320
21321 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
21322 for rs6000_gen_cell_microcode.
21323
b0f19292
RG
213242010-02-04 Richard Guenther <rguenther@suse.de>
21325
21326 PR rtl-optimization/42952
21327 * dse.c (const_or_frame_p): Remove MEM handling.
21328
f7eb48b5
NC
213292010-02-04 Nick Clifton <nickc@redhat.com>
21330
21331 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
21332 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
21333 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
21334 (mn10300_asm_output_mi_thunk): New function.
21335 (mn10300_can_output_mu_thunk): New function.
21336 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
21337 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
21338 (FUNCTION_ARG): Delete incorrect comment.
21339
2aac1924
JM
213402010-02-03 Jason Merrill <jason@redhat.com>
21341
21342 PR c++/40138
21343 * fold-const.c (operand_equal_p): Handle erroneous types.
21344
3e5f930f 213452010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
07738b87
KP
21346
21347 * config/h8300/h8300.md (can_delay): Fix attibute condition.
21348
a7f3e500
VM
213492010-02-03 Vladimir Makarov <vmakarov@redhat.com>
21350
3e5f930f 21351 PR rtl-optimization/42941
a7f3e500
VM
21352 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
21353 of xmalloc.
21354
59d49708
JM
213552010-02-03 Jason Merrill <jason@redhat.com>
21356
21357 PR c++/35652
21358 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
21359
5440c0e7
AO
213602010-02-03 Alexandre Oliva <aoliva@redhat.com>
21361
21362 PR debug/42896
02d43000 21363 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
5440c0e7
AO
21364 (cselib_reset_table): Renamed from...
21365 (cselib_reset_table_with_next_value): ... this.
21366 (cselib_get_next_uid): Renamed from...
21367 (cselib_get_next_unknown_value): ... this.
21368 * cselib.c (next_uid): Renamed from...
21369 (next_unknown_value): ... this.
21370 (cselib_clear_table): Adjust.
21371 (cselib_reset_table): Adjust. Renamed from...
21372 (cselib_reset_table_with_next_value): ... this.
21373 (cselib_get_next_uid): Adjust. Renamed from...
21374 (cselib_get_next_unknown_value): ... this.
21375 (get_value_hash): Use hash.
21376 (cselib_hash_rtx): Likewise.
21377 (new_cselib_val): Adjust. Set and dump uid.
21378 (cselib_lookup_mem): Pass next_uid as hash.
21379 (cselib_subst_to_values): Likewise.
21380 (cselib_log_lookup): Dump uid.
21381 (cselib_lookup): Pass next_uid as hash. Adjust.
21382 (cselib_process_insn): Adjust.
21383 (cselib_init): Initialize next_uid.
21384 (cselib_finish): Adjust.
21385 (dump_cselib_table): Likewise.
21386 * dse.c (canon_address): Dump value uid.
21387 * print-rtl.c (print_rtx): Print value uid.
21388 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
21389 (dvuid): New type.
21390 (dv_uid): New function, sort of renamed from...
21391 (dv_htab_hash): ... this, reimplemented in terms of it and...
21392 (dv_uid2hash): ... this. New.
21393 (variable_htab_eq): Drop excess assertions.
21394 (tie_break_pointers): Removed.
21395 (canon_value_cmp): Compare uids.
21396 (variable_post_merge_New_vals): Print uids.
21397 (vt_add_function_parameters): Adjust.
21398 (vt_initialize): Reset table. Adjust.
21399
e3c70387
RG
214002010-02-03 Richard Guenther <rguenther@suse.de>
21401
21402 PR tree-optimization/42944
b5e33e04 21403 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
e3c70387
RG
21404 (call_may_clobber_ref_p_1): Likewise. Properly handle
21405 malloc and calloc clobbering errno.
21406
4cad6dba
SB
214072010-02-03 Steven Bosscher <steven@gcc.gnu.org>
21408
21409 * doc/invoke.texi: Fix name of sched1 dump.
21410
21411 * opts.c (decode_options): Set flag_tree_switch_conversion
21412 only conditionally on optimize >= 2.
21413
21414 * gcse.c: Assorted comment fixes in pass description.
21415
693ee8cf
AG
214162010-02-03 Anthony Green <green@moxielogic.com>
21417
21418 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
21419 nop padding in order to maintain alignment of storage location of
21420 target function address.
21421 (moxie_trampoline_init): Store target function address at newly
21422 aligned location.
21423 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
21424 to 32.
21425 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
21426
bf8e3b77
RG
214272010-02-03 Richard Guenther <rguenther@suse.de>
21428
21429 PR middle-end/42927
21430 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
21431
bde17fdc
RO
214322010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21433
21434 * config.gcc: Reenable check for obsolete targets.
21435 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
21436 mips-sgi-irix6.[0-4]*.
21437
c9c27b72
NC
214382010-02-02 Nick Clifton <nickc@redhat.com>
21439
21440 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
21441 constant size of 4 as being the same as 0.
21442 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
21443 can take values in the range 0..4.
21444
fc15bd03
JH
214452010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
21446
21447 PR java/41991
21448 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
21449 as _darwin10_Unwind_FindEnclosingFunction().
21450 * libgcc-libsystem.ver: New.
21451
6eeea7a7
VM
214522010-02-01 Vladimir Makarov <vmakarov@redhat.com>
21453
21454 PR target/41399
21455 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
21456 implicitly set registers.
21457
87d05b44
RE
214582010-02-01 Richard Earnshaw <rearnsha@arm.com>
21459
21460 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
21461 (arm_override_options): Allow automatic selection of the thread
21462 pointer register if thumb2.
21463 (legitimize_pic_address): Improve code sequences for Thumb2.
21464 (arm_call_tls_get_addr): Likewise.
21465 (legitimize_tls_address): Likewise.
21466 * arm.md (pic_load_addr_arm): Delete. Replace with ...
21467 (pic_load_addr_32bit): ... this. New named pattern.
21468 * thumb2.md (pic_load_addr_thumb2): Delete.
21469 (pic_load_dot_plus_four): Delete.
21470 (tls_load_dot_plus_four): New named pattern.
21471
cb717ac4
RO
214722010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21473
21474 PR libgomp/29986
21475 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
21476 Document fix for TLS bug.
21477
44f89620
RG
214782010-01-31 Richard Guenther <rguenther@suse.de>
21479
21480 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
21481 conservatively correct.
21482
747b0aed
JDA
214832010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
21484
21485 PR target/42850
21486 Revert:
21487 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
21488
21489 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
21490
362c6d2f
KG
214912010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21492
21493 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
21494
8370a62a
KT
214952010-01-31 Kai Tietz <kai.tietz@onevision.com>
21496
21497 * config.gcc: Adjust order of makefile fragments for mingw targets.
21498
61c7cbf8
RG
214992010-01-31 Richard Guenther <rguenther@suse.de>
21500
21501 PR middle-end/42898
21502 * gimplify.c (gimplify_init_constructor): For volatile LHS
21503 initialize a temporary.
21504
b0a69d20
MK
215052010-01-31 Matthias Klose <doko@ubuntu.com>
21506
21507 * configure.ac: Fix __stack_chk_fail check for cross builds configured
21508 --with-headers
21509 * configure: Regenerate.
21510
55eb4dab
EB
215112010-01-29 Eric Botcazou <ebotcazou@adacore.com>
21512
21513 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
21514 the same alias set and their sizes different constantness.
21515 (aliasing_component_refs_p): Revert 2009-10-24 change.
21516
f9e06dbc
RO
215172010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21518
21519 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
21520 unused.
21521
eb6b98c7
RG
215222010-01-29 Richard Guenther <rguenther@suse.de>
21523
21524 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
21525 Assert we successfully updated the call.
21526
c23cd1d6
JJ
215272010-01-29 Jakub Jelinek <jakub@redhat.com>
21528
21529 PR rtl-optimization/42889
21530 * df.h (df_set_bb_dirty_nonlr): New prototype.
21531 * df-core.c (df_set_bb_dirty_nonlr): New function.
21532 * df-scan.c (df_insn_rescan): Call it instead of
21533 df_set_bb_dirty for DEBUG_INSNs.
21534
38bc76da
RG
215352010-01-29 Richard Guenther <rguenther@suse.de>
21536
21537 PR middle-end/37448
21538 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
21539 quadratic behavior in most cases.
21540
d819472d
UB
215412010-01-28 Uros Bizjak <ubizjak@gmail.com>
21542
21543 PR target/42891
21544 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
21545 in the call to gen_x86_movsicc_0_m1.
21546
3ed7d068
RG
215472010-01-28 Richard Guenther <rguenther@suse.de>
21548
21549 PR tree-optimization/42871
01305d24 21550 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3ed7d068 21551
830bc550
RG
215522010-01-28 Richard Guenther <rguenther@suse.de>
21553
21554 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
21555 into call arguments.
21556
28e5ca15
RB
215572010-01-28 Richard Guenther <rguenther@suse.de>
21558
21559 PR middle-end/42883
21560 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
21561 the forwarder if the destination is an EH landing pad.
21562
215632010-01-28 Razya Ladelsky <razya@il.ibm.com>
8adfe01d 21564
d819472d 21565 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
8adfe01d
RL
21566 block list passed to gimple_duplicate_sese_tail.
21567 (parallelize_loops): Avoid parallelization when the function
21568 has_nonlocal_label.
21569 Avoid parallelization when the preheader is IRREDUCIBLE.
21570 Try to optimize when estimated_loop_iterations_int is unresolved.
21571 Add the loop's location to the dump file.
28e5ca15 21572 * tree-cfg.c (add_phi_args_after_redirect): Remove.
8adfe01d
RL
21573 (gimple_duplicate_sese_tail): Remove the check for the latch.
21574 Redirect nexits to the exit block.
21575 Remove handling of the incoming edges to the latch.
21576 Redirect the backedge from the copied latch to the exit bb.
21577
3d952fb7
MM
215782010-01-28 Michael Matz <matz@suse.de>
21579
21580 PR target/42881
21581 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
21582 Wrap force_reg into a sequence, emit it before user.
21583
4fc2b1aa
ST
215842010-01-28 Stephen Thomas <stephen.thomas@arm.com>
21585
21586 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
21587 (arm_rev): New.
21588 (arm_legacy_rev): Likewise.
21589 (thumb_legacy_rev): Likewise.
21590
0f277ad4
JJ
215912010-01-27 Jakub Jelinek <jakub@redhat.com>
21592
21593 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
21594 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
21595 on MEM's address failed, try avoid_constant_pool_reference and
21596 recurse if it returned something different.
21597 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
21598 address, try avoid_constant_pool_reference and recurse if it
21599 returned something different.
21600 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
21601 address and avoid_constant_pool_reference returned something
21602 different, don't set have_address.
21603
fb4cbb9f
AO
216042010-01-27 Alexandre Oliva <aoliva@redhat.com>
21605
21606 PR debug/42861
21607 * var-tracking.c (val_store): Add modified argument, obey it.
21608 Adjust callers.
21609 (count_uses): Move down logging of main.
21610 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
21611 don't need resolution.
21612 (emit_notes_in_bb): Likewise.
21613
e87da263
RG
216142010-01-27 Richard Guenther <rguenther@suse.de>
21615
21616 PR middle-end/42878
21617 * tree-inline.c (remap_decl): Delay remapping of SSA name
21618 default definitions until we need them.
21619
c6d99cad
JJ
216202010-01-27 Jakub Jelinek <jakub@redhat.com>
21621
9a78eb71
JJ
21622 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
21623 (rs6000_delegitimize_address): New function.
21624
e8d8f497
JJ
21625 * config/s390/s390.c (s390_delegitimize_address): Call
21626 delegitimize_mem_from_attrs.
21627
c6d99cad
JJ
21628 PR middle-end/42874
21629 * tree-inline.c (cannot_copy_type_1): Removed.
21630 (copy_forbidden): Don't forbid copying of functions containing
21631 records/unions with variable length fields.
21632
4f6fee0f
CB
216332010-01-27 Christian Bruel <christian.bruel@st.com>
21634
21635 Revert:
21636 PR target/42841
21637 * config/sh/sh.c (find_barrier): Increase length for non delayed
21638 conditional branches.
d819472d 21639
cdf6bfb7
MK
216402010-01-27 Matthias Klose <doko@ubuntu.com>
21641
21642 * configure.ac (gnu-unique-object): Fix ldd version check.
21643 * configure: Regenerate.
21644
31b21739
RO
216452010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21646
21647 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
21648 HAVE_GNU_AS value.
21649 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
21650 Test for HAVE_GNU_AS value.
21651
dc4f0670
RO
216522010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
21653
21654 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
21655 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
21656 INT64_TYPE): Define.
21657 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
21658 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
21659 INT_LEAST64_TYPE): Define.
21660 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
21661 UINT_LEAST64_TYPE): Define.
21662 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
21663 INT_FAST64_TYPE): Define.
21664 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
21665 UINT_FAST64_TYPE): Define.
21666 (INTMAX_TYPE, UINTMAX_TYPE): Define.
21667 (INTPTR_TYPE, UINTPTR_TYPE): Define.
21668 (SIG_ATOMIC_TYPE): Define.
21669
a099f7d4
RG
216702010-01-26 Richard Guenther <rguenther@suse.de>
21671
21672 * df-scan.c (df_scan_set_bb_info): Remove assert.
21673 (df_insn_rescan_debug_internal): Merge asserts.
21674 (df_install_ref): Likewise.
21675 (df_mark_reg): Use bitmap_set_range.
21676 (df_hard_reg_used_p): Remove assert.
21677 (df_hard_reg_used_count): Likewise.
21678
0d9b0371
RG
216792010-01-26 Richard Guenther <rguenther@suse.de>
21680
21681 PR rtl-optimization/42685
21682 * web.c (web_main): Ignore DEBUG_INSNs.
21683
7a241624
JR
216842010-01-26 Joern Rennecke <amylaar@spamcop.net>
21685
21686 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
21687
21688 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
21689 Fix types of fndecl and arglist parameters.
21690
3333cd50
RG
216912010-01-26 Richard Guenther <rguenther@suse.de>
21692
21693 PR middle-end/42806
21694 * tree-eh.c (unsplit_eh): Skip debug insns.
21695
7f657dde
RG
216962010-01-26 Richard Guenther <rguenther@suse.de>
21697
21698 PR tree-optimization/42250
21699 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
21700
057dd91d
JJ
217012010-01-26 Jakub Jelinek <jakub@redhat.com>
21702
21703 PR fortran/42866
21704 * omp-low.c (expand_omp_sections): Only use single_pred if
21705 l2_bb is single_pred_p.
21706
69b18163
CB
217072010-01-25 Christian Bruel <christian.bruel@st.com>
21708
21709 PR target/42841
21710 * config/sh/sh.c (find_barrier): Increase length for non delayed
21711 conditional branches.
21712 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
21713
00f88f07
DM
217142010-01-24 David S. Miller <davem@davemloft.net>
21715
31b21739 21716 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
00f88f07 21717 define if not using GAS.
31b21739 21718 * config/sparc/sparc.c (sparc_elf_asm_named_section):
00f88f07
DM
21719 Likewise. Delete SECTION_MERGE code, which is only applicable
21720 when using GAS.
21721
d147cbd9
MM
217222010-01-24 Mark Mitchell <mark@codesourcery.com>
21723
21724 PR c++/42748
21725 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
21726 mangling of va_list in system headers.
21727
a90352a0
TM
217282010-01-23 Toon Moene <toon@moene.org>
21729
21730 * tree-predcom.c (combine_chains): Return NULL, not false.
21731
e96d7dd7
JR
217322010-01-23 Joern Rennecke <amylaar@spamcop.net>
21733
21734 * tree-loop-distribution.c (distribute_loop): Fix declaration and
21735 initialization of variable res to agree with return type.
21736
65c0a517
SE
217372010-01-22 Steve Ellcey <sje@cup.hp.com>
21738
21739 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
21740 * tree-sra.c: Add include of expr.h.
21741
c47987fa
JJ
217422010-01-22 Jakub Jelinek <jakub@redhat.com>
21743
21744 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
21745 insert the debug stmt on the single non-EH edge from the stmt.
21746
002cda0a
RH
217472010-01-22 Richard Henderson <rth@redhat.com>
21748
21749 PR tree-opt/42833
21750 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
21751 the RHS until after generate_subtree_copies has insertted its
21752 code before the current statement.
21753
728d406c
JR
217542010-01-22 Joern Rennecke <amylaar@spamcop.net>
21755
21756 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
21757
45bbb86d
JR
21758 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
21759
7744b697
MJ
217602010-01-21 Martin Jambor <mjambor@suse.cz>
21761
21762 PR tree-optimization/42585
21763 * tree-sra.c (struct access): New field grp_total_scalarization.
21764 (dump_access): Dump the new field.
21765 (should_scalarize_away_bitmap): New variable.
21766 (cannot_scalarize_away_bitmap): Likewise.
21767 (sra_initialize): Allocate new bitmaps.
21768 (sra_deinitialize): Free new bitmaps.
21769 (create_access_1): New function.
21770 (create_access): Parts moved to create_access_1.
21771 (type_consists_of_records_p): New function.
21772 (completely_scalarize_record): Likewise.
21773 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
21774 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
21775 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
21776 access.
21777 (analyze_all_variable_accesses): Completely scalarize small eligible
21778 records.
21779
fff08961
MJ
217802010-01-21 Martin Jambor <mjambor@suse.cz>
21781
21782 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
21783
a288b143
AH
217842010-01-21 Andrew Haley <aph@redhat.com>
21785
d819472d
UB
21786 * gcc.c (process_command): Move lang_specific_driver before
21787 setting cc_libexec_prefix.
a288b143 21788
4e62a017
RG
217892010-01-21 Richard Guenther <rguenther@suse.de>
21790
21791 PR middle-end/19988
21792 * fold-const.c (negate_expr_p): Pretend only negative
21793 real constants are easily negatable.
21794
ebf0bf7f
JJ
217952010-01-20 Janis Johnson <janis187@us.ibm.com>
21796 Jason Merrill <jason@redhat.com>
21797
21798 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
21799 (TYPE_TRANSPARENT_AGGR): this, for union and record.
21800 * calls.c (initialize argument_information): Handle it.
21801 * c-common.c (handle_transparent_union_attribute): Use new name.
21802 * c-decl.c (finish_struct): Ditto.
21803 * c-typeck.c (type_lists_compatible_p): Ditto.
21804 (convert_for_assignment): Use new name and also handle record.
21805 * function.c (aggregate_value_p): Handle it.
21806 (pass_by_reference): Ditto.
21807 (assign_parm_data_types): Ditto.
21808 * print-tree.c (print_node): Ditto.
21809 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
21810 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
21811 * tree.c (first_field): New fn.
21812
907c6efd
DK
218132010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
21814
21815 PR target/42818
21816 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
21817 even when linking statically, for now.
21818
f827f659
AO
218192010-01-20 Alexandre Oliva <aoliva@redhat.com>
21820
21821 PR debug/42715
21822 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
21823 without a cselib val.
21824 (count_uses): Accept MO_VAL_SET with no val on stores.
21825 (add_stores): Likewise.
21826
a85caf9e
JJ
218272010-01-20 Jakub Jelinek <jakub@redhat.com>
21828
21829 * var-tracking.c (check_value_val): Add a compile time assertion.
21830 (dv_is_decl_p): Simplify.
21831 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
21832 gcc_assert if ENABLE_CHECKING.
21833
4a4d4c08
AO
218342010-01-20 Alexandre Oliva <aoliva@redhat.com>
21835
21836 PR debug/42782
21837 * var-tracking.c: Include tree-flow.h.
21838 (mem_dies_at_call): New.
21839 (dataflow_set_preserve_mem_locs): Use it.
21840 (dataflow_set_remove_mem_locs): Likewise.
21841 (dump_var): Renamed from dump_variable. Adjust all callers.
21842 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
21843 * Makefile.in (var-tracking.o): Adjust deps.
21844
50e87e30
JR
218452010-01-20 Joern Rennecke <amylaar@spamcop.net>
21846
21847 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
21848
e9a8afaa
RG
218492010-01-20 Richard Guenther <rguenther@suse.de>
21850
21851 PR tree-optimization/42717
21852 * tree-ssa-dce.c (get_live_post_dom): Remove.
21853 (forward_edge_to_pdom): Take an arbitrary edge to copy
21854 degenerate PHI args from.
21855 (remove_dead_stmt): Use the first post-dominator even if it
21856 does not contain live statements as redirection destination.
21857
be2fd187
RG
218582010-01-20 Richard Guenther <rguenther@suse.de>
21859
21860 * tree-inline.c (estimate_num_insns): Handle EH builtins.
21861
1124098b
JJ
218622010-01-20 Jakub Jelinek <jakub@redhat.com>
21863
21864 * sel-sched.c (create_speculation_check): Remove set but not used
21865 variable twin.
21866 (try_transformation_cache): Remove set but not used variable ds.
21867 (calculate_privileged_insns): Remove set but not used variables
21868 cur_insn and min_spec_insn.
21869 (find_best_expr): Remove set but not used variable avail_n.
21870 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
21871 variable e.
21872 * cgraphunit.c (assemble_thunk): Remove set but not used variable
21873 false_label.
21874 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
21875 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
21876 new_scop_exit_edge.
21877
83a5ef25
FW
218782010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
21879
21880 PR bootstrap/42786
21881 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
21882 cpu types. Add support for *-sse3 cpu types.
21883 (x86_64-*-*): Ditto.
21884
b5c0899b
JJ
218852010-01-20 Jakub Jelinek <jakub@redhat.com>
21886
21887 PR middle-end/42803
21888 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
21889 argument, call initializer_constant_valid_p_1 instead of
21890 initializer_constant_valid_p, pass CACHE to it, return NULL
21891 immediately if first call returns NULL.
21892 (initializer_constant_valid_p_1): New function.
21893 (initializer_constant_valid_p): Use it.
21894
5f8f3f94
TQ
218952010-01-20 Thomas Quinot <quinot@adacore.com>
21896
21897 * tree.def (PLACEHOLDER_EXPR): Fix comment.
21898
80c35b40
JJ
218992010-01-20 Jakub Jelinek <jakub@redhat.com>
21900
21901 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
21902 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
21903 (loc_list_from_tree): Don't handle unsigned division. Handle
21904 signed modulo using DW_OP_{over,over,div,mul,minus}.
21905 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
21906 modulo instead of signed.
21907
c72ea086
DD
219082010-01-20 DJ Delorie <dj@redhat.com>
21909
21910 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
21911 (Fpa): Pass it
21912 (h8300_emit_stack_adjustment): Propogate it.
21913 (push): Pass it.
21914 (h8300_expand_prologue): Likewise.
21915 (h8300_expand_epilogue): Likewise.
21916
b61b1f17
MM
219172010-01-19 Michael Matz <matz@suse.de>
21918
21919 PR tree-optimization/41783
21920 * tree-data-ref.c (toplevel): Include flags.h.
21921 (dump_data_dependence_relation): Also dump the inputs if the
21922 result will be unknown.
21923 (split_constant_offset_1): Look through some conversions.
21924 * tree-predcom.c (determine_roots_comp): Restart a new chain if
21925 the offset from last element is too large.
21926 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
21927 (reassociate_to_the_same_stmt): Handle vector registers.
21928 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
21929 (e.g. conversions).
31b21739 21930 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
b61b1f17
MM
21931 wide_prolog_niters argument, emit widening instructions.
21932 (vect_do_peeling_for_alignment): Adjust caller, use widened
21933 variant of the iteration cound.
21934 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
21935
b3d7e191
RR
219362010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
21937
b61b1f17
MM
21938 PR target/38697
21939 * config/arm/neon-testgen.m (emit_automatics): New parameter
b3d7e191
RR
21940 features. Adjust for Fixed_return_reg feature.
21941 (test_intrinsic): Call emit_automatics with new feature.
b61b1f17 21942 * config/arm/neon.ml: Update copyright years.
b3d7e191
RR
21943 (features): New Fixed_return_reg feature.
21944 (ops): Update feature for Vget_low.
21945
2178b0f9
JJ
219462010-01-19 Jakub Jelinek <jakub@redhat.com>
21947
d6600130
JJ
21948 PR tree-optimization/42719
21949 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
21950 stmt uses.
21951
2178b0f9
JJ
21952 PR debug/42728
21953 * fwprop.c (all_uses_available_at): Return false if def_set dest
21954 is a REG that is used in def_insn.
21955
ab7e224a
JR
219562010-01-19 Joern Rennecke <amylaar@spamcop.net>
21957
21958 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
21959
21960 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
21961 Add argument names.
21962
21963 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
21964
f7154d49
JR
21965 * target.h (struct gcc_target) <secondary_reload>: Change type
21966 of last argument to secondary_reload_info *.
21967
f249b405
UB
219682010-01-18 Uros Bizjak <ubizjak@gmail.com>
21969
21970 PR target/42774
21971 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
21972 memory references with unaligned offsets. Remove CQImode handling.
21973 (unaligned_memory_operand): Return 1 for memory references with
21974 unaligned offsets. Remove CQImode handling.
21975
e23817b3
RG
219762010-01-18 Richard Guenther <rguenther@suse.de>
21977
21978 PR middle-end/39954
21979 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
21980 builtin calls.
21981
1cfd38be
RG
219822010-01-18 Richard Guenther <rguenther@suse.de>
21983
21984 PR tree-optimization/42781
21985 * tree-ssa-structalias.c (find_what_var_points_to): Skip
b5e33e04 21986 restrict processing only if the original variable was artificial.
1cfd38be 21987
72392b81
JR
219882010-01-18 Joern Rennecke <amylaar@spamcop.net>
21989
21990 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
21991 find number of popped argument bytes.
21992
21993 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
21994 Fix the text that describes the return value for invalid insns.
21995
21996 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
21997
21998 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
21999 Clarify what 'cost of the -dependence' is. Fix quoting.
22000
0678ade0
JR
22001 * toplev.c (default_get_pch_validity): Rename argument to "sz".
22002 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
22003
e5165811
JJ
220042010-01-17 Jakub Jelinek <jakub@redhat.com>
22005
22006 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
22007 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
22008
3b3f318a
RG
220092010-01-17 Richard Guenther <rguenther@suse.de>
22010
22011 PR middle-end/42248
22012 * function.c (split_complex_args): Take a VEC to modify.
22013 (assign_parms_augmented_arg_list): Build a VEC instead of
22014 a chain of PARM_DECLs.
22015 (assign_parms_unsplit_complex): Take a VEC of arguments.
22016 Do not fixup unmodified parms.
22017 (assign_parms): Deal with the VEC.
22018 (gimplify_parameters): Likewise.
22019
8eacd016
RG
220202010-01-17 Richard Guenther <rguenther@suse.de>
22021
22022 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
22023 node existence check.
22024 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
22025 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
22026 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
22027 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
22028 (gimple_execute_on_growing_pred): Likewise.
22029
9adf0570
RG
220302010-01-17 Richard Guenther <rguenther@suse.de>
22031
22032 PR tree-optimization/42773
22033 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
22034 (compute_antic_aux): Likewise.
22035 (compute_partial_antic_aux): Likewise.
22036
a90110c3
JZ
220372010-01-17 Jie Zhang <jie.zhang@analog.com>
22038
22039 PR debug/42767
22040 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
22041 and US_TRUNCATE.
22042
914d25dc
JR
220432010-01-17 Joern Rennecke <amylaar@spamcop.net>
22044
22045 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
22046 appearance.
22047
22048 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
22049 Fix markup for strict argument.
22050
22051 (TARGET_SCHED_REORDER2): Fix argument types.
22052
22053 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
22054 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
22055
22056 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
22057 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
22058
22059 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
22060 Add argument name.
22061
22062 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
22063 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
22064 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
22065 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
22066 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
22067
22068 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
22069
22070 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
22071
22072 (TARGET_ASM_RELOC_RW_MASK): Add return type.
22073 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
22074
22075 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
22076
22077 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
22078 Use prototype.
22079
22080 (TARGET_ASM_NAMED_SECTION): Fix argument list.
22081
22082 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
22083 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
22084
22085 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
22086
22087 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
22088
22089 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
22090 referring to it. Fix language.
22091
22092 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
22093
22094 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
22095
22096 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
22097
22098 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
22099
22100 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
22101 '@var{stream}. Remove stray 'and'.
22102
22103 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
22104
22105 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
22106
22107 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
22108
31b21739 22109 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
914d25dc
JR
22110 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
22111
22112 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
22113 Fix description of return value.
22114 Rename argument "sz" to "len."
22115
22116 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
22117 Clarify meaning of 'true' return value.
22118
22119 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
22120
22121 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
22122 rep_mode versus mode_rep.
22123
22124 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
22125
22126 (TARGET_BUILTIN_DECL): Fix name.
22127
22128 (TARGET_COMMUTATIVE_P): Fix type of first argument.
22129
22130 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
22131
22132 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
22133
22134 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
22135
22136 (TARGET_RELAXED_ORDERING): Use @deftypevr.
22137
22138 (TARGET_GET_DRAP_RTX): Note that this is a hook.
22139 Clarify language.
22140
5eb7ce91
JR
22141 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
22142 Rename argument tm_fn to md_fn.
22143
d2143a2f
JR
22144 (TARGET_OPTION_PRINT): Fix argument list.
22145
8f7fd2da
HJ
221462010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
22147
22148 PR target/42664
22149 * config/i386/i386.c (ix86_fixup_binary_operands):
22150 Revert FMA4 fixup of operands.
22151
2fdb618d
RW
221522010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22153
22154 PR gcc/42525
22155 * Makefile.in (write_entries_to_file, install-plugin):
22156 Use \012 instead of \n with tr.
22157
636cf8b1
RS
221582010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
22159
22160 * configure.ac (HAVE_AS_REF): New C macro.
22161 * configure: Regenerate.
22162 * config.in: Likewise.
22163 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
22164 if HAVE_AS_REF.
22165 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
22166 if HAVE_AS_REF.
22167
b6fd8800
JR
221682010-01-16 Joern Rennecke <amylaar@spamcop.net>
22169
22170 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
22171
22172 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
22173
22174 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
22175
22176 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
22177
22178 (TARGET_IN_SMALL_DATA_P): Fix argument type.
22179
22180 (TARGET_BINDS_LOCAL_P): Fix argument type.
22181
22182 (TARGET_ASM_FILE_END): Use prototype.
22183
22184 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
22185
22186 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
22187
22188 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
22189
22190 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
22191
22192 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
22193 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
22194
22195 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
22196 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
22197
22198 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
22199 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
22200 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
22201 (TARGET_ADDR_SPACE_CONVERT): Likewise.
22202
22203 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
22204
22205 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
22206
22207 (TARGET_INIT_BUILTINS): Use prototype.
22208
22209 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
22210 Put 'const char *' in braces. Fix parameter types.
22211 (TARGET_INVALID_CONVERSION): Fix parameter types.
22212 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
22213 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
22214
22215 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
22216 Fix argument type.
22217
22218 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
22219
22220 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
22221
9ddb66ef
JR
222222010-01-15 Joern Rennecke <amylaar@spamcop.net>
22223
22224 * doc/tm.texi (TARGET_HELP): Fix return type.
22225
22226 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
22227 in braces. Fix argument types.
22228
22229 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
22230
22231 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
22232
22233 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
22234
22235 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
22236 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
22237
22238 (TARGET_MANGLE_TYPE): Fix argument types.
22239
22240 (TARGET_IRA_COVER_CLASSES): Use prototype.
22241
22242 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
22243
22244 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
22245
22246 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
22247
22248 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
22249
22250 (TARGET_CALLEE_COPIES): Fix argument types.
22251
22252 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
22253
22254 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
22255
22256 (TARGET_FUNCTION_VALUE): Fix argument types.
22257
22258 (TARGET_RETURN_IN_MSB): Fix argument type.
22259
22260 (TARGET_RETURN_IN_MEMORY): Fix argument types.
22261
22262 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
22263
22264 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
22265
22266 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
22267 agree with return type.
22268
22269 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
22270
4a62494d
JY
222712010-01-15 Jing Yu <jingyu@google.com>
22272
22273 PR rtl-optimization/42691
22274 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
22275 a pseudo to a constant and are merged, and adjust comments.
22276
a1b5171b
EB
222772010-01-15 Eric Botcazou <ebotcazou@adacore.com>
22278
22279 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
22280
1197e789
RG
222812010-01-15 Richard Guenther <rguenther@suse.de>
22282
22283 PR middle-end/42739
22284 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
22285 labels of computed or non-local gotos to the destination.
22286 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
22287 landing pad label is the first label.
22288
cbe80ff8
RG
222892010-01-15 Richard Guenther <rguenther@suse.de>
22290
22291 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
22292
c919858d
MM
222932010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
22294
22295 PR target/42747
22296 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
22297 to allow generation of the xssqrtdp instruction on power7.
22298 (sqrtdf2_fpr): Ditto.
22299
5b1cbe14
JJ
223002010-01-14 Jakub Jelinek <jakub@redhat.com>
22301
ef5d1181
JJ
22302 PR middle-end/42674
22303 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
22304 functions with noreturn attribute.
22305
5b1cbe14
JJ
22306 PR c++/42608
22307 * varasm.c (declare_weak): Add weak attribute to decl if it
22308 doesn't have one already.
22309 (assemble_external): Only add decls to weak_decls if they also
22310 have weak attribute.
22311
7d2a8452
AO
223122010-01-14 Alexandre Oliva <aoliva@redhat.com>
22313
22314 * var-tracking.c (var_reg_delete): Don't delete the association
22315 between REGs and values or one-part variables if the register
22316 isn't clobbered.
22317
d17af147
JJ
223182010-01-14 Jakub Jelinek <jakub@redhat.com>
22319
22320 PR debug/42657
22321 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
22322 because its first operand is a non-localized variable.
22323
2f3cdcf5
MJ
223242010-01-14 Martin Jambor <mjambor@suse.cz>
22325
22326 PR tree-optimization/42706
22327 * tree-sra.c (encountered_recursive_call): New variable.
22328 (encountered_unchangable_recursive_call): Likewise.
22329 (sra_initialize): Initialize both new variables.
22330 (callsite_has_enough_arguments_p): New function.
22331 (scan_function): Call decl and flags check only for IPA-SRA, check
22332 whether there is a recursive call and whether it has enough arguments.
22333 (all_callers_have_enough_arguments_p): New function.
22334 (convert_callers): Look for recursive calls only when
22335 encountered_recursive_call is set.
22336 (ipa_early_sra): Bail out either if
22337 !all_callers_have_enough_arguments_p or
22338 encountered_unchangable_recursive_call.
22339
c02e2d5c
AM
223402010-01-14 Alexander Monakov <amonakov@ispras.ru>
22341
22342 * sel-sched.c: Add 2010 to copyright years.
22343 * sel-sched-ir.c: Likewise.
22344 * sel-sched-ir.h: Likewise.
22345
92e97cdd
MJ
223462010-01-14 Martin Jambor <mjambor@suse.cz>
22347
22348 PR tree-optimization/42714
22349 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
22350 constructors specially.
22351
a0463099
AK
223522010-01-14 Andi Kleen <ak@linux.intel.com>
22353
22354 * config/i386/drivers-i386.c (detect_caches_intel):
22355 Add l2sizekb parameter and fill in.
22356 (host_detect_local_cpu): Add l2sizekb, fill in.
22357 Add Atom small cache heuristic.
22358
223592010-01-14 Andi Kleen <ak@linux.intel.com>
22360
22361 * config/i386/drivers-i386.c (detect_caches_cpuid4):
22362 Add level3 parameter and fill in.
22363 (detect_caches_intel): Handle level3 cache.
22364
223652010-01-14 Andi Kleen <ak@linux.intel.com>
22366
22367 * config/i386/drivers-i386.c (host_detect_local_cpu):
22368 Fix core duo detection.
22369
223702010-01-14 Andi Kleen <ak@linux.intel.com>
22371
22372 * config/i386/drivers-i386.c (host_detect_local_cpu):
22373 Fix Atom detection.
22374
dd6739e3
AM
223752010-01-14 Alexander Monakov <amonakov@ispras.ru>
22376
22377 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
22378 (rs6000_variable_issue_1): this. Use...
22379 (rs6000_variable_issue): here. Reimplement. Print debug info.
22380
7898b93b
AM
223812010-01-14 Alexander Monakov <amonakov@ispras.ru>
22382
a0463099
AK
22383 * sel-sched-ir.c (sel_restore_other_notes): Rename to
22384 sel_restore_notes. Update all callers. Call reemit_notes
22385 for all insns.
7898b93b 22386
65b659ff
AB
223872010-01-14 Andrey Belevantsev <abel@ispras.ru>
22388
22389 PR rtl-optimization/42246
22390 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
22391 loops.
22392
c6486552
AB
223932010-01-14 Andrey Belevantsev <abel@ispras.ru>
22394
22395 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
22396 all successors is the same as number of successors in current region.
22397
f07013eb
AM
223982010-01-14 Alexander Monakov <amonakov@ispras.ru>
22399
22400 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
22401 to rename is not separable. Otherwise check that its LHS is not NULL.
22402
a9ced68b
AM
224032010-01-14 Alexander Monakov <amonakov@ispras.ru>
22404
22405 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
22406
0c94f956
AM
224072010-01-14 Alexander Monakov <amonakov@ispras.ru>
22408
22409 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
22410 available registers when failed to discover LHS register class.
22411 Fix indentation. Update comment.
22412
136e01a3
AB
224132010-01-14 Andrey Belevantsev <abel@ispras.ru>
22414 Alexander Monakov <amonakov@ispras.ru>
22415
22416 PR rtl-optimization/42389
22417 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
22418 to can_issue_more.
22419 (advance_state_on_fence): Likewise.
22420 (sel_target_adjust_priority): Print debug output only when
22421 sched_verbose >= 4, not 2.
22422 (get_expr_cost): Do not issue all unique insns on the next cycle.
22423 (fill_insns): Initialize can_issue_more from the value saved
22424 with the fence.
22425 * sel-sched-ir.c (flist_add): New parameter issue_more.
22426 Init FENCE_ISSUE_MORE with it.
22427 (merge_fences): Likewise.
22428 (init_fences): Update call to flist_add.
22429 (add_to_fences, add_clean_fence_to_fences)
22430 (add_dirty_fence_to_fences): Likewise.
22431 (move_fence_to_fences): Update call to merge_fences.
22432 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
22433 sched groups.
22434 * sel-sched-ir.h (struct _fence): New field issue_more.
22435 (FENCE_ISSUE_MORE): New accessor macro.
22436
762bffba
AB
224372010-01-14 Andrey Belevantsev <abel@ispras.ru>
22438
22439 PR rtl-optimization/42388
22440 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
22441 that have no predecessors nor successors. Do not call move_bb_info
22442 for empty blocks outside of current region.
22443
14f30b87
AM
224442010-01-14 Alexander Monakov <amonakov@ispras.ru>
22445
22446 PR rtl-optimization/42294
22447 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
22448 * sel-sched.c (move_exprs_to_boundary): Transitively add all
22449 originators' originators.
22450
8ec4d0ad
AM
224512010-01-14 Alexander Monakov <amonakov@ispras.ru>
22452
22453 PR rtl-optimization/39453
22454 PR rtl-optimization/42246
22455 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
22456 for pipelining_p.
22457 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
22458
b59ab570
AM
224592010-01-14 Andrey Belevantsev <abel@ispras.ru>
22460 Alexander Monakov <amonakov@ispras.ru>
22461
22462 PR middle-end/42245
22463 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
22464 (maybe_tidy_empty_bb): ... here. Make static. Add new
22465 argument. Update all callers.
22466 (tidy_control_flow): ... and here. Recompute topological order
22467 of basic blocks in region if necessary.
22468 (sel_redirect_edge_and_branch): Change return type. Return true
22469 if topological order might have been invalidated.
22470 (purge_empty_blocks): Export and move from...
22471 * sel-sched.c (purge_empty_blocks): ... here.
22472 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
c02e2d5c 22473 (maybe_tidy_empty_bb): Delete prototype.
b59ab570
AM
22474 (purge_empty_blocks): Declare.
22475
0666ff4e
AB
224762010-01-14 Andrey Belevantsev <abel@ispras.ru>
22477
b59ab570 22478 PR rtl-optimization/42249
0666ff4e
AB
22479 * sel-sched.c (try_replace_dest_reg): When chosen register
22480 and original register is the same, do not bail out early, but
22481 still check all original insns for validity of replacing destination
22482 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
22483 in this case.
22484
5f8d5023
JJ
224852010-01-14 Jakub Jelinek <jakub@redhat.com>
22486
22487 PR c/42721
a0463099 22488 Port from no-undefined-overflow branch:
5f8d5023
JJ
22489 2009-03-09 Richard Guenther <rguenther@suse.de>
22490
a0463099 22491 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5f8d5023 22492
429c98c9
RG
224932010-01-14 Richard Guenther <rguenther@suse.de>
22494
22495 PR lto/42665
b5e33e04 22496 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
429c98c9 22497
cd481d83
IR
224982010-01-14 Ira Rosen <irar@il.ibm.com>
22499
22500 PR tree-optimization/42709
22501 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
22502 as scalar type in creation of constant vector operand.
22503
453897b4
RW
225042010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22505
22506 PR testsuite/42414
22507 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
22508 (check-parallel-%): Match `testsuite' directory component only
22509 at the end.
22510
5bc69b92
SZ
225112010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
22512
22513 PR translation/39521
22514 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
22515 strings with _().
22516
5db959b6
RG
225172010-01-13 Richard Guenther <rguenther@suse.de>
22518
22519 PR tree-optimization/42730
22520 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
22521 offset zero.
22522
9540f5ef
SE
225232010-01-13 Steve Ellcey <sje@cup.hp.com>
22524
22525 PR target/pr42542
22526 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
22527 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
22528 them signed.
22529
84fb8ff5
BS
225302010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
22531
22532 * config/bfin/libgcc-bfin.ver: Regenerate based on current
22533 libgcc-std.ver. Add entries for ___smulsi3_highpart and
22534 ___umulsi3_highpart.
22535
6cca15ea
BS
22536 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
22537 rather than schedule_insns if the pass is enabled.
22538
19656178
MJ
225392010-01-13 Martin Jambor <mjambor@suse.cz>
22540
22541 PR tree-optimization/42704
22542 * tree-sra.c (sra_modify_assign): Do not delete assignments to
22543 SSA_NAMEs.
22544
6dc93b16
MJ
225452010-01-13 Martin Jambor <mjambor@suse.cz>
22546
22547 PR tree-optimization/42703
22548 * tree-sra.c (analyze_access_subtree): Check that we can build a
22549 reference to the original data within the aggregate.
22550
1d21a8e5
RG
225512010-01-13 Richard Guenther <rguenther@suse.de>
22552
22553 PR tree-optimization/42705
b5e33e04 22554 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1d21a8e5 22555
48f30f62
RG
225562010-01-13 Richard Guenther <rguenther@suse.de>
22557
22558 PR middle-end/42716
22559 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
22560
9e73c690
JJ
225612010-01-13 Jakub Jelinek <jakub@redhat.com>
22562
22563 PR debug/41371
22564 * var-tracking.c (values_to_unmark): New variable.
22565 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
22566 values_to_unmark vector. Moved body to...
22567 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
22568 instead queue it into values_to_unmark vector.
22569 (vt_find_locations): Free values_to_unmark vector.
22570
dc2f28c5
WG
225712010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
22572
22573 * config/s390/s390.c (override_options): Set
22574 default of max-pending-list-length to 256
22575
688a482d
RG
225762010-01-13 Richard Guenther <rguenther@suse.de>
22577
22578 PR lto/42678
22579 * tree-pass.h (PROP_gimple_lcx): New.
22580 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
22581 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
22582 before the final cleanup_eh.
22583 (dump_properties): Dump PROP_gimple_lcx.
22584 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
22585 (tree_lower_complex_O0): Remove.
22586 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
22587 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
22588 tree_lower_complex, schedule TODO_update_ssa.
22589 * lto-streamer-out.c (output_function): Stream the functions
22590 properties.
22591 * lto-streamer-in.c (input_function): Likewise.
22592 (lto_read_body): Do not override them here.
22593
e616f54d
JM
225942010-01-12 Joseph Myers <joseph@codesourcery.com>
22595
22596 PR c/42708
22597 * c-typeck.c (build_c_cast): Fold value cast to union type before
22598 wrapping it in a CONSTRUCTOR.
22599
b4ab701f
JJ
226002010-01-12 Jakub Jelinek <jakub@redhat.com>
22601
22602 PR rtl-optimization/42699
22603 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
22604 involved.
22605
4dde664f
RO
226062010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22607
22608 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
22609 SUBTARGET_WARN_UNUSED_SPEC): Move ...
22610 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
22611 SUBTARGET_WARN_UNUSED_SPEC): ... here
22612 * config/mips/iris5.h (LIBGCC_SPEC): Define.
22613
24fe19c3
JB
226142010-01-12 Julian Brown <julian@codesourcery.com>
22615
a0463099 22616 * config/arm/neon-schedgen.ml (Utils): Don't try to
24fe19c3 22617 open missing module.
a0463099 22618 (find_with_result): New.
24fe19c3 22619
082ab5ff
JJ
226202010-01-12 Jakub Jelinek <jakub@redhat.com>
22621
4942b76b
JJ
22622 PR debug/42662
22623 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
22624 sharing when canonicalizing ({lt,ge}u (plus a b) b).
22625
082ab5ff
JJ
22626 PR tree-optimization/42645
22627 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
22628 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
22629 decl_map, set processing_debug_stmt to -1 and return name without
22630 any remapping.
22631
977f7997
DK
226322010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
22633
22634 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
22635 binutils version, and reword target configuration description.
22636
2685baa1
AH
226372010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
22638
a0463099 22639 * config/avr/avr.h (LINKER_NAME): Remove.
2685baa1 22640
3767f512
JJ
226412010-01-11 Janis Johnson <janis187@us.ibm.com>
22642
22643 PR target/42416
22644 * config/rs6000/rs6000.c (rs6000_override_options): On targets
22645 that support VSX, warn for -mno-altivec if vsx is not disabled,
22646 and disable vsx.
22647
f94e1d66
JM
226482010-01-11 Joseph Myers <joseph@codesourcery.com>
22649 Shujing Zhao <pearly.zhao@oracle.com>
a0463099 22650
f94e1d66
JM
22651 PR translation/42469
22652 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
22653 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
22654 character between option name and help text.
22655 * c.opt (imultilib): Likewise.
22656
06bfe1d0
RAE
226572010-01-10 Rafael Avila de Espindola <espindola@google.com>
22658
22659 * lto-streamer-out.c (output_unreferenced_globals): Output static
22660 variables.
22661
c21f33b6
SB
226622010-01-10 Steven Bosscher <steven@gcc.gnu.org>
22663
22664 PR rtl-optimization/42621
22665 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
22666 optimizing for size.
22667 (duplicate_computed_gotos): Remove now-redundant check.
22668
30ce157e
SE
226692010-01-10 Steve Ellcey <sje@cup.hp.com>
22670
22671 PR target/37454
22672 * configure.ac: Save and restore LDFLAGS and LIBS
22673 * configure: Regenerate.
22674
ab996409
RG
226752010-01-10 Richard Guenther <rguenther@suse.de>
22676
22677 PR middle-end/42667
22678 * builtins.c (fold_builtin_strlen): Add type argument and
22679 convert the resulting length to it.
22680 (fold_builtin_1): Adjust.
22681
7234a615
JJ
226822010-01-09 Jakub Jelinek <jakub@redhat.com>
22683
22684 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
22685 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
22686 1 insn.
22687 (num_insns_constant_wide): Adjust for that change.
22688
994ae26c
AO
226892010-01-09 Alexandre Oliva <aoliva@redhat.com>
22690
22691 PR debug/42631
22692 * web.c (union_defs): Add used argument, to combine uses of
22693 uninitialized regs.
22694 (entry_register): Adjust type and tests of used argument.
22695 (web_main): Widen used for new use. Pass it to union_defs.
22696 * df.h (union_defs): Adjust prototype.
22697
60c48e4c
AO
226982010-01-09 Alexandre Oliva <aoliva@redhat.com>
22699
22700 PR debug/42630
22701 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
22702 uses in new incoming argument. Free body.
22703 (reset_debug_uses_in_loop): New.
22704 (analyze_insn_to_expand_var): Call the latter if the former found
22705 anything. Fix whitespace. Reject invalid dest overlaps before
22706 going through all insns in the loop.
22707
bb956f3e
AO
227082010-01-09 Alexandre Oliva <aoliva@redhat.com>
22709
22710 PR debug/42629
22711 * haifa-sched.c (dying_use_p): Debug insns don't count.
22712
5de8da9b
AO
227132010-01-09 Alexandre Oliva <aoliva@redhat.com>
22714
22715 PR middle-end/42363
22716 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
22717 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
22718 (verify_gimple_call): Reject LHS in noreturn calls.
22719
684f25f4
AO
227202010-01-09 Alexandre Oliva <aoliva@redhat.com>
22721
22722 PR debug/42604
22723 PR debug/42395
22724 * tree-vect-loop-manip.c (adjust_info): New type.
22725 (adjust_vec): New pointer to vector.
22726 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
22727 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
22728 (slpeel_update_phis_for_duplicate_loop): Use them.
22729 (slpeel_update_phi_nodes_for_guard1): Likewise.
22730 (slpeel_update_phi_nodes_for_guard2): Likewise.
22731 (slpeel_tree_peel_loop_to_edge): Likewise.
22732 (vect_update_ivs_after_vectorizer): Likewise.
22733
0e00563c
AO
227342010-01-09 Alexandre Oliva <aoliva@redhat.com>
22735
22736 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
22737 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
22738
0ce659eb
AO
227392010-01-09 Alexandre Oliva <aoliva@redhat.com>
22740
22741 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
22742 bogus uninitialized warning.
22743
73c865fa
RG
227442010-01-09 Richard Guenther <rguenther@suse.de>
22745
22746 PR middle-end/42512
22747 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
22748 the evolution is compatible with the initial condition.
22749
bd5c3aa5
JJ
227502010-01-09 Jakub Jelinek <jakub@redhat.com>
22751
22752 * gcc.c (process_command): Update copyright notice dates.
22753 * gcov.c (print_version): Likewise.
22754 * gcov-dump.c (print_version): Likewise.
22755 * mips-tfile.c (main): Likewise.
22756 * mips-tdump.c (main): Likewise.
22757
58f0ea2f
AH
227582010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
22759
22760 PR target/41885
2685baa1 22761 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
58f0ea2f
AH
22762 (rotlhi3): Delete.
22763 (rotlhi3_8): Delete.
22764 (rotlsi3): Delete.
22765 (rotlsi3_8): Delete.
22766 (rotlsi3_16): Delete.
22767 (rotlsi3_24): Delete.
22768 (rotl<mode>3): New.
22769 (*rotw<mode>3): New.
22770 (*rotb<mode>3): New.
2685baa1 22771 * config/avr/avr.c (avr_rotate_bytes): New function.
a0463099 22772 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
58f0ea2f 22773
601fc26e
SE
227742010-01-08 Steve Ellcey <sje@cup.hp.com>
22775
22776 PR target/37454
22777 * configure.ac: Modify -rdynamic check.
22778 * configure: Regenerate.
22779
6a62ca52
DD
227802010-01-08 DJ Delorie <dj@redhat.com>
22781
22782 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
22783 register popping order.
22784
c59449fa
RG
227852010-01-08 Richard Guenther <rguenther@suse.de>
22786
22787 PR lto/42528
22788 * c.opt (fsigned-char): Also let LTO handle this option.
22789 (funsigned-char): Likewise.
22790
f68a75df
RG
227912010-01-07 Richard Guenther <rguenther@suse.de>
22792
22793 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
22794 (gimple_op): Likewise.
22795 (gimple_op_ptr): Likewise.
22796 (gimple_assign_set_lhs): Remove gcc_assert.
22797 (gimple_assign_set_rhs1): Likewise.
22798 (gimple_assign_set_rhs2): Likewise.
22799 (gimple_call_set_lhs): Likewise.
22800 (gimple_call_set_fn): Likewise.
22801 (gimple_call_set_fndecl): Likewise.
22802 (gimple_call_fndecl): Likewise.
22803 (gimple_call_return_type): Likewise.
22804 (gimple_call_set_chain): Likewise.
22805 (gimple_call_num_args): Likewise.
22806 (gimple_call_set_arg): Likewise.
22807 (gimple_cond_set_code): Likewise.
22808 (gimple_cond_set_lhs): Likewise.
22809 (gimple_cond_set_rhs): Likewise.
22810 (gimple_cond_set_true_label): Likewise.
22811 (gimple_cond_set_false_label): Likewise.
22812 (gimple_label_set_label): Likewise.
22813 (gimple_goto_set_dest): Likewise.
22814 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
22815 (gimple_debug_bind_get_value): Likewise.
22816 (gimple_debug_bind_get_value_ptr): Likewise.
22817 (gimple_debug_bind_set_var): Likewise.
22818 (gimple_debug_bind_set_value): Likewise.
22819 (gimple_debug_bind_reset_value): Likewise.
22820 (gimple_debug_bind_has_value_p): Likewise.
22821 (gimple_return_retval_ptr): Remove gcc_assert.
22822 (gimple_return_retval): Likewise.
22823 (gimple_return_set_retval): Likewise.
22824 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
22825 (safe_referenced_var_iterator): Remove.
22826 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
22827 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
22828 (fill_referenced_var_vec): Remove.
22829 (first_readonly_imm_use): Remove redundant gcc_assert.
22830 (phi_arg_index_from_use): Combine gcc_asserts.
22831 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
22832 (first_imm_use_stmt): Remove redundant gcc_assert.
22833 * tree-cfg.c (verify_gimple_call): Verify function and chain
22834 operands. Verify arguments.
22835 (verify_types_in_gimple_stmt): Verify condition code and labels.
22836
617531d9
RG
228372010-01-07 Richard Guenther <rguenther@suse.de>
22838
22839 PR tree-optimization/42641
22840 * sese.c (rename_map_elt_info): Use the SSA name version, do
22841 not hash pointers.
22842
4139c7ef
JJ
228432010-01-07 Jakub Jelinek <jakub@redhat.com>
22844
22845 PR tree-optimization/42625
22846 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
b5e33e04 22847 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4139c7ef 22848
01094033
DS
228492010-01-07 Duncan Sands <baldrick@free.fr>
22850
22851 * Makefile.in (PLUGIN_HEADERS): Add version.h.
22852
4b9ed9aa
UB
228532010-01-07 Uros Bizjak <ubizjak@gmail.com>
22854
22855 PR target/42511
22856 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
22857 note itself is not function_invariant_p.
22858
f50f5566
SB
228592009-01-07 Steven Bosscher <steven@gcc.gnu.org>
22860
22861 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
22862 Do not add the DF_NOTE problem.
22863 * store-motion.c (execute_rtl_store_motion): Likewise.
22864
d05fe940
MJ
228652010-01-07 Martin Jambor <mjambor@suse.cz>
22866
22867 PR tree-optimization/42157
22868 * tree-sra.c (compare_access_positions): Stabilize sort if both
22869 accesses have integer types, return zero immediately if they are the
22870 same.
22871
e67271bd
RH
228722010-01-06 Richard Henderson <rth@redhat.com>
22873
22874 PR middle-end/41883
22875 * haifa-sched.c (add_to_note_list): Merge into ...
22876 (concat_note_lists): ... here, and ...
22877 (unlink_other_notes, rm_other_notes): Merge into...
22878 (remove_notes): ... here. Create REG_SAVE_NOTEs for
a0463099 22879 NOTE_INSN_EPILOGUE_BEG.
e67271bd 22880
6209a13e
RG
228812010-01-06 Richard Guenther <rguenther@suse.de>
22882
22883 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
22884 not inline regular functions into always-inline functions.
22885
5f75e477
NC
228862010-01-06 Nick Clifton <nickc@redhat.com>
22887
22888 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
22889 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
22890 used together.
22891 (OVERRIDE_OPTIONS): Delete.
22892 (OPTIMIZATION_OPTIONS): Define.
22893 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
22894 * config/rx/rx.c (rx_handle_option): Issue an error message if
22895 -mcpu=rx200 and -fpu are used together.
22896 (rx_set_optimization_options): New function. Issue an error
22897 message if an optimization attribute attempts to reset the FPU/
22898 math optimization pairing.
22899 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
22900 * config/rx/rx.opt: Set the default to 32-bit doubles.
22901 * config/rx/t-rx: Add multilibs for -nofpu option.
22902 * doc/invoke.texi: Update documentation of RX options.
22903
13de9095
RG
229042010-01-06 Richard Guenther <rguenther@suse.de>
22905
22906 * tree-ssa-pre.c (name_to_id): New global.
22907 (alloc_expression_id): Simplify SSA name handling.
22908 (lookup_expression_id): Likewise.
22909 (init_pre): Zero name_to_id.
22910 (fini_pre): Free it.
22911
786c3fbc
UB
229122010-01-06 Uros Bizjak <ubizjak@gmail.com>
22913
22914 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
22915
fa1a4144
L
229162010-01-05 H.J. Lu <hongjiu.lu@intel.com>
22917
22918 PR target/42542
22919 * config/i386/sse.md (smaxv2di3): New.
22920 (umaxv2di3): Likewise.
22921 (sminv2di3): Likewise.
22922 (uminv2di3): Likewise.
22923
208384fd
EB
229242010-01-05 Eric Botcazou <ebotcazou@adacore.com>
22925
22926 PR target/42564
22927 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
22928 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
22929 (legitimize_tls_address): Likewise.
22930 (sparc_tls_referenced_p): Likewise.
22931 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
22932 and adjust calls to legitimize_pic_address.
22933 (legitimate_constant_p) Use sparc_tls_referenced_p.
22934 (legitimate_pic_operand_p): Likewise.
22935 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
22936 (sparc_tls_symbol_ref_1): Delete.
22937 (sparc_tls_referenced_p): Make static, recognize specific patterns.
22938 (legitimize_tls_address): Make static, handle CONST patterns.
22939 (legitimize_pic_address): Make static, remove unused parameter and
22940 adjust recursive calls.
22941 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
22942 and adjust call to legitimize_pic_address.
22943 (sparc_output_mi_thunk): Likewise.
22944
4b9ed9aa 229452010-01-05 Paolo Bonzini <bonzini@gnu.rg>
43d4b97d
L
22946 H.J. Lu <hongjiu.lu@intel.com>
22947
22948 PR target/42542
22949 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
22950 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
22951 operands to make them signed.
22952
931c6b3e
UB
22953 Revert:
22954 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
22955
22956 PR target/42542
22957 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
22958 GTU to GT for V4SI and V2DI.
22959
22960 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
22961 (umin<mode>3): Removed.
22962 (uminv8hi3): New.
43d4b97d
L
22963 (uminv4si3): Likewise.
22964
9bf4cdf5
MJ
229652010-01-05 Martin Jambor <mjambor@suse.cz>
22966
22967 PR tree-optimization/42462
22968 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
22969 current_function_decl to helper functions and macros.
22970
6a4d4e8a
RO
229712010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22972
22973 PR bootstrap/41771
22974 * flags.h: Don't include real.h.
22975 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
22976 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
22977 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
22978 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
22979 * dominance.c: Update copyright.
22980 * gimple.c (walk_gimple_op): Remove inline.
22981 * tree-ssa-reassoc.c: Include real.h.
22982 * Makefile.in (FLAGS_H): Remove $(REAL_H).
22983 (tree-ssa-reassoc.o): Depend on $(REAL_H).
22984
105249d1
NC
229852010-01-05 Nick Clifton <nickc@redhat.com>
22986
22987 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
22988 register to push into the stack frame when the accumulator has to
22989 be saved during interrupts.
22990
bc3c12a2
EF
229912010-01-05 Eric Fisher <joefoxreal@gmail.com>
22992
22993 * doc/invoke.texi: Remove the documentation about option
22994 -Wunreachable-code.
22995 * common.opt (Wunreachable-code): Preserved for backward
22996 compatibility.
22997 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
22998 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
22999 the backward compatibility flag section.
23000
1befacc8
RG
230012010-01-05 Richard Guenther <rguenther@suse.de>
23002
23003 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
23004
566f27e4
JJ
230052010-01-05 Jakub Jelinek <jakub@redhat.com>
23006
7604eb4e
JJ
23007 PR other/42611
23008 * cfgexpand.c (expand_one_var): Diagnose too large variables.
23009
566f27e4
JJ
23010 PR tree-optimization/42508
23011 * tree-sra.c (convert_callers): Check for recursive call
23012 by comparing cgraph nodes instead of decls.
23013 (modify_function): Call ipa_modify_formal_parameters also
23014 on all same_body aliases.
23015
23016 * cgraphunit.c (cgraph_materialize_all_clones): Compare
23017 cgraph nodes when checking for same_body aliases.
23018
5f5126d6
RG
230192010-01-05 Richard Guenther <rguenther@suse.de>
23020
23021 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
23022 allocation and lookup.
23023 (get_or_alloc_expr_for_constant): Likewise.
23024 (phi_translate): Sink allocation.
23025
a7d04a53
RG
230262010-01-04 Richard Guenther <rguenther@suse.de>
23027
23028 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
23029 a new entry only if needed.
23030 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
23031 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
23032 hashtable lookup.
23033 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
23034 the result array.
23035 (phi_translate): Handle CONSTANTs early.
23036
caee6ca1
MJ
230372010-01-04 Martin Jambor <mjambor@suse.cz>
23038
23039 PR tree-optimization/42398
23040 * tree-sra.c (struct access): Removed flag grp_different_types.
23041 (dump_access): Do not dump the removed flag.
23042 (sort_and_splice_var_accesses): Do not set the removed flag.
23043 (sra_modify_expr): Check for type compatibility directly.
23044
438789ff
MJ
230452010-01-04 Martin Jambor <mjambor@suse.cz>
23046
23047 PR tree-optimization/42366
23048 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
23049 edges with variable number of parameters.
23050 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
23051 flag instead of asserting it.
23052 (ipa_read_node_info): Read uses_analysis_done flag.
23053
9708c51d
RG
230542010-01-04 Richard Guenther <rguenther@suse.de>
23055
23056 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
23057 iterative_hash_* as intended.
23058 (vn_reference_compute_hash): Likewise. Simplify hashing
23059 SSA names.
23060 (vn_reference_lookup_2): Likewise.
23061 (vn_nary_op_compute_hash): Likewise.
23062 (vn_phi_compute_hash): Likewise.
23063 (expressions_equal_p): Remove strange code.
23064 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
23065 (pre_expr_hash): Likewise. Simplify hashing SSA names.
23066 (bitmap_insert_into_set_1): Take value-id as parameter.
23067 (add_to_value): Pass it.
23068 (bitmap_insert_into_set): Likewise.
23069 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
23070
94b90527
JJ
230712010-01-04 Jakub Jelinek <jakub@redhat.com>
23072
23073 PR driver/42442
23074 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
23075 (do_self_spec): For switches with SWITCH_IGNORE set set also
23076 SWITCH_IGNORE_PERMANENTLY.
23077 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
23078 of SWITCH_IGNORE.
23079
785ca514
RAE
230802010-01-04 Rafael Avila de Espindola <espindola@google.com>
23081
23082 * lto-streamer-out.c (output_unreferenced_globals): Output the full
23083 tree of an unreferenced global var.
23084
22554cf9
L
230852010-01-04 H.J. Lu <hongjiu.lu@intel.com>
23086
23087 PR target/42542
23088 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
23089 GTU to GT for V4SI and V2DI.
23090
23091 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
23092 (umin<mode>3): Removed.
23093 (uminv8hi3): New.
23094 (uminv4si3): Likewise.
23095
7152f51e
L
230962010-01-04 H.J. Lu <hongjiu.lu@intel.com>
23097
23098 PR lto/42581
23099 * collect2.c (main): Turn on trace in collect2 if -v is passed
23100 to gcc with LTO.
23101
f4262155
JQ
231022010-01-03 Jerry Quinn <jlquinn@optonline.net>
23103
23104 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
23105 description of expression operand.
23106
55bcd32b
AJ
231072010-01-03 Andrew Jenner <andrew@codesourcery.com>
23108
23109 * configure.ac: Add install-html to target_list for Make-hooks.
23110 * configure: Regenerate.
23111 * fortran/Make-lang.in (F95_HTMLFILES): New.
23112 (fortran.html): Use it.
23113 (fortran.install-html): New.
23114 * Makefile.in (install-html): Add lang.install-html.
23115 * java/Make-lang.in (JAVA_HTMLFILES): New.
23116 (java.html): Use it.
23117 (java.install-html): New.
23118 * objc/Make-lang.in (objc.install-html): New.
23119 * objcp/Make-lang.in (obj-c++.install-html): New.
23120 * cp/Make-lang.in (c++.install-html): New.
23121 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
23122 * lto/Make-lang.in (lto.install-html): New.
23123
f0d61983
L
231242010-01-03 H.J. Lu <hongjiu.lu@intel.com>
23125
23126 PR lto/42520
23127 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
23128
2ad1dda0
SB
231292009-01-03 Steven Bosscher <steven@gcc.gnu.org>
23130
23131 PR rtl-optimization/41862
23132 * store-motion.c (store_killed_in_insn, compute_store_table,
23133 remove_reachable_equiv_notes, replace_store_insn,
23134 build_store_vectors): Ignore all DEBUG_INSNs.
23135
d7fb0a6d
L
231362010-01-03 H.J. Lu <hongjiu.lu@intel.com>
23137
23138 PR lto/41564
23139 * common.opt: Add dumpdir.
23140
23141 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
23142 isn't specified.
23143 (option_map): Add --dumpdir.
23144
23145 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
23146
23147 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
23148
23149 * opts.c (decode_options): Try dump_dir_name first if
23150 dump_base_name isn't an absolute path.
23151 (common_handle_option): Handle OPT_dumpdir.
23152
23153 * toplev.c (dump_dir_name): New.
23154 (print_switch_values): Also ignore -dumpdir.
23155
23156 * toplev.h (dump_dir_name): New.
23157
ba1ee228
RG
231582010-01-03 Richard Guenther <rguenther@suse.de>
23159
23160 PR tree-optimization/42589
23161 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
23162 double-word expansion of bswap32.
23163
b0de17ef
SB
231642010-01-03 Steven Bosscher <steven@gcc.gnu.org>
23165
23166 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
23167 with BLOCK_FOR_INSN.
23168 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
23169 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
23170 noce_process_if_block): Likewise.
23171 * gcse.c (compute_local_properties, insert_expr_in_table,
23172 insert_set_in_table, canon_list_insert, find_avail_set,
23173 pre_insert_copy_insn): Likewise.
23174
23175 * basic-block.h (BLOCK_NUM): Move from here...
23176 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
23177
a19eb9d2
RG
231782010-01-03 Richard Guenther <rguenther@suse.de>
23179
23180 PR tree-optimization/42438
23181 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
23182 contains_may_not_return_call flag.
23183 (BB_MAY_NOTRETURN): New.
23184 (valid_in_sets): Trapping nary operations are not valid
23185 in blocks that may not return.
b5e33e04 23186 (insert_into_preds_of_block): Remove check for trapping expressions.
a19eb9d2
RG
23187 (compute_avail): Compute also BB_MAY_NOTRETURN.
23188
c41b7b13
GP
231892010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
23190
23191 * doc/invoke.texi: Add 2010 to copyright years.
23192
4900aa61
EB
231932010-01-03 Eric Botcazou <ebotcazou@adacore.com>
23194
23195 * config/sparc/sparc.c: Fix formatting nits.
23196
711a778c 231972010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
77102854 23198 Alexander Monakov <amonakov@ispras.ru>
711a778c
GP
23199
23200 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
23201
1d86f5e9
RG
232022010-01-02 Richard Guenther <rguenther@suse.de>
23203
23204 PR middle-end/42577
23205 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
23206 (simplify_switch_using_ranges): Mark to be removed edges
23207 as non-executable.
23208
91e1a80a
JDA
232092010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23210
b86799ba
JDA
23211 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
23212
91e1a80a
JDA
23213 * collect2.c (scan_libraries): Add missing argument in call to
23214 scan_prog_file.
23215
232162010-01-02 Uros Bizjak <ubizjak@gmail.com>
23217
23218 PR target/42448
23219 * config/alpha/predicates.md (aligned_memory_operand): Return false
23220 for CQImode.
23221 (unaligned_memory_operand): Return true for CQImode.
23222 * config/alpha/alpha.c (get_aligned_mem): Assert that location
23223 doesn not cross aligned SImode word boundary.
23224
232252010-01-02 Anatoly Sokolov <aesok@post.ru>
23226
23227 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
23228 Remove.
23229 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
23230 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
23231
232322010-01-02 Richard Guenther <rguenther@suse.de>
23233
23234 PR lto/41597
23235 * toplev.c (compile_file): Emit LTO marker properly. Change
23236 it to __gnu_lto_v1.
23237 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5a013dc4 23238
aecd4d81
RG
232392010-01-01 Richard Guenther <rguenther@suse.de>
23240
23241 PR debug/42455
02143d0b 23242 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
aecd4d81 23243
e4a95933
RG
232442010-01-01 Richard Guenther <rguenther@suse.de>
23245
23246 PR c/42570
23247 * c-decl.c (grokdeclarator): For zero-size arrays force
23248 structural equality checks as layout_type does.
23249
0bdf1263
L
232502010-01-01 H.J. Lu <hongjiu.lu@intel.com>
23251
23252 * builtins.c: Update copyright to 2010.
23253
91539475 232542010-01-01 H.J. Lu <hongjiu.lu@intel.com>
8589115b
DK
23255
23256 PR lto/42531
91539475 23257 * lto-streamer-out.c (produce_asm): Revert the last change.
8589115b
DK
23258 (copy_function): Likewise.
23259
91539475
L
23260 * lto-streamer.c (lto_get_section_name): Skip any leading
23261 asterisk in name.
20cdc2be 23262
91539475 232632010-01-01 Richard Guenther <rguenther@suse.de>
cf9eb565 23264
91539475
L
23265 PR middle-end/42559
23266 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
23267 for LABEL_DECLs.
ad41bd84
JM
23268
23269\f
91539475 23270Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
23271
23272Copying and distribution of this file, with or without modification,
23273are permitted in any medium without royalty provided the copyright
23274notice and this notice are preserved.