1 2010-10-18 Jan Hubicka <jh@suse.cz>
3 * ipa.c (cgraph_externally_visible_p): Handle externally visible and
4 preserve flags before trying to guess on visibility.
5 (varpool_externally_visible_p): New function.
6 (function_and_variable_visibility): Use it.
8 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10 Implemented parsing @synthesize and @dynamic for Objective-C.
11 * c-parser.c (c_parser_external_declaration): Recognize
12 RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
13 (c_parser_objc_at_synthesize_declaration): New.
14 (c_parser_objc_at_dynamic_declaration): New.
16 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
18 * c-parser.c (c_parser_objc_class_declaration): After finding an
19 error, parse the whole declaration then reset parser->error.
21 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
24 * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
25 * builtins.c (mode_has_fma): Ditto.
27 2010-10-18 Steve Ellcey <sje@cup.hp.com>
31 * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
33 2010-10-18 Joseph Myers <joseph@codesourcery.com>
35 * config/i386/i386.c (ix86_option_override_internal): Define and
36 use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
38 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
39 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
41 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
43 Merge from 'apple/trunk' branch on FSF servers.
44 * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
45 following Objective-C change:
47 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
50 * c-parse.in (objc_quals): Build objc qualifier list same way
53 2010-10-18 Jan Hubicka <jh@suse.cz>
55 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
56 function_and_variable_visibility): Revert accidental commit.
58 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
60 Merge from 'apple/trunk' branch on FSF servers.
61 * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
62 the following Objective-C change:
64 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
67 * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
68 'volatilized' type used in a typeof operator.
70 2010-10-18 Eric Botcazou <ebotcazou@adacore.com>
72 * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
73 * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
74 rewrite modelled on gimple_purge_dead_eh_edges.
75 (gimple_purge_all_dead_abnormal_call_edges): New function.
76 * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
77 directly instead of through gimple_purge_dead_abnormal_call_edges.
78 * tree-ssa-pre.c (need_ab_cleanup): New static variable.
79 (eliminate): Set bit in need_ab_cleanup for the basic block if we have
80 removed AB side-effects from one of its statements.
81 (init_pre): Initialize need_ab_cleanup.
82 (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
83 are set in need_ab_cleanup. Free need_ab_cleanup afterward.
85 2010-10-18 Jakub Jelinek <jakub@redhat.com>
88 * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
89 on computed goto argument.
91 2010-10-18 Richard Guenther <rguenther@suse.de>
93 PR tree-optimization/45967
94 * tree-ssa-structalias.c (type_could_have_pointers): Remove.
95 (could_have_pointers): Likewise.
96 (handle_rhs_call, handle_const_call, handle_pure_call,
97 find_func_aliases, intra_create_variable_infos): Remove calls to them.
98 (struct fieldoff): Add must_have_pointers field.
99 (type_must_have_pointers): New function.
100 (field_must_have_pointers): Likewise.
101 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
102 Adjust field merging.
103 (create_function_info_for): May-have-pointers of varinfo is
105 (create_variable_info_for_1): Likewise.
107 2010-10-18 Tejas Belagod <tejas.belagod@arm.com>
109 * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
110 of operands to vec_concat.
112 2010-10-18 Richard Guenther <rguenther@suse.de>
115 * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
116 also clear references to entries of it.
118 2010-10-18 Andi Kleen <ak@linux.intel.com>
122 * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
123 (doc, distclean, install-common): Remove reference to gccbug.
124 * configure: Regenerate.
125 * configure.ac (all_outputs): Remove gccbug.
126 * doc/configfiles.texi: Remove references to gccbug.
127 * doc/sourcebuild.texi: Dito.
129 2010-10-18 Jakub Jelinek <jakub@redhat.com>
132 * fold-const.c (fold_binary_loc): If integer_pow2p has
133 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
135 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
136 Jeremie Salvucci <jeremie.salvucci@free.fr>
138 * gengtype.c (verbosity_level): Add variable.
139 (set_gc_used): Count variables for verbosity.
140 (close_output_files): Backing up files, counting written ones
142 (write_types): Count emitted functions for verbosity. Added
144 (write_enum_defn): Count structures for verbosity. Added debug
146 (gengtype_long_options): Add "verbose" & "backupdir".
147 (print_usage): Ditto.
148 (main): Verbose display of parsed files.
150 * gengtype.h (verbosity_level): Add declaration.
152 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
154 * gengtype.c (parse_program_options): Add allocation of
155 plugin_files, and correct test on nb_plugin_files.
157 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
159 Merge from 'apple/trunk' branch on FSF servers.
161 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
164 * c-decl.c (undeclared_variable): Issue diagnostic on
165 private 'ivar' access.
167 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
170 * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
171 generated sequence to match *avx_vperm2f128<mode>_nozero.
172 (vec_interleave_lowv4df): Ditto.
173 (vec_interleave_highv8sf): Ditto.
174 (vec_interleave_lowv8sf): Ditto.
176 2010-10-17 Kai Tietz <kai.tietz@onevision.com>
178 * libgcov.c (create_file_directory): Enable it for win32 case.
179 (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
180 * doc/gcov.texi (GCOV_PREFIX): Adjusted.
181 (GCOV_PREFIX_SKIP): Likewise.
183 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
185 * doc/objc.texi (GNU Objective-C runtime API): New section.
186 (Modern GNU Objective-C runtime API): New section.
187 (Traditional GNU Objective-C runtime API): New section.
188 (Executing code before main): Mention that this section is
189 specific to the GNU Objective-C runtime.
190 (Garbage Collection): Same.
192 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
194 * c-parser.c (c_parser_for_statement): Move initialization of
195 cond and incr before if.
197 2010-10-17 Anatoly Sokolov <aesok@post.ru>
199 * target.def (preferred_output_reload_class): New hook.
200 * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
201 * doc/tm.texi: Regenerate.
202 * targhooks.c (default_preferred_output_reload_class): New function.
203 * targhooks.h (default_preferred_output_reload_class): Declare.
204 * reload.c (find_dummy_reload): Change rclass argument type from
205 enum reg_class to reg_class_t. Change this_alternative array type
206 from enum reg_class to reg_class_t.
207 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
208 (push_reload): Change preferred_class variable type to reg_class_t.
209 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
210 * recog.c (reg_fits_class_p): Change result type to bool. Change cl
211 argument type from enum reg_class to reg_class_t. Use
212 HARD_REGISTER_NUM_P predicate.
213 * recog.h (reg_fits_class_p): Update prototype.
215 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
216 * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
218 * config/i386/i386.c (ix86_preferred_output_reload_class): Make
219 static. Change regclass argument and result types from enum reg_class
221 (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
223 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
225 * c-parser.c (c_parser_objc_class_instance_variables): Update to use
226 visibility enum, and handle @package.
228 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
230 * doc/objc.texi (What you can and what you cannot do in +load):
231 Document that sending messages to constant string objects in +load
232 is not guaranteed to work.
234 2010-10-16 Jan Hubicka <jh@suse.cz>
237 * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
238 existence of refrences before removing the function.
240 2010-10-16 Jan Hubicka <jh@suse.cz>
242 * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
243 only_called_at_startup and only_called_at_exit.
244 (cgraph_propagate_frequency): Compute only_called_at_startup and
246 * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
248 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
250 * predict.c (compute_function_frequency): Initialize the new flags.
252 2010-10-16 Eric Botcazou <ebotcazou@adacore.com>
254 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
255 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
256 on the bounds of its domain.
257 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
259 2010-10-16 Anatoly Sokolov <aesok@post.ru>
261 * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
262 * config/avr/avr-protos.h (preferred_reload_class): Remove.
263 * config/avr/avr.c (preferred_reload_class): Remove.
264 * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
265 * config/pa/pa.c (emit_move_sequence): Update comment
266 * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
267 * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
268 * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
269 * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
270 * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
271 * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
272 * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
273 * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
274 * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
275 * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
276 * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
277 * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
278 * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
280 2010-10-16 Joseph Myers <joseph@codesourcery.com>
282 * opts.c (set_fast_math_flags,
283 set_unsafe_math_optimizations_flags): Make static.
284 * toplev.h (set_fast_math_flags,
285 set_unsafe_math_optimizations_flags): Remove prototypes.
287 2010-10-16 Joseph Myers <joseph@codesourcery.com>
289 * config/arm/arm.c (arm_option_optimization): Set
290 flag_section_anchors to 1 not 2.
291 * config/i386/i386.c (ix86_option_override_internal): Check
292 global_options_set.x_flag_zee and
293 global_options_set.x_flag_omit_frame_pointer.
294 (ix86_option_optimization): Don't set flag_omit_frame_pointer and
296 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
297 global_options_set.x_flag_omit_frame_pointer.
298 * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
299 opts->x_flag_section_anchors to 1 not 2.
300 * config/sh/sh.c (sh_option_optimization): Don't set
301 flag_schedule_insns to 2.
302 (sh_option_override): Check
303 global_options_set.x_flag_schedule_insns.
304 * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
306 2010-10-16 Kai Tietz <kai.tietz@onevision.com>
308 * configure.ac: Make sure inhibit_libc remains false for mingw targets
310 * configure: Regenerated.
312 2010-10-15 Xinliang David Li <davidxl@google.com>
314 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
316 (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
317 into a recursive function.
319 2010-10-15 Uros Bizjak <ubizjak@gmail.com>
321 * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
324 2010-10-15 Joseph Myers <joseph@codesourcery.com>
326 * target.def (target_option.init_struct): New hook.
327 * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
328 * doc/tm.texi: Regenerate.
329 * hooks.c (hook_void_gcc_optionsp): New.
330 * hooks.h (hook_void_gcc_optionsp): Declare.
331 * langhooks-def.h (lhd_init_options_struct): Remove.
332 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
333 * langhooks.c (lhd_init_options_struct): Remove.
334 * opts.c (init_options_struct): Also call
335 targetm.target_option.init_struct.
336 * config/i386/i386.c (ix86_option_init_struct,
337 TARGET_OPTION_INIT_STRUCT): New.
338 (ix86_option_optimization): Move some settings to
339 ix86_option_init_struct.
340 * config/pdp11/pdp11.c (pdp11_option_init_struct,
341 TARGET_OPTION_INIT_STRUCT): New.
342 (pdp11_option_optimization): Move some settings to
343 pdp11_option_init_struct.
344 * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
345 rs6000_option_init_struct. Use options structure pointer.
346 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
347 * config/s390/s390.c (s390_option_init_struct,
348 TARGET_OPTION_INIT_STRUCT): New.
349 (s390_option_optimization): Don't set
350 flag_asynchronous_unwind_tables here.
351 * config/sh/sh.c (sh_option_init_struct,
352 TARGET_OPTION_INIT_STRUCT): New.
353 (sh_option_optimization): Don't set flag_finite_math_only here.
354 * config/spu/spu.c (spu_option_optimization): Replace by
355 spu_option_optimization. Use options structure pointer.
356 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
358 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
360 * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
362 * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add
363 SIGN_EXTRACT and ZERO_EXTRACT which were missing.
364 (Standard names): Document fma.
366 * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
367 __FP_FAST_FMAF, __FP_FAST_FMAL.
369 * builitns.c (expand_builtin_mathfn_ternary): New function for
370 expanding ternary math functions, like fma.
371 (expand_builtin): Call it for the fma builtins.
373 * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
376 * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
377 vectorizable functions to support vectorizing fma.
379 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
382 * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
383 (UNSPEC_VSX_MSUB): Ditto.
384 (UNSPEC_VSX_NMADD): Ditto.
385 (UNSPEC_VSX_NMSUB): Ditto.
386 (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
387 of UNSPEC. Renumber combiner patterns.
388 (vsx_fmsub<mode>4*): Ditto.
389 (vsx_fnmadd<mode>4*): Ditto.
390 (vsx_fnmsub<mode>4*): Ditto.
392 * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
393 (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
394 multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test.
395 (altivec_vmaddfp_1): Ditto.
396 (altivec_vmaddfp_2): Ditto.
397 (atlivec_mulv4sf3): Ditto.
398 (altivec_vnmsubfp): Ditto.
399 (altivec_vnmsubfp_1): Ditto.
400 (altivec_vnmsubfp_2): Ditto.
401 (altivec_vnmsubfp_3): Delete.
403 * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
406 (fnmasf4_fpr): Ditto.
407 (fnmssf4_fpr): Ditto.
411 (fnmadf4_fpr): Ditto.
412 (fnmsdf4_fpr): Ditto.
414 * optabs.h (OTI_fma): Add fma optab.
417 * genopinit.c (optabs): Set fma optab.
419 * rtl.def (FMA): Add FMA rtl.
421 * tree.h (mode_has_fma): New function to return if MODE supports a
422 fast multiply and add instruction.
423 * builtins.c (mode_has_fma): Ditto.
425 2010-10-15 Jan Hubicka <jh@suse.cz>
427 * lto-streamer-out.c (write_symbol): Use pointer set of seen
428 objects instead of bitmap.
429 (produce_symtab): Likewise; output defined symbols first.
431 2010-10-15 Jie Zhang <jie@codesourcery.com>
433 * doc/invoke.texi: Add -fstrict-volatile-bitfields to
434 Option Summary and Index.
436 2010-10-15 Richard Guenther <rguenther@suse.de>
438 * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
439 for automatic variables again.
441 2010-10-15 Joseph Myers <joseph@codesourcery.com>
443 * doc/extend.texi (Variable Length): Don't refer to VLAs not
446 2010-10-15 Joseph Myers <joseph@codesourcery.com>
448 * config/rx/rx.c (rx_option_optimization): Change to
449 rx_override_options_after_change. Don't change
450 flag_lto_compression_level. Don't check for changes to whether
451 FPU instructions can be used. Check and set only
452 flag_finite_math_only, not other fast-math flags.
453 (rx_option_override): Call rx_override_options_after_change.
454 (TARGET_OPTION_OPTIMIZATION): Remove.
455 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
457 2010-10-15 Joseph Myers <joseph@codesourcery.com>
459 * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
460 disable section anchors for lang_hooks.name[4] != 'O'.
462 2010-10-15 Joseph Myers <joseph@codesourcery.com>
464 * config/frv/frv.c (frv_option_optimization,
465 TARGET_OPTION_OPTIMIZATION): Remove.
466 * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
468 2010-10-15 Michael Matz <matz@suse.de>
470 * cgraphunit.c (clone_of_p): Define unconditionally.
472 2010-10-15 Richard Guenther <rguenther@suse.de>
475 * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
477 2010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
479 * ifcvt.c (find_active_insn_before): New function.
480 (find_active_insn_after): New function.
481 (cond_exec_process_if_block): Use new functions to replace
482 prev_active_insn() and next_active_insn().
484 2010-10-14 Yao Qi <yao@codesourcery.com>
487 * config/arm/arm.c (arm_build_builtin_va_list): Assign
488 va_list_name to TYPE_STUB_DECL (va_list_type).
490 2010-10-14 Jan Hubicka <jh@suse.cz>
493 * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
494 redirected to clone, be happy.
495 * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
496 * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
497 former_clone_of unconditionally.
499 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
501 Merge from FSF apple 'trunk' branch.
502 2006 Fariborz Jahanian <fjahanian@apple.com>
504 Radars 4436866, 4505126, 4506903, 4517826
505 * c-parser.c (c_parser, objc_property_attr_context) New flag.
506 (c_lex_one_token): Handle property attributes.
507 (c_parser_external_declaration): Handle @property.
508 (c_parser_declaration_or_fndef): Warn on invalid attributes before
509 @alias, @class, @end and @property objc keywords.
510 (c_parser_objc_methodprotolist): Handle @property.
511 (c_parser_objc_property_attrlist): New.
512 (c_parser_objc_at_property): New.
513 * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
514 (build_modify_expr): Likewise.
516 2010-10-14 Jakub Jelinek <jakub@redhat.com>
518 PR tree-optimization/46008
519 * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
521 2010-10-14 Richard Guenther <rguenther@suse.de>
523 PR tree-optimization/44913
524 * tree-data-ref.c (disjoint_objects_p): Remove.
525 (dr_may_alias_p): Simplify. Only hand the base object to
527 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
528 some more trees, bail out instead of asserting.
529 (ptr_derefs_may_alias_p): Likewise. Export.
530 (refs_may_alias_p_1): Handle STRING_CSTs.
531 * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
533 2010-10-14 Joseph Myers <joseph@codesourcery.com>
536 * c-typeck.c (build_binary_op): Don't try to compute a semantic
537 type with excess precision for boolean operations.
539 2010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr>
540 Basile Starynkevitch <basile@starynkevitch.net>
542 * gengtype.c: Include getopt.h and version.h.
544 (lang_bitmap, struct outf, outf_p)
545 (get_output_file_with_visibility, oprintf): Definitions moved to
547 (output_files, header_file, srcdir, srcdir_len, this_file)
548 (do_dump): No more static variables.
550 (dbgprint_count_type_at): Added new function.
551 (gengtype_long_options): New.
552 (print_usage, print_version, parse_program_options): New.
553 (main): Call parse_program_options, and removed old option
554 handling code. Added some debug output.
556 * gengtype.h: Updated copyright year.
557 (lang_bitmap, struct outf, outf_p, header_file, oprintf)
558 (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
559 Moved from gengtype.c to here.
560 (do_debug, read_state_filename, write_state_filename): New variables.
561 (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
564 (REVISION): Always defined.
565 (version.o): Removed ifdef REVISION_c.
566 (s-gtype): Pass arguments to build/gengtype program.
567 (build/version.o): Added building rule.
568 (build/gengtype$(build_exeext)): Added build/version.o.
570 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
572 Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
573 * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
576 2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
578 * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
579 may_trap_or_fault_p instead of may_trap_p predicate.
580 * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
581 (substitute_placeholder_in_expr): Likewise.
582 * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
583 flag on MEM_REF nodes.
584 (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
585 flags on INDIRECT_REF nodes.
587 2010-10-14 Nathan Froyd <froydnj@codesourcery.com>
589 * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
590 (arm*-*-uclinux*eabi) <tm_file>: Likewise.
591 (arm*-*-eabi*) <tm_file>: Likewise.
592 (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
593 (frv-*-*linux*) <tm_file>: Likewise.
594 * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
595 and associated helper macros.
596 * config/frv/frv-abi.h: Delete.
598 2010-10-14 Richard Guenther <rguenther@suse.de>
601 * tree.def (NULLPTR_TYPE): New tree code.
602 * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
603 * dwarf2out.c (is_base_type): Likewise.
604 (gen_type_die_with_usage): Likewise.
605 * sdbout.c (plain_type_1): Likewise.
606 * tree.c (build_int_cst_wide): Likewise.
607 * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
609 2010-10-14 Joseph Myers <joseph@codesourcery.com>
611 * params.c (params_finished): New.
612 (add_params): Assert !params_finished.
613 (finish_params): New.
614 (set_param_value_internal): Take params and params_set
615 parameters. Assert params_finished.
616 (set_param_value, maybe_set_param_value): Take params and
617 params_set parameters. Update calls to set_param_value_internal.
618 (set_default_param_value): Assert !params_finished. Don't use
619 set_param_value_internal.
620 (default_param_value, init_param_values): New.
621 * params.h (struct param_info): Change value to default_value.
623 (set_param_value, maybe_set_param_value): Add params and
624 params_set parameters.
625 (PARAM_VALUE): Get parameters from global_options.
626 (PARAM_SET_P): Remove.
627 (finish_params, default_param_value, init_param_values): New.
628 * common.opt (param_values): New Variable.
629 * config/arm/arm.c (arm_option_override): Pass extra arguments to
630 maybe_set_param_value.
631 * config/i386/i386.c (ix86_option_override_internal): Pass extra
632 arguments to maybe_set_param_value.
633 * config/picochip/picochip.c (picochip_option_override): Pass
634 extra arguments to maybe_set_param_value.
635 * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
636 extra arguments to maybe_set_param_value.
637 * config/s390/s390.c (s390_option_override): Use
638 maybe_set_param_value instead of set_param_value. Pass extra
639 arguments to maybe_set_param_value.
640 * config/sparc/sparc.c (sparc_option_override): Pass extra
641 arguments to maybe_set_param_value.
642 * config/spu/spu.c (spu_option_override): Pass extra arguments to
643 maybe_set_param_value.
644 * opts.c (handle_param): Take opts and opts_set parameters.
645 Update call to set_param_value.
646 (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
647 initial_loop_invariant_max_bbs_in_loop): Remove.
648 (init_options_once): Don't set them.
649 (init_options_struct): Initialize parameters structures.
650 (default_options_optimization): Use default_param_value when
651 restoring defaults. Update calls to maybe_set_param_value.
652 (finish_options): Update calls to maybe_set_param_value.
653 (common_handle_option): Update calls to handle_param and
655 * toplev.c (DEFPARAM): Update definition for changes to param_info.
656 (general_init): Call finish_params.
658 2010-10-14 Nick Clifton <nickc@redhat.com>
660 * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
661 (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
662 (FIRST_PSEUDO_REGISTER): Increase by one.
663 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
664 (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
665 (MODES_TIEABLE): Call mn10300_modes_tieable.
666 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
667 (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
668 (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
669 (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
670 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
671 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
672 (mn10300_cc_status_mdep): Delete.
673 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
674 * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
675 the combine-stack-adjust pass.
676 (print_operand): Use the mode of the comparison operation to
677 select the comparison suffix.
678 (notice_update_cc): Delete.
679 (mn10300_secondary_reload_class): Remove test for stack pointer
681 (output_tst): Rename to mn10300_output_cmp.
682 (impossible_plus_operand): Move into predicates.md.
683 (mn10300_legitimize_address): Make static.
684 (mn10300_legitimate_address_p): Make static. Only allow SI sized
685 constant pic operands.
686 (mn10300_legitimate_constant_p): New function.
687 (mn10300_case_values_threshold): Make static.
688 (mn10300_hard_regno_mode_ok): New function.
689 (mn10300_modes_tieable): New function.
690 (mn10300_select_cc_mode): New function.
691 * config/mn10300/predicates.md (impossible_plus_operand): Define.
692 * config/mn10300/mn10300-protos.h: Tidy.
693 (mn10300_legitimate_constant_p, mn10300_modes_tieable)
694 (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
695 * config/mn10300/mn10300.md (cc attribute): Delete. Replace
696 with clobbers or sets of CC_REG.
698 (mov*): Remove use of CLR instruction.
699 (cbranch_si4_<code>): New pattern/split.
700 (integer_conditional_branch): New pattern.
701 (cbranch_sf4_<code>): New pattern/split.
702 (float_conditional_branch): New pattern.
703 (casesi): Use addsi3 pattern instead of movsi pattern to add and
704 move a value at the same time.
705 (cc0 peepholes): Remove.
707 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
709 * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
710 on RTX_FRAME_RELATED_P insns and the insn to which
711 NOTE_INSN_EPILOGUE_BEG is attached.
712 * sched-vis.c (print_value): Allow NULL value.
714 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
716 PR rtl-optimization/45570
717 * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
718 assert that we are pipelining outer loops. Allow returning
721 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
723 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
724 (tidy_control_flow): Tidy vertical space.
725 (sel_remove_bb): New variable idx. Use it to remember the basic
726 block index before deleting the block.
727 (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
728 (sel_merge_blocks): ... here.
729 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
731 2010-10-14 Jakub Jelinek <jakub@redhat.com>
733 * cse.c (is_dead_reg): Change into inline function that is not
734 called through for_each_rtx.
735 (set_live_p): Adjust caller.
736 (insn_live_p): Don't reset DEBUG_INSNs here.
737 (struct dead_debug_insn_data): New data.
738 (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
739 (delete_trivially_dead_insns): If there is just one setter for the
740 dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
741 and add DEBUG_INSN for it right before the removed setter and
742 use the DEBUG_EXPR instead of the dead pseudo.
744 2010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz>
746 * et-forest.c (et_nca): Return NULL immediately when
747 the dominance forest has disjoint components.
749 2010-10-13 Vladimir Makarov <vmakarov@redhat.com>
751 * ira.c (setup_class_hard_regs): Fix typo in indexing
752 ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
754 2010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com>
756 * graph.c (inbb): New variable.
757 (start_bb): Set inbb to 1 if output is inside of a building block.
758 (end_bb): Check if output is inside of a building block.
760 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
762 PR rtl-optimization/45912
763 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
764 regno of registers instead of their index to compute the alignment.
766 2010-10-13 H.J. Lu <hongjiu.lu@intel.com>
768 * config/i386/i386.c (ix86_build_const_vector): Check vector
769 mode instead of scalar mode.
770 (ix86_build_signbit_mask): Likewise.
771 (ix86_expand_fp_absneg_operator): Updated.
772 (ix86_expand_copysign): Likewise.
773 (ix86_expand_int_vcond): Likewise.
774 (ix86_emit_swdivsf): Likewise.
775 (ix86_sse_copysign_to_positive): Likewise.
776 (ix86_expand_sse_fabs): Likewise.
777 * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
778 * config/i386/sse.md (copysign<mode>3): Likewise.
779 (sse2_cvtudq2ps): Likewise.
780 (vec_unpacku_float_hi_v4si): Likewise.
781 (vec_unpacku_float_lo_v4si): Likewise.
783 * config/i386/i386.c (ix86_builtins): Add
784 IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
785 (bdesc_args): Likewise.
786 (ix86_builtin_vectorized_function): Support
787 IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
788 IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
789 and IX86_BUILTIN_CVTPS2DQ256.
790 (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
792 * config/i386/sse.md (STORENT_MODE): New.
793 (VEC_FLOAT_MODE): Likewise.
794 (VEC_EXTRACT_MODE): Likewise.
795 (*avx_cvtdq2pd256_2): Likewise.
796 (vec_pack_trunc_v4df): Likewise.
797 (vec_interleave_highv8sf): Likewise.
798 (vec_interleave_lowv8sf): Likewise.
799 (storent<mode>): Macroized.
800 (<code><mode>2: absneg): Likewise.
801 (copysign<mode>3): Likewise.
802 (vec_extract<mode>): Likewise.
805 * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
808 2010-10-13 Richard Guenther <rguenther@suse.de>
809 H.J. Lu <hongjiu.lu@intel.com>
811 * config/i386/sse.md (reduc_splus_v8sf): Add.
812 (reduc_splus_v4df): Likewise.
813 (vec_unpacks_hi_v8sf): Likewise.
814 (vec_unpacks_lo_v8sf): Likewise.
815 (*avx_cvtps2pd256_2): Likewise.
816 (vec_unpacks_float_hi_v8si): Likewise.
817 (vec_unpacks_float_lo_v8si): Likewise.
818 (vec_interleave_highv4df): Likewise.
819 (vec_interleave_lowv4df): Likewise.
821 2010-10-13 Richard Guenther <rguenther@suse.de>
824 * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
825 alone if there are no virtual methods.
827 2010-10-13 Richard Henderson <rth@redhat.com>
829 * expr.c (build_personality_function): Take parameter LANG instead
830 of parameter NAME. Build the name based on the lang prefix and the
831 unwind method in use.
832 * tree.c (lhd_gcc_personality): Update call to
833 build_personality_function.
835 2010-10-13 Richard Guenther <rguenther@suse.de>
838 * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
840 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
842 * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
843 Canonicalize input operands of ASM_OPERANDS insns.
845 2010-10-13 Richard Guenther <rguenther@suse.de>
847 PR tree-optimization/45788
848 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
849 EH update until fixup-cfg.
851 2010-10-13 Julian Brown <julian@codesourcery.com>
853 * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
854 from CORE_REGS and GENERAL_REGS classes.
855 * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
856 final constraint for register preferencing.
858 2010-10-13 Richard Guenther <rguenther@suse.de>
860 PR tree-optimization/45970
861 * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
862 * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
863 (stmt_kills_ref_p): Likewise.
864 * tree-ssa-dse.c (dse_optimize_stmt): Use it.
866 2010-10-13 Richard Guenther <rguenther@suse.de>
868 PR tree-optimization/45982
869 * tree-ssa-structalias.c (make_constraints_to): New function.
870 (make_constraint_to): Implement in terms of make_constraints_to.
871 (find_func_aliases): Properly make return values of pure/const
872 functions escape if they assign to sth that is not a pointer.
874 2010-10-13 Richard Guenther <rguenther@suse.de>
877 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
878 Fixup the CFG when EH was fixed up.
880 2010-10-13 Ira Rosen <irar@il.ibm.com>
882 * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
883 Use operand's type for POINTER_PLUS_EXPR.
885 2010-10-13 Alexandre Oliva <aoliva@redhat.com>
887 * c-parser.c (c_parser_for_statement): Initialize incr.
889 2010-10-12 Xinliang David Li <davidxl@google.com>
891 PR tree-optimization/45972
892 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
893 with too many arguments.
895 2010-10-12 Jakub Jelinek <jakub@redhat.com>
898 * tree-ssa-forwprop.c: Include expr.h.
899 (constant_pointer_difference, simplify_builtin_call): New functions.
900 (tree_ssa_forward_propagate_single_use_vars): Call
901 simplify_builtin_call on builtin calls.
903 2010-10-12 Eric Botcazou <ebotcazou@adacore.com>
905 * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
906 (*adddi3_extend_sp32): Likewise.
907 (*subdi3_insn_sp32): Likewise.
908 (*subdi3_extend_sp32): Likewise.
909 (*negdi2_sp32): Use negative test for consistency.
911 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
913 * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
914 (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
915 * config/fixed-bit.h: Likewise.
916 * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
917 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
918 * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
919 * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
921 * doc/tm.texi: Regenerate.
923 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
925 * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
926 * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
927 (*isel_reversed_unsigned_<mode>): New.
928 * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
929 as valid comparisons and adjust operands and output appropriately.
930 (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
932 2010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
934 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
935 DATA_ALIGNMENT and add COND parameter. Update comments above.
936 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
937 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
939 2010-10-12 H.J. Lu <hongjiu.lu@intel.com>
942 * exec-tool.in: Support '-plugin' as the second option to the linker.
944 2010-10-12 Richard Henderson <rth@redhat.com>
947 * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
948 (expand_stack_vars): Assert large base allocated when used.
950 2010-10-12 Richard Guenther <rguenther@suse.de>
952 * tree-ssa-structalias.c (get_constraint_for_1): Constants
953 only point to nonlocal, not anything.
955 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
957 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
958 unwind info for exceptions.
960 2010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
963 * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
964 Document optional target selector.
966 2010-10-12 Joseph Myers <joseph@codesourcery.com>
969 * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
970 (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
973 (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
975 * configure.ac (tm_include_list): Include options.h not flags.h.
976 * configure: Regenerate.
977 * flags.h: Include flag-types.h. Include options.h at top of file
979 (enum debug_info_type, enum debug_info_level, enum
980 debug_info_usage, enum symbol_visibility, struct visibility_flags,
981 enum ira_algorithm, enum ira_region, enum excess_precision, enum
982 graph_dump_types, enum stack_check_type,
983 enum warn_strict_overflow_code): Move to flag-types.h
984 * opth-gen.awk: Include flag-types.h in options.h.
986 2010-10-12 Jakub Jelinek <jakub@redhat.com>
988 * expr.c (store_expr): Share code for STRING_CST and
989 MEM_REF of &STRING_CST cases. Don't require BLKmode, instead
990 check if target is a MEM.
992 * rtl.h: Include hashtab.h.
993 (iterative_hash_rtx): New prototype.
994 * rtl.c (iterative_hash_rtx): New function.
995 * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
996 (output_loc_list): Return immediately if emitted is set, set it.
997 (hash_loc_operands, hash_locs, hash_loc_list,
998 compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
999 optimize_location_lists_1, optimize_location_lists): New function.
1000 (dwarf2out_finish): Call optimize_location_lists.
1001 * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
1003 2010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1007 * Makefile.in ($(lang_checks_parallel))
1008 ($(lang_checks_parallelized)): Use single quotes for
1009 $(RUNTESTFLAGS), to allow passing quoted content.
1011 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1013 * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
1014 actual_oldval. Use __builtin_expect.
1015 (SUBWORD_VAL_CAS): Likewise.
1017 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
1019 * recog.c (nonmemory_operand): Call immediate_operand for
1020 CONSTANT_P operands.
1022 2010-10-11 Uros Bizjak <ubizjak@gmail.com>
1024 * config/i386/i386.md (movmem<mode>): Macroize expander from
1025 movmem{si,di} using SWI48 mode iterator.
1026 (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
1027 *strmovsi_rex_1 using P mode iterator.
1028 (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
1029 (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
1030 (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
1031 (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
1032 (setmem<mode>): Macroize expander from setmem{si,di} using
1033 SWI48 mode iterator.
1034 (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
1035 *strsetsi_rex_1 using P mode iterator.
1036 (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
1037 (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
1038 (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
1039 (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
1040 (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
1041 (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
1042 (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
1044 (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
1045 *strlenqi_rex_1 using P mode iterator.
1047 2010-10-11 Bernd Schmidt <bernds@codesourcery.com>
1050 * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
1052 (mark_ref_live, mark_ref_dead): Use them.
1053 (make_pseudo_conflict): New arg ORIG_DREG. All callers changed.
1054 Save the original reg, and use the new functions.
1055 (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers
1057 (check_and_make_def_conflict): Save the original reg.
1059 2010-10-11 Martin Jambor <mjambor@suse.cz>
1062 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
1065 2010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1067 * Makefile.in ($(lang_checks_parallel))
1068 ($(lang_checks_parallelized)): Use single quotes for
1069 $(RUNTESTFLAGS), to allow passing quoted content.
1072 * opt-functions.awk (BEGIN): New section.
1073 (lower, upper, digit, alnum): New variables.
1074 (static_var, opt_sanitized_name): Use alnum instead of character
1075 classes, for non-C locale.
1076 * optc-gen.awk: Likewise.
1077 * opth-gen.awk: Likewise.
1079 2010-10-11 Anatoly Sokolov <aesok@post.ru>
1081 * target.def (preferred_reload_class): New hook.
1082 * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
1083 * doc/tm.texi: Regenerate.
1084 * targhooks.c (default_preferred_reload_class): New function.
1085 * targhooks.h (default_preferred_reload_class): Declare.
1086 * reload.c (find_dummy_reload): Change preferred_class variable type
1087 from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
1089 (find_reloads): Change goal_alternative array type from int to
1090 reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
1091 (push_reload, find_reloads_address_part): Use
1092 TARGET_PREFERRED_RELOAD_CLASS target hook.
1093 * reload1.c (emit_input_reload_insns): Ditto.
1094 * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
1095 hook. Change rclass argument and secondary_class variable types from
1096 'enum reg_class' to reg_class_t.
1098 * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
1099 * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
1100 * config/i386/i386.c (ix86_preferred_reload_class): Make static.
1101 Change regclass argument and result types from enum reg_class to
1103 (TARGET_PREFERRED_RELOAD_CLASS): Define.
1105 2010-10-11 Eric Botcazou <ebotcazou@adacore.com>
1107 * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
1108 in masking operations.
1109 (simplify_const_unary_operation): Likewise.
1110 (simplify_binary_operation_1): Likewise.
1111 (simplify_const_binary_operation): Likewise.
1112 (simplify_const_relational_operation): Likewise.
1113 (simplify_ternary_operation): Likewise.
1114 (simplify_immed_subreg): Likewise.
1116 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1119 * doc/tm.texi.in (SUPPORTS_WEAK): Update.
1120 (TARGET_SUPPORTS_WEAK): New.
1121 * doc/tm.texi: Regenerate.
1122 * defaults.h (SUPPORTS_WEAK): Update comment.
1123 (TARGET_SUPPORTS_WEAK): New.
1124 * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
1125 * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
1127 (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
1128 make_decl_one_only): Likewise.
1129 * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
1130 TARGET_SUPPORTS_WEAK.
1131 (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
1132 instead of SUPPORTS_WEAK.
1134 2010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1136 * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
1138 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
1140 * vec.h (VEC_qsort): Define.
1141 * dbxout.c (output_used_types): Use it.
1142 * df-scan.c (df_sort_and_compress_refs): Likewise.
1143 (df_sort_and_compress_mws): Likewise.
1144 * genautomata.c (uniq_sort_alt_states): Likewise.
1145 (evaluate_equiv_classes): Likewise.
1146 (output_trans_table): Likewise.
1147 (output_state): Likewise.
1148 * gimplify.c (compare_case_labels): Likewise.
1149 * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
1150 * ipa.c (build_cdtor_fns): Likewise.
1151 * lto.c (lto_wpa_write_files): Likewise.
1152 * sel-sched.c (fill_vec_av_set): Likewise.
1153 * tree-predcom.c (determine_roots_comp): Likewise.
1154 * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
1155 (splice_param_accesses): Likewise.
1156 * tree-ssa-live.c (dump_enumerated_decls): Likewise.
1157 * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
1158 (reassociate_bb): Likewise.
1159 * tree-ssa-sccvn.c (sort_scc): Likewise.
1160 * tree-ssa-structalias.c (sort_fieldstack): Likewise.
1162 2010-10-11 Ian Lance Taylor <iant@google.com>
1164 * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
1165 * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
1166 TREE_THIS_NOTRAP when appropriate.
1167 (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
1168 * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
1169 newly created MEM_REF.
1171 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
1173 Nathan Froyds patch to hooks FUNCTION_ARG etc.
1174 * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
1175 (picochip_incoming_function_arg): Delete.
1176 (picochip_arg_advance): Delete.
1177 * config/picochip/picochip.h (FUNCTION_ARG): Delete.
1178 (FUNCTION_INCOMING_ARG): Delete.
1179 (FUNCTION_ARG_ADVANCE): Delete.
1180 * config/picochip/picochip.c (picochip_function_arg): Take a
1181 const_tree and a bool.
1182 (picochip_incoming_function_arg): Likewise.
1183 (picochip_arg_advance): Likewise.
1184 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1185 (TARGET_FUNCTION_ARG_ADVANCE): Define.
1187 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1190 * ipa.c (build_cdtor): Delete endless loop.
1192 2010-10-07 Andi Kleen <ak@linux.intel.com>
1194 * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
1196 (checksum-options): Add.
1197 (cc1-dummy): Remove.
1198 (cc1-checksum): Change to run checksum over object files
1200 * dummy-checksum.c: Remove.
1201 * genchecksum.c: Update copyright.
1202 (usage): Allow multiple arguments.
1204 (dosum): Change for incremental checksum. Remove C output.
1205 (main): Iterate over all argument files. Add C output.
1207 2010-10-11 Joseph Myers <joseph@codesourcery.com>
1209 * params.c (set_param_value_internal): New.
1210 (set_param_value): Use set_param_value_internal.
1211 (maybe_set_param_value, set_default_param_value): New.
1212 * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
1213 (maybe_set_param_value, set_default_param_value): Declare.
1214 * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
1215 * config/i386/i386.c (ix86_option_override_internal): Use
1216 maybe_set_param_value.
1217 * config/ia64/ia64.c (ia64_option_default_params,
1218 TARGET_OPTION_DEFAULT_PARAMS): New.
1219 (ia64_option_optimization): Move some code to
1220 ia64_option_default_params.
1221 * config/picochip/picochip.c (picochip_option_override): Use
1222 maybe_set_param_value.
1223 * config/rs6000/rs6000.c (rs6000_option_default_params,
1224 TARGET_OPTION_DEFAULT_PARAMS): New.
1225 (rs6000_option_override_internal): Use maybe_set_param_value.
1226 (rs6000_option_optimization): Move some code to
1227 rs6000_option_default_params.
1228 * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
1229 * config/sh/sh.c (sh_option_default_params,
1230 TARGET_OPTION_DEFAULT_PARAMS): New.
1231 (sh_option_optimization): Move some code to sh_option_default_params.
1232 * config/sparc/sparc.c (sparc_option_override): Use
1233 maybe_set_param_value.
1234 * config/spu/spu.c (spu_option_default_params,
1235 TARGET_OPTION_DEFAULT_PARAMS): New.
1236 (spu_option_optimization): Move some code to spu_option_default_params.
1237 (spu_option_override): Use maybe_set_param_value.
1238 * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
1239 * doc/tm.texi: Regenerate.
1240 * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
1241 * opts.c (init_options_once): Use PARAM_VALUE not direct access to
1243 (default_options_optimization): Use maybe_set_param_value.
1244 (finish_options): Use maybe_set_param_value.
1245 * target.def (target_option.default_params): New hook.
1246 * toplev.c (general_init): Call targetm.target_option.default_params.
1248 2010-10-11 Ira Rosen <irar@il.ibm.com>
1250 PR tree-optimization/45902
1251 * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
1252 vector type for constants, unless it's a pointer.
1254 2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1256 * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
1258 2010-10-11 Jakub Jelinek <jakub@redhat.com>
1261 * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
1262 (ix86_delegitimize_address): Use it.
1264 2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
1266 * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
1268 2010-10-10 Uros Bizjak <ubizjak@gmail.com>
1270 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
1271 to cum struct in the call to function_arg_advance.
1272 (alpha_function_arg_advance): Mark named as unused.
1274 2010-10-10 Richard Sandiford <rdsandiford@googlemail.com>
1276 * config/mips/mips.c (mips_handle_option): Make "value" with
1279 2010-10-09 Richard Henderson <rth@redhat.com>
1282 * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
1283 remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
1284 required_align, tidy the code a bit. Emit split_stack code in the
1285 right place. Mark the return value with the alignment properly.
1286 * expr.h (allocate_dynamic_stack_space): Update decl.
1287 * builtins.c (expand_builtin_apply): Update call to
1288 allocate_dynamic_stack_space.
1289 (expand_builtin_alloca): Likewise. Remove TARGET parameter.
1290 * calls.c (initialize_argument_information): Update call to
1291 allocate_dynamic_stack_space.
1292 (expand_call): Likewise.
1294 * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
1295 Don't update_stack_alignment here.
1296 (alloc_stack_frame_space): Make ALIGN unsigned.
1297 (stack_var_cmp): Sort by alignment too.
1298 (partition_stack_vars): Don't merge large and small alignment vars.
1299 (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
1300 Take care when BASE is not virtual_stack_vars_rtx.
1301 (expand_stack_vars): Allocate dynamic stack space for large
1302 alignment variables.
1303 (expand_one_stack_var): Update all to expand_one_stack_var_at.
1304 (defer_stack_allocation): True for large alignment vars.
1305 (update_stack_alignment): Merge into ...
1306 (expand_one_var): ... here.
1307 (gimple_expand_cfg): Place code from expand_stack_vars.
1309 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1311 * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1312 * config/pdp11/pdp11.c (pdp11_function_arg): New function.
1313 (pdp11_function_arg_advance): New function.
1314 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1316 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1318 * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
1319 * libgcc2.c: Likewise.
1321 2010-10-09 Richard Guenther <rguenther@suse.de>
1324 * lto-streamer-in.c (lto_register_var_decl_in_symtab):
1325 Properly check if a decl is an automatic var.
1327 2010-10-09 Richard Guenther <rguenther@suse.de>
1330 * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
1332 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1334 * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
1335 * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1336 * config/mmix/mmix.c (mmix_function_arg): Rename to...
1337 (mmix_function_arg_1): ...this. Make static. Take a const_tree and
1339 (mmix_function_arg): New function.
1340 (mmix_function_incoming_arg): New function.
1341 (mmix_function_arg_advance): New function.
1342 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1343 (TARGET_FUNCTION_ARG_ADVANCE): Define.
1345 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1347 * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1348 * config/vax/vax.c (vax_function_arg): New function.
1349 (vax_function_arg_advance): New function.
1350 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1352 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1354 * config/pa/pa-protos.h (function_arg): Delete.
1355 * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1356 * config/pa/pa.c (function_arg): Rename to...
1357 (pa_function_arg): ...this. Make static. Take a const_tree and
1359 (pa_function_arg_advance): New function.
1360 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1362 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1364 * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1365 * config/m68k/m68k.c (m68k_function_arg): New function.
1366 (m68k_function_arg_advance): New function.
1367 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1369 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1371 * config/avr/avr-protos.h (function_arg): Delete.
1372 (function_arg_advance): Delete.
1373 * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1374 * config/avr/avr.c (function_arg): Rename to...
1375 (avr_function_arg): ...this. Make static. Take a const_tree and
1377 (function_arg_advance): Rename to...
1378 (avr_function_arg_advance): ...this. Make static. Take a
1379 const_tree and a bool.
1380 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1382 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1384 * config/alpha/alpha-protos.h (function_arg): Delete.
1385 * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1386 * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
1387 * config/alpha/alpha.c (function_arg): Rename to...
1388 (alpha_function_arg): ...this. Make static. Take a const_tree and
1389 a bool. Delete TARGET_ABI_UNICOSMK code.
1390 (alpha_function_arg_advance): New function.
1391 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1393 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1395 * config/mep/mep-protos.h (mep_function_arg): Delete.
1396 (mep_function_arg_advance): Delete.
1397 * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1398 * config/mep/mep.c (mep_function_arg): Make static. Take a
1399 const_tree and a bool.
1400 (mep_function_arg_advance): Likewise.
1401 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1403 2010-10-09 Richard Guenther <rguenther@suse.de>
1405 PR tree-optimization/45945
1406 * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
1408 2010-10-09 Eric Botcazou <ebotcazou@adacore.com>
1410 PR tree-optimization/45612
1411 * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
1412 Test LABEL_DECLs as well. Fix formatting issues.
1413 (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
1414 whose label is present in NON_SSA_VARS.
1415 (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs
1416 as well. Fix formatting issues.
1417 (visit_bb): Fix typos and formatting issue.
1419 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1421 PR tree-optimization/45950
1422 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
1423 before initializing vno->op.
1425 2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
1427 * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
1428 * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
1430 2010-10-08 H.J. Lu <hongjiu.lu@intel.com>
1433 * config/i386/i386.c (ix86_binary_operator_ok): Support
1434 "andhi/andsi/anddi" as a zero-extending move.
1436 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1438 * builtins.c (fold_call_stmt): Don't copy gimple call arguments
1439 into a temporary array.
1441 2010-10-08 Jakub Jelinek <jakub@redhat.com>
1443 PR tree-optimization/45903
1444 * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
1445 of {A,L}SHIFTRT of MEM.
1447 2010-10-08 Richard Guenther <rguenther@suse.de>
1449 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1450 Re-construct BLOCK_VARS.
1451 (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
1452 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1453 * tree.c (free_lang_data_in_block): Remove.
1454 (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
1455 Do not touch the BLOCK tree.
1456 * expr.c (expand_expr_real_1): Allow externals.
1458 2010-10-08 Richard Guenther <rguenther@suse.de>
1460 * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
1461 Do not output BLOCK_SUBBLOCKS.
1462 * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
1463 Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
1464 Re-construct BLOCK_SUBBLOCKS of parent block.
1465 (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
1466 for BINFO_BASE_ACCESSES.
1468 2010-10-08 Joseph Myers <joseph@codesourcery.com>
1470 * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
1471 (TREE_H): Include $(FLAGS_H) instead of options.h.
1472 (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
1473 * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1474 * common.opt (flag_complex_method, flag_evaluation_order,
1475 flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
1476 Variable declarations.
1477 * configure.ac (tm_include_list): Include flags.h instead of options.h.
1478 * configure: Regenerate.
1479 * flags.h: Condition out contents for target libraries. Include
1480 options.h at end of file.
1481 (flag_complex_method, flag_ira_algorithm, flag_ira_region,
1482 flag_evaluation_order, flag_warn_unused_result): Remove.
1483 * gcc.c (main): Intialize global_options with global_options_init.
1484 * langhooks-def.h (lhd_init_options_struct): Declare.
1485 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1486 (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
1487 * langhooks.c (lhd_init_options_struct): New.
1488 * langhooks.h (struct lang_hooks): Add init_options_struct.
1489 Update comment on init_options.
1490 * optc-gen.awk: Generate initializer for global_options_init, not
1492 * opth-gen.awk: Condition out structure declarations for target
1493 libraries. Declare global_options_init.
1494 * opts-common.c: Include flags.h instead of options.h.
1495 * opts.c (flag_warn_unused_result): Remove.
1496 (read_cmdline_options): Take gcc_options parameters. Pass them to
1497 read_cmdline_option.
1498 (initial_lang_mask, initial_min_crossjump_insns,
1499 initial_max_fields_for_field_sensitive,
1500 initial_loop_invariant_max_bbs_in_loop): Define at file scope.
1501 (init_options_once): New. Split out of decode_options.
1502 (init_options_struct): New. Split out of decode_options.
1503 (decode_cmdline_options_to_array_default_mask): New.
1504 (default_options_optimization): New. Split out of decode_options.
1505 (decode_options): Move most code to other functions. Update call
1506 to read_cmdline_options.
1507 (finish_options): New. Split out of decode_options.
1508 * opts.h (decode_options): Add gcc_options parameters.
1509 (init_options_once, init_options_struct,
1510 decode_cmdline_options_to_array_default_mask): New.
1511 * toplev.c (flag_complex_method, flag_ira_algorithm,
1512 flag_ira_region, flag_evaluation_order): Remove.
1513 (general_init): Use global_options_init for initial flag values
1515 (toplev_main): Call init_options_once, init_options_struct,
1516 lang_hooks.init_options_struct,
1517 decode_cmdline_options_to_array_default_mask and
1518 lang_hooks.init_option before decode_options. Update arguments to
1520 * tree.h: Include flags.h instead of options.h.
1522 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1524 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1526 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1528 * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
1530 * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
1531 (FUNCTION_INCOMING_ARG): Delete.
1532 * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
1533 (function_arg_slotno): Likewise. Take bool arguments.
1534 (sparc_arg_partial_bytes): Update call to it.
1535 (function_arg): Rename to...
1536 (sparc_function_arg_1): ...this. Take bool arguments.
1537 (sparc_function_arg, sparc_function_incoming_arg): New functions.
1538 (function_arg_advance): Rename to...
1539 (sparc_function_arg_advance): ...this. Take bool argument.
1540 (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
1541 (TARGET_FUNCTION_INCOMING_ARG): Define.
1543 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1545 * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
1547 * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1548 * config/bfin/bfin.c (function_arg_advance): Rename to...
1549 (bfin_function_arg_advance): ...this. Make static. Take const_tree
1551 (function_arg): Rename to...
1552 (bfin_function_arg): ...this. Make static. Take const_tree and bool
1554 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1556 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1558 * config/score/score-protos.h (score_function_arg): Delete.
1559 (score_function_arg_advance): Delete.
1560 * config/score/score3.h (score3_function_arg_advance): Take a
1561 const_tree and a bool.
1562 (score3_function_arg): Likewise.
1563 * config/score/score7.h (score7_function_arg_advance): Likewise.
1564 (score7_function_arg): Likewise.
1565 * config/score/score3.c (score3_classify_arg): Likewise.
1566 (score3_function_arg_advance, score3_function_arg): Likewise.
1567 * config/score/score7.c (score7_classify_arg): Likewise.
1568 (score7_function_arg_advance, score7_function_arg): Likewise.
1569 * config/score/score.c (score_function_arg_advance): Likewise.
1570 (score_function_arg): Likewise. De-const-ify `cum' argument.
1571 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1573 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1575 * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
1576 (s390_function_arg): Delete.
1577 * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1578 * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
1579 (s390_function_arg_integer): Likewise.
1580 (s390_function_arg_advance): Make static. Take a const_tree and
1582 (s390_function_arg): Likewise.
1583 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1585 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1587 * config/spu/spu-protos.h (spu_function_arg): Delete.
1588 * config/spu/spu.h (FUNCTION_ARG): Delete.
1589 (FUNCTION_ARG_ADVANCE): Move code to ...
1590 * config/spu/spu.c (spu_function_arg_advance): New function.
1591 (spu_function_arg): Make static. Take a const_tree and a bool.
1592 (spu_setup_incoming_varargs): Call spu_function_arg_advance.
1593 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1595 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1597 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1599 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1601 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
1602 (init_vn_nary_op_from_op): New function.
1603 (init_vn_nary_op_from_stmt): New function.
1604 (vn_nary_op_lookup_1): New function.
1605 (sizeof_vn_nary_op): New function.
1606 (alloc_vn_nary_op_noinit): New function.
1607 (alloc_vn_nary_op): New function.
1608 (vn_nary_op_insert_into): New function.
1609 (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
1610 (vn_nary_op_lookup): Likewise.
1611 (vn_nary_op_lookup_stmt): Likewise.
1612 (vn_nary_op_insert_pieces): Likewise.
1613 (vn_nary_op_insert): Likewise.
1614 (vn_nary_op_insert_stmt): Likewise.
1615 (copy_nary): Likewise.
1616 (set_value_id_for_result): New function.
1617 (set_hashtable_value_ids): Call it.
1619 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1621 * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1622 * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
1624 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1626 * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
1627 * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1629 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
1632 * cse.c (cse_extended_basic_block): Preserve cc0 info across
1633 debug isnsn. Skip them when searching for cc0 setter.
1634 (set_live_p): Skip debug insns when searching for cc0 user.
1636 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
1642 * tree-pretty-print.c (dump_generic_node): Explicitly dump the
1643 type of MEM_REFs to INTEGER_CSTs.
1645 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
1647 * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
1648 m68hc11_print_operand_address.
1650 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
1652 * builtins.c (rewrite_call_expr): Move code to...
1653 (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array.
1654 (rewrite_call_expr_array): New function.
1655 (fold_builtin_sprintf_chk_1): New function.
1656 (fold_builtin_sprintf_chk): Call it.
1657 (gimple_fold_builtin_sprintf_chk): Likewise.
1658 (fold_builtin_snprintf_chk_1): New function.
1659 (fold_builtin_snprintf_chk): Call it.
1660 (gimple_fold_builtin_snprintf_chk): Likewise.
1661 (gimple_rewrite_call_expr): Delete.
1663 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1665 * config.host: Update copyright year.
1667 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1669 * config.host (host_lto_plugin_soname): New shell variable.
1670 * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
1671 * config.in: Regenerate.
1672 * configure: Regenerate.
1673 * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
1674 LTO plugin shared library.
1676 2010-10-07 Richard Henderson <rth@redhat.com>
1678 * target.h (enum unwind_info_type): Move ...
1679 * coretypes.h: ... here.
1681 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
1683 * doc/objc.texi (Fast enumeration protocol): Mention that
1684 'unsigned int' can also be used instead of 'unsigned long' in
1685 countByEnumeratingWithState:objects:count:.
1687 2010-10-07 Martin Jambor <mjambor@suse.cz>
1689 * tree-sra.c (struct access): New field grp_assignment_write.
1690 (dump_access): Dump grp_assignment_write.
1691 (build_accesses_from_assign): Set grp_assignment_write.
1692 (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
1693 (mark_read_status): Renamed to mark_rw_status, individual values
1695 (analyze_access_subtree): Changed type of mark_write to
1696 mark_read_status. Fixed propagating of mark_read and
1697 mark_write. Changed benefit estimate. Updated comment.
1699 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
1702 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
1703 check for vectype_out returned by get_vectype_for_scalar_type().
1705 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
1708 * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
1709 constraint, add register specifier in instruction template.
1710 (neon_vec_pack_trunc_<mode>): Likewise.
1711 (neon_vec_<US>mult_<mode>): Add register specifier to
1712 instruction template.
1714 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1716 * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
1718 (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
1719 (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
1720 * config/i386/t-cygwin (cygwin1.o): Delete build rule.
1721 (cygwin2.o): Likewise.
1722 * config/i386/cygwin1.c: Delete file.
1723 * config/i386/cygwin2.c: Likewise.
1724 * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
1725 make all {%!mno-cygwin} ones unconditional.
1726 (STARTFILE_SPEC): Likewise.
1727 (REAL_LIBGCC_SPEC): Likewise.
1728 (LIB_SPEC): Likewise.
1729 (CXX_WRAP_SPEC): Likewise.
1730 (LINK_SPEC): Likewise.
1731 (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
1732 (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
1733 (cygwin_gplusplus_include_dir): Delete now-unused array.
1734 (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
1735 (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
1736 (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
1737 (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
1738 (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
1739 (cygwin_local_include_dir): Delete now-unused array.
1740 (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
1741 (cygwin_cross_include_dir): Delete now-unused array.
1742 (CROSS_INCLUDE_DIR): Don't redefine to point to it.
1743 (cygwin_tool_include_dir): Delete now-unused array.
1744 (TOOL_INCLUDE_DIR): Don't redefine to point to it.
1745 (cygwin_standard_include_dir): Delete now-unused array.
1746 (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
1747 (GEN_CVT_ARRAY): Delete now-unused macro definition.
1748 (cvt_to_mingw): Delete now-unused array.
1749 (mingw_scan): Remove prototype of deleted function.
1750 (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
1751 * config/i386/cygming.opt (mcygwin): Delete target-specific option.
1752 * doc/invoke.texi (-mcygwin): Don't document removed option.
1753 (-mno-cygwin): Likewise.
1755 2010-10-07 Richard Guenther <rguenther@suse.de>
1757 * machmode.h (mode_for_vector): Declare.
1758 * stor-layout.c (mode_for_vector): New function, split out from ...
1759 (layout_type): ... here.
1760 * tree-vectorizer.h (current_vector_size): Declare.
1761 * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
1762 mask vector type is available.
1763 (get_vectype_for_scalar_type): Rename to ...
1764 (get_vectype_for_scalar_type_and_size): ... this. Get a vector
1766 (get_vectype_for_scalar_type): New wrapper around
1767 get_vectype_for_scalar_type_and_size using current_vector_size.
1768 (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
1769 * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
1770 of vect_analyze_loop here.
1771 (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
1772 * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
1774 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
1775 V8SF to V8SI conversion builtin.
1777 2010-10-07 Richard Guenther <rguenther@suse.de>
1779 * target.def (autovectorize_vector_sizes): New target hook.
1780 * targhooks.c (default_autovectorize_vector_sizes): New function.
1781 * targhooks.h (default_autovectorize_vector_sizes): Declare.
1782 * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
1784 * doc/tm.texi: Update.
1785 * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
1786 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
1788 2010-10-07 Richard Guenther <rguenther@suse.de>
1790 * target.def (units_per_simd_word): Rename to ...
1791 (preferred_simd_mode): ... this. Return mode instead of size.
1792 * targhooks.c (default_units_per_simd_word): Rename to ...
1793 (default_preferred_simd_mode): ... this. Return word_mode.
1794 * targhooks.h (default_preferred_simd_mode): Declare.
1795 * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
1796 (arm_preferred_simd_mode): ... this. Re-implement.
1797 * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
1798 (ix86_preferred_simd_mode): ... this. Re-implement.
1799 * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
1800 (sparc_preferred_simd_mode): ... this. Re-implement.
1801 * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
1802 (mips_preferred_simd_mode): ... this. Re-implement.
1803 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
1804 (rs6000_preferred_simd_mode): ... this. Re-implement.
1805 * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
1806 * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
1807 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
1808 * doc/tm.texi: Update.
1810 2010-10-07 Richard Guenther <rguenther@suse.de>
1813 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
1816 2010-10-07 Alan Modra <amodra@gmail.com>
1818 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
1819 rather than sign extension by hand.
1821 2010-10-07 Jan Hubicka <jh@suse.cz>
1824 * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
1826 2010-10-07 Richard Guenther <rguenther@suse.de>
1829 * configure.ac: Fix typo.
1830 * configure: Regenerated.
1832 2010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1834 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
1835 define_builtin_std where it's unnecessary.
1836 * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
1838 2010-10-06 Anatoly Sokolov <aesok@post.ru>
1840 * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
1841 * doc/tm.texi.in: Regenerate.
1842 * system.h (CLASS_LIKELY_SPILLED_P): Poison.
1843 * targhooks.c (default_class_likely_spilled_p): Don't use the
1844 CLASS_LIKELY_SPILLED_P macro.
1846 * config/arm/arm.md: Update comment.
1848 2010-10-06 Jan Hubicka <jh@suse.cz>
1850 * ipa.c (cgraph_remove_unreachable_nodes): External references can
1852 (cgraph_externally_visible_p): We can not bring local comdats that
1853 are known to linker; fix handling of internal visibility.
1854 (function_and_variable_visibility): Likewise.
1856 2010-10-06 Eric Botcazou <ebotcazou@adacore.com>
1858 PR rtl-optimization/45394
1859 * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
1860 (struct rtx_subst_pair): Remove AFTER field.
1861 (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
1862 (propagate_for_debug): Remove MOVE parameter and adjust.
1863 (try_combine): In the special case where I2 is a PARALLEL, combine only
1864 destinations of SETs and set I2SRC to the I2 source.
1865 Adjust calls to propagate_for_debug throughout.
1866 * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
1869 2010-10-06 Olivier Hainque <hainque@adacore.com>
1871 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
1872 switch on insn codes as sequence of ifs.
1874 2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
1876 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
1877 be UI_NONE for picochip.
1878 (picochip_option_override): Do not disable exception flags.
1879 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
1882 2010-10-06 Richard Guenther <rguenther@suse.de>
1884 * Makefile.in (regmove.o): Depend on $(TARGET_H).
1886 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
1888 Implemented fast enumeration for Objective-C.
1889 * c-parser.c (objc_could_be_foreach_context): New.
1890 (c_lex_one_token): Recognize RID_IN keyword in a potential
1891 Objective-C foreach context.
1892 (c_parser_declaration_or_fndef): Added parameter. Accept
1893 Objective-C RID_IN keyword as terminating a declaration; in that
1894 case, return the declaration in the new parameter.
1895 (c_parser_extenral_declaration): Updated calls to
1896 c_parser_declaration_or_fndef.
1897 (c_parser_declaration_or_fndef): Same change.
1898 (c_parser_compound_statement_nostart): Same change.
1899 (c_parser_label): Same change.
1900 (c_parser_objc_methodprotolist): Same change.
1901 (c_parser_omp_for_loop): Same change.
1902 (c_parser_for_statement): Detect and parse Objective-C foreach
1904 (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
1905 * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
1906 fast enumeration parsing code to turn off the c99 error but still
1907 perform checks on the loop declarations.
1908 * c-tree.h (check_for_loop_decls): Updated declaration.
1909 * doc/objc.texi: Document fast enumeration.
1911 2010-10-06 Nick Clifton <nickc@redhat.com>
1913 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
1914 (MDR_REGNUM): Define.
1915 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
1916 (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
1917 (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
1918 (REGISTER_NAMES): Add MDR.
1919 (DWARF2_DEBUGGING_INFO): Define to 1.
1920 * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1921 (F): New function. Sets RTX_FRAME_RELATED_P.
1922 (mn10300_gen_multiple_store): Use F.
1923 (expand_prologue): Use F. Use gen_movsf() to push floating
1925 (expand_epilogue): Use gen_movsf() to pop floating point registers.
1926 (mn10300_option_override): Disable combine stack adjust pass.
1928 2010-10-06 Thomas Schwinge <thomas@schwinge.name>
1931 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
1932 LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
1934 2010-10-06 Jakub Jelinek <jakub@redhat.com>
1936 * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
1937 BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
1938 BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
1939 BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
1940 BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
1941 BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
1942 BUILT_IN_TOUPPER): Mark as leaf.
1945 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
1946 BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
1947 BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
1948 BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
1949 BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
1950 BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
1951 Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
1953 2010-10-05 Anatoly Sokolov <aesok@post.ru>
1955 * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
1956 * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
1957 (m68hc11_class_likely_spilled_p): New function.
1959 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
1961 * c-parser.c (c_parser_objc_method_definition): Updated comment.
1963 2010-10-05 Jan Hubicka <jh@suse.cz>
1965 * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
1967 * opts.c (decode_options): Handle lto partitions.
1968 * common.opt (flto-partition=1to1, flto-partition=balanced): New.
1969 * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
1971 2010-10-05 Jan Hubicka <jh@suse.cz>
1973 * cgraphunit.c (assemble_function): Output thunks and aliases before
1974 the function itself.
1976 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
1978 * config/picochip/picochip.c (picochip_option_override): Disable
1979 exception flags for picochip.
1981 2010-10-05 Joseph Myers <joseph@codesourcery.com>
1983 * opts-common.c (handle_option, handle_generated_option,
1984 read_cmdline_option, set_option): Add diagnostic_context
1985 parameter. Update calls among these functions.
1986 (set_option): Don't use global_dc.
1987 * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
1988 (decode_options): Pass global_dc to enable_warning_as_error.
1989 (common_handle_option): Pass global_dc to enable_warning_as_error.
1990 (enable_warning_as_error): Add diagnostic_context parameter.
1991 Document parameters. Don't use global_dc. Pass
1992 diagnostic_context parameter to handle_generated_option.
1993 * opts.h (set_option, handle_option, handle_generated_option,
1994 read_cmdline_option, enable_warning_as_error): Add
1995 diagnostic_context parameter.
1996 * Makefile.in (lto-opts.o): Update dependencies.
1997 * coretypes.h (struct diagnostic_context, diagnostic_context):
1999 * diagnostic.h (diagnostic_context): Don't declare typedef here.
2000 * gcc.c (process_command): Pass global_dc to read_cmdline_option.
2001 * langhooks-def.h (struct diagnostic_context): Don't declare here.
2002 (lhd_print_error_function, lhd_initialize_diagnostics): Declare
2003 using diagnostic_context typedef.
2004 * langhooks.c (lhd_initialize_diagnostics): Declare using
2005 diagnostic_context typedef.
2006 * langhooks.h (struct diagnostic_context): Don't declare here.
2007 (initialize_diagnostics, print_error_function): Declare using
2008 diagnostic_context typedef.
2009 * lto-opts.c: Include diagnostic.h.
2010 (lto_reissue_options): Pass global_dc to set_option. Pass
2011 DK_UNSPECIFIED not 0.
2012 * plugin.c (plugins_internal_error_function): Declare using
2013 diagnostic_context typedef.
2014 * plugin.h (struct diagnostic_context): Don't declare here.
2015 (plugins_internal_error_function): Declare using
2016 diagnostic_context typedef.
2018 2010-10-05 Olivier Hainque <hainque@adacore.com>
2019 Nicolas Roche <roche@adacore.com>
2021 * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
2022 * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
2024 2010-10-05 Ira Rosen <irar@il.ibm.com>
2026 PR tree-optimization/45752
2027 * tree-vect-slp.c (vect_get_mask_element): Remove static
2028 variables, make them function arguments.
2029 (vect_transform_slp_perm_load): Pass new arguments to
2030 vect_get_mask_element.
2032 2010-10-05 Richard Guenther <rguenther@suse.de>
2034 * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
2035 (gimple_mod_pow2): Likewise.
2036 (gimple_mod_subtract): Likewise.
2037 (gimple_ic): Likewise.
2038 (gimple_stringop_fixed_value): Likewise.
2039 * tree-profile.c (tree_init_edge_profiler): Mark profile
2040 functions nothrow and leaf.
2041 (add_abnormal_goto_call_edges): Remove.
2042 (tree_gen_edge_profiler): Work on SSA form.
2043 (tree_gen_ic_profiler): Likewise. Simplify.
2044 (do_tree_profiling): Update SSA form.
2045 (pass_tree_profile): Remove.
2046 (do_tree_profiling): Likewise.
2047 (gate_tree_profile_ipa): New function.
2048 (pass_ipa_tree_profile): New.
2049 (tree_profiling): Re-write as IPA pass. Properly drop const/pure
2050 state of instrumented functions.
2051 * passes.c (init_optimization_passes): Remove early non-SSA
2052 inlining. Move profiling after early optimizations.
2053 * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
2054 (pass_ipa_early_inline): Likewise.
2055 * tree-pass.h (pass_ipa_early_inline): Remove.
2056 (pass_tree_profile): Likewise.
2057 (pass_ipa_tree_profile): Declare.
2059 2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2060 Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
2062 * gcc/config/s390/s390.c (z196_cost): New.
2063 (s390_handle_arch_option): Add -march=z196.
2064 (s390_option_override): Use the new cost function and use the z10
2065 defaults also for z196.
2066 (legitimate_reload_constant_p): Adjust comment.
2067 (legitimate_reload_fp_constant_p): New function.
2068 (s390_preferred_reload_class): Distingiush between FP and Int constants.
2069 (preferred_la_operand_p): Avoid la with index on z196.
2070 (s390_adjust_priority): Trigger also for z196.
2071 (s390_issue_rate): Issue rate for z196 is 3.
2072 (s390_z10_fix_long_loop_prediction): Rename to ...
2073 (s390_fix_long_loop_prediction): ... this.
2074 (s390_reorg): Apply the z10 adjustments also for z196.
2075 (s390_loop_unroll_adjust): Do this also for z196.
2076 * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
2077 (enum processor_flags): Add PF_Z196.
2078 (TARGET_AVOID_CMP_AND_BRANCH): New macro.
2079 (TARGET_CPU_Z196, TARGET_Z196): New macros.
2080 * gcc/config.gcc: Enable z196 for --with-arch.
2081 * gcc/config/s390/2817.md: New file.
2082 * gcc/config/s390/2084.md: New type for multiply and add.
2083 * gcc/config/s390/2097.md: Likewise.
2084 * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
2085 (UNSPECV_ATOMIC_OP): New constants.
2086 (fmadddf, fmaddsf): New values for type attribute.
2087 (z196prop): New insn attribute.
2088 (cpu, cpu_facility): Add z196.
2089 (ATOMIC_Z196): New code iterator.
2090 (noxa): New code attribute.
2091 (gk): New mode attribute.
2092 (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
2093 Support load zero for fp constants.
2094 (fixuns_truncdddi2, fixuns_trunctddi2)
2095 (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
2097 (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
2098 (popcounthi2, popcountqi2): New expander.
2099 (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
2100 (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
2101 (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
2103 (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
2104 (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
2105 (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
2106 (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
2107 (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
2108 (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
2109 (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
2110 (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
2111 (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
2112 (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
2113 (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
2114 (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
2115 (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
2116 Support new z196 instructions.
2118 2010-10-05 Richard Guenther <rguenther@suse.de>
2121 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
2122 case where gimplification optimizes away the stmt.
2124 2010-10-04 Jakub Jelinek <jakub@redhat.com>
2127 * var-tracking.c (strip_pointer_flags): New function.
2128 (emit_note_insn_var_location): If rtx_equal_p check failed,
2129 retry on locations simplified with simplify_replace_fn_rtx
2130 and strip_pointer_flags as its callback.
2132 2010-10-04 Jan Hubicka <jh@suse.cz>
2134 * gimple-fold.c (static_object_in_other_unit_p): Rename to...
2135 (can_refer_decl_in_current_unit_p): ... this one; reverse return
2136 value; handle comdats too.
2137 (canonicalize_constructor_val): Use it; handle function_decls
2139 (gimple_fold_obj_type_ref_known_binfo): Likewise.
2140 * gimple.c (get_base_address): Accept all kinds of decls.
2142 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2144 * flags.h (g_switch_value, g_switch_set): Remove.
2145 * opts.c (g_switch_value, g_switch_set): Remove.
2146 * config/g.opt (G): Add Var(g_switch_value).
2147 * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
2148 (alpha_option_override): Check global_options_set.x_g_switch_value
2149 instead of g_switch_set.
2150 (alpha_in_small_data_p): Remove cast in comparison with
2152 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2153 g_switch_value to unsigned HOST_WIDE_INT.
2154 * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
2155 with g_switch_value.
2156 (frv_handle_option): Don't handle -G here.
2157 (frv_option_override): Check global_options_set.x_g_switch_value
2158 instead of g_switch_set. Don't modify g_switch_set.
2159 (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
2160 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
2161 g_switch_value to unsigned HOST_WIDE_INT.
2162 * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
2163 (ia64_option_override): Check global_options_set.x_g_switch_value
2164 instead of g_switch_set.
2165 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
2167 (lm32_in_small_data_p): Remove cast in comparison with
2169 * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
2170 ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
2172 * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
2173 (m32r_init): Check global_options_set.x_g_switch_value instead of
2175 (m32r_in_small_data_p): Remove cast in comparison with
2177 (m32r_file_start): Format g_switch_value with %d.
2178 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
2179 ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
2180 * config/microblaze/microblaze.c (microblaze_handle_option): Don't
2182 (microblaze_option_override): Check
2183 global_options_set.x_g_switch_value instead of g_switch_set.
2184 * config/mips/mips.c (mips_handle_option): Don't handle -G here.
2185 (mips_option_override): Check global_options_set.x_g_switch_value
2186 instead of g_switch_set.
2187 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
2188 (rs6000_file_start): Format g_switch_value with %d.
2189 (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
2190 comparisons with g_switch_value.
2191 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
2192 global_options_set.x_g_switch_value instead of g_switch_set.
2193 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2194 global_options_set.x_g_switch_value instead of g_switch_set.
2195 * config/score/score.c (score_handle_option): Don't handle -G here.
2196 * config/score/score3.c (score3_option_override): Check
2197 global_options_set.x_g_switch_value instead of g_switch_set.
2198 * config/score/score7.c (score7_option_override): Check
2199 global_options_set.x_g_switch_value instead of g_switch_set.
2201 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
2203 * common.opt (fira-coalesce): Remove.
2205 * doc/invoke.texi (flag_ira_coalesce): Remove.
2207 * ira-color.c (allocno_coalesced_p): Move before
2208 copy_freq_compare_func.
2209 processed_coalesced_allocno_bitmap): Ditto.
2210 (update_conflict_hard_regno_costs): Don't use
2211 ALLOCNO_FIRST_COALESCED_ALLOCNO.
2212 (allocno_cost_compare_func, print_coalesced_allocno): Remove.
2213 (assign_hard_reg): Assume no coalesced allocnos.
2214 (get_coalesced_allocnos_attributes): Remove.
2215 (bucket_allocno_compare_func): Assume no coalesced allocnos.
2216 (push_allocno_to_stack): Ditto.
2217 (remove_allocno_from_bucket_and_push): Use
2218 ira_print_expanded_allocno instead of print_coalesced_allocno.
2219 (push_allocnos_to_stack): Assume uncoalesced allocnos.
2220 (all_conflicting_hard_regs_coalesced): Ditto. Rename to
2221 all_conflicting_hard_regs.
2222 (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
2223 (setup_allocno_left_conflicts_size): Ditto.
2224 (put_allocno_into_bucket): Ditto.
2225 (copy_freq_compare_func): Remove.
2226 (copy_freq_compare_func, merge_allocnos): Move before
2227 coalesced_pseudo_reg_freq_compare.
2228 coalesced_allocno_conflict_p): Ditto.
2229 (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
2230 parameter. Assume it true.
2231 (color_allocnos): Assume uncoalesced allocnos. Use
2232 ira_print_expanded_allocno instead of print_coalesced_allocno.
2233 (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
2236 * ira.c: Remove comment about coalescing.
2238 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2240 * config/mips/mips.h (target_flags_explicit): Declare for
2243 2010-10-04 Andi Kleen <ak@linux.intel.com>
2245 * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
2246 gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
2248 2010-10-04 Matthias Klose <doko@ubuntu.com>
2250 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
2251 multilib osdirname if it exists.
2252 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
2254 2010-10-04 Jakub Jelinek <jakub@redhat.com>
2257 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
2258 arg0's type or its unsigned counterpart as utype. Convert
2259 arg1 to utype unconditionally.
2261 2010-10-04 Julian Brown <julian@codesourcery.com>
2263 * expr.c (expand_assignment): Add assertion to prevent emitting
2264 null rtx for movmisalign pattern.
2265 (expand_expr_real_1): Likewise.
2266 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
2267 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
2268 (arm_vector_alignment_reachable): New.
2269 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
2270 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
2271 (arm_print_operand): Include alignment qualifier in %A.
2272 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
2273 (movmisalign<mode>): New expander.
2274 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
2277 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2279 * optc-gen.awk: Define global_options_set. Don't define
2280 target_flags_explicit.
2281 * opth-gen.awk: Declare global_options_set. Define
2282 target_flags_explicit as macro.
2283 * opts-common.c (handle_option): Take opts_set and generated_p
2285 (handle_generated_option, read_cmdline_option, set_option): Take
2287 (set_option): Use opts_set instead of hardcoding target_flags and
2288 target_flags_explicit.
2289 * opts.c (sel_sched_switch_set, profile_arc_flag_set,
2290 flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
2291 flag_value_profile_transformations_set, flag_peel_loops_set,
2292 flag_branch_probabilities_set, flag_inline_functions_set,
2293 flag_ipa_cp_set, flag_ipa_cp_clone_set,
2294 flag_predictive_commoning_set, flag_unswitch_loops_set,
2295 flag_gcse_after_reload_set): Remove.
2296 (common_handle_option, lang_handle_option, target_handle_option):
2297 Take opts_set parameter. Assert that it is &global_options_set.
2298 (common_handle_option): Don't set _set variables. Check opts_set
2299 instead of such variables.
2300 (enable_warning_as_error): Pass &global_options_set to
2301 handle_generated_option.
2302 * opts.h (cl_option_handler_func.handler, set_option,
2303 handle_option, handle_generated_option, read_cmdline_option): Add
2304 opts_set parameters.
2305 (handle_option): Add generated_p parameter.
2306 * config/i386/i386.c (ix86_function_specific_save,
2307 ix86_function_specific_restore): Updat for renaming of
2308 target_flags_explicit field.
2309 * config/i386/i386.opt (target_flags_explicit): Rename to
2310 ix86_target_flags_explicit.
2311 * config/ia64/ia64.c (ia64_override_options_after_change): Check
2312 global_options_set.x_flag_selective_scheduling and
2313 global_options_set.x_flag_selective_scheduling2, not
2314 sel_sched_switch_set.
2315 * flags.h (sel_sched_switch_set,
2316 flag_speculative_prefetching_set): Remove.
2317 * gcc.c (driver_handle_option): Take opts_set parameter. Assert
2318 that it is &global_options_set.
2319 (process_command): Pass &global_options_set to read_cmdline_option.
2320 * lto-opts.c (lto_reissue_options): Pass &global_options_set to
2322 * toplev.c (target_flags_explicit): Remove.
2324 2010-10-04 Jan Hubicka <jh@suse.cz>
2327 * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
2328 use get_ref_base_and_offset to handle references.
2329 (fold_const_aggregate_ref): Update.
2331 2010-10-04 Martin Jambor <mjambor@suse.cz>
2333 PR tree-optimization/45572
2334 * ipa-prop.c (ipa_make_edge_direct_to_target): Call
2335 ipa_check_create_node_params.
2336 * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
2338 2010-10-04 Yao Qi <yao@codesourcery.com>
2340 * doc/passes.texi: Clean up.
2342 2010-10-03 Ian Lance Taylor <iant@google.com>
2344 * c-typeck.c (lookup_field): If -fplan9-extensions, permit
2345 referring to a field using a typedef name.
2346 (find_anonymous_field_with_type): New static function.
2347 (convert_to_anonymous_field): New static function.
2348 (convert_for_assignment): If -fplan9-extensions, permit converting
2349 pointer to struct to pointer to anonymous field.
2350 * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
2351 (is_duplicate_field): New static function.
2352 (detect_field_duplicates_hash): If -fplan9-extensions, check for
2353 typedef names duplicating field names.
2354 (detect_field_duplicates): Likewise.
2355 * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
2356 (C Dialect Options): Document -fplan9-extensions.
2357 * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
2359 2010-10-03 H.J. Lu <hongjiu.lu@intel.com>
2361 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
2363 (vect_create_data_ref_ptr): Likewise.
2364 * tree-vect-stmts.c (vectorizable_store): Likewise.
2365 (perm_mask_for_reverse): Likewise.
2366 (reverse_vec_elements): Likewise.
2367 (vectorizable_load): Likewise.
2369 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2371 * cppbuiltin.c: New file.
2372 * cppbuiltin.h: New file.
2373 * Makefile.in: Take into account cppbuiltin.{h,c}.
2375 2010-10-03 Andi Kleen <ak@linux.intel.com>
2377 * lto-cgraph.c (input_cgraph): Check for missing sections.
2379 2010-10-03 Uros Bizjak <ubizjak@gmail.com>
2381 * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
2382 to nonimmediate_operand. Force operand 2 to register when allowed.
2383 (*<shiftrt_insn><mode>3_mask): Ditto.
2384 (*<rotate_insn><mode>3_mask): Ditto.
2386 2010-10-02 H.J. Lu <hongjiu.lu@intel.com>
2388 PR tree-optimization/45720
2389 PR tree-optimization/45764
2390 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
2391 Don't accept backwards consecutive accesses.
2392 (vect_create_data_ref_ptr): Disallow negative steps.
2394 * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
2395 (perm_mask_for_reverse): Removed.
2396 (reverse_vec_elements): Likewise.
2397 (vectorizable_load): Don't handle negative steps.
2399 2010-10-02 Jan Hubicka <jh@suse.cz>
2401 * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
2402 call destination is known.
2404 2010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2407 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
2410 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2412 * doc/install.texi (Configuration): Document build_configargs,
2413 host_configargs, target_configargs.
2415 2010-10-01 Uros Bizjak <ubizjak@gmail.com>
2417 * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
2418 (*<shiftrt_insn><mode>3_mask): Ditto.
2419 (*<rotate_insn><mode>3_mask): Ditto.
2421 2010-10-01 Steve Ellcey <sje@cup.hp.com>
2423 PR tree-optimization/44716
2424 * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
2425 (HOT_TEXT_SECTION_NAME): Define.
2427 2010-10-01 Nick Clifton <nickc@redhat.com>
2429 * common.opt: Add -fcombine-stack-adjustments.
2430 * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
2431 * combine-stack-adj.c (gate_handle_stack_adjustments): Check
2432 flag_combine_stack_adjustments.
2433 * doc/invoke.texi: Document the new option.
2435 2010-10-01 Richard Guenther <rguenther@suse.de>
2437 PR tree-optimization/45854
2438 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
2440 2010-10-01 Anthony Green <green@moxielogic.com>
2442 * config.gcc: Fix moxie-*-rtems* configuration.
2444 2010-10-01 Richard Guenther <rguenther@suse.de>
2446 * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
2447 (gen_decl_die): Likewise.
2449 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2451 * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
2452 to the function code for SPU MD builtins.
2453 (spu_expand_builtin): Update.
2454 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
2456 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2458 * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
2459 sjlj_except_unwind_info.
2461 2010-10-01 Tristan Gingold <gingold@adacore.com>
2463 * configure.ac: Define the nop insn for avr*-*-*
2464 * configure: Regenerate.
2466 2010-10-01 Alan Modra <amodra@gmail.com>
2469 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
2470 extend toc_restore_insn.
2472 2010-09-30 Richard Guenther <rguenther@suse.de>
2474 PR tree-optimization/43959
2475 * function.c (gimplify_parameters): Use create_tmp_reg instead of
2478 2010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
2480 * config/sh/sh.c (sh_expand_prologue): Set
2481 current_function_static_stack_size.
2483 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2485 * configure.ac: Check for Solaris 8 ld with .hidden support.
2486 * configure: Regenerate.
2488 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2491 * graphite.c (graphite_initialize): Call scev_reset.
2493 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2495 * sese.h (scev_analyzable_p): Return false for real or floating
2496 point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
2498 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2500 * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
2502 * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
2504 * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
2505 Do not allocate ub_expr, it is passed in initialized.
2507 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2509 * graphite-clast-to-gimple.c (init_cloog_input_file): New.
2510 (build_cloog_prog): Dump CLooG input file when
2511 flag_graphite_dump_cloog is set. This is disabled on trunk.
2512 * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
2514 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2516 * graphite-clast-to-gimple.c (graphite_verify): Remove call to
2517 verify_dominators for CDI_POST_DOMINATORS.
2518 * sese.h: Remove comment about CDI_POST_DOMINATORS.
2519 (recompute_all_dominators): Remove call to free_dominance_info
2520 for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
2521 for CDI_POST_DOMINATORS.
2523 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2525 * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
2526 over pbb_dim_iter_domain.
2528 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2530 * graphite-flattening.c: Fix comments.
2532 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2534 * Makefile.in (OBJS-common): Add graphite-flattening.o.
2535 (graphite-flattening.o): New rule.
2536 * common.opt (floop-flatten): New flag.
2537 * doc/invoke.texi (-floop-flatten): Documented.
2538 * graphite-flattening.c: New.
2539 * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
2540 * graphite-poly.h (flatten_all_loops): Declared.
2541 (lst_remove_loop_and_inline_stmts_in_loop_father): New.
2542 * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
2543 is set, also set flag_graphite.
2545 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2547 * graphite-poly.c (cloog_checksum): New.
2548 * graphite-poly.h (cloog_checksum): Declared.
2550 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2552 * graphite-poly.c (pbb_number_of_iterations): Removed.
2553 (pbb_number_of_iterations_at_time): Correctly compute the number
2554 of iterations in the transformed loop.
2555 * graphite-poly.h (pbb_number_of_iterations): Removed.
2557 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2559 * graphite-poly.h (lst_update_scattering_seq): Removed.
2560 (lst_update_scattering): Correctly handle outermost loop dewey
2563 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2565 * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
2566 lst_strip_mine_profitable_p. Call lst_niter_for_loop.
2567 * graphite-poly.h (lst_niter_for_loop): New.
2569 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2571 * graphite-poly.c (apply_poly_transforms): Do not abort when the
2572 transform read from disk is not legal. Call fatal_error instead.
2574 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2576 * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
2577 (print_scop_header): Removed. Inlined in the only call place...
2578 (print_scop): ... here.
2580 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2582 * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
2584 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2586 * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
2588 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2590 * graphite-dependences.c (dot_deps): Avoid set but not used warning.
2591 (dot_deps_stmt): Same.
2592 * graphite-poly.c (dot_lst): Same.
2594 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2596 * graphite-blocking.c (scop_do_strip_mine): Do not call
2597 graphite_legal_transform.
2598 (scop_do_block): Same.
2600 2010-09-30 Vladimir Kargov <kargov@gmail.com>
2602 * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
2605 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2607 * tree-scalar-evolution.c (instantiate_array_ref): New.
2608 (instantiate_scev_r): Also handle ARRAY_REFs.
2610 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2612 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
2613 Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
2614 RESULT_DECL, and FIELD_DECL. Return false for an
2615 SSA_NAME_IS_DEFAULT_DEF.
2616 (compute_scalar_evolution_in_loop): Do not further analyze the
2617 scalar evolution when no_evolution_in_loop_p returns true.
2619 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2621 * tree-chrec.h (evolution_function_is_affine_p): Do not check
2622 whether CHREC_LEFT is invariant. A function is affine when
2623 CHREC_RIGHT is invariant.
2625 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2627 * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
2629 (rewrite_degenerate_phi): Same.
2630 (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
2632 2010-09-30 Vladimir Kargov <kargov@gmail.com>
2634 * graphite-scop-detection.c (graphite_can_represent_scev,
2635 graphite_can_represent_expr, stmt_has_simple_data_refs_p,
2636 graphite_can_represent_loop): Remove outermost_loop.
2638 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2641 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
2642 handle GIMPLE_CALLs with no LHS.
2644 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2646 * graphite-poly.c (init_graphite_out_file): New.
2647 (init_graphite_in_file): New.
2648 (apply_poly_transforms): Updated to enable reading and writing of
2649 multiple scop files.
2651 2010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
2653 * graphite-scop-detection.c (graphite_can_represent_scev): Remove
2656 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2658 * graphite-clast-to-gimple.c (precision_for_value): Adjust
2659 computation of precision by 1.
2661 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2663 * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
2664 (openscop_read_polyhedron_matrix): New.
2665 * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
2666 (openscop_read_N_int): Same.
2667 * graphite-poly.c (openscop_read_N_int): New.
2668 (openscop_read_one_int): New.
2669 (openscop_read_N_string): New.
2670 (openscop_read_one_string): New.
2671 (openscop_read_powerset_matrix): New.
2672 (graphite_read_transforms): Remove.
2673 (graphite_read_scatt): New.
2674 (graphite_read_scop_file): New.
2675 (apply_poly_transforms): Updated to call graphite_read_scop_file.
2677 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2679 * graphite-poly.c: Change include order.
2681 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2683 * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
2684 (cloog_matrix_nrows): New.
2686 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2688 * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
2690 * graphite-poly.c (openscop_print_scattering_function_1): Same.
2691 (print_scattering_function_1): Same.
2692 (openscop_print_pbb_domain): Same.
2693 (openscop_print_scop_context): Same.
2694 (print_scop_context): Same.
2696 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2698 * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
2699 (openscop_print_pdr_polyhedron): Print pph.
2701 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2703 * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
2704 priority signed types.
2706 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2708 * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
2709 the call to lang_hooks.types.type_for_size. Call
2710 build_nonstandard_integer_type.
2712 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2714 * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
2715 (openscop_print_polyhedron_matrix): New.
2716 * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
2717 * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
2718 (openscop_print_pdr_powerset): New.
2719 (openscop_print_powerset_matrix): New.
2720 (openscop_print_scattering_function_1): New.
2721 (print_scattering_function): Add support for scattering names and
2723 (graphite_write_transforms): Remove.
2724 (print_pdr_access_layout): Updated to support OpenScop format.
2726 (openscop_print_pbb_domain): New.
2727 (print_pbb_body): Added a parameter to allow indicating that pbb_body
2729 (print_pbb): Updated to call the new print_pbb_body.
2730 (openscop_print_scop_context): New.
2731 (print_scop_header): New.
2732 (print_scop): Updated to call print_scop_header.
2733 * graphite-poly.h: Document OpenScop format.
2735 2010-09-30 Anatoly Sokolov <aesok@post.ru>
2737 * config/cris/m32c.c (cris_memory_move_cost): New.
2738 (cris_register_move_cost): Make static. Change arguments type from
2739 enum reg_class to reg_class_t.
2740 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2741 * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2742 * config/cris/cris-protos.h (cris_register_move_cost): Remove.
2744 2010-09-30 Jakub Jelinek <jakub@redhat.com>
2747 * config/i386/i386.c (ix86_gimplify_va_arg): Use
2748 INTVAL (XEXP (slot, 1)) as prev_size.
2750 2010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
2753 * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
2754 * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
2756 * config/rs6000/option-defaults.h (toplevel): Change #if
2757 TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
2758 global option changes.
2760 2010-09-30 Jakub Jelinek <jakub@redhat.com>
2762 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
2764 PR tree-optimization/31261
2765 * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
2766 for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
2768 2010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2771 * Makefile.in (build/gen%$(build_exeext)): Move rule after all
2772 special-casing for generators and turn into ...
2773 ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
2774 rule, for better error messages in case of toplevel dependency errors.
2775 (genprog): Add hooks, rename to ...
2776 (genprogerr): ... this, and let genprog also contain check,
2778 ((genprog:%=build/gen%$(build_exeext))): Rename to ...
2779 ((genprogerr:%=build/gen%$(build_exeext))): ... this.
2780 (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
2782 2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
2783 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2785 * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
2786 for GMP, MPFR and MPC.
2788 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2790 * config/sparc/sparc.opt (mimpure-text): Move ...
2791 * config/sol2.opt: ... here. Correct description.
2792 * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
2793 * doc/invoke.texi (Option Summary, SPARC Options): Move
2794 -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
2795 (Option Summary, Solaris 2 Options): ... here.
2796 (Submodel Options, Solaris 2 Options): New menu entry.
2797 (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
2798 (Solaris 2 Options): ... here.
2800 2010-09-30 Michael Eager <eager@eagercon.com>
2802 * extend.texi (interrupt_handler): Add MicroBlaze to list.
2803 (save_volatiles): Describe option for MicroBlaze.
2804 * invoke.texi: Add MicroBlaze Options.
2805 * contrib.texi: Add acknowledgment.
2806 * md.texi: Add MicroBlaze d and z constraints.
2807 * install.texi: Add microblaze-*-elf.
2808 * configure.ac: Add microblaze-*-* to target list.
2809 * configure: Regenerate.
2810 * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
2811 * config/microblaze/microblaze-protos.h: New.
2812 * config/microblaze/crti.s: New.
2813 * config/microblaze/predicates.md: New.
2814 * config/microblaze/linux.h: New.
2815 * config/microblaze/microblaze.md: New.
2816 * config/microblaze/constraints.md: New.
2817 * config/microblaze/crtn.s: New.
2818 * config/microblaze/microblaze.opt: New.
2819 * config/microblaze/microblaze-c.c: New.
2820 * config/microblaze/t-microblaze: New.
2821 * config/microblaze/microblaze.c: New.
2822 * config/microblaze/microblaze.h: New.
2824 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
2826 * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
2827 parse @optional/@required and set the flags as appropriate.
2829 2010-09-30 Nathan Froyd <froydnj@codesourcery.com>
2831 * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
2833 2010-09-30 Joseph Myers <joseph@codesourcery.com>
2835 * opt-functions.awk (static_var): Update comment.
2836 (var_ref): Return offsetof expression or -1, not variable address.
2837 * optc-gen.awk: Generate structure field initializers instead of
2838 static variables. Expect -1 for missing variables instead of null
2839 pointer. Add gcc_options parameters to generated functions.
2840 * opth-gen.awk: Generate structure fields for static variables.
2841 Add gcc_options parameters to generated functions.
2842 * common.opt (optimize, optimize_size): Add variables.
2843 * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
2844 &global_options to cl_target_option_restore.
2845 * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
2846 &global_options to cl_optimization_restore, cl_target_option_save
2847 and cl_target_option_restore.
2848 (ix86_set_current_function): Pass &global_options to
2849 cl_target_option_restore.
2850 * config/pdp11/pdp11.h (optimize): Remove.
2851 * config/rs6000/rs6000.h (optimize): Remove.
2852 * config/sh/sh.h (optimize): Remove.
2853 * config/xtensa/xtensa.h (optimize): Remove.
2854 * coretypes.h (struct gcc_options): Declare.
2855 * diagnostic.c (diagnostic_initialize): Initialize
2856 context->option_state.
2857 (diagnostic_report_diagnostic): Pass option_state to
2858 option_enabled hook.
2859 * diagnostic.h (diagnostic_context.option_enabled): Add void *
2861 (diagnostic_context.option_state): New field.
2862 * final.c (final_start_function, final, final_scan_insn): Rename
2863 optimize parameter to optimize_p.
2864 * flags.h (optimize, optimize_size): Remove.
2865 * function.c (invoke_set_current_function_hook): Pass
2866 &global_options to cl_optimization_restore.
2867 * gcc.c (driver_handle_option): Take gcc_options parameter.
2868 Assert that it is &global_options.
2869 (process_command): Pass &global_options to read_cmdline_option.
2870 * ipa-pure-const.c (suggest_attribute): Pass &global_options to
2872 * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
2873 &global_options to set_option.
2874 * opts-common.c (handle_option, handle_generated_option,
2875 read_cmdline_option, set_option): Take explicit gcc_options
2876 parameters. Use option_flag_var.
2877 (option_flag_var): New.
2878 * opts.c (common_handle_option, lang_handle_option,
2879 target_handle_option): Take gcc_options parameter. Assert that it
2881 (read_cmdline_options): Pass &global_options to read_cmdline_option.
2882 (print_filtered_help): Use option_flag_var. Pass &global_options
2884 (common_handle_option): Use option_flag_var.
2885 (option_enabled): Take opts parameter. Use option_flag_var.
2886 (get_option_state): Take gcc_options parameter. Use
2887 option_flag_var. Pass gcc_options parameter to option_enabled.
2888 (enable_warning_as_error): Pass &global_options to
2889 handle_generated_option.
2890 * opts.h (struct cl_option): Change flag_var to flag_var_offset.
2891 (cl_option_handler_func.handler): Take gcc_options parameter.
2892 (option_enabled, get_option_state, set_option, handle_option,
2893 handle_generated_option, read_cmdline_option): Take gcc_options
2895 * toplev.c (optimize, optimize_size): Remove.
2896 (print_switch_values): Pass &global_options to option_enabled.
2897 (option_affects_pch_p): Use option_flag_var. Pass &global_options
2898 to get_option_state.
2899 (general_init): Initialize global_dc->option_state.
2900 * tree.c (build_optimization_node): Pass &global_options to
2901 cl_optimization_save.
2902 (build_target_option_node): Pass &global_options to
2903 cl_target_option_save.
2905 2010-09-30 Martin Jambor <mjambor@suse.cz>
2907 * tree-sra.c (type_consists_of_records_p): Do not check for trailing
2908 zero sized bit-fields.
2910 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
2912 * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
2913 Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
2914 (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
2915 (c_parser_objc_class_declaration): Same change.
2916 (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
2917 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
2918 (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
2919 instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
2920 and RID_AT_PUBLIC instead of RID_PUBLIC.
2921 (c_parser_statement_after_labels): Use RID_AT_TRY instead of
2922 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
2924 2010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
2926 * doc/install.texi (Binaries): Update link to HP-UX porting centre.
2927 Add links to current providers of packages for Solaris and IRIX.
2929 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
2931 Merge from 'apple/trunk' branch on FSF servers.
2932 * c-parser.c: Applied change originally in c-parse.in.
2934 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
2937 * c-decl.c (start_decl): Check for redeclaration of class name.
2938 * c-parse.in (after_type_declarator): Recognize CLASSNAME.
2940 2010-09-29 Steve Ellcey <sje@cup.hp.com>
2942 * config/ia64/ia64.c (ia64_builtin_decl): New.
2943 (TARGET_BUILTIN_DECL): Define.
2944 (ia64_builtins): New.
2945 (ia64_init_builtins): Save decls in ia64_builtins.
2947 2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
2950 * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
2951 (move2add_use_add3_insn): Likewise.
2952 (reload_cse_move2add): Likewise.
2953 * rtlanal.c (get_full_rtx_cost): New function.
2954 * rtl.h (struct full_rtx_costs): New.
2955 (init_costs_to_max, init_costs_to_zero, costs_lt_p,
2956 costs_add_n_insns): New inline functions.
2957 (get_full_rtx_cost): Declare.
2960 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
2961 invariants. Check for reg_equiv_invariant.
2962 (reload): Assert that spilled_pseudos is empty when returning.
2964 2010-09-29 Kai Tietz <kai.tietz@onevision.com>
2966 * config/i386/mingw32.h (TARGET_64BIT): replaced by
2967 TARGET_64BIT_DEFAULT in #if check.
2969 2010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
2971 * varasm.c (assemble_alias): Add error message for unsupported ifunc.
2973 2010-09-29 Mike Stump <mikestump@comcast.net>
2975 * config/darwin.h (flag_mkernel): Remove.
2976 (flag_apple_kext): Likewise.
2978 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2979 Jack Howarth <howarth@bromo.med.uc.edu>
2981 * config/darwin.opt (undefined): Add.
2983 2010-09-29 Nathan Sidwell <nathan@codesourcery.com>
2986 * configure.ac: Add --enable-indirect-function option.
2987 * config.gcc: Add default_gnu_indirect_function.
2988 * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
2989 (HAVE_GNU_INDIRECT_FUNCTION): ... this.
2990 * varasm.c (do_assemble_alias): Adjust for macro name change.
2991 * configure: Rebuilt.
2992 * doc/install.texi: Document --enable-indirect-function.
2994 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2996 * doc/options.texi (Variable, Var, Init): Update documentation
2997 without reference to VarExists.
2998 (VarExists): Remove.
2999 * common.opt, config/i386/i386.opt, config/linux.opt,
3000 config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
3001 Don't use VarExists.
3003 2010-09-29 Joseph Myers <joseph@codesourcery.com>
3005 * optc-gen.awk: Generate global_options initializer instead of
3006 individual variables. Add x_ prefix to names of structure members.
3007 * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
3008 names of structure members.
3009 * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3010 HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
3011 * doc/tm.texi: Regenerate.
3012 * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3013 * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
3014 * c-parser.c (disable_extension_diagnostics,
3015 restore_extension_diagnostics): Update names of cpp_options members.
3016 * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3017 * common.opt (fcompare-debug-second): Don't use Var.
3018 * config/alpha/alpha.h (target_flags): Remove.
3019 * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3020 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
3021 * config/bfin/bfin.h (target_flags): Remove.
3022 * config/cris/cris.h (target_flags): Remove.
3023 * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
3024 cl_target_option members.
3025 * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
3026 (ix86_function_specific_print, ix86_valid_target_attribute_tree,
3027 ix86_can_inline_p): Update names of cl_target_option members.
3028 * config/i386/i386.h (ix86_isa_flags): Remove.
3029 * config/lm32/lm32.h (target_flags): Remove.
3030 * config/mcore/mcore.h (mcore_stack_increment): Remove.
3031 * config/mcore/mcore.md (addsi3): Remove extern declaration of
3032 flag_omit_frame_pointer.
3033 * config/mep/mep.h (target_flags): Remove.
3034 * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3035 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
3036 * config/mmix/mmix.h (target_flags): Remove.
3037 * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
3038 flag_expensive_optimizations): Remove.
3039 * config/s390/s390.h (flag_pic): Remove.
3040 * config/score/score-conv.h (target_flags): Remove.
3041 * config/sh/sh.h (sh_fixed_range_str): Remove.
3042 * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
3043 * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
3044 * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3045 * diagnostic.c (diagnostic_initialize): Update names of
3046 diagnostic_context members.
3047 * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
3048 warn_system_headers.
3049 (diagnostic_report_warnings_p): Update for new names.
3050 * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
3051 * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
3052 HARD_FRAME_POINTER_IS_ARG_POINTER.
3053 * flags.h (flag_compare_debug): Declare.
3054 * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3055 * opts.c (flag_compare_debug): Define.
3056 (common_handle_option): Update names of diagnostic_context
3057 members. Handle -fcompare-debug-second.
3058 (fast_math_flags_struct_set_p): Update names of cl_optimization
3060 * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3061 * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3062 * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3063 * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3064 * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3065 * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3066 HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
3067 * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3068 * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
3070 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
3072 * config/picochip/picochip.c (picochip_output_internal_label):
3073 This function can now be called for debug CFI labels, which can come
3074 in the middle of a vliw instruction. Postpone until end of vliw.
3076 2010-09-29 Richard Guenther <rguenther@suse.de>
3078 * tree.h (SCOPE_FILE_SCOPE_P): New macro.
3079 (DECL_FILE_SCOPE_P): Use it.
3080 (TYPE_FILE_SCOPE_P): New macro.
3082 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3084 * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
3085 a CPP_NAME which is a reserved word, clearly separate cases for
3086 OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
3088 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3090 * c-parser.c (c_lex_one_token): In Objective-C, do not replace
3091 token->value with the canonical spelling. Do exactly like C and
3092 C++ and leave it as it is.
3094 2010-09-28 Richard Henderson <rth@redhat.com>
3096 * config/alpha/alpha.c (alpha_builtins): New.
3097 (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
3098 (alpha_builtin_function): New.
3099 (alpha_add_builtins, alpha_init_builtins): Use it.
3101 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
3103 * doc/standards.texi (Standards): Expanded the section on
3104 Objective-C and Objective-C++.
3106 2010-09-28 DJ Delorie <dj@redhat.com>
3109 * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
3112 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3114 * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
3115 attributes on methods.
3116 (c_parser_objc_method_definition): Handle attributes.
3117 (c_parser_objc_methodproto): Likewise.
3118 (c_parser_objc_maybe_method_attributes): New.
3119 (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
3120 missing definition, similar to that in ObjC++.
3122 2010-09-28 Richard Henderson <rth@redhat.com>
3124 * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
3125 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3126 (CONFIG_SJLJ_EXCEPTIONS): Remove.
3127 (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
3128 (STACK_CHECK_PROTECT): Likewise.
3129 * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
3130 (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
3131 (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
3132 (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
3133 (dwarf2out_assembly_start): Likewise.
3134 * except.c (init_eh): Use targetm.except_unwind_info.
3135 (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
3136 (output_one_function_exception_table): Likewise.
3137 * final.c: Unconditionally include dwarf2out.h.
3138 (final_start_function): Unconditionally call dwarf2out routines.
3139 (final_end_function, final_scan_insn): Likewise.
3140 * function.c (expand_function_end): Use targetm.except_unwind_info.
3141 * opts.c (decode_options): Use targetm.except_unwind_info.
3142 * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
3143 * target.def (debug_unwind_info, except_unwind_info): New.
3144 * target.h (enum unwind_info_type): New.
3145 * targhooks.c (default_debug_unwind_info): New.
3146 (default_except_unwind_info): New.
3147 (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
3148 * targhooks.h: Declare them.
3149 * tree-tailcall.c: Include "target.h"
3150 (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
3151 * Makefile.in (tree-tailcall.o): Update.
3152 * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
3153 (lhd_gcc_personality): Likewise.
3155 * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
3156 (TARGET_EXCEPT_UNWIND_INFO): New.
3157 (DWARF2_UNWIND_INFO): Update.
3158 (TARGET_DEBUG_UNWIND_INFO): New.
3159 * doc/tm.texi: Rebuild.
3161 * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
3162 targetm.except_unwind_info.
3164 * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
3165 (arm_except_unwind_info): New.
3166 (arm_compute_func_type): Use it.
3167 (arm_expand_prologue, thumb_pushpop): Likewise.
3168 (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
3169 (arm_unwind_emit, arm_output_fn_unwind): Likewise.
3170 * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
3171 * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
3172 (DWARF2_UNWIND_INFO): Remove.
3173 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3174 (ARM_EABI_UNWIND_TABLES): Remove.
3176 * config/ia64/ia64.c (ia64_debug_unwind_info): New.
3177 (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
3178 (ia64_except_unwind_info): New.
3179 (ia64_output_function_prologue): Use it.
3180 (ia64_add_bundle_selector_before): Likewise.
3181 (ia64_reorg, ia64_asm_unwind_emit): Likewise.
3182 * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
3183 (TARGET_UNWIND_INFO): Remove.
3185 * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
3187 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3189 * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
3190 (c_parser_objc_protocol_definition): Likewise.
3191 (c_parser_external_declaration): Provide dummy attribute arguments.
3192 (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
3193 (c_parser_objc_class_definition): Handle attributes.
3194 (c_parser_objc_protocol_definition): Likewise.
3196 2010-09-28 Tobias Burnus <burnus@net-b.de>
3200 * toplev.h (save_decoded_options, save_decoded_options_count):
3201 New global variables.
3202 * toplev.c (save_decoded_options, save_decoded_options_count):
3205 2010-09-28 Ian Lance Taylor <iant@google.com>
3207 * config/i386/i386.c (ix86_supports_split_stack): Test
3208 HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
3210 2010-09-28 Ian Lance Taylor <iant@google.com>
3213 * opts.c (decode_options): Don't test whether the target supports
3214 split stack if flag_split_stack == 0.
3216 2010-09-28 Jan Hubicka <jh@suse.cz>
3218 * builtin-attrs.def (ATTR_LEAF): New attribute.
3219 (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
3220 ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
3221 ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
3222 ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
3223 ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
3224 ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
3225 ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
3226 * sync-builtins.def: Annotate all builtins by leaf.
3227 * omp-builtins.def: Annotate all builtins by leaf.
3228 * builtins.def: Annotate relevant builtins with leaf attribute.
3229 (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3230 ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
3233 2010-09-28 Jan Hubicka <jh@suse.cz>
3235 * tree-ssa-ccp.c (fold_ctor_reference): New function.
3236 (fold_const_aggregate_ref): Use it.
3237 * fold-const.c (canonicalize_constructor_val): Check that we don't fold
3238 into external static.
3240 2010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3243 * config/i386/i386.opt (mvect8-ret-in-mem): Define.
3244 * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
3245 (ix86_solaris_return_in_memory): Remove.
3246 * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
3247 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3248 (TARGET_SUBTARGET_DEFAULT): Redefine.
3249 * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
3250 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3251 (TARGET_SUBTARGET_DEFAULT): Redefine.
3252 * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
3254 (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
3256 2010-09-29 Alan Modra <amodra@gmail.com>
3259 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
3260 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
3261 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
3263 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
3264 (rs6000_emit_prologue): Don't just create frame save info for r2,
3267 2010-09-28 Richard Henderson <rth@redhat.com>
3269 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
3270 when 8 bytes are requested.
3272 2010-09-28 Tristan Gingold <gingold@adacore.com>
3274 * config/avr/avr.c (expand_prologue): Set
3275 current_function_static_stack_size.
3277 2010-09-28 Tristan Gingold <gingold@adacore.com>
3279 * config/alpha/alpha.md: Change the initial condition of the
3282 2010-09-28 Uros Bizjak <ubizjak@gmail.com>
3284 * config/i386/sse.md (*avx_<umaxmin:code><mode>3):
3285 Split from *avx_<maxmin:code><mode>3.
3286 (*avx_<smaxmin:code><mode>3): Ditto.
3287 * config/i386/i386.md (maxmin): Remove code iterator.
3289 2010-09-27 Ian Lance Taylor <iant@google.com>
3291 * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
3292 requires assembler support for CFI directives.
3294 2010-09-27 Richard Henderson <rth@redhat.com>
3296 * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
3298 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
3300 * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
3301 that AFTER is not in the range FROM..TO, inclusive.
3303 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
3304 Bernd Schmidt <bernds@codesourcery.com>
3306 PR rtl-optimization/45792
3307 * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
3308 If not all insns are to be merged, for each edge, stash the
3309 next candidate after the to-be-merged insns before doing the
3310 merge, and use them for the retry at the new insertion point.
3311 Handle CC0 targets when retrying.
3313 2010-09-27 Ian Lance Taylor <iant@google.com>
3315 * common.opt (fsplit-stack): New option.
3316 * opts.c (decode_options): Set flag_split_stack to final value.
3317 * target.def (supports_split_stack): New hook.
3318 * gcc.c (STACK_SPLIT_SPEC): Define.
3319 (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
3320 * doc/invoke.texi (Option Summary): Mention -fsplit-stack.
3321 (Code Gen Options): Document -fsplit-stack.
3322 * doc/extend.texi (Function Attributes): Mention no_split_stack.
3323 (Function Attributes): Document no_split_stack.
3324 * doc/tm.texi.in (Stack Smashing Protection): Add @hook
3325 TARGET_SUPPORTS_SPLIT_STACK.
3326 * doc/tm.texi: Rebuild.
3327 * function.c (thread_prologue_and_epilogue_insns): If
3328 flag_split_stack, add split stack prologue.
3329 * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
3330 * varasm.c (saw_no_split_stack): New static variable.
3331 (assemble_start_function): Set saw_no_split_stack if the function
3332 has the no_split_stack attribute.
3333 (file_end_indicate_split_stack): New function.
3334 * output.h (file_end_indicate_split_stack): Declare.
3335 * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
3337 * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
3339 * config/i386/i386.c (ix86_option_override_internal): Don't set
3340 expand_builtin_va_start to NULL if -fsplit-stack.
3341 (ix86_function_regparm): Reduce local regparm by 1 for 32-bit
3343 (ix86_va_start): If -fsplit-stack, get overflow pointer from
3344 scratch register set by prologue.
3345 (ix86_code_end): If -fsplit-stack, call
3346 file_end_indicate_split_stack.
3347 (ix86_supports_split_stack): New static function.
3348 (SPLIT_STACK_AVAILABLE): Define.
3349 (split_stack_prologue_scratch_regno): New static function.
3350 (split_stack_fn): New static variable.
3351 (ix86_expand_split_stack_prologue): New function.
3352 (ix86_live_on_entry): New static function.
3353 (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
3354 (output_pic_addr_const): Likewise.
3355 (i386_asm_output_addr_const_extra): Likewise.
3356 (ix86_expand_call): Change return type to rtx. Return the new
3358 (TARGET_SUPPORTS_SPLIT_STACK): Define.
3359 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
3360 * config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
3361 (split_stack_prologue, split_stack_return): New insns.
3362 (split_stack_space_check): New insn.
3363 * config/i386/i386.h (struct machine_function): Add
3364 split_stack_varargs_pointer field.
3365 * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
3366 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
3367 * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
3368 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
3369 * config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
3371 (ix86_expand_call): Update declaration.
3373 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3375 * doc/objc.texi (Type encoding): Added the new 'long double' (D)
3376 code. Added byref, which was missing in the list of codes.
3377 Explain that enumeration values are encoded as the integer type
3378 that the compiler uses to store them. Explain and make examples
3379 of how 'const' interacts with pointers, and the complication of
3380 the encoding of 'const char *'.
3381 (Legacy type encoding): New subsection, explaining that GCC emits
3382 incorrect type encodings for the NeXT runtime for compatibility
3384 (@@encode): New subsection, explaining @encode and particularly
3385 that protocol qualifiers are not recognized inside an @encode()
3387 (Method signatures): New subsection, explaining how method
3388 signatures are encoded.
3390 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3392 Merge from 'apple/trunk' branch on FSF servers. Removed small
3393 change in build_conditional_expr that had been added when fixing
3394 PR objc/27377 and which did the same check in a less complete way.
3396 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3399 * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
3400 looking for objective-c common pointer types.
3402 2005-06-22 Ziemowit Laski <zlaski@apple.com>
3405 * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
3406 use their ObjC common type.
3408 2010-09-27 Richard Guenther <rguenther@suse.de>
3410 * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
3412 2010-09-27 Jie Zhang <jie@codesourcery.com>
3414 * print-tree.c (print_node): Print in-constant-pool.
3416 2010-09-27 Uros Bizjak <ubizjak@gmail.com>
3418 * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
3419 (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
3420 (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
3421 (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
3423 2010-09-26 Uros Bizjak <ubizjak@gmail.com>