1 2010-10-20 Vladimir Makarov <vmakarov@redhat.com>
4 * ira-emit.c (store_can_be_removed_p): Return false instead of
7 2010-10-20 Dmitry Melnik <dm@ispras.ru>
9 * fold-const.c (fold_binary_loc): New transformation.
11 2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
14 * config/i386/sse.md (reduc_splus_v8sf): Updated.
15 (reduc_splus_v4df): Likewise.
17 2010-10-20 Richard Guenther <rguenther@suse.de>
19 PR tree-optimization/45860
20 * tree-ssa-phiopt.c (cond_store_replacement): Do not do
21 conditional store replacement for non-register type stores.
23 2010-10-20 Eric Botcazou <ebotcazou@adacore.com>
25 * stor-layout.c (skip_simple_constant_arithmetic): New function.
26 (self_referential_size): Use it instead of skip_simple_arithmetic.
28 2010-10-20 Olivier Hainque <hainque@adacore.com>
30 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
31 If the current function calls eh_return, claim live all registers
32 that we need to check for liveness otherwise.
34 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
36 * c-decl.c (c_write_global_declarations): Call
37 objc_write_global_declarations when compiling Objective-C.
38 * c-lang.c (finish_file): Removed.
40 2010-10-19 DJ Delorie <dj@redhat.com>
42 * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
43 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
44 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
45 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
46 * doc/tm.texi: Regenerate.
47 * targhooks.h (default_label_align_after_barrier_max_skip,
48 default_loop_align_max_skip, default_label_align_max_skip,
49 default_jump_align_max_skip): Declare.
50 * target.def (label_align_after_barrier_max_skip): New.
51 (loop_align_max_skip): New.
52 (label_align_max_skip): New.
53 (jump_align_max_skip): New.
54 * system.h (poison): Add those macros to the list.
55 * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
56 (LOOP_ALIGN_MAX_SKIP): Remove.
57 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
58 (JUMP_ALIGN_MAX_SKIP): Remove.
59 (default_label_align_after_barrier_max_skip): New.
60 (default_loop_align_max_skip): New.
61 (default_label_align_max_skip): New.
62 (default_jump_align_max_skip): New.
63 (compute_alignments): Use the new hooks.
64 (shorten_branches): Likewise.
66 2010-10-19 Richard Henderson <rth@redhat.com>
68 * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
69 * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
70 (fma4i_fmadd_<mode>): New.
71 (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
72 fma4_fm*_<mode> and adjust to be pre-reload splitters to the
73 standard fma patterns.
74 (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
76 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
77 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
78 (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
80 2010-10-19 Paul Koning <pkoning@equallogic.com>
82 * lower-subreg.c (resolve_shift_zext): Delete conditional code for
83 WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
85 2010-10-19 Richard Henderson <rth@redhat.com>
87 * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
88 (fmadf4, *fmsdf4, *nfmadf4): New.
89 (fmaxf4, *fmsxf4, *nfmaxf4): New.
91 2010-10-19 Michael Eager <eager@eagercon.com>
93 * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
94 Use sjlj unwind info for exceptions.
96 2010-10-19 Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
99 * dwarf2out.c (add_calling_convention_attribute): Flag main
100 Fortran subroutine with DW_AT_main_subprogram.
102 2010-10-19 Nick Clifton <nickc@redhat.com>
104 * config/rx/rx.c (rx_function_value): Small integer types are
106 (rx_promote_function_mode): New function.
107 (TARGET_PROMOTE_FUNCTION_MODE): Define.
109 2010-10-19 Nick Clifton <nickc@redhat.com>
111 * config/mep/mep.c (mep_print_operand): Use
112 targetm.strip_name_encoding.
113 (mep_output_aligned_common): Likewise.
115 2010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
116 * gengtype.c (new_structure): Remove ad-hoc "location_s"
119 2010-10-18 Richard Henderson <rth@redhat.com>
121 * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
122 (fma (neg a) (neg b) c) and (fma a (neg b) c).
124 2010-10-18 Richard Henderson <rth@redhat.com>
126 * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
127 IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
128 IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
129 IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
130 IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
131 IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
132 IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
133 IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
134 IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
135 IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
136 (bdesc_multi_arg): Remove the corresponding builtins.
137 * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
138 (UNSPEC_FMA4_FMSUBADD): Remove.
139 (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
140 * config/i386/sse.md (FMA4MODEF4): Remove.
142 (fma<mode>4): New expander.
143 (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
144 and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
145 (*fma4i_fmsub_<mode>): Similarly.
146 (*fma4i_fnmadd_<mode>): Similarly.
147 (*fma4i_fnmsub_<mode>): Similarly.
148 (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
149 with the first operand.
150 (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
151 of explicit arithmetic. Macroize with AVXMODEF2P.
152 (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
153 (xop_frcz<mode>2): Macroize with FMAMODE.
154 (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
156 * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
158 (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
159 (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
160 (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
161 (_mm256_msub_ps, _mm256_msub_pd): Likewise.
162 (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
163 (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
164 (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
165 (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
167 2010-10-18 Bernd Schmidt <bernds@codesourcery.com>
169 PR rtl-optimization/45966
170 * combine.c (try_combine): If added_sets_2, deal with the case
171 where i0 feeds i1 and i1 feeds i2.
173 2010-10-18 Jan Hubicka <jh@suse.cz>
175 * ipa.c (cgraph_externally_visible_p): Handle externally visible and
176 preserve flags before trying to guess on visibility.
177 (varpool_externally_visible_p): New function.
178 (function_and_variable_visibility): Use it.
180 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
182 Implemented parsing @synthesize and @dynamic for Objective-C.
183 * c-parser.c (c_parser_external_declaration): Recognize
184 RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
185 (c_parser_objc_at_synthesize_declaration): New.
186 (c_parser_objc_at_dynamic_declaration): New.
188 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
190 * c-parser.c (c_parser_objc_class_declaration): After finding an
191 error, parse the whole declaration then reset parser->error.
193 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
196 * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
197 * builtins.c (mode_has_fma): Ditto.
199 2010-10-18 Steve Ellcey <sje@cup.hp.com>
203 * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
205 2010-10-18 Joseph Myers <joseph@codesourcery.com>
207 * config/i386/i386.c (ix86_option_override_internal): Define and
208 use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
210 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
211 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
213 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
215 Merge from 'apple/trunk' branch on FSF servers.
216 * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
217 following Objective-C change:
219 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
222 * c-parse.in (objc_quals): Build objc qualifier list same way
225 2010-10-18 Jan Hubicka <jh@suse.cz>
227 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
228 function_and_variable_visibility): Revert accidental commit.
230 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
232 Merge from 'apple/trunk' branch on FSF servers.
233 * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
234 the following Objective-C change:
236 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
239 * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
240 'volatilized' type used in a typeof operator.
242 2010-10-18 Eric Botcazou <ebotcazou@adacore.com>
244 * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
245 * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
246 rewrite modelled on gimple_purge_dead_eh_edges.
247 (gimple_purge_all_dead_abnormal_call_edges): New function.
248 * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
249 directly instead of through gimple_purge_dead_abnormal_call_edges.
250 * tree-ssa-pre.c (need_ab_cleanup): New static variable.
251 (eliminate): Set bit in need_ab_cleanup for the basic block if we have
252 removed AB side-effects from one of its statements.
253 (init_pre): Initialize need_ab_cleanup.
254 (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
255 are set in need_ab_cleanup. Free need_ab_cleanup afterward.
257 2010-10-18 Jakub Jelinek <jakub@redhat.com>
260 * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
261 on computed goto argument.
263 2010-10-18 Richard Guenther <rguenther@suse.de>
265 PR tree-optimization/45967
266 * tree-ssa-structalias.c (type_could_have_pointers): Remove.
267 (could_have_pointers): Likewise.
268 (handle_rhs_call, handle_const_call, handle_pure_call,
269 find_func_aliases, intra_create_variable_infos): Remove calls to them.
270 (struct fieldoff): Add must_have_pointers field.
271 (type_must_have_pointers): New function.
272 (field_must_have_pointers): Likewise.
273 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
274 Adjust field merging.
275 (create_function_info_for): May-have-pointers of varinfo is
277 (create_variable_info_for_1): Likewise.
279 2010-10-18 Tejas Belagod <tejas.belagod@arm.com>
281 * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
282 of operands to vec_concat.
284 2010-10-18 Richard Guenther <rguenther@suse.de>
287 * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
288 also clear references to entries of it.
290 2010-10-18 Andi Kleen <ak@linux.intel.com>
294 * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
295 (doc, distclean, install-common): Remove reference to gccbug.
296 * configure: Regenerate.
297 * configure.ac (all_outputs): Remove gccbug.
298 * doc/configfiles.texi: Remove references to gccbug.
299 * doc/sourcebuild.texi: Dito.
301 2010-10-18 Jakub Jelinek <jakub@redhat.com>
304 * fold-const.c (fold_binary_loc): If integer_pow2p has
305 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
307 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
308 Jeremie Salvucci <jeremie.salvucci@free.fr>
310 * gengtype.c (verbosity_level): Add variable.
311 (set_gc_used): Count variables for verbosity.
312 (close_output_files): Backing up files, counting written ones
314 (write_types): Count emitted functions for verbosity. Added
316 (write_enum_defn): Count structures for verbosity. Added debug
318 (gengtype_long_options): Add "verbose" & "backupdir".
319 (print_usage): Ditto.
320 (main): Verbose display of parsed files.
322 * gengtype.h (verbosity_level): Add declaration.
324 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
326 * gengtype.c (parse_program_options): Add allocation of
327 plugin_files, and correct test on nb_plugin_files.
329 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
331 Merge from 'apple/trunk' branch on FSF servers.
333 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
336 * c-decl.c (undeclared_variable): Issue diagnostic on
337 private 'ivar' access.
339 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
342 * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
343 generated sequence to match *avx_vperm2f128<mode>_nozero.
344 (vec_interleave_lowv4df): Ditto.
345 (vec_interleave_highv8sf): Ditto.
346 (vec_interleave_lowv8sf): Ditto.
348 2010-10-17 Kai Tietz <kai.tietz@onevision.com>
350 * libgcov.c (create_file_directory): Enable it for win32 case.
351 (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
352 * doc/gcov.texi (GCOV_PREFIX): Adjusted.
353 (GCOV_PREFIX_SKIP): Likewise.
355 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
357 * doc/objc.texi (GNU Objective-C runtime API): New section.
358 (Modern GNU Objective-C runtime API): New section.
359 (Traditional GNU Objective-C runtime API): New section.
360 (Executing code before main): Mention that this section is
361 specific to the GNU Objective-C runtime.
362 (Garbage Collection): Same.
364 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
366 * c-parser.c (c_parser_for_statement): Move initialization of
367 cond and incr before if.
369 2010-10-17 Anatoly Sokolov <aesok@post.ru>
371 * target.def (preferred_output_reload_class): New hook.
372 * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
373 * doc/tm.texi: Regenerate.
374 * targhooks.c (default_preferred_output_reload_class): New function.
375 * targhooks.h (default_preferred_output_reload_class): Declare.
376 * reload.c (find_dummy_reload): Change rclass argument type from
377 enum reg_class to reg_class_t. Change this_alternative array type
378 from enum reg_class to reg_class_t.
379 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
380 (push_reload): Change preferred_class variable type to reg_class_t.
381 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
382 * recog.c (reg_fits_class_p): Change result type to bool. Change cl
383 argument type from enum reg_class to reg_class_t. Use
384 HARD_REGISTER_NUM_P predicate.
385 * recog.h (reg_fits_class_p): Update prototype.
387 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
388 * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
390 * config/i386/i386.c (ix86_preferred_output_reload_class): Make
391 static. Change regclass argument and result types from enum reg_class
393 (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
395 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
397 * c-parser.c (c_parser_objc_class_instance_variables): Update to use
398 visibility enum, and handle @package.
400 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
402 * doc/objc.texi (What you can and what you cannot do in +load):
403 Document that sending messages to constant string objects in +load
404 is not guaranteed to work.
406 2010-10-16 Jan Hubicka <jh@suse.cz>
409 * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
410 existence of refrences before removing the function.
412 2010-10-16 Jan Hubicka <jh@suse.cz>
414 * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
415 only_called_at_startup and only_called_at_exit.
416 (cgraph_propagate_frequency): Compute only_called_at_startup and
418 * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
420 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
422 * predict.c (compute_function_frequency): Initialize the new flags.
424 2010-10-16 Eric Botcazou <ebotcazou@adacore.com>
426 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
427 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
428 on the bounds of its domain.
429 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
431 2010-10-16 Anatoly Sokolov <aesok@post.ru>
433 * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
434 * config/avr/avr-protos.h (preferred_reload_class): Remove.
435 * config/avr/avr.c (preferred_reload_class): Remove.
436 * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
437 * config/pa/pa.c (emit_move_sequence): Update comment
438 * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
439 * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
440 * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
441 * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
442 * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
443 * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
444 * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
445 * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
446 * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
447 * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
448 * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
449 * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
450 * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
452 2010-10-16 Joseph Myers <joseph@codesourcery.com>
454 * opts.c (set_fast_math_flags,
455 set_unsafe_math_optimizations_flags): Make static.
456 * toplev.h (set_fast_math_flags,
457 set_unsafe_math_optimizations_flags): Remove prototypes.
459 2010-10-16 Joseph Myers <joseph@codesourcery.com>
461 * config/arm/arm.c (arm_option_optimization): Set
462 flag_section_anchors to 1 not 2.
463 * config/i386/i386.c (ix86_option_override_internal): Check
464 global_options_set.x_flag_zee and
465 global_options_set.x_flag_omit_frame_pointer.
466 (ix86_option_optimization): Don't set flag_omit_frame_pointer and
468 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
469 global_options_set.x_flag_omit_frame_pointer.
470 * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
471 opts->x_flag_section_anchors to 1 not 2.
472 * config/sh/sh.c (sh_option_optimization): Don't set
473 flag_schedule_insns to 2.
474 (sh_option_override): Check
475 global_options_set.x_flag_schedule_insns.
476 * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
478 2010-10-16 Kai Tietz <kai.tietz@onevision.com>
480 * configure.ac: Make sure inhibit_libc remains false for mingw targets
482 * configure: Regenerated.
484 2010-10-15 Xinliang David Li <davidxl@google.com>
486 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
488 (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
489 into a recursive function.
491 2010-10-15 Uros Bizjak <ubizjak@gmail.com>
493 * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
496 2010-10-15 Joseph Myers <joseph@codesourcery.com>
498 * target.def (target_option.init_struct): New hook.
499 * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
500 * doc/tm.texi: Regenerate.
501 * hooks.c (hook_void_gcc_optionsp): New.
502 * hooks.h (hook_void_gcc_optionsp): Declare.
503 * langhooks-def.h (lhd_init_options_struct): Remove.
504 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
505 * langhooks.c (lhd_init_options_struct): Remove.
506 * opts.c (init_options_struct): Also call
507 targetm.target_option.init_struct.
508 * config/i386/i386.c (ix86_option_init_struct,
509 TARGET_OPTION_INIT_STRUCT): New.
510 (ix86_option_optimization): Move some settings to
511 ix86_option_init_struct.
512 * config/pdp11/pdp11.c (pdp11_option_init_struct,
513 TARGET_OPTION_INIT_STRUCT): New.
514 (pdp11_option_optimization): Move some settings to
515 pdp11_option_init_struct.
516 * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
517 rs6000_option_init_struct. Use options structure pointer.
518 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
519 * config/s390/s390.c (s390_option_init_struct,
520 TARGET_OPTION_INIT_STRUCT): New.
521 (s390_option_optimization): Don't set
522 flag_asynchronous_unwind_tables here.
523 * config/sh/sh.c (sh_option_init_struct,
524 TARGET_OPTION_INIT_STRUCT): New.
525 (sh_option_optimization): Don't set flag_finite_math_only here.
526 * config/spu/spu.c (spu_option_optimization): Replace by
527 spu_option_optimization. Use options structure pointer.
528 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
530 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
532 * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
534 * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add
535 SIGN_EXTRACT and ZERO_EXTRACT which were missing.
536 (Standard names): Document fma.
538 * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
539 __FP_FAST_FMAF, __FP_FAST_FMAL.
541 * builitns.c (expand_builtin_mathfn_ternary): New function for
542 expanding ternary math functions, like fma.
543 (expand_builtin): Call it for the fma builtins.
545 * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
548 * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
549 vectorizable functions to support vectorizing fma.
551 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
554 * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
555 (UNSPEC_VSX_MSUB): Ditto.
556 (UNSPEC_VSX_NMADD): Ditto.
557 (UNSPEC_VSX_NMSUB): Ditto.
558 (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
559 of UNSPEC. Renumber combiner patterns.
560 (vsx_fmsub<mode>4*): Ditto.
561 (vsx_fnmadd<mode>4*): Ditto.
562 (vsx_fnmsub<mode>4*): Ditto.
564 * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
565 (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
566 multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test.
567 (altivec_vmaddfp_1): Ditto.
568 (altivec_vmaddfp_2): Ditto.
569 (atlivec_mulv4sf3): Ditto.
570 (altivec_vnmsubfp): Ditto.
571 (altivec_vnmsubfp_1): Ditto.
572 (altivec_vnmsubfp_2): Ditto.
573 (altivec_vnmsubfp_3): Delete.
575 * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
578 (fnmasf4_fpr): Ditto.
579 (fnmssf4_fpr): Ditto.
583 (fnmadf4_fpr): Ditto.
584 (fnmsdf4_fpr): Ditto.
586 * optabs.h (OTI_fma): Add fma optab.
589 * genopinit.c (optabs): Set fma optab.
591 * rtl.def (FMA): Add FMA rtl.
593 * tree.h (mode_has_fma): New function to return if MODE supports a
594 fast multiply and add instruction.
595 * builtins.c (mode_has_fma): Ditto.
597 2010-10-15 Jan Hubicka <jh@suse.cz>
599 * lto-streamer-out.c (write_symbol): Use pointer set of seen
600 objects instead of bitmap.
601 (produce_symtab): Likewise; output defined symbols first.
603 2010-10-15 Jie Zhang <jie@codesourcery.com>
605 * doc/invoke.texi: Add -fstrict-volatile-bitfields to
606 Option Summary and Index.
608 2010-10-15 Richard Guenther <rguenther@suse.de>
610 * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
611 for automatic variables again.
613 2010-10-15 Joseph Myers <joseph@codesourcery.com>
615 * doc/extend.texi (Variable Length): Don't refer to VLAs not
618 2010-10-15 Joseph Myers <joseph@codesourcery.com>
620 * config/rx/rx.c (rx_option_optimization): Change to
621 rx_override_options_after_change. Don't change
622 flag_lto_compression_level. Don't check for changes to whether
623 FPU instructions can be used. Check and set only
624 flag_finite_math_only, not other fast-math flags.
625 (rx_option_override): Call rx_override_options_after_change.
626 (TARGET_OPTION_OPTIMIZATION): Remove.
627 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
629 2010-10-15 Joseph Myers <joseph@codesourcery.com>
631 * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
632 disable section anchors for lang_hooks.name[4] != 'O'.
634 2010-10-15 Joseph Myers <joseph@codesourcery.com>
636 * config/frv/frv.c (frv_option_optimization,
637 TARGET_OPTION_OPTIMIZATION): Remove.
638 * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
640 2010-10-15 Michael Matz <matz@suse.de>
642 * cgraphunit.c (clone_of_p): Define unconditionally.
644 2010-10-15 Richard Guenther <rguenther@suse.de>
647 * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
649 2010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
651 * ifcvt.c (find_active_insn_before): New function.
652 (find_active_insn_after): New function.
653 (cond_exec_process_if_block): Use new functions to replace
654 prev_active_insn() and next_active_insn().
656 2010-10-14 Yao Qi <yao@codesourcery.com>
659 * config/arm/arm.c (arm_build_builtin_va_list): Assign
660 va_list_name to TYPE_STUB_DECL (va_list_type).
662 2010-10-14 Jan Hubicka <jh@suse.cz>
665 * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
666 redirected to clone, be happy.
667 * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
668 * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
669 former_clone_of unconditionally.
671 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
673 Merge from FSF apple 'trunk' branch.
674 2006 Fariborz Jahanian <fjahanian@apple.com>
676 Radars 4436866, 4505126, 4506903, 4517826
677 * c-parser.c (c_parser, objc_property_attr_context) New flag.
678 (c_lex_one_token): Handle property attributes.
679 (c_parser_external_declaration): Handle @property.
680 (c_parser_declaration_or_fndef): Warn on invalid attributes before
681 @alias, @class, @end and @property objc keywords.
682 (c_parser_objc_methodprotolist): Handle @property.
683 (c_parser_objc_property_attrlist): New.
684 (c_parser_objc_at_property): New.
685 * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
686 (build_modify_expr): Likewise.
688 2010-10-14 Jakub Jelinek <jakub@redhat.com>
690 PR tree-optimization/46008
691 * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
693 2010-10-14 Richard Guenther <rguenther@suse.de>
695 PR tree-optimization/44913
696 * tree-data-ref.c (disjoint_objects_p): Remove.
697 (dr_may_alias_p): Simplify. Only hand the base object to
699 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
700 some more trees, bail out instead of asserting.
701 (ptr_derefs_may_alias_p): Likewise. Export.
702 (refs_may_alias_p_1): Handle STRING_CSTs.
703 * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
705 2010-10-14 Joseph Myers <joseph@codesourcery.com>
708 * c-typeck.c (build_binary_op): Don't try to compute a semantic
709 type with excess precision for boolean operations.
711 2010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr>
712 Basile Starynkevitch <basile@starynkevitch.net>
714 * gengtype.c: Include getopt.h and version.h.
716 (lang_bitmap, struct outf, outf_p)
717 (get_output_file_with_visibility, oprintf): Definitions moved to
719 (output_files, header_file, srcdir, srcdir_len, this_file)
720 (do_dump): No more static variables.
722 (dbgprint_count_type_at): Added new function.
723 (gengtype_long_options): New.
724 (print_usage, print_version, parse_program_options): New.
725 (main): Call parse_program_options, and removed old option
726 handling code. Added some debug output.
728 * gengtype.h: Updated copyright year.
729 (lang_bitmap, struct outf, outf_p, header_file, oprintf)
730 (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
731 Moved from gengtype.c to here.
732 (do_debug, read_state_filename, write_state_filename): New variables.
733 (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
736 (REVISION): Always defined.
737 (version.o): Removed ifdef REVISION_c.
738 (s-gtype): Pass arguments to build/gengtype program.
739 (build/version.o): Added building rule.
740 (build/gengtype$(build_exeext)): Added build/version.o.
742 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
744 Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
745 * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
748 2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
750 * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
751 may_trap_or_fault_p instead of may_trap_p predicate.
752 * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
753 (substitute_placeholder_in_expr): Likewise.
754 * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
755 flag on MEM_REF nodes.
756 (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
757 flags on INDIRECT_REF nodes.
759 2010-10-14 Nathan Froyd <froydnj@codesourcery.com>
761 * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
762 (arm*-*-uclinux*eabi) <tm_file>: Likewise.
763 (arm*-*-eabi*) <tm_file>: Likewise.
764 (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
765 (frv-*-*linux*) <tm_file>: Likewise.
766 * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
767 and associated helper macros.
768 * config/frv/frv-abi.h: Delete.
770 2010-10-14 Richard Guenther <rguenther@suse.de>
773 * tree.def (NULLPTR_TYPE): New tree code.
774 * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
775 * dwarf2out.c (is_base_type): Likewise.
776 (gen_type_die_with_usage): Likewise.
777 * sdbout.c (plain_type_1): Likewise.
778 * tree.c (build_int_cst_wide): Likewise.
779 * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
781 2010-10-14 Joseph Myers <joseph@codesourcery.com>
783 * params.c (params_finished): New.
784 (add_params): Assert !params_finished.
785 (finish_params): New.
786 (set_param_value_internal): Take params and params_set
787 parameters. Assert params_finished.
788 (set_param_value, maybe_set_param_value): Take params and
789 params_set parameters. Update calls to set_param_value_internal.
790 (set_default_param_value): Assert !params_finished. Don't use
791 set_param_value_internal.
792 (default_param_value, init_param_values): New.
793 * params.h (struct param_info): Change value to default_value.
795 (set_param_value, maybe_set_param_value): Add params and
796 params_set parameters.
797 (PARAM_VALUE): Get parameters from global_options.
798 (PARAM_SET_P): Remove.
799 (finish_params, default_param_value, init_param_values): New.
800 * common.opt (param_values): New Variable.
801 * config/arm/arm.c (arm_option_override): Pass extra arguments to
802 maybe_set_param_value.
803 * config/i386/i386.c (ix86_option_override_internal): Pass extra
804 arguments to maybe_set_param_value.
805 * config/picochip/picochip.c (picochip_option_override): Pass
806 extra arguments to maybe_set_param_value.
807 * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
808 extra arguments to maybe_set_param_value.
809 * config/s390/s390.c (s390_option_override): Use
810 maybe_set_param_value instead of set_param_value. Pass extra
811 arguments to maybe_set_param_value.
812 * config/sparc/sparc.c (sparc_option_override): Pass extra
813 arguments to maybe_set_param_value.
814 * config/spu/spu.c (spu_option_override): Pass extra arguments to
815 maybe_set_param_value.
816 * opts.c (handle_param): Take opts and opts_set parameters.
817 Update call to set_param_value.
818 (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
819 initial_loop_invariant_max_bbs_in_loop): Remove.
820 (init_options_once): Don't set them.
821 (init_options_struct): Initialize parameters structures.
822 (default_options_optimization): Use default_param_value when
823 restoring defaults. Update calls to maybe_set_param_value.
824 (finish_options): Update calls to maybe_set_param_value.
825 (common_handle_option): Update calls to handle_param and
827 * toplev.c (DEFPARAM): Update definition for changes to param_info.
828 (general_init): Call finish_params.
830 2010-10-14 Nick Clifton <nickc@redhat.com>
832 * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
833 (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
834 (FIRST_PSEUDO_REGISTER): Increase by one.
835 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
836 (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
837 (MODES_TIEABLE): Call mn10300_modes_tieable.
838 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
839 (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
840 (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
841 (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
842 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
843 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
844 (mn10300_cc_status_mdep): Delete.
845 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
846 * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
847 the combine-stack-adjust pass.
848 (print_operand): Use the mode of the comparison operation to
849 select the comparison suffix.
850 (notice_update_cc): Delete.
851 (mn10300_secondary_reload_class): Remove test for stack pointer
853 (output_tst): Rename to mn10300_output_cmp.
854 (impossible_plus_operand): Move into predicates.md.
855 (mn10300_legitimize_address): Make static.
856 (mn10300_legitimate_address_p): Make static. Only allow SI sized
857 constant pic operands.
858 (mn10300_legitimate_constant_p): New function.
859 (mn10300_case_values_threshold): Make static.
860 (mn10300_hard_regno_mode_ok): New function.
861 (mn10300_modes_tieable): New function.
862 (mn10300_select_cc_mode): New function.
863 * config/mn10300/predicates.md (impossible_plus_operand): Define.
864 * config/mn10300/mn10300-protos.h: Tidy.
865 (mn10300_legitimate_constant_p, mn10300_modes_tieable)
866 (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
867 * config/mn10300/mn10300.md (cc attribute): Delete. Replace
868 with clobbers or sets of CC_REG.
870 (mov*): Remove use of CLR instruction.
871 (cbranch_si4_<code>): New pattern/split.
872 (integer_conditional_branch): New pattern.
873 (cbranch_sf4_<code>): New pattern/split.
874 (float_conditional_branch): New pattern.
875 (casesi): Use addsi3 pattern instead of movsi pattern to add and
876 move a value at the same time.
877 (cc0 peepholes): Remove.
879 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
881 * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
882 on RTX_FRAME_RELATED_P insns and the insn to which
883 NOTE_INSN_EPILOGUE_BEG is attached.
884 * sched-vis.c (print_value): Allow NULL value.
886 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
888 PR rtl-optimization/45570
889 * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
890 assert that we are pipelining outer loops. Allow returning
893 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
895 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
896 (tidy_control_flow): Tidy vertical space.
897 (sel_remove_bb): New variable idx. Use it to remember the basic
898 block index before deleting the block.
899 (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
900 (sel_merge_blocks): ... here.
901 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
903 2010-10-14 Jakub Jelinek <jakub@redhat.com>
905 * cse.c (is_dead_reg): Change into inline function that is not
906 called through for_each_rtx.
907 (set_live_p): Adjust caller.
908 (insn_live_p): Don't reset DEBUG_INSNs here.
909 (struct dead_debug_insn_data): New data.
910 (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
911 (delete_trivially_dead_insns): If there is just one setter for the
912 dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
913 and add DEBUG_INSN for it right before the removed setter and
914 use the DEBUG_EXPR instead of the dead pseudo.
916 2010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz>
918 * et-forest.c (et_nca): Return NULL immediately when
919 the dominance forest has disjoint components.
921 2010-10-13 Vladimir Makarov <vmakarov@redhat.com>
923 * ira.c (setup_class_hard_regs): Fix typo in indexing
924 ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
926 2010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com>
928 * graph.c (inbb): New variable.
929 (start_bb): Set inbb to 1 if output is inside of a building block.
930 (end_bb): Check if output is inside of a building block.
932 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
934 PR rtl-optimization/45912
935 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
936 regno of registers instead of their index to compute the alignment.
938 2010-10-13 H.J. Lu <hongjiu.lu@intel.com>
940 * config/i386/i386.c (ix86_build_const_vector): Check vector
941 mode instead of scalar mode.
942 (ix86_build_signbit_mask): Likewise.
943 (ix86_expand_fp_absneg_operator): Updated.
944 (ix86_expand_copysign): Likewise.
945 (ix86_expand_int_vcond): Likewise.
946 (ix86_emit_swdivsf): Likewise.
947 (ix86_sse_copysign_to_positive): Likewise.
948 (ix86_expand_sse_fabs): Likewise.
949 * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
950 * config/i386/sse.md (copysign<mode>3): Likewise.
951 (sse2_cvtudq2ps): Likewise.
952 (vec_unpacku_float_hi_v4si): Likewise.
953 (vec_unpacku_float_lo_v4si): Likewise.
955 * config/i386/i386.c (ix86_builtins): Add
956 IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
957 (bdesc_args): Likewise.
958 (ix86_builtin_vectorized_function): Support
959 IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
960 IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
961 and IX86_BUILTIN_CVTPS2DQ256.
962 (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
964 * config/i386/sse.md (STORENT_MODE): New.
965 (VEC_FLOAT_MODE): Likewise.
966 (VEC_EXTRACT_MODE): Likewise.
967 (*avx_cvtdq2pd256_2): Likewise.
968 (vec_pack_trunc_v4df): Likewise.
969 (vec_interleave_highv8sf): Likewise.
970 (vec_interleave_lowv8sf): Likewise.
971 (storent<mode>): Macroized.
972 (<code><mode>2: absneg): Likewise.
973 (copysign<mode>3): Likewise.
974 (vec_extract<mode>): Likewise.
977 * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
980 2010-10-13 Richard Guenther <rguenther@suse.de>
981 H.J. Lu <hongjiu.lu@intel.com>
983 * config/i386/sse.md (reduc_splus_v8sf): Add.
984 (reduc_splus_v4df): Likewise.
985 (vec_unpacks_hi_v8sf): Likewise.
986 (vec_unpacks_lo_v8sf): Likewise.
987 (*avx_cvtps2pd256_2): Likewise.
988 (vec_unpacks_float_hi_v8si): Likewise.
989 (vec_unpacks_float_lo_v8si): Likewise.
990 (vec_interleave_highv4df): Likewise.
991 (vec_interleave_lowv4df): Likewise.
993 2010-10-13 Richard Guenther <rguenther@suse.de>
996 * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
997 alone if there are no virtual methods.
999 2010-10-13 Richard Henderson <rth@redhat.com>
1001 * expr.c (build_personality_function): Take parameter LANG instead
1002 of parameter NAME. Build the name based on the lang prefix and the
1003 unwind method in use.
1004 * tree.c (lhd_gcc_personality): Update call to
1005 build_personality_function.
1007 2010-10-13 Richard Guenther <rguenther@suse.de>
1010 * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
1012 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
1014 * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
1015 Canonicalize input operands of ASM_OPERANDS insns.
1017 2010-10-13 Richard Guenther <rguenther@suse.de>
1019 PR tree-optimization/45788
1020 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
1021 EH update until fixup-cfg.
1023 2010-10-13 Julian Brown <julian@codesourcery.com>
1025 * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
1026 from CORE_REGS and GENERAL_REGS classes.
1027 * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
1028 final constraint for register preferencing.
1030 2010-10-13 Richard Guenther <rguenther@suse.de>
1032 PR tree-optimization/45970
1033 * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
1034 * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
1035 (stmt_kills_ref_p): Likewise.
1036 * tree-ssa-dse.c (dse_optimize_stmt): Use it.
1038 2010-10-13 Richard Guenther <rguenther@suse.de>
1040 PR tree-optimization/45982
1041 * tree-ssa-structalias.c (make_constraints_to): New function.
1042 (make_constraint_to): Implement in terms of make_constraints_to.
1043 (find_func_aliases): Properly make return values of pure/const
1044 functions escape if they assign to sth that is not a pointer.
1046 2010-10-13 Richard Guenther <rguenther@suse.de>
1049 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
1050 Fixup the CFG when EH was fixed up.
1052 2010-10-13 Ira Rosen <irar@il.ibm.com>
1054 * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
1055 Use operand's type for POINTER_PLUS_EXPR.
1057 2010-10-13 Alexandre Oliva <aoliva@redhat.com>
1059 * c-parser.c (c_parser_for_statement): Initialize incr.
1061 2010-10-12 Xinliang David Li <davidxl@google.com>
1063 PR tree-optimization/45972
1064 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
1065 with too many arguments.
1067 2010-10-12 Jakub Jelinek <jakub@redhat.com>
1070 * tree-ssa-forwprop.c: Include expr.h.
1071 (constant_pointer_difference, simplify_builtin_call): New functions.
1072 (tree_ssa_forward_propagate_single_use_vars): Call
1073 simplify_builtin_call on builtin calls.
1075 2010-10-12 Eric Botcazou <ebotcazou@adacore.com>
1077 * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
1078 (*adddi3_extend_sp32): Likewise.
1079 (*subdi3_insn_sp32): Likewise.
1080 (*subdi3_extend_sp32): Likewise.
1081 (*negdi2_sp32): Use negative test for consistency.
1083 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
1085 * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
1086 (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
1087 * config/fixed-bit.h: Likewise.
1088 * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
1089 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
1090 * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
1091 * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
1092 (DF_SIZE): Likewise.
1093 * doc/tm.texi: Regenerate.
1095 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
1097 * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
1098 * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
1099 (*isel_reversed_unsigned_<mode>): New.
1100 * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
1101 as valid comparisons and adjust operands and output appropriately.
1102 (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
1104 2010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
1106 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
1107 DATA_ALIGNMENT and add COND parameter. Update comments above.
1108 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
1109 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
1111 2010-10-12 H.J. Lu <hongjiu.lu@intel.com>
1114 * exec-tool.in: Support '-plugin' as the second option to the linker.
1116 2010-10-12 Richard Henderson <rth@redhat.com>
1119 * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
1120 (expand_stack_vars): Assert large base allocated when used.
1122 2010-10-12 Richard Guenther <rguenther@suse.de>
1124 * tree-ssa-structalias.c (get_constraint_for_1): Constants
1125 only point to nonlocal, not anything.
1127 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
1129 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
1130 unwind info for exceptions.
1132 2010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1135 * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
1136 Document optional target selector.
1138 2010-10-12 Joseph Myers <joseph@codesourcery.com>
1140 * flag-types.h: New.
1141 * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
1142 (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
1144 (OPTIONS_H): Define.
1145 (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
1147 * configure.ac (tm_include_list): Include options.h not flags.h.
1148 * configure: Regenerate.
1149 * flags.h: Include flag-types.h. Include options.h at top of file
1151 (enum debug_info_type, enum debug_info_level, enum
1152 debug_info_usage, enum symbol_visibility, struct visibility_flags,
1153 enum ira_algorithm, enum ira_region, enum excess_precision, enum
1154 graph_dump_types, enum stack_check_type,
1155 enum warn_strict_overflow_code): Move to flag-types.h
1156 * opth-gen.awk: Include flag-types.h in options.h.
1158 2010-10-12 Jakub Jelinek <jakub@redhat.com>
1160 * expr.c (store_expr): Share code for STRING_CST and
1161 MEM_REF of &STRING_CST cases. Don't require BLKmode, instead
1162 check if target is a MEM.
1164 * rtl.h: Include hashtab.h.
1165 (iterative_hash_rtx): New prototype.
1166 * rtl.c (iterative_hash_rtx): New function.
1167 * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
1168 (output_loc_list): Return immediately if emitted is set, set it.
1169 (hash_loc_operands, hash_locs, hash_loc_list,
1170 compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
1171 optimize_location_lists_1, optimize_location_lists): New function.
1172 (dwarf2out_finish): Call optimize_location_lists.
1173 * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
1175 2010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1179 * Makefile.in ($(lang_checks_parallel))
1180 ($(lang_checks_parallelized)): Use single quotes for
1181 $(RUNTESTFLAGS), to allow passing quoted content.
1183 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1185 * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
1186 actual_oldval. Use __builtin_expect.
1187 (SUBWORD_VAL_CAS): Likewise.
1189 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
1191 * recog.c (nonmemory_operand): Call immediate_operand for
1192 CONSTANT_P operands.
1194 2010-10-11 Uros Bizjak <ubizjak@gmail.com>
1196 * config/i386/i386.md (movmem<mode>): Macroize expander from
1197 movmem{si,di} using SWI48 mode iterator.
1198 (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
1199 *strmovsi_rex_1 using P mode iterator.
1200 (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
1201 (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
1202 (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
1203 (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
1204 (setmem<mode>): Macroize expander from setmem{si,di} using
1205 SWI48 mode iterator.
1206 (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
1207 *strsetsi_rex_1 using P mode iterator.
1208 (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
1209 (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
1210 (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
1211 (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
1212 (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
1213 (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
1214 (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
1216 (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
1217 *strlenqi_rex_1 using P mode iterator.
1219 2010-10-11 Bernd Schmidt <bernds@codesourcery.com>
1222 * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
1224 (mark_ref_live, mark_ref_dead): Use them.
1225 (make_pseudo_conflict): New arg ORIG_DREG. All callers changed.
1226 Save the original reg, and use the new functions.
1227 (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers
1229 (check_and_make_def_conflict): Save the original reg.
1231 2010-10-11 Martin Jambor <mjambor@suse.cz>
1234 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
1237 2010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1239 * Makefile.in ($(lang_checks_parallel))
1240 ($(lang_checks_parallelized)): Use single quotes for
1241 $(RUNTESTFLAGS), to allow passing quoted content.
1244 * opt-functions.awk (BEGIN): New section.
1245 (lower, upper, digit, alnum): New variables.
1246 (static_var, opt_sanitized_name): Use alnum instead of character
1247 classes, for non-C locale.
1248 * optc-gen.awk: Likewise.
1249 * opth-gen.awk: Likewise.
1251 2010-10-11 Anatoly Sokolov <aesok@post.ru>
1253 * target.def (preferred_reload_class): New hook.
1254 * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
1255 * doc/tm.texi: Regenerate.
1256 * targhooks.c (default_preferred_reload_class): New function.
1257 * targhooks.h (default_preferred_reload_class): Declare.
1258 * reload.c (find_dummy_reload): Change preferred_class variable type
1259 from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
1261 (find_reloads): Change goal_alternative array type from int to
1262 reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
1263 (push_reload, find_reloads_address_part): Use
1264 TARGET_PREFERRED_RELOAD_CLASS target hook.
1265 * reload1.c (emit_input_reload_insns): Ditto.
1266 * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
1267 hook. Change rclass argument and secondary_class variable types from
1268 'enum reg_class' to reg_class_t.
1270 * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
1271 * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
1272 * config/i386/i386.c (ix86_preferred_reload_class): Make static.
1273 Change regclass argument and result types from enum reg_class to
1275 (TARGET_PREFERRED_RELOAD_CLASS): Define.
1277 2010-10-11 Eric Botcazou <ebotcazou@adacore.com>
1279 * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
1280 in masking operations.
1281 (simplify_const_unary_operation): Likewise.
1282 (simplify_binary_operation_1): Likewise.
1283 (simplify_const_binary_operation): Likewise.
1284 (simplify_const_relational_operation): Likewise.
1285 (simplify_ternary_operation): Likewise.
1286 (simplify_immed_subreg): Likewise.
1288 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1291 * doc/tm.texi.in (SUPPORTS_WEAK): Update.
1292 (TARGET_SUPPORTS_WEAK): New.
1293 * doc/tm.texi: Regenerate.
1294 * defaults.h (SUPPORTS_WEAK): Update comment.
1295 (TARGET_SUPPORTS_WEAK): New.
1296 * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
1297 * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
1299 (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
1300 make_decl_one_only): Likewise.
1301 * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
1302 TARGET_SUPPORTS_WEAK.
1303 (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
1304 instead of SUPPORTS_WEAK.
1306 2010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1308 * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
1310 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
1312 * vec.h (VEC_qsort): Define.
1313 * dbxout.c (output_used_types): Use it.
1314 * df-scan.c (df_sort_and_compress_refs): Likewise.
1315 (df_sort_and_compress_mws): Likewise.
1316 * genautomata.c (uniq_sort_alt_states): Likewise.
1317 (evaluate_equiv_classes): Likewise.
1318 (output_trans_table): Likewise.
1319 (output_state): Likewise.
1320 * gimplify.c (compare_case_labels): Likewise.
1321 * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
1322 * ipa.c (build_cdtor_fns): Likewise.
1323 * lto.c (lto_wpa_write_files): Likewise.
1324 * sel-sched.c (fill_vec_av_set): Likewise.
1325 * tree-predcom.c (determine_roots_comp): Likewise.
1326 * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
1327 (splice_param_accesses): Likewise.
1328 * tree-ssa-live.c (dump_enumerated_decls): Likewise.
1329 * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
1330 (reassociate_bb): Likewise.
1331 * tree-ssa-sccvn.c (sort_scc): Likewise.
1332 * tree-ssa-structalias.c (sort_fieldstack): Likewise.
1334 2010-10-11 Ian Lance Taylor <iant@google.com>
1336 * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
1337 * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
1338 TREE_THIS_NOTRAP when appropriate.
1339 (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
1340 * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
1341 newly created MEM_REF.
1343 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
1345 Nathan Froyds patch to hooks FUNCTION_ARG etc.
1346 * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
1347 (picochip_incoming_function_arg): Delete.
1348 (picochip_arg_advance): Delete.
1349 * config/picochip/picochip.h (FUNCTION_ARG): Delete.
1350 (FUNCTION_INCOMING_ARG): Delete.
1351 (FUNCTION_ARG_ADVANCE): Delete.
1352 * config/picochip/picochip.c (picochip_function_arg): Take a
1353 const_tree and a bool.
1354 (picochip_incoming_function_arg): Likewise.
1355 (picochip_arg_advance): Likewise.
1356 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1357 (TARGET_FUNCTION_ARG_ADVANCE): Define.
1359 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1362 * ipa.c (build_cdtor): Delete endless loop.
1364 2010-10-07 Andi Kleen <ak@linux.intel.com>
1366 * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
1368 (checksum-options): Add.
1369 (cc1-dummy): Remove.
1370 (cc1-checksum): Change to run checksum over object files
1372 * dummy-checksum.c: Remove.
1373 * genchecksum.c: Update copyright.
1374 (usage): Allow multiple arguments.
1376 (dosum): Change for incremental checksum. Remove C output.
1377 (main): Iterate over all argument files. Add C output.
1379 2010-10-11 Joseph Myers <joseph@codesourcery.com>
1381 * params.c (set_param_value_internal): New.
1382 (set_param_value): Use set_param_value_internal.
1383 (maybe_set_param_value, set_default_param_value): New.
1384 * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
1385 (maybe_set_param_value, set_default_param_value): Declare.
1386 * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
1387 * config/i386/i386.c (ix86_option_override_internal): Use
1388 maybe_set_param_value.
1389 * config/ia64/ia64.c (ia64_option_default_params,
1390 TARGET_OPTION_DEFAULT_PARAMS): New.
1391 (ia64_option_optimization): Move some code to
1392 ia64_option_default_params.
1393 * config/picochip/picochip.c (picochip_option_override): Use
1394 maybe_set_param_value.
1395 * config/rs6000/rs6000.c (rs6000_option_default_params,
1396 TARGET_OPTION_DEFAULT_PARAMS): New.
1397 (rs6000_option_override_internal): Use maybe_set_param_value.
1398 (rs6000_option_optimization): Move some code to
1399 rs6000_option_default_params.
1400 * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
1401 * config/sh/sh.c (sh_option_default_params,
1402 TARGET_OPTION_DEFAULT_PARAMS): New.
1403 (sh_option_optimization): Move some code to sh_option_default_params.
1404 * config/sparc/sparc.c (sparc_option_override): Use
1405 maybe_set_param_value.
1406 * config/spu/spu.c (spu_option_default_params,
1407 TARGET_OPTION_DEFAULT_PARAMS): New.
1408 (spu_option_optimization): Move some code to spu_option_default_params.
1409 (spu_option_override): Use maybe_set_param_value.
1410 * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
1411 * doc/tm.texi: Regenerate.
1412 * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
1413 * opts.c (init_options_once): Use PARAM_VALUE not direct access to
1415 (default_options_optimization): Use maybe_set_param_value.
1416 (finish_options): Use maybe_set_param_value.
1417 * target.def (target_option.default_params): New hook.
1418 * toplev.c (general_init): Call targetm.target_option.default_params.
1420 2010-10-11 Ira Rosen <irar@il.ibm.com>
1422 PR tree-optimization/45902
1423 * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
1424 vector type for constants, unless it's a pointer.
1426 2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1428 * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
1430 2010-10-11 Jakub Jelinek <jakub@redhat.com>
1433 * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
1434 (ix86_delegitimize_address): Use it.
1436 2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
1438 * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
1440 2010-10-10 Uros Bizjak <ubizjak@gmail.com>
1442 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
1443 to cum struct in the call to function_arg_advance.
1444 (alpha_function_arg_advance): Mark named as unused.
1446 2010-10-10 Richard Sandiford <rdsandiford@googlemail.com>
1448 * config/mips/mips.c (mips_handle_option): Make "value" with
1451 2010-10-09 Richard Henderson <rth@redhat.com>
1454 * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
1455 remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
1456 required_align, tidy the code a bit. Emit split_stack code in the
1457 right place. Mark the return value with the alignment properly.
1458 * expr.h (allocate_dynamic_stack_space): Update decl.
1459 * builtins.c (expand_builtin_apply): Update call to
1460 allocate_dynamic_stack_space.
1461 (expand_builtin_alloca): Likewise. Remove TARGET parameter.
1462 * calls.c (initialize_argument_information): Update call to
1463 allocate_dynamic_stack_space.
1464 (expand_call): Likewise.
1466 * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
1467 Don't update_stack_alignment here.
1468 (alloc_stack_frame_space): Make ALIGN unsigned.
1469 (stack_var_cmp): Sort by alignment too.
1470 (partition_stack_vars): Don't merge large and small alignment vars.
1471 (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
1472 Take care when BASE is not virtual_stack_vars_rtx.
1473 (expand_stack_vars): Allocate dynamic stack space for large
1474 alignment variables.
1475 (expand_one_stack_var): Update all to expand_one_stack_var_at.
1476 (defer_stack_allocation): True for large alignment vars.
1477 (update_stack_alignment): Merge into ...
1478 (expand_one_var): ... here.
1479 (gimple_expand_cfg): Place code from expand_stack_vars.
1481 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1483 * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1484 * config/pdp11/pdp11.c (pdp11_function_arg): New function.
1485 (pdp11_function_arg_advance): New function.
1486 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1488 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1490 * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
1491 * libgcc2.c: Likewise.
1493 2010-10-09 Richard Guenther <rguenther@suse.de>
1496 * lto-streamer-in.c (lto_register_var_decl_in_symtab):
1497 Properly check if a decl is an automatic var.
1499 2010-10-09 Richard Guenther <rguenther@suse.de>
1502 * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
1504 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1506 * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
1507 * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1508 * config/mmix/mmix.c (mmix_function_arg): Rename to...
1509 (mmix_function_arg_1): ...this. Make static. Take a const_tree and
1511 (mmix_function_arg): New function.
1512 (mmix_function_incoming_arg): New function.
1513 (mmix_function_arg_advance): New function.
1514 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1515 (TARGET_FUNCTION_ARG_ADVANCE): Define.
1517 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1519 * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1520 * config/vax/vax.c (vax_function_arg): New function.
1521 (vax_function_arg_advance): New function.
1522 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1524 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1526 * config/pa/pa-protos.h (function_arg): Delete.
1527 * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1528 * config/pa/pa.c (function_arg): Rename to...
1529 (pa_function_arg): ...this. Make static. Take a const_tree and
1531 (pa_function_arg_advance): New function.
1532 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1534 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1536 * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1537 * config/m68k/m68k.c (m68k_function_arg): New function.
1538 (m68k_function_arg_advance): New function.
1539 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1541 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1543 * config/avr/avr-protos.h (function_arg): Delete.
1544 (function_arg_advance): Delete.
1545 * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1546 * config/avr/avr.c (function_arg): Rename to...
1547 (avr_function_arg): ...this. Make static. Take a const_tree and
1549 (function_arg_advance): Rename to...
1550 (avr_function_arg_advance): ...this. Make static. Take a
1551 const_tree and a bool.
1552 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1554 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1556 * config/alpha/alpha-protos.h (function_arg): Delete.
1557 * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1558 * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
1559 * config/alpha/alpha.c (function_arg): Rename to...
1560 (alpha_function_arg): ...this. Make static. Take a const_tree and
1561 a bool. Delete TARGET_ABI_UNICOSMK code.
1562 (alpha_function_arg_advance): New function.
1563 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1565 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1567 * config/mep/mep-protos.h (mep_function_arg): Delete.
1568 (mep_function_arg_advance): Delete.
1569 * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1570 * config/mep/mep.c (mep_function_arg): Make static. Take a
1571 const_tree and a bool.
1572 (mep_function_arg_advance): Likewise.
1573 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1575 2010-10-09 Richard Guenther <rguenther@suse.de>
1577 PR tree-optimization/45945
1578 * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
1580 2010-10-09 Eric Botcazou <ebotcazou@adacore.com>
1582 PR tree-optimization/45612
1583 * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
1584 Test LABEL_DECLs as well. Fix formatting issues.
1585 (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
1586 whose label is present in NON_SSA_VARS.
1587 (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs
1588 as well. Fix formatting issues.
1589 (visit_bb): Fix typos and formatting issue.
1591 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1593 PR tree-optimization/45950
1594 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
1595 before initializing vno->op.
1597 2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
1599 * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
1600 * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
1602 2010-10-08 H.J. Lu <hongjiu.lu@intel.com>
1605 * config/i386/i386.c (ix86_binary_operator_ok): Support
1606 "andhi/andsi/anddi" as a zero-extending move.
1608 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1610 * builtins.c (fold_call_stmt): Don't copy gimple call arguments
1611 into a temporary array.
1613 2010-10-08 Jakub Jelinek <jakub@redhat.com>
1615 PR tree-optimization/45903
1616 * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
1617 of {A,L}SHIFTRT of MEM.
1619 2010-10-08 Richard Guenther <rguenther@suse.de>
1621 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1622 Re-construct BLOCK_VARS.
1623 (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
1624 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1625 * tree.c (free_lang_data_in_block): Remove.
1626 (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
1627 Do not touch the BLOCK tree.
1628 * expr.c (expand_expr_real_1): Allow externals.
1630 2010-10-08 Richard Guenther <rguenther@suse.de>
1632 * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
1633 Do not output BLOCK_SUBBLOCKS.
1634 * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
1635 Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
1636 Re-construct BLOCK_SUBBLOCKS of parent block.
1637 (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
1638 for BINFO_BASE_ACCESSES.
1640 2010-10-08 Joseph Myers <joseph@codesourcery.com>
1642 * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
1643 (TREE_H): Include $(FLAGS_H) instead of options.h.
1644 (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
1645 * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1646 * common.opt (flag_complex_method, flag_evaluation_order,
1647 flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
1648 Variable declarations.
1649 * configure.ac (tm_include_list): Include flags.h instead of options.h.
1650 * configure: Regenerate.
1651 * flags.h: Condition out contents for target libraries. Include
1652 options.h at end of file.
1653 (flag_complex_method, flag_ira_algorithm, flag_ira_region,
1654 flag_evaluation_order, flag_warn_unused_result): Remove.
1655 * gcc.c (main): Intialize global_options with global_options_init.
1656 * langhooks-def.h (lhd_init_options_struct): Declare.
1657 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1658 (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
1659 * langhooks.c (lhd_init_options_struct): New.
1660 * langhooks.h (struct lang_hooks): Add init_options_struct.
1661 Update comment on init_options.
1662 * optc-gen.awk: Generate initializer for global_options_init, not
1664 * opth-gen.awk: Condition out structure declarations for target
1665 libraries. Declare global_options_init.
1666 * opts-common.c: Include flags.h instead of options.h.
1667 * opts.c (flag_warn_unused_result): Remove.
1668 (read_cmdline_options): Take gcc_options parameters. Pass them to
1669 read_cmdline_option.
1670 (initial_lang_mask, initial_min_crossjump_insns,
1671 initial_max_fields_for_field_sensitive,
1672 initial_loop_invariant_max_bbs_in_loop): Define at file scope.
1673 (init_options_once): New. Split out of decode_options.
1674 (init_options_struct): New. Split out of decode_options.
1675 (decode_cmdline_options_to_array_default_mask): New.
1676 (default_options_optimization): New. Split out of decode_options.
1677 (decode_options): Move most code to other functions. Update call
1678 to read_cmdline_options.
1679 (finish_options): New. Split out of decode_options.
1680 * opts.h (decode_options): Add gcc_options parameters.
1681 (init_options_once, init_options_struct,
1682 decode_cmdline_options_to_array_default_mask): New.
1683 * toplev.c (flag_complex_method, flag_ira_algorithm,
1684 flag_ira_region, flag_evaluation_order): Remove.
1685 (general_init): Use global_options_init for initial flag values
1687 (toplev_main): Call init_options_once, init_options_struct,
1688 lang_hooks.init_options_struct,
1689 decode_cmdline_options_to_array_default_mask and
1690 lang_hooks.init_option before decode_options. Update arguments to
1692 * tree.h: Include flags.h instead of options.h.
1694 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1696 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1698 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1700 * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
1702 * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
1703 (FUNCTION_INCOMING_ARG): Delete.
1704 * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
1705 (function_arg_slotno): Likewise. Take bool arguments.
1706 (sparc_arg_partial_bytes): Update call to it.
1707 (function_arg): Rename to...
1708 (sparc_function_arg_1): ...this. Take bool arguments.
1709 (sparc_function_arg, sparc_function_incoming_arg): New functions.
1710 (function_arg_advance): Rename to...
1711 (sparc_function_arg_advance): ...this. Take bool argument.
1712 (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
1713 (TARGET_FUNCTION_INCOMING_ARG): Define.
1715 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1717 * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
1719 * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1720 * config/bfin/bfin.c (function_arg_advance): Rename to...
1721 (bfin_function_arg_advance): ...this. Make static. Take const_tree
1723 (function_arg): Rename to...
1724 (bfin_function_arg): ...this. Make static. Take const_tree and bool
1726 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1728 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1730 * config/score/score-protos.h (score_function_arg): Delete.
1731 (score_function_arg_advance): Delete.
1732 * config/score/score3.h (score3_function_arg_advance): Take a
1733 const_tree and a bool.
1734 (score3_function_arg): Likewise.
1735 * config/score/score7.h (score7_function_arg_advance): Likewise.
1736 (score7_function_arg): Likewise.
1737 * config/score/score3.c (score3_classify_arg): Likewise.
1738 (score3_function_arg_advance, score3_function_arg): Likewise.
1739 * config/score/score7.c (score7_classify_arg): Likewise.
1740 (score7_function_arg_advance, score7_function_arg): Likewise.
1741 * config/score/score.c (score_function_arg_advance): Likewise.
1742 (score_function_arg): Likewise. De-const-ify `cum' argument.
1743 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1745 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1747 * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
1748 (s390_function_arg): Delete.
1749 * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1750 * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
1751 (s390_function_arg_integer): Likewise.
1752 (s390_function_arg_advance): Make static. Take a const_tree and
1754 (s390_function_arg): Likewise.
1755 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1757 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1759 * config/spu/spu-protos.h (spu_function_arg): Delete.
1760 * config/spu/spu.h (FUNCTION_ARG): Delete.
1761 (FUNCTION_ARG_ADVANCE): Move code to ...
1762 * config/spu/spu.c (spu_function_arg_advance): New function.
1763 (spu_function_arg): Make static. Take a const_tree and a bool.
1764 (spu_setup_incoming_varargs): Call spu_function_arg_advance.
1765 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1767 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1769 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1771 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1773 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
1774 (init_vn_nary_op_from_op): New function.
1775 (init_vn_nary_op_from_stmt): New function.
1776 (vn_nary_op_lookup_1): New function.
1777 (sizeof_vn_nary_op): New function.
1778 (alloc_vn_nary_op_noinit): New function.
1779 (alloc_vn_nary_op): New function.
1780 (vn_nary_op_insert_into): New function.
1781 (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
1782 (vn_nary_op_lookup): Likewise.
1783 (vn_nary_op_lookup_stmt): Likewise.
1784 (vn_nary_op_insert_pieces): Likewise.
1785 (vn_nary_op_insert): Likewise.
1786 (vn_nary_op_insert_stmt): Likewise.
1787 (copy_nary): Likewise.
1788 (set_value_id_for_result): New function.
1789 (set_hashtable_value_ids): Call it.
1791 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1793 * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1794 * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
1796 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1798 * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
1799 * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1801 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
1804 * cse.c (cse_extended_basic_block): Preserve cc0 info across
1805 debug isnsn. Skip them when searching for cc0 setter.
1806 (set_live_p): Skip debug insns when searching for cc0 user.
1808 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
1814 * tree-pretty-print.c (dump_generic_node): Explicitly dump the
1815 type of MEM_REFs to INTEGER_CSTs.
1817 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
1819 * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
1820 m68hc11_print_operand_address.
1822 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
1824 * builtins.c (rewrite_call_expr): Move code to...
1825 (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array.
1826 (rewrite_call_expr_array): New function.
1827 (fold_builtin_sprintf_chk_1): New function.
1828 (fold_builtin_sprintf_chk): Call it.
1829 (gimple_fold_builtin_sprintf_chk): Likewise.
1830 (fold_builtin_snprintf_chk_1): New function.
1831 (fold_builtin_snprintf_chk): Call it.
1832 (gimple_fold_builtin_snprintf_chk): Likewise.
1833 (gimple_rewrite_call_expr): Delete.
1835 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1837 * config.host: Update copyright year.
1839 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1841 * config.host (host_lto_plugin_soname): New shell variable.
1842 * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
1843 * config.in: Regenerate.
1844 * configure: Regenerate.
1845 * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
1846 LTO plugin shared library.
1848 2010-10-07 Richard Henderson <rth@redhat.com>
1850 * target.h (enum unwind_info_type): Move ...
1851 * coretypes.h: ... here.
1853 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
1855 * doc/objc.texi (Fast enumeration protocol): Mention that
1856 'unsigned int' can also be used instead of 'unsigned long' in
1857 countByEnumeratingWithState:objects:count:.
1859 2010-10-07 Martin Jambor <mjambor@suse.cz>
1861 * tree-sra.c (struct access): New field grp_assignment_write.
1862 (dump_access): Dump grp_assignment_write.
1863 (build_accesses_from_assign): Set grp_assignment_write.
1864 (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
1865 (mark_read_status): Renamed to mark_rw_status, individual values
1867 (analyze_access_subtree): Changed type of mark_write to
1868 mark_read_status. Fixed propagating of mark_read and
1869 mark_write. Changed benefit estimate. Updated comment.
1871 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
1874 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
1875 check for vectype_out returned by get_vectype_for_scalar_type().
1877 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
1880 * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
1881 constraint, add register specifier in instruction template.
1882 (neon_vec_pack_trunc_<mode>): Likewise.
1883 (neon_vec_<US>mult_<mode>): Add register specifier to
1884 instruction template.
1886 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1888 * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
1890 (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
1891 (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
1892 * config/i386/t-cygwin (cygwin1.o): Delete build rule.
1893 (cygwin2.o): Likewise.
1894 * config/i386/cygwin1.c: Delete file.
1895 * config/i386/cygwin2.c: Likewise.
1896 * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
1897 make all {%!mno-cygwin} ones unconditional.
1898 (STARTFILE_SPEC): Likewise.
1899 (REAL_LIBGCC_SPEC): Likewise.
1900 (LIB_SPEC): Likewise.
1901 (CXX_WRAP_SPEC): Likewise.
1902 (LINK_SPEC): Likewise.
1903 (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
1904 (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
1905 (cygwin_gplusplus_include_dir): Delete now-unused array.
1906 (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
1907 (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
1908 (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
1909 (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
1910 (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
1911 (cygwin_local_include_dir): Delete now-unused array.
1912 (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
1913 (cygwin_cross_include_dir): Delete now-unused array.
1914 (CROSS_INCLUDE_DIR): Don't redefine to point to it.
1915 (cygwin_tool_include_dir): Delete now-unused array.
1916 (TOOL_INCLUDE_DIR): Don't redefine to point to it.
1917 (cygwin_standard_include_dir): Delete now-unused array.
1918 (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
1919 (GEN_CVT_ARRAY): Delete now-unused macro definition.
1920 (cvt_to_mingw): Delete now-unused array.
1921 (mingw_scan): Remove prototype of deleted function.
1922 (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
1923 * config/i386/cygming.opt (mcygwin): Delete target-specific option.
1924 * doc/invoke.texi (-mcygwin): Don't document removed option.
1925 (-mno-cygwin): Likewise.
1927 2010-10-07 Richard Guenther <rguenther@suse.de>
1929 * machmode.h (mode_for_vector): Declare.
1930 * stor-layout.c (mode_for_vector): New function, split out from ...
1931 (layout_type): ... here.
1932 * tree-vectorizer.h (current_vector_size): Declare.
1933 * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
1934 mask vector type is available.
1935 (get_vectype_for_scalar_type): Rename to ...
1936 (get_vectype_for_scalar_type_and_size): ... this. Get a vector
1938 (get_vectype_for_scalar_type): New wrapper around
1939 get_vectype_for_scalar_type_and_size using current_vector_size.
1940 (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
1941 * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
1942 of vect_analyze_loop here.
1943 (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
1944 * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
1946 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
1947 V8SF to V8SI conversion builtin.
1949 2010-10-07 Richard Guenther <rguenther@suse.de>
1951 * target.def (autovectorize_vector_sizes): New target hook.
1952 * targhooks.c (default_autovectorize_vector_sizes): New function.
1953 * targhooks.h (default_autovectorize_vector_sizes): Declare.
1954 * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
1956 * doc/tm.texi: Update.
1957 * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
1958 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
1960 2010-10-07 Richard Guenther <rguenther@suse.de>
1962 * target.def (units_per_simd_word): Rename to ...
1963 (preferred_simd_mode): ... this. Return mode instead of size.
1964 * targhooks.c (default_units_per_simd_word): Rename to ...
1965 (default_preferred_simd_mode): ... this. Return word_mode.
1966 * targhooks.h (default_preferred_simd_mode): Declare.
1967 * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
1968 (arm_preferred_simd_mode): ... this. Re-implement.
1969 * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
1970 (ix86_preferred_simd_mode): ... this. Re-implement.
1971 * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
1972 (sparc_preferred_simd_mode): ... this. Re-implement.
1973 * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
1974 (mips_preferred_simd_mode): ... this. Re-implement.
1975 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
1976 (rs6000_preferred_simd_mode): ... this. Re-implement.
1977 * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
1978 * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
1979 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
1980 * doc/tm.texi: Update.
1982 2010-10-07 Richard Guenther <rguenther@suse.de>
1985 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
1988 2010-10-07 Alan Modra <amodra@gmail.com>
1990 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
1991 rather than sign extension by hand.
1993 2010-10-07 Jan Hubicka <jh@suse.cz>
1996 * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
1998 2010-10-07 Richard Guenther <rguenther@suse.de>
2001 * configure.ac: Fix typo.
2002 * configure: Regenerated.
2004 2010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2006 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
2007 define_builtin_std where it's unnecessary.
2008 * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
2010 2010-10-06 Anatoly Sokolov <aesok@post.ru>
2012 * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
2013 * doc/tm.texi.in: Regenerate.
2014 * system.h (CLASS_LIKELY_SPILLED_P): Poison.
2015 * targhooks.c (default_class_likely_spilled_p): Don't use the
2016 CLASS_LIKELY_SPILLED_P macro.
2018 * config/arm/arm.md: Update comment.
2020 2010-10-06 Jan Hubicka <jh@suse.cz>
2022 * ipa.c (cgraph_remove_unreachable_nodes): External references can
2024 (cgraph_externally_visible_p): We can not bring local comdats that
2025 are known to linker; fix handling of internal visibility.
2026 (function_and_variable_visibility): Likewise.
2028 2010-10-06 Eric Botcazou <ebotcazou@adacore.com>
2030 PR rtl-optimization/45394
2031 * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
2032 (struct rtx_subst_pair): Remove AFTER field.
2033 (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
2034 (propagate_for_debug): Remove MOVE parameter and adjust.
2035 (try_combine): In the special case where I2 is a PARALLEL, combine only
2036 destinations of SETs and set I2SRC to the I2 source.
2037 Adjust calls to propagate_for_debug throughout.
2038 * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
2041 2010-10-06 Olivier Hainque <hainque@adacore.com>
2043 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
2044 switch on insn codes as sequence of ifs.
2046 2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
2048 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
2049 be UI_NONE for picochip.
2050 (picochip_option_override): Do not disable exception flags.
2051 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
2054 2010-10-06 Richard Guenther <rguenther@suse.de>
2056 * Makefile.in (regmove.o): Depend on $(TARGET_H).
2058 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
2060 Implemented fast enumeration for Objective-C.
2061 * c-parser.c (objc_could_be_foreach_context): New.
2062 (c_lex_one_token): Recognize RID_IN keyword in a potential
2063 Objective-C foreach context.
2064 (c_parser_declaration_or_fndef): Added parameter. Accept
2065 Objective-C RID_IN keyword as terminating a declaration; in that
2066 case, return the declaration in the new parameter.
2067 (c_parser_extenral_declaration): Updated calls to
2068 c_parser_declaration_or_fndef.
2069 (c_parser_declaration_or_fndef): Same change.
2070 (c_parser_compound_statement_nostart): Same change.
2071 (c_parser_label): Same change.
2072 (c_parser_objc_methodprotolist): Same change.
2073 (c_parser_omp_for_loop): Same change.
2074 (c_parser_for_statement): Detect and parse Objective-C foreach
2076 (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
2077 * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
2078 fast enumeration parsing code to turn off the c99 error but still
2079 perform checks on the loop declarations.
2080 * c-tree.h (check_for_loop_decls): Updated declaration.
2081 * doc/objc.texi: Document fast enumeration.
2083 2010-10-06 Nick Clifton <nickc@redhat.com>
2085 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
2086 (MDR_REGNUM): Define.
2087 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
2088 (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
2089 (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
2090 (REGISTER_NAMES): Add MDR.
2091 (DWARF2_DEBUGGING_INFO): Define to 1.
2092 * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
2093 (F): New function. Sets RTX_FRAME_RELATED_P.
2094 (mn10300_gen_multiple_store): Use F.
2095 (expand_prologue): Use F. Use gen_movsf() to push floating
2097 (expand_epilogue): Use gen_movsf() to pop floating point registers.
2098 (mn10300_option_override): Disable combine stack adjust pass.
2100 2010-10-06 Thomas Schwinge <thomas@schwinge.name>
2103 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
2104 LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
2106 2010-10-06 Jakub Jelinek <jakub@redhat.com>
2108 * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
2109 BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
2110 BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
2111 BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
2112 BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
2113 BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
2114 BUILT_IN_TOUPPER): Mark as leaf.
2117 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
2118 BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
2119 BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
2120 BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
2121 BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
2122 BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
2123 Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
2125 2010-10-05 Anatoly Sokolov <aesok@post.ru>
2127 * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
2128 * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
2129 (m68hc11_class_likely_spilled_p): New function.
2131 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
2133 * c-parser.c (c_parser_objc_method_definition): Updated comment.
2135 2010-10-05 Jan Hubicka <jh@suse.cz>
2137 * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
2139 * opts.c (decode_options): Handle lto partitions.
2140 * common.opt (flto-partition=1to1, flto-partition=balanced): New.
2141 * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
2143 2010-10-05 Jan Hubicka <jh@suse.cz>
2145 * cgraphunit.c (assemble_function): Output thunks and aliases before
2146 the function itself.
2148 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
2150 * config/picochip/picochip.c (picochip_option_override): Disable
2151 exception flags for picochip.
2153 2010-10-05 Joseph Myers <joseph@codesourcery.com>
2155 * opts-common.c (handle_option, handle_generated_option,
2156 read_cmdline_option, set_option): Add diagnostic_context
2157 parameter. Update calls among these functions.
2158 (set_option): Don't use global_dc.
2159 * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
2160 (decode_options): Pass global_dc to enable_warning_as_error.
2161 (common_handle_option): Pass global_dc to enable_warning_as_error.
2162 (enable_warning_as_error): Add diagnostic_context parameter.
2163 Document parameters. Don't use global_dc. Pass
2164 diagnostic_context parameter to handle_generated_option.
2165 * opts.h (set_option, handle_option, handle_generated_option,
2166 read_cmdline_option, enable_warning_as_error): Add
2167 diagnostic_context parameter.
2168 * Makefile.in (lto-opts.o): Update dependencies.
2169 * coretypes.h (struct diagnostic_context, diagnostic_context):
2171 * diagnostic.h (diagnostic_context): Don't declare typedef here.
2172 * gcc.c (process_command): Pass global_dc to read_cmdline_option.
2173 * langhooks-def.h (struct diagnostic_context): Don't declare here.
2174 (lhd_print_error_function, lhd_initialize_diagnostics): Declare
2175 using diagnostic_context typedef.
2176 * langhooks.c (lhd_initialize_diagnostics): Declare using
2177 diagnostic_context typedef.
2178 * langhooks.h (struct diagnostic_context): Don't declare here.
2179 (initialize_diagnostics, print_error_function): Declare using
2180 diagnostic_context typedef.
2181 * lto-opts.c: Include diagnostic.h.
2182 (lto_reissue_options): Pass global_dc to set_option. Pass
2183 DK_UNSPECIFIED not 0.
2184 * plugin.c (plugins_internal_error_function): Declare using
2185 diagnostic_context typedef.
2186 * plugin.h (struct diagnostic_context): Don't declare here.
2187 (plugins_internal_error_function): Declare using
2188 diagnostic_context typedef.
2190 2010-10-05 Olivier Hainque <hainque@adacore.com>
2191 Nicolas Roche <roche@adacore.com>
2193 * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
2194 * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
2196 2010-10-05 Ira Rosen <irar@il.ibm.com>
2198 PR tree-optimization/45752
2199 * tree-vect-slp.c (vect_get_mask_element): Remove static
2200 variables, make them function arguments.
2201 (vect_transform_slp_perm_load): Pass new arguments to
2202 vect_get_mask_element.
2204 2010-10-05 Richard Guenther <rguenther@suse.de>
2206 * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
2207 (gimple_mod_pow2): Likewise.
2208 (gimple_mod_subtract): Likewise.
2209 (gimple_ic): Likewise.
2210 (gimple_stringop_fixed_value): Likewise.
2211 * tree-profile.c (tree_init_edge_profiler): Mark profile
2212 functions nothrow and leaf.
2213 (add_abnormal_goto_call_edges): Remove.
2214 (tree_gen_edge_profiler): Work on SSA form.
2215 (tree_gen_ic_profiler): Likewise. Simplify.
2216 (do_tree_profiling): Update SSA form.
2217 (pass_tree_profile): Remove.
2218 (do_tree_profiling): Likewise.
2219 (gate_tree_profile_ipa): New function.
2220 (pass_ipa_tree_profile): New.
2221 (tree_profiling): Re-write as IPA pass. Properly drop const/pure
2222 state of instrumented functions.
2223 * passes.c (init_optimization_passes): Remove early non-SSA
2224 inlining. Move profiling after early optimizations.
2225 * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
2226 (pass_ipa_early_inline): Likewise.
2227 * tree-pass.h (pass_ipa_early_inline): Remove.
2228 (pass_tree_profile): Likewise.
2229 (pass_ipa_tree_profile): Declare.
2231 2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2232 Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
2234 * gcc/config/s390/s390.c (z196_cost): New.
2235 (s390_handle_arch_option): Add -march=z196.
2236 (s390_option_override): Use the new cost function and use the z10
2237 defaults also for z196.
2238 (legitimate_reload_constant_p): Adjust comment.
2239 (legitimate_reload_fp_constant_p): New function.
2240 (s390_preferred_reload_class): Distingiush between FP and Int constants.
2241 (preferred_la_operand_p): Avoid la with index on z196.
2242 (s390_adjust_priority): Trigger also for z196.
2243 (s390_issue_rate): Issue rate for z196 is 3.
2244 (s390_z10_fix_long_loop_prediction): Rename to ...
2245 (s390_fix_long_loop_prediction): ... this.
2246 (s390_reorg): Apply the z10 adjustments also for z196.
2247 (s390_loop_unroll_adjust): Do this also for z196.
2248 * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
2249 (enum processor_flags): Add PF_Z196.
2250 (TARGET_AVOID_CMP_AND_BRANCH): New macro.
2251 (TARGET_CPU_Z196, TARGET_Z196): New macros.
2252 * gcc/config.gcc: Enable z196 for --with-arch.
2253 * gcc/config/s390/2817.md: New file.
2254 * gcc/config/s390/2084.md: New type for multiply and add.
2255 * gcc/config/s390/2097.md: Likewise.
2256 * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
2257 (UNSPECV_ATOMIC_OP): New constants.
2258 (fmadddf, fmaddsf): New values for type attribute.
2259 (z196prop): New insn attribute.
2260 (cpu, cpu_facility): Add z196.
2261 (ATOMIC_Z196): New code iterator.
2262 (noxa): New code attribute.
2263 (gk): New mode attribute.
2264 (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
2265 Support load zero for fp constants.
2266 (fixuns_truncdddi2, fixuns_trunctddi2)
2267 (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
2269 (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
2270 (popcounthi2, popcountqi2): New expander.
2271 (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
2272 (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
2273 (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
2275 (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
2276 (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
2277 (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
2278 (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
2279 (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
2280 (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
2281 (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
2282 (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
2283 (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
2284 (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
2285 (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
2286 (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
2287 (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
2288 Support new z196 instructions.
2290 2010-10-05 Richard Guenther <rguenther@suse.de>
2293 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
2294 case where gimplification optimizes away the stmt.
2296 2010-10-04 Jakub Jelinek <jakub@redhat.com>
2299 * var-tracking.c (strip_pointer_flags): New function.
2300 (emit_note_insn_var_location): If rtx_equal_p check failed,
2301 retry on locations simplified with simplify_replace_fn_rtx
2302 and strip_pointer_flags as its callback.
2304 2010-10-04 Jan Hubicka <jh@suse.cz>
2306 * gimple-fold.c (static_object_in_other_unit_p): Rename to...
2307 (can_refer_decl_in_current_unit_p): ... this one; reverse return
2308 value; handle comdats too.
2309 (canonicalize_constructor_val): Use it; handle function_decls
2311 (gimple_fold_obj_type_ref_known_binfo): Likewise.
2312 * gimple.c (get_base_address): Accept all kinds of decls.
2314 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2316 * flags.h (g_switch_value, g_switch_set): Remove.
2317 * opts.c (g_switch_value, g_switch_set): Remove.
2318 * config/g.opt (G): Add Var(g_switch_value).
2319 * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
2320 (alpha_option_override): Check global_options_set.x_g_switch_value
2321 instead of g_switch_set.
2322 (alpha_in_small_data_p): Remove cast in comparison with
2324 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2325 g_switch_value to unsigned HOST_WIDE_INT.
2326 * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
2327 with g_switch_value.
2328 (frv_handle_option): Don't handle -G here.
2329 (frv_option_override): Check global_options_set.x_g_switch_value
2330 instead of g_switch_set. Don't modify g_switch_set.
2331 (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
2332 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
2333 g_switch_value to unsigned HOST_WIDE_INT.
2334 * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
2335 (ia64_option_override): Check global_options_set.x_g_switch_value
2336 instead of g_switch_set.
2337 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
2339 (lm32_in_small_data_p): Remove cast in comparison with
2341 * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
2342 ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
2344 * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
2345 (m32r_init): Check global_options_set.x_g_switch_value instead of
2347 (m32r_in_small_data_p): Remove cast in comparison with
2349 (m32r_file_start): Format g_switch_value with %d.
2350 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
2351 ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
2352 * config/microblaze/microblaze.c (microblaze_handle_option): Don't
2354 (microblaze_option_override): Check
2355 global_options_set.x_g_switch_value instead of g_switch_set.
2356 * config/mips/mips.c (mips_handle_option): Don't handle -G here.
2357 (mips_option_override): Check global_options_set.x_g_switch_value
2358 instead of g_switch_set.
2359 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
2360 (rs6000_file_start): Format g_switch_value with %d.
2361 (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
2362 comparisons with g_switch_value.
2363 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
2364 global_options_set.x_g_switch_value instead of g_switch_set.
2365 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2366 global_options_set.x_g_switch_value instead of g_switch_set.
2367 * config/score/score.c (score_handle_option): Don't handle -G here.
2368 * config/score/score3.c (score3_option_override): Check
2369 global_options_set.x_g_switch_value instead of g_switch_set.
2370 * config/score/score7.c (score7_option_override): Check
2371 global_options_set.x_g_switch_value instead of g_switch_set.
2373 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
2375 * common.opt (fira-coalesce): Remove.
2377 * doc/invoke.texi (flag_ira_coalesce): Remove.
2379 * ira-color.c (allocno_coalesced_p): Move before
2380 copy_freq_compare_func.
2381 processed_coalesced_allocno_bitmap): Ditto.
2382 (update_conflict_hard_regno_costs): Don't use
2383 ALLOCNO_FIRST_COALESCED_ALLOCNO.
2384 (allocno_cost_compare_func, print_coalesced_allocno): Remove.
2385 (assign_hard_reg): Assume no coalesced allocnos.
2386 (get_coalesced_allocnos_attributes): Remove.
2387 (bucket_allocno_compare_func): Assume no coalesced allocnos.
2388 (push_allocno_to_stack): Ditto.
2389 (remove_allocno_from_bucket_and_push): Use
2390 ira_print_expanded_allocno instead of print_coalesced_allocno.
2391 (push_allocnos_to_stack): Assume uncoalesced allocnos.
2392 (all_conflicting_hard_regs_coalesced): Ditto. Rename to
2393 all_conflicting_hard_regs.
2394 (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
2395 (setup_allocno_left_conflicts_size): Ditto.
2396 (put_allocno_into_bucket): Ditto.
2397 (copy_freq_compare_func): Remove.
2398 (copy_freq_compare_func, merge_allocnos): Move before
2399 coalesced_pseudo_reg_freq_compare.
2400 coalesced_allocno_conflict_p): Ditto.
2401 (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
2402 parameter. Assume it true.
2403 (color_allocnos): Assume uncoalesced allocnos. Use
2404 ira_print_expanded_allocno instead of print_coalesced_allocno.
2405 (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
2408 * ira.c: Remove comment about coalescing.
2410 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2412 * config/mips/mips.h (target_flags_explicit): Declare for
2415 2010-10-04 Andi Kleen <ak@linux.intel.com>
2417 * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
2418 gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
2420 2010-10-04 Matthias Klose <doko@ubuntu.com>
2422 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
2423 multilib osdirname if it exists.
2424 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
2426 2010-10-04 Jakub Jelinek <jakub@redhat.com>
2429 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
2430 arg0's type or its unsigned counterpart as utype. Convert
2431 arg1 to utype unconditionally.
2433 2010-10-04 Julian Brown <julian@codesourcery.com>
2435 * expr.c (expand_assignment): Add assertion to prevent emitting
2436 null rtx for movmisalign pattern.
2437 (expand_expr_real_1): Likewise.
2438 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
2439 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
2440 (arm_vector_alignment_reachable): New.
2441 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
2442 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
2443 (arm_print_operand): Include alignment qualifier in %A.
2444 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
2445 (movmisalign<mode>): New expander.
2446 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
2449 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2451 * optc-gen.awk: Define global_options_set. Don't define
2452 target_flags_explicit.
2453 * opth-gen.awk: Declare global_options_set. Define
2454 target_flags_explicit as macro.
2455 * opts-common.c (handle_option): Take opts_set and generated_p
2457 (handle_generated_option, read_cmdline_option, set_option): Take
2459 (set_option): Use opts_set instead of hardcoding target_flags and
2460 target_flags_explicit.
2461 * opts.c (sel_sched_switch_set, profile_arc_flag_set,
2462 flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
2463 flag_value_profile_transformations_set, flag_peel_loops_set,
2464 flag_branch_probabilities_set, flag_inline_functions_set,
2465 flag_ipa_cp_set, flag_ipa_cp_clone_set,
2466 flag_predictive_commoning_set, flag_unswitch_loops_set,
2467 flag_gcse_after_reload_set): Remove.
2468 (common_handle_option, lang_handle_option, target_handle_option):
2469 Take opts_set parameter. Assert that it is &global_options_set.
2470 (common_handle_option): Don't set _set variables. Check opts_set
2471 instead of such variables.
2472 (enable_warning_as_error): Pass &global_options_set to
2473 handle_generated_option.
2474 * opts.h (cl_option_handler_func.handler, set_option,
2475 handle_option, handle_generated_option, read_cmdline_option): Add
2476 opts_set parameters.
2477 (handle_option): Add generated_p parameter.
2478 * config/i386/i386.c (ix86_function_specific_save,
2479 ix86_function_specific_restore): Updat for renaming of
2480 target_flags_explicit field.
2481 * config/i386/i386.opt (target_flags_explicit): Rename to
2482 ix86_target_flags_explicit.
2483 * config/ia64/ia64.c (ia64_override_options_after_change): Check
2484 global_options_set.x_flag_selective_scheduling and
2485 global_options_set.x_flag_selective_scheduling2, not
2486 sel_sched_switch_set.
2487 * flags.h (sel_sched_switch_set,
2488 flag_speculative_prefetching_set): Remove.
2489 * gcc.c (driver_handle_option): Take opts_set parameter. Assert
2490 that it is &global_options_set.
2491 (process_command): Pass &global_options_set to read_cmdline_option.
2492 * lto-opts.c (lto_reissue_options): Pass &global_options_set to
2494 * toplev.c (target_flags_explicit): Remove.
2496 2010-10-04 Jan Hubicka <jh@suse.cz>
2499 * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
2500 use get_ref_base_and_offset to handle references.
2501 (fold_const_aggregate_ref): Update.
2503 2010-10-04 Martin Jambor <mjambor@suse.cz>
2505 PR tree-optimization/45572
2506 * ipa-prop.c (ipa_make_edge_direct_to_target): Call
2507 ipa_check_create_node_params.
2508 * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
2510 2010-10-04 Yao Qi <yao@codesourcery.com>
2512 * doc/passes.texi: Clean up.
2514 2010-10-03 Ian Lance Taylor <iant@google.com>
2516 * c-typeck.c (lookup_field): If -fplan9-extensions, permit
2517 referring to a field using a typedef name.
2518 (find_anonymous_field_with_type): New static function.
2519 (convert_to_anonymous_field): New static function.
2520 (convert_for_assignment): If -fplan9-extensions, permit converting
2521 pointer to struct to pointer to anonymous field.
2522 * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
2523 (is_duplicate_field): New static function.
2524 (detect_field_duplicates_hash): If -fplan9-extensions, check for
2525 typedef names duplicating field names.
2526 (detect_field_duplicates): Likewise.
2527 * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
2528 (C Dialect Options): Document -fplan9-extensions.
2529 * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
2531 2010-10-03 H.J. Lu <hongjiu.lu@intel.com>
2533 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
2535 (vect_create_data_ref_ptr): Likewise.
2536 * tree-vect-stmts.c (vectorizable_store): Likewise.
2537 (perm_mask_for_reverse): Likewise.
2538 (reverse_vec_elements): Likewise.
2539 (vectorizable_load): Likewise.
2541 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2543 * cppbuiltin.c: New file.
2544 * cppbuiltin.h: New file.
2545 * Makefile.in: Take into account cppbuiltin.{h,c}.
2547 2010-10-03 Andi Kleen <ak@linux.intel.com>
2549 * lto-cgraph.c (input_cgraph): Check for missing sections.
2551 2010-10-03 Uros Bizjak <ubizjak@gmail.com>
2553 * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
2554 to nonimmediate_operand. Force operand 2 to register when allowed.
2555 (*<shiftrt_insn><mode>3_mask): Ditto.
2556 (*<rotate_insn><mode>3_mask): Ditto.
2558 2010-10-02 H.J. Lu <hongjiu.lu@intel.com>
2560 PR tree-optimization/45720
2561 PR tree-optimization/45764
2562 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
2563 Don't accept backwards consecutive accesses.
2564 (vect_create_data_ref_ptr): Disallow negative steps.
2566 * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
2567 (perm_mask_for_reverse): Removed.
2568 (reverse_vec_elements): Likewise.
2569 (vectorizable_load): Don't handle negative steps.
2571 2010-10-02 Jan Hubicka <jh@suse.cz>
2573 * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
2574 call destination is known.
2576 2010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2579 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
2582 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2584 * doc/install.texi (Configuration): Document build_configargs,
2585 host_configargs, target_configargs.
2587 2010-10-01 Uros Bizjak <ubizjak@gmail.com>
2589 * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
2590 (*<shiftrt_insn><mode>3_mask): Ditto.
2591 (*<rotate_insn><mode>3_mask): Ditto.
2593 2010-10-01 Steve Ellcey <sje@cup.hp.com>
2595 PR tree-optimization/44716
2596 * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
2597 (HOT_TEXT_SECTION_NAME): Define.
2599 2010-10-01 Nick Clifton <nickc@redhat.com>
2601 * common.opt: Add -fcombine-stack-adjustments.
2602 * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
2603 * combine-stack-adj.c (gate_handle_stack_adjustments): Check
2604 flag_combine_stack_adjustments.
2605 * doc/invoke.texi: Document the new option.
2607 2010-10-01 Richard Guenther <rguenther@suse.de>
2609 PR tree-optimization/45854
2610 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
2612 2010-10-01 Anthony Green <green@moxielogic.com>
2614 * config.gcc: Fix moxie-*-rtems* configuration.
2616 2010-10-01 Richard Guenther <rguenther@suse.de>
2618 * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
2619 (gen_decl_die): Likewise.
2621 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2623 * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
2624 to the function code for SPU MD builtins.
2625 (spu_expand_builtin): Update.
2626 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
2628 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2630 * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
2631 sjlj_except_unwind_info.
2633 2010-10-01 Tristan Gingold <gingold@adacore.com>
2635 * configure.ac: Define the nop insn for avr*-*-*
2636 * configure: Regenerate.
2638 2010-10-01 Alan Modra <amodra@gmail.com>
2641 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
2642 extend toc_restore_insn.
2644 2010-09-30 Richard Guenther <rguenther@suse.de>
2646 PR tree-optimization/43959
2647 * function.c (gimplify_parameters): Use create_tmp_reg instead of
2650 2010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
2652 * config/sh/sh.c (sh_expand_prologue): Set
2653 current_function_static_stack_size.
2655 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2657 * configure.ac: Check for Solaris 8 ld with .hidden support.
2658 * configure: Regenerate.
2660 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2663 * graphite.c (graphite_initialize): Call scev_reset.
2665 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2667 * sese.h (scev_analyzable_p): Return false for real or floating
2668 point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
2670 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2672 * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
2674 * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
2676 * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
2677 Do not allocate ub_expr, it is passed in initialized.
2679 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2681 * graphite-clast-to-gimple.c (init_cloog_input_file): New.
2682 (build_cloog_prog): Dump CLooG input file when
2683 flag_graphite_dump_cloog is set. This is disabled on trunk.
2684 * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
2686 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2688 * graphite-clast-to-gimple.c (graphite_verify): Remove call to
2689 verify_dominators for CDI_POST_DOMINATORS.
2690 * sese.h: Remove comment about CDI_POST_DOMINATORS.
2691 (recompute_all_dominators): Remove call to free_dominance_info
2692 for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
2693 for CDI_POST_DOMINATORS.
2695 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2697 * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
2698 over pbb_dim_iter_domain.
2700 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2702 * graphite-flattening.c: Fix comments.
2704 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2706 * Makefile.in (OBJS-common): Add graphite-flattening.o.
2707 (graphite-flattening.o): New rule.
2708 * common.opt (floop-flatten): New flag.
2709 * doc/invoke.texi (-floop-flatten): Documented.
2710 * graphite-flattening.c: New.
2711 * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
2712 * graphite-poly.h (flatten_all_loops): Declared.
2713 (lst_remove_loop_and_inline_stmts_in_loop_father): New.
2714 * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
2715 is set, also set flag_graphite.
2717 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2719 * graphite-poly.c (cloog_checksum): New.
2720 * graphite-poly.h (cloog_checksum): Declared.
2722 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2724 * graphite-poly.c (pbb_number_of_iterations): Removed.
2725 (pbb_number_of_iterations_at_time): Correctly compute the number
2726 of iterations in the transformed loop.
2727 * graphite-poly.h (pbb_number_of_iterations): Removed.
2729 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2731 * graphite-poly.h (lst_update_scattering_seq): Removed.
2732 (lst_update_scattering): Correctly handle outermost loop dewey
2735 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2737 * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
2738 lst_strip_mine_profitable_p. Call lst_niter_for_loop.
2739 * graphite-poly.h (lst_niter_for_loop): New.
2741 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2743 * graphite-poly.c (apply_poly_transforms): Do not abort when the
2744 transform read from disk is not legal. Call fatal_error instead.
2746 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2748 * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
2749 (print_scop_header): Removed. Inlined in the only call place...
2750 (print_scop): ... here.
2752 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2754 * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
2756 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2758 * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
2760 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2762 * graphite-dependences.c (dot_deps): Avoid set but not used warning.
2763 (dot_deps_stmt): Same.
2764 * graphite-poly.c (dot_lst): Same.
2766 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2768 * graphite-blocking.c (scop_do_strip_mine): Do not call
2769 graphite_legal_transform.
2770 (scop_do_block): Same.
2772 2010-09-30 Vladimir Kargov <kargov@gmail.com>
2774 * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
2777 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2779 * tree-scalar-evolution.c (instantiate_array_ref): New.
2780 (instantiate_scev_r): Also handle ARRAY_REFs.
2782 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2784 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
2785 Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
2786 RESULT_DECL, and FIELD_DECL. Return false for an
2787 SSA_NAME_IS_DEFAULT_DEF.
2788 (compute_scalar_evolution_in_loop): Do not further analyze the
2789 scalar evolution when no_evolution_in_loop_p returns true.
2791 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2793 * tree-chrec.h (evolution_function_is_affine_p): Do not check
2794 whether CHREC_LEFT is invariant. A function is affine when
2795 CHREC_RIGHT is invariant.
2797 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2799 * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
2801 (rewrite_degenerate_phi): Same.
2802 (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
2804 2010-09-30 Vladimir Kargov <kargov@gmail.com>
2806 * graphite-scop-detection.c (graphite_can_represent_scev,
2807 graphite_can_represent_expr, stmt_has_simple_data_refs_p,
2808 graphite_can_represent_loop): Remove outermost_loop.
2810 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2813 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
2814 handle GIMPLE_CALLs with no LHS.
2816 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2818 * graphite-poly.c (init_graphite_out_file): New.
2819 (init_graphite_in_file): New.
2820 (apply_poly_transforms): Updated to enable reading and writing of
2821 multiple scop files.
2823 2010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
2825 * graphite-scop-detection.c (graphite_can_represent_scev): Remove
2828 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2830 * graphite-clast-to-gimple.c (precision_for_value): Adjust
2831 computation of precision by 1.
2833 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2835 * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
2836 (openscop_read_polyhedron_matrix): New.
2837 * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
2838 (openscop_read_N_int): Same.
2839 * graphite-poly.c (openscop_read_N_int): New.
2840 (openscop_read_one_int): New.
2841 (openscop_read_N_string): New.
2842 (openscop_read_one_string): New.
2843 (openscop_read_powerset_matrix): New.
2844 (graphite_read_transforms): Remove.
2845 (graphite_read_scatt): New.
2846 (graphite_read_scop_file): New.
2847 (apply_poly_transforms): Updated to call graphite_read_scop_file.
2849 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2851 * graphite-poly.c: Change include order.
2853 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2855 * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
2856 (cloog_matrix_nrows): New.
2858 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2860 * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
2862 * graphite-poly.c (openscop_print_scattering_function_1): Same.
2863 (print_scattering_function_1): Same.
2864 (openscop_print_pbb_domain): Same.
2865 (openscop_print_scop_context): Same.
2866 (print_scop_context): Same.
2868 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2870 * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
2871 (openscop_print_pdr_polyhedron): Print pph.
2873 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2875 * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
2876 priority signed types.
2878 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2880 * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
2881 the call to lang_hooks.types.type_for_size. Call
2882 build_nonstandard_integer_type.
2884 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2886 * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
2887 (openscop_print_polyhedron_matrix): New.
2888 * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
2889 * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
2890 (openscop_print_pdr_powerset): New.
2891 (openscop_print_powerset_matrix): New.
2892 (openscop_print_scattering_function_1): New.
2893 (print_scattering_function): Add support for scattering names and
2895 (graphite_write_transforms): Remove.
2896 (print_pdr_access_layout): Updated to support OpenScop format.
2898 (openscop_print_pbb_domain): New.
2899 (print_pbb_body): Added a parameter to allow indicating that pbb_body
2901 (print_pbb): Updated to call the new print_pbb_body.
2902 (openscop_print_scop_context): New.
2903 (print_scop_header): New.
2904 (print_scop): Updated to call print_scop_header.
2905 * graphite-poly.h: Document OpenScop format.
2907 2010-09-30 Anatoly Sokolov <aesok@post.ru>
2909 * config/cris/m32c.c (cris_memory_move_cost): New.
2910 (cris_register_move_cost): Make static. Change arguments type from
2911 enum reg_class to reg_class_t.
2912 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2913 * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2914 * config/cris/cris-protos.h (cris_register_move_cost): Remove.
2916 2010-09-30 Jakub Jelinek <jakub@redhat.com>
2919 * config/i386/i386.c (ix86_gimplify_va_arg): Use
2920 INTVAL (XEXP (slot, 1)) as prev_size.
2922 2010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
2925 * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
2926 * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
2928 * config/rs6000/option-defaults.h (toplevel): Change #if
2929 TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
2930 global option changes.
2932 2010-09-30 Jakub Jelinek <jakub@redhat.com>
2934 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
2936 PR tree-optimization/31261
2937 * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
2938 for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
2940 2010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2943 * Makefile.in (build/gen%$(build_exeext)): Move rule after all
2944 special-casing for generators and turn into ...
2945 ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
2946 rule, for better error messages in case of toplevel dependency errors.
2947 (genprog): Add hooks, rename to ...
2948 (genprogerr): ... this, and let genprog also contain check,
2950 ((genprog:%=build/gen%$(build_exeext))): Rename to ...
2951 ((genprogerr:%=build/gen%$(build_exeext))): ... this.
2952 (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
2954 2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
2955 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2957 * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
2958 for GMP, MPFR and MPC.
2960 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2962 * config/sparc/sparc.opt (mimpure-text): Move ...
2963 * config/sol2.opt: ... here. Correct description.
2964 * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
2965 * doc/invoke.texi (Option Summary, SPARC Options): Move
2966 -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
2967 (Option Summary, Solaris 2 Options): ... here.
2968 (Submodel Options, Solaris 2 Options): New menu entry.
2969 (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
2970 (Solaris 2 Options): ... here.
2972 2010-09-30 Michael Eager <eager@eagercon.com>
2974 * extend.texi (interrupt_handler): Add MicroBlaze to list.
2975 (save_volatiles): Describe option for MicroBlaze.
2976 * invoke.texi: Add MicroBlaze Options.
2977 * contrib.texi: Add acknowledgment.
2978 * md.texi: Add MicroBlaze d and z constraints.
2979 * install.texi: Add microblaze-*-elf.
2980 * configure.ac: Add microblaze-*-* to target list.
2981 * configure: Regenerate.
2982 * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
2983 * config/microblaze/microblaze-protos.h: New.
2984 * config/microblaze/crti.s: New.
2985 * config/microblaze/predicates.md: New.
2986 * config/microblaze/linux.h: New.
2987 * config/microblaze/microblaze.md: New.
2988 * config/microblaze/constraints.md: New.
2989 * config/microblaze/crtn.s: New.
2990 * config/microblaze/microblaze.opt: New.
2991 * config/microblaze/microblaze-c.c: New.
2992 * config/microblaze/t-microblaze: New.
2993 * config/microblaze/microblaze.c: New.
2994 * config/microblaze/microblaze.h: New.
2996 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
2998 * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
2999 parse @optional/@required and set the flags as appropriate.
3001 2010-09-30 Nathan Froyd <froydnj@codesourcery.com>
3003 * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
3005 2010-09-30 Joseph Myers <joseph@codesourcery.com>
3007 * opt-functions.awk (static_var): Update comment.
3008 (var_ref): Return offsetof expression or -1, not variable address.
3009 * optc-gen.awk: Generate structure field initializers instead of
3010 static variables. Expect -1 for missing variables instead of null
3011 pointer. Add gcc_options parameters to generated functions.
3012 * opth-gen.awk: Generate structure fields for static variables.
3013 Add gcc_options parameters to generated functions.
3014 * common.opt (optimize, optimize_size): Add variables.
3015 * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
3016 &global_options to cl_target_option_restore.
3017 * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
3018 &global_options to cl_optimization_restore, cl_target_option_save
3019 and cl_target_option_restore.
3020 (ix86_set_current_function): Pass &global_options to
3021 cl_target_option_restore.
3022 * config/pdp11/pdp11.h (optimize): Remove.
3023 * config/rs6000/rs6000.h (optimize): Remove.
3024 * config/sh/sh.h (optimize): Remove.
3025 * config/xtensa/xtensa.h (optimize): Remove.
3026 * coretypes.h (struct gcc_options): Declare.
3027 * diagnostic.c (diagnostic_initialize): Initialize
3028 context->option_state.
3029 (diagnostic_report_diagnostic): Pass option_state to
3030 option_enabled hook.
3031 * diagnostic.h (diagnostic_context.option_enabled): Add void *
3033 (diagnostic_context.option_state): New field.
3034 * final.c (final_start_function, final, final_scan_insn): Rename
3035 optimize parameter to optimize_p.
3036 * flags.h (optimize, optimize_size): Remove.
3037 * function.c (invoke_set_current_function_hook): Pass
3038 &global_options to cl_optimization_restore.
3039 * gcc.c (driver_handle_option): Take gcc_options parameter.
3040 Assert that it is &global_options.
3041 (process_command): Pass &global_options to read_cmdline_option.
3042 * ipa-pure-const.c (suggest_attribute): Pass &global_options to
3044 * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
3045 &global_options to set_option.
3046 * opts-common.c (handle_option, handle_generated_option,
3047 read_cmdline_option, set_option): Take explicit gcc_options
3048 parameters. Use option_flag_var.
3049 (option_flag_var): New.
3050 * opts.c (common_handle_option, lang_handle_option,
3051 target_handle_option): Take gcc_options parameter. Assert that it
3053 (read_cmdline_options): Pass &global_options to read_cmdline_option.
3054 (print_filtered_help): Use option_flag_var. Pass &global_options
3056 (common_handle_option): Use option_flag_var.
3057 (option_enabled): Take opts parameter. Use option_flag_var.
3058 (get_option_state): Take gcc_options parameter. Use
3059 option_flag_var. Pass gcc_options parameter to option_enabled.
3060 (enable_warning_as_error): Pass &global_options to
3061 handle_generated_option.
3062 * opts.h (struct cl_option): Change flag_var to flag_var_offset.
3063 (cl_option_handler_func.handler): Take gcc_options parameter.
3064 (option_enabled, get_option_state, set_option, handle_option,
3065 handle_generated_option, read_cmdline_option): Take gcc_options
3067 * toplev.c (optimize, optimize_size): Remove.
3068 (print_switch_values): Pass &global_options to option_enabled.
3069 (option_affects_pch_p): Use option_flag_var. Pass &global_options
3070 to get_option_state.
3071 (general_init): Initialize global_dc->option_state.
3072 * tree.c (build_optimization_node): Pass &global_options to
3073 cl_optimization_save.
3074 (build_target_option_node): Pass &global_options to
3075 cl_target_option_save.
3077 2010-09-30 Martin Jambor <mjambor@suse.cz>
3079 * tree-sra.c (type_consists_of_records_p): Do not check for trailing
3080 zero sized bit-fields.
3082 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
3084 * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
3085 Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
3086 (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
3087 (c_parser_objc_class_declaration): Same change.
3088 (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
3089 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
3090 (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
3091 instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
3092 and RID_AT_PUBLIC instead of RID_PUBLIC.
3093 (c_parser_statement_after_labels): Use RID_AT_TRY instead of
3094 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
3096 2010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
3098 * doc/install.texi (Binaries): Update link to HP-UX porting centre.
3099 Add links to current providers of packages for Solaris and IRIX.
3101 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3103 Merge from 'apple/trunk' branch on FSF servers.
3104 * c-parser.c: Applied change originally in c-parse.in.
3106 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
3109 * c-decl.c (start_decl): Check for redeclaration of class name.
3110 * c-parse.in (after_type_declarator): Recognize CLASSNAME.
3112 2010-09-29 Steve Ellcey <sje@cup.hp.com>
3114 * config/ia64/ia64.c (ia64_builtin_decl): New.
3115 (TARGET_BUILTIN_DECL): Define.
3116 (ia64_builtins): New.
3117 (ia64_init_builtins): Save decls in ia64_builtins.
3119 2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
3122 * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
3123 (move2add_use_add3_insn): Likewise.
3124 (reload_cse_move2add): Likewise.
3125 * rtlanal.c (get_full_rtx_cost): New function.
3126 * rtl.h (struct full_rtx_costs): New.
3127 (init_costs_to_max, init_costs_to_zero, costs_lt_p,
3128 costs_add_n_insns): New inline functions.
3129 (get_full_rtx_cost): Declare.
3132 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
3133 invariants. Check for reg_equiv_invariant.
3134 (reload): Assert that spilled_pseudos is empty when returning.
3136 2010-09-29 Kai Tietz <kai.tietz@onevision.com>
3138 * config/i386/mingw32.h (TARGET_64BIT): replaced by
3139 TARGET_64BIT_DEFAULT in #if check.
3141 2010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
3143 * varasm.c (assemble_alias): Add error message for unsupported ifunc.
3145 2010-09-29 Mike Stump <mikestump@comcast.net>
3147 * config/darwin.h (flag_mkernel): Remove.
3148 (flag_apple_kext): Likewise.
3150 2010-09-29 Joseph Myers <joseph@codesourcery.com>
3151 Jack Howarth <howarth@bromo.med.uc.edu>
3153 * config/darwin.opt (undefined): Add.
3155 2010-09-29 Nathan Sidwell <nathan@codesourcery.com>
3158 * configure.ac: Add --enable-indirect-function option.
3159 * config.gcc: Add default_gnu_indirect_function.
3160 * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
3161 (HAVE_GNU_INDIRECT_FUNCTION): ... this.
3162 * varasm.c (do_assemble_alias): Adjust for macro name change.
3163 * configure: Rebuilt.
3164 * doc/install.texi: Document --enable-indirect-function.
3166 2010-09-29 Joseph Myers <joseph@codesourcery.com>
3168 * doc/options.texi (Variable, Var, Init): Update documentation
3169 without reference to VarExists.
3170 (VarExists): Remove.
3171 * common.opt, config/i386/i386.opt, config/linux.opt,
3172 config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
3173 Don't use VarExists.
3175 2010-09-29 Joseph Myers <joseph@codesourcery.com>
3177 * optc-gen.awk: Generate global_options initializer instead of
3178 individual variables. Add x_ prefix to names of structure members.
3179 * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
3180 names of structure members.
3181 * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3182 HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
3183 * doc/tm.texi: Regenerate.
3184 * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3185 * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
3186 * c-parser.c (disable_extension_diagnostics,
3187 restore_extension_diagnostics): Update names of cpp_options members.
3188 * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3189 * common.opt (fcompare-debug-second): Don't use Var.
3190 * config/alpha/alpha.h (target_flags): Remove.
3191 * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3192 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
3193 * config/bfin/bfin.h (target_flags): Remove.
3194 * config/cris/cris.h (target_flags): Remove.
3195 * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
3196 cl_target_option members.
3197 * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
3198 (ix86_function_specific_print, ix86_valid_target_attribute_tree,
3199 ix86_can_inline_p): Update names of cl_target_option members.
3200 * config/i386/i386.h (ix86_isa_flags): Remove.
3201 * config/lm32/lm32.h (target_flags): Remove.
3202 * config/mcore/mcore.h (mcore_stack_increment): Remove.
3203 * config/mcore/mcore.md (addsi3): Remove extern declaration of
3204 flag_omit_frame_pointer.
3205 * config/mep/mep.h (target_flags): Remove.
3206 * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3207 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
3208 * config/mmix/mmix.h (target_flags): Remove.
3209 * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
3210 flag_expensive_optimizations): Remove.
3211 * config/s390/s390.h (flag_pic): Remove.
3212 * config/score/score-conv.h (target_flags): Remove.
3213 * config/sh/sh.h (sh_fixed_range_str): Remove.
3214 * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
3215 * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
3216 * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3217 * diagnostic.c (diagnostic_initialize): Update names of
3218 diagnostic_context members.
3219 * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
3220 warn_system_headers.
3221 (diagnostic_report_warnings_p): Update for new names.
3222 * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
3223 * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
3224 HARD_FRAME_POINTER_IS_ARG_POINTER.
3225 * flags.h (flag_compare_debug): Declare.
3226 * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3227 * opts.c (flag_compare_debug): Define.
3228 (common_handle_option): Update names of diagnostic_context
3229 members. Handle -fcompare-debug-second.
3230 (fast_math_flags_struct_set_p): Update names of cl_optimization
3232 * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3233 * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3234 * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3235 * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3236 * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3237 * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3238 HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
3239 * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3240 * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
3242 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
3244 * config/picochip/picochip.c (picochip_output_internal_label):
3245 This function can now be called for debug CFI labels, which can come
3246 in the middle of a vliw instruction. Postpone until end of vliw.
3248 2010-09-29 Richard Guenther <rguenther@suse.de>
3250 * tree.h (SCOPE_FILE_SCOPE_P): New macro.
3251 (DECL_FILE_SCOPE_P): Use it.
3252 (TYPE_FILE_SCOPE_P): New macro.
3254 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3256 * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
3257 a CPP_NAME which is a reserved word, clearly separate cases for
3258 OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
3260 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3262 * c-parser.c (c_lex_one_token): In Objective-C, do not replace
3263 token->value with the canonical spelling. Do exactly like C and
3264 C++ and leave it as it is.
3266 2010-09-28 Richard Henderson <rth@redhat.com>
3268 * config/alpha/alpha.c (alpha_builtins): New.
3269 (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
3270 (alpha_builtin_function): New.
3271 (alpha_add_builtins, alpha_init_builtins): Use it.
3273 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
3275 * doc/standards.texi (Standards): Expanded the section on
3276 Objective-C and Objective-C++.
3278 2010-09-28 DJ Delorie <dj@redhat.com>
3281 * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
3284 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3286 * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
3287 attributes on methods.
3288 (c_parser_objc_method_definition): Handle attributes.
3289 (c_parser_objc_methodproto): Likewise.
3290 (c_parser_objc_maybe_method_attributes): New.
3291 (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
3292 missing definition, similar to that in ObjC++.
3294 2010-09-28 Richard Henderson <rth@redhat.com>
3296 * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
3297 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3298 (CONFIG_SJLJ_EXCEPTIONS): Remove.
3299 (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
3300 (STACK_CHECK_PROTECT): Likewise.
3301 * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
3302 (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
3303 (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
3304 (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
3305 (dwarf2out_assembly_start): Likewise.
3306 * except.c (init_eh): Use targetm.except_unwind_info.
3307 (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
3308 (output_one_function_exception_table): Likewise.
3309 * final.c: Unconditionally include dwarf2out.h.
3310 (final_start_function): Unconditionally call dwarf2out routines.
3311 (final_end_function, final_scan_insn): Likewise.
3312 * function.c (expand_function_end): Use targetm.except_unwind_info.
3313 * opts.c (decode_options): Use targetm.except_unwind_info.
3314 * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
3315 * target.def (debug_unwind_info, except_unwind_info): New.
3316 * target.h (enum unwind_info_type): New.
3317 * targhooks.c (default_debug_unwind_info): New.
3318 (default_except_unwind_info): New.
3319 (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
3320 * targhooks.h: Declare them.
3321 * tree-tailcall.c: Include "target.h"
3322 (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
3323 * Makefile.in (tree-tailcall.o): Update.
3324 * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
3325 (lhd_gcc_personality): Likewise.
3327 * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
3328 (TARGET_EXCEPT_UNWIND_INFO): New.
3329 (DWARF2_UNWIND_INFO): Update.
3330 (TARGET_DEBUG_UNWIND_INFO): New.
3331 * doc/tm.texi: Rebuild.
3333 * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
3334 targetm.except_unwind_info.
3336 * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
3337 (arm_except_unwind_info): New.
3338 (arm_compute_func_type): Use it.
3339 (arm_expand_prologue, thumb_pushpop): Likewise.
3340 (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
3341 (arm_unwind_emit, arm_output_fn_unwind): Likewise.
3342 * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
3343 * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
3344 (DWARF2_UNWIND_INFO): Remove.
3345 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3346 (ARM_EABI_UNWIND_TABLES): Remove.
3348 * config/ia64/ia64.c (ia64_debug_unwind_info): New.
3349 (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
3350 (ia64_except_unwind_info): New.
3351 (ia64_output_function_prologue): Use it.
3352 (ia64_add_bundle_selector_before): Likewise.
3353 (ia64_reorg, ia64_asm_unwind_emit): Likewise.
3354 * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
3355 (TARGET_UNWIND_INFO): Remove.
3357 * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
3359 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3361 * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
3362 (c_parser_objc_protocol_definition): Likewise.
3363 (c_parser_external_declaration): Provide dummy attribute arguments.
3364 (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
3365 (c_parser_objc_class_definition): Handle attributes.
3366 (c_parser_objc_protocol_definition): Likewise.
3368 2010-09-28 Tobias Burnus <burnus@net-b.de>
3372 * toplev.h (save_decoded_options, save_decoded_options_count):
3373 New global variables.
3374 * toplev.c (save_decoded_options, save_decoded_options_count):
3377 2010-09-28 Ian Lance Taylor <iant@google.com>
3379 * config/i386/i386.c (ix86_supports_split_stack): Test
3380 HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
3382 2010-09-28 Ian Lance Taylor <iant@google.com>
3385 * opts.c (decode_options): Don't test whether the target supports
3386 split stack if flag_split_stack == 0.
3388 2010-09-28 Jan Hubicka <jh@suse.cz>
3390 * builtin-attrs.def (ATTR_LEAF): New attribute.
3391 (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
3392 ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
3393 ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
3394 ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
3395 ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
3396 ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
3397 ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
3398 * sync-builtins.def: Annotate all builtins by leaf.
3399 * omp-builtins.def: Annotate all builtins by leaf.
3400 * builtins.def: Annotate relevant builtins with leaf attribute.
3401 (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3402 ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
3405 2010-09-28 Jan Hubicka <jh@suse.cz>
3407 * tree-ssa-ccp.c (fold_ctor_reference): New function.
3408 (fold_const_aggregate_ref): Use it.
3409 * fold-const.c (canonicalize_constructor_val): Check that we don't fold
3410 into external static.
3412 2010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3415 * config/i386/i386.opt (mvect8-ret-in-mem): Define.
3416 * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
3417 (ix86_solaris_return_in_memory): Remove.
3418 * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
3419 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3420 (TARGET_SUBTARGET_DEFAULT): Redefine.
3421 * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
3422 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3423 (TARGET_SUBTARGET_DEFAULT): Redefine.
3424 * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
3426 (i386 and x86-64 Options): Document -mvect8-ret-in-mem.