1 2010-10-18 Jan Hubicka <jh@suse.cz>
3 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
4 function_and_variable_visibility): Revert accidental commit.
6 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8 Merge from 'apple/trunk' branch on FSF servers.
9 * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
10 the following Objective-C change:
12 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
15 * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
16 'volatilized' type used in a typeof operator.
18 2010-10-18 Eric Botcazou <ebotcazou@adacore.com>
20 * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
21 * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
22 rewrite modelled on gimple_purge_dead_eh_edges.
23 (gimple_purge_all_dead_abnormal_call_edges): New function.
24 * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
25 directly instead of through gimple_purge_dead_abnormal_call_edges.
26 * tree-ssa-pre.c (need_ab_cleanup): New static variable.
27 (eliminate): Set bit in need_ab_cleanup for the basic block if we have
28 removed AB side-effects from one of its statements.
29 (init_pre): Initialize need_ab_cleanup.
30 (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
31 are set in need_ab_cleanup. Free need_ab_cleanup afterward.
33 2010-10-18 Jakub Jelinek <jakub@redhat.com>
36 * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
37 on computed goto argument.
39 2010-10-18 Richard Guenther <rguenther@suse.de>
41 PR tree-optimization/45967
42 * tree-ssa-structalias.c (type_could_have_pointers): Remove.
43 (could_have_pointers): Likewise.
44 (handle_rhs_call, handle_const_call, handle_pure_call,
45 find_func_aliases, intra_create_variable_infos): Remove calls to them.
46 (struct fieldoff): Add must_have_pointers field.
47 (type_must_have_pointers): New function.
48 (field_must_have_pointers): Likewise.
49 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
51 (create_function_info_for): May-have-pointers of varinfo is
53 (create_variable_info_for_1): Likewise.
55 2010-10-18 Tejas Belagod <tejas.belagod@arm.com>
57 * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
58 of operands to vec_concat.
60 2010-10-18 Richard Guenther <rguenther@suse.de>
63 * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
64 also clear references to entries of it.
66 2010-10-18 Andi Kleen <ak@linux.intel.com>
70 * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
71 (doc, distclean, install-common): Remove reference to gccbug.
72 * configure: Regenerate.
73 * configure.ac (all_outputs): Remove gccbug.
74 * doc/configfiles.texi: Remove references to gccbug.
75 * doc/sourcebuild.texi: Dito.
77 2010-10-18 Jakub Jelinek <jakub@redhat.com>
80 * fold-const.c (fold_binary_loc): If integer_pow2p has
81 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
83 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
84 Jeremie Salvucci <jeremie.salvucci@free.fr>
86 * gengtype.c (verbosity_level): Add variable.
87 (set_gc_used): Count variables for verbosity.
88 (close_output_files): Backing up files, counting written ones
90 (write_types): Count emitted functions for verbosity. Added
92 (write_enum_defn): Count structures for verbosity. Added debug
94 (gengtype_long_options): Add "verbose" & "backupdir".
96 (main): Verbose display of parsed files.
98 * gengtype.h (verbosity_level): Add declaration.
100 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
102 * gengtype.c (parse_program_options): Add allocation of
103 plugin_files, and correct test on nb_plugin_files.
105 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
107 Merge from 'apple/trunk' branch on FSF servers.
109 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
112 * c-decl.c (undeclared_variable): Issue diagnostic on
113 private 'ivar' access.
115 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
118 * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
119 generated sequence to match *avx_vperm2f128<mode>_nozero.
120 (vec_interleave_lowv4df): Ditto.
121 (vec_interleave_highv8sf): Ditto.
122 (vec_interleave_lowv8sf): Ditto.
124 2010-10-17 Kai Tietz <kai.tietz@onevision.com>
126 * libgcov.c (create_file_directory): Enable it for win32 case.
127 (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
128 * doc/gcov.texi (GCOV_PREFIX): Adjusted.
129 (GCOV_PREFIX_SKIP): Likewise.
131 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
133 * doc/objc.texi (GNU Objective-C runtime API): New section.
134 (Modern GNU Objective-C runtime API): New section.
135 (Traditional GNU Objective-C runtime API): New section.
136 (Executing code before main): Mention that this section is
137 specific to the GNU Objective-C runtime.
138 (Garbage Collection): Same.
140 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
142 * c-parser.c (c_parser_for_statement): Move initialization of
143 cond and incr before if.
145 2010-10-17 Anatoly Sokolov <aesok@post.ru>
147 * target.def (preferred_output_reload_class): New hook.
148 * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
149 * doc/tm.texi: Regenerate.
150 * targhooks.c (default_preferred_output_reload_class): New function.
151 * targhooks.h (default_preferred_output_reload_class): Declare.
152 * reload.c (find_dummy_reload): Change rclass argument type from
153 enum reg_class to reg_class_t. Change this_alternative array type
154 from enum reg_class to reg_class_t.
155 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
156 (push_reload): Change preferred_class variable type to reg_class_t.
157 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
158 * recog.c (reg_fits_class_p): Change result type to bool. Change cl
159 argument type from enum reg_class to reg_class_t. Use
160 HARD_REGISTER_NUM_P predicate.
161 * recog.h (reg_fits_class_p): Update prototype.
163 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
164 * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
166 * config/i386/i386.c (ix86_preferred_output_reload_class): Make
167 static. Change regclass argument and result types from enum reg_class
169 (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
171 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
173 * c-parser.c (c_parser_objc_class_instance_variables): Update to use
174 visibility enum, and handle @package.
176 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
178 * doc/objc.texi (What you can and what you cannot do in +load):
179 Document that sending messages to constant string objects in +load
180 is not guaranteed to work.
182 2010-10-16 Jan Hubicka <jh@suse.cz>
185 * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
186 existence of refrences before removing the function.
188 2010-10-16 Jan Hubicka <jh@suse.cz>
190 * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
191 only_called_at_startup and only_called_at_exit.
192 (cgraph_propagate_frequency): Compute only_called_at_startup and
194 * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
196 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
198 * predict.c (compute_function_frequency): Initialize the new flags.
200 2010-10-16 Eric Botcazou <ebotcazou@adacore.com>
202 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
203 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
204 on the bounds of its domain.
205 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
207 2010-10-16 Anatoly Sokolov <aesok@post.ru>
209 * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
210 * config/avr/avr-protos.h (preferred_reload_class): Remove.
211 * config/avr/avr.c (preferred_reload_class): Remove.
212 * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
213 * config/pa/pa.c (emit_move_sequence): Update comment
214 * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
215 * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
216 * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
217 * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
218 * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
219 * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
220 * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
221 * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
222 * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
223 * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
224 * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
225 * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
226 * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
228 2010-10-16 Joseph Myers <joseph@codesourcery.com>
230 * opts.c (set_fast_math_flags,
231 set_unsafe_math_optimizations_flags): Make static.
232 * toplev.h (set_fast_math_flags,
233 set_unsafe_math_optimizations_flags): Remove prototypes.
235 2010-10-16 Joseph Myers <joseph@codesourcery.com>
237 * config/arm/arm.c (arm_option_optimization): Set
238 flag_section_anchors to 1 not 2.
239 * config/i386/i386.c (ix86_option_override_internal): Check
240 global_options_set.x_flag_zee and
241 global_options_set.x_flag_omit_frame_pointer.
242 (ix86_option_optimization): Don't set flag_omit_frame_pointer and
244 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
245 global_options_set.x_flag_omit_frame_pointer.
246 * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
247 opts->x_flag_section_anchors to 1 not 2.
248 * config/sh/sh.c (sh_option_optimization): Don't set
249 flag_schedule_insns to 2.
250 (sh_option_override): Check
251 global_options_set.x_flag_schedule_insns.
252 * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
254 2010-10-16 Kai Tietz <kai.tietz@onevision.com>
256 * configure.ac: Make sure inhibit_libc remains false for mingw targets
258 * configure: Regenerated.
260 2010-10-15 Xinliang David Li <davidxl@google.com>
262 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
264 (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
265 into a recursive function.
267 2010-10-15 Uros Bizjak <ubizjak@gmail.com>
269 * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
272 2010-10-15 Joseph Myers <joseph@codesourcery.com>
274 * target.def (target_option.init_struct): New hook.
275 * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
276 * doc/tm.texi: Regenerate.
277 * hooks.c (hook_void_gcc_optionsp): New.
278 * hooks.h (hook_void_gcc_optionsp): Declare.
279 * langhooks-def.h (lhd_init_options_struct): Remove.
280 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
281 * langhooks.c (lhd_init_options_struct): Remove.
282 * opts.c (init_options_struct): Also call
283 targetm.target_option.init_struct.
284 * config/i386/i386.c (ix86_option_init_struct,
285 TARGET_OPTION_INIT_STRUCT): New.
286 (ix86_option_optimization): Move some settings to
287 ix86_option_init_struct.
288 * config/pdp11/pdp11.c (pdp11_option_init_struct,
289 TARGET_OPTION_INIT_STRUCT): New.
290 (pdp11_option_optimization): Move some settings to
291 pdp11_option_init_struct.
292 * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
293 rs6000_option_init_struct. Use options structure pointer.
294 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
295 * config/s390/s390.c (s390_option_init_struct,
296 TARGET_OPTION_INIT_STRUCT): New.
297 (s390_option_optimization): Don't set
298 flag_asynchronous_unwind_tables here.
299 * config/sh/sh.c (sh_option_init_struct,
300 TARGET_OPTION_INIT_STRUCT): New.
301 (sh_option_optimization): Don't set flag_finite_math_only here.
302 * config/spu/spu.c (spu_option_optimization): Replace by
303 spu_option_optimization. Use options structure pointer.
304 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
306 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
308 * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
310 * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add
311 SIGN_EXTRACT and ZERO_EXTRACT which were missing.
312 (Standard names): Document fma.
314 * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
315 __FP_FAST_FMAF, __FP_FAST_FMAL.
317 * builitns.c (expand_builtin_mathfn_ternary): New function for
318 expanding ternary math functions, like fma.
319 (expand_builtin): Call it for the fma builtins.
321 * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
324 * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
325 vectorizable functions to support vectorizing fma.
327 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
330 * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
331 (UNSPEC_VSX_MSUB): Ditto.
332 (UNSPEC_VSX_NMADD): Ditto.
333 (UNSPEC_VSX_NMSUB): Ditto.
334 (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
335 of UNSPEC. Renumber combiner patterns.
336 (vsx_fmsub<mode>4*): Ditto.
337 (vsx_fnmadd<mode>4*): Ditto.
338 (vsx_fnmsub<mode>4*): Ditto.
340 * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
341 (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
342 multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test.
343 (altivec_vmaddfp_1): Ditto.
344 (altivec_vmaddfp_2): Ditto.
345 (atlivec_mulv4sf3): Ditto.
346 (altivec_vnmsubfp): Ditto.
347 (altivec_vnmsubfp_1): Ditto.
348 (altivec_vnmsubfp_2): Ditto.
349 (altivec_vnmsubfp_3): Delete.
351 * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
354 (fnmasf4_fpr): Ditto.
355 (fnmssf4_fpr): Ditto.
359 (fnmadf4_fpr): Ditto.
360 (fnmsdf4_fpr): Ditto.
362 * optabs.h (OTI_fma): Add fma optab.
365 * genopinit.c (optabs): Set fma optab.
367 * rtl.def (FMA): Add FMA rtl.
369 * tree.h (mode_has_fma): New function to return if MODE supports a
370 fast multiply and add instruction.
371 * builtins.c (mode_has_fma): Ditto.
373 2010-10-15 Jan Hubicka <jh@suse.cz>
375 * lto-streamer-out.c (write_symbol): Use pointer set of seen
376 objects instead of bitmap.
377 (produce_symtab): Likewise; output defined symbols first.
379 2010-10-15 Jie Zhang <jie@codesourcery.com>
381 * doc/invoke.texi: Add -fstrict-volatile-bitfields to
382 Option Summary and Index.
384 2010-10-15 Richard Guenther <rguenther@suse.de>
386 * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
387 for automatic variables again.
389 2010-10-15 Joseph Myers <joseph@codesourcery.com>
391 * doc/extend.texi (Variable Length): Don't refer to VLAs not
394 2010-10-15 Joseph Myers <joseph@codesourcery.com>
396 * config/rx/rx.c (rx_option_optimization): Change to
397 rx_override_options_after_change. Don't change
398 flag_lto_compression_level. Don't check for changes to whether
399 FPU instructions can be used. Check and set only
400 flag_finite_math_only, not other fast-math flags.
401 (rx_option_override): Call rx_override_options_after_change.
402 (TARGET_OPTION_OPTIMIZATION): Remove.
403 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
405 2010-10-15 Joseph Myers <joseph@codesourcery.com>
407 * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
408 disable section anchors for lang_hooks.name[4] != 'O'.
410 2010-10-15 Joseph Myers <joseph@codesourcery.com>
412 * config/frv/frv.c (frv_option_optimization,
413 TARGET_OPTION_OPTIMIZATION): Remove.
414 * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
416 2010-10-15 Michael Matz <matz@suse.de>
418 * cgraphunit.c (clone_of_p): Define unconditionally.
420 2010-10-15 Richard Guenther <rguenther@suse.de>
423 * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
425 2010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
427 * ifcvt.c (find_active_insn_before): New function.
428 (find_active_insn_after): New function.
429 (cond_exec_process_if_block): Use new functions to replace
430 prev_active_insn() and next_active_insn().
432 2010-10-14 Yao Qi <yao@codesourcery.com>
435 * config/arm/arm.c (arm_build_builtin_va_list): Assign
436 va_list_name to TYPE_STUB_DECL (va_list_type).
438 2010-10-14 Jan Hubicka <jh@suse.cz>
441 * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
442 redirected to clone, be happy.
443 * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
444 * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
445 former_clone_of unconditionally.
447 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
449 Merge from FSF apple 'trunk' branch.
450 2006 Fariborz Jahanian <fjahanian@apple.com>
452 Radars 4436866, 4505126, 4506903, 4517826
453 * c-parser.c (c_parser, objc_property_attr_context) New flag.
454 (c_lex_one_token): Handle property attributes.
455 (c_parser_external_declaration): Handle @property.
456 (c_parser_declaration_or_fndef): Warn on invalid attributes before
457 @alias, @class, @end and @property objc keywords.
458 (c_parser_objc_methodprotolist): Handle @property.
459 (c_parser_objc_property_attrlist): New.
460 (c_parser_objc_at_property): New.
461 * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
462 (build_modify_expr): Likewise.
464 2010-10-14 Jakub Jelinek <jakub@redhat.com>
466 PR tree-optimization/46008
467 * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
469 2010-10-14 Richard Guenther <rguenther@suse.de>
471 PR tree-optimization/44913
472 * tree-data-ref.c (disjoint_objects_p): Remove.
473 (dr_may_alias_p): Simplify. Only hand the base object to
475 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
476 some more trees, bail out instead of asserting.
477 (ptr_derefs_may_alias_p): Likewise. Export.
478 (refs_may_alias_p_1): Handle STRING_CSTs.
479 * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
481 2010-10-14 Joseph Myers <joseph@codesourcery.com>
484 * c-typeck.c (build_binary_op): Don't try to compute a semantic
485 type with excess precision for boolean operations.
487 2010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr>
488 Basile Starynkevitch <basile@starynkevitch.net>
490 * gengtype.c: Include getopt.h and version.h.
492 (lang_bitmap, struct outf, outf_p)
493 (get_output_file_with_visibility, oprintf): Definitions moved to
495 (output_files, header_file, srcdir, srcdir_len, this_file)
496 (do_dump): No more static variables.
498 (dbgprint_count_type_at): Added new function.
499 (gengtype_long_options): New.
500 (print_usage, print_version, parse_program_options): New.
501 (main): Call parse_program_options, and removed old option
502 handling code. Added some debug output.
504 * gengtype.h: Updated copyright year.
505 (lang_bitmap, struct outf, outf_p, header_file, oprintf)
506 (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
507 Moved from gengtype.c to here.
508 (do_debug, read_state_filename, write_state_filename): New variables.
509 (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
512 (REVISION): Always defined.
513 (version.o): Removed ifdef REVISION_c.
514 (s-gtype): Pass arguments to build/gengtype program.
515 (build/version.o): Added building rule.
516 (build/gengtype$(build_exeext)): Added build/version.o.
518 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
520 Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
521 * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
524 2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
526 * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
527 may_trap_or_fault_p instead of may_trap_p predicate.
528 * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
529 (substitute_placeholder_in_expr): Likewise.
530 * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
531 flag on MEM_REF nodes.
532 (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
533 flags on INDIRECT_REF nodes.
535 2010-10-14 Nathan Froyd <froydnj@codesourcery.com>
537 * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
538 (arm*-*-uclinux*eabi) <tm_file>: Likewise.
539 (arm*-*-eabi*) <tm_file>: Likewise.
540 (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
541 (frv-*-*linux*) <tm_file>: Likewise.
542 * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
543 and associated helper macros.
544 * config/frv/frv-abi.h: Delete.
546 2010-10-14 Richard Guenther <rguenther@suse.de>
549 * tree.def (NULLPTR_TYPE): New tree code.
550 * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
551 * dwarf2out.c (is_base_type): Likewise.
552 (gen_type_die_with_usage): Likewise.
553 * sdbout.c (plain_type_1): Likewise.
554 * tree.c (build_int_cst_wide): Likewise.
555 * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
557 2010-10-14 Joseph Myers <joseph@codesourcery.com>
559 * params.c (params_finished): New.
560 (add_params): Assert !params_finished.
561 (finish_params): New.
562 (set_param_value_internal): Take params and params_set
563 parameters. Assert params_finished.
564 (set_param_value, maybe_set_param_value): Take params and
565 params_set parameters. Update calls to set_param_value_internal.
566 (set_default_param_value): Assert !params_finished. Don't use
567 set_param_value_internal.
568 (default_param_value, init_param_values): New.
569 * params.h (struct param_info): Change value to default_value.
571 (set_param_value, maybe_set_param_value): Add params and
572 params_set parameters.
573 (PARAM_VALUE): Get parameters from global_options.
574 (PARAM_SET_P): Remove.
575 (finish_params, default_param_value, init_param_values): New.
576 * common.opt (param_values): New Variable.
577 * config/arm/arm.c (arm_option_override): Pass extra arguments to
578 maybe_set_param_value.
579 * config/i386/i386.c (ix86_option_override_internal): Pass extra
580 arguments to maybe_set_param_value.
581 * config/picochip/picochip.c (picochip_option_override): Pass
582 extra arguments to maybe_set_param_value.
583 * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
584 extra arguments to maybe_set_param_value.
585 * config/s390/s390.c (s390_option_override): Use
586 maybe_set_param_value instead of set_param_value. Pass extra
587 arguments to maybe_set_param_value.
588 * config/sparc/sparc.c (sparc_option_override): Pass extra
589 arguments to maybe_set_param_value.
590 * config/spu/spu.c (spu_option_override): Pass extra arguments to
591 maybe_set_param_value.
592 * opts.c (handle_param): Take opts and opts_set parameters.
593 Update call to set_param_value.
594 (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
595 initial_loop_invariant_max_bbs_in_loop): Remove.
596 (init_options_once): Don't set them.
597 (init_options_struct): Initialize parameters structures.
598 (default_options_optimization): Use default_param_value when
599 restoring defaults. Update calls to maybe_set_param_value.
600 (finish_options): Update calls to maybe_set_param_value.
601 (common_handle_option): Update calls to handle_param and
603 * toplev.c (DEFPARAM): Update definition for changes to param_info.
604 (general_init): Call finish_params.
606 2010-10-14 Nick Clifton <nickc@redhat.com>
608 * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
609 (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
610 (FIRST_PSEUDO_REGISTER): Increase by one.
611 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
612 (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
613 (MODES_TIEABLE): Call mn10300_modes_tieable.
614 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
615 (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
616 (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
617 (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
618 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
619 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
620 (mn10300_cc_status_mdep): Delete.
621 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
622 * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
623 the combine-stack-adjust pass.
624 (print_operand): Use the mode of the comparison operation to
625 select the comparison suffix.
626 (notice_update_cc): Delete.
627 (mn10300_secondary_reload_class): Remove test for stack pointer
629 (output_tst): Rename to mn10300_output_cmp.
630 (impossible_plus_operand): Move into predicates.md.
631 (mn10300_legitimize_address): Make static.
632 (mn10300_legitimate_address_p): Make static. Only allow SI sized
633 constant pic operands.
634 (mn10300_legitimate_constant_p): New function.
635 (mn10300_case_values_threshold): Make static.
636 (mn10300_hard_regno_mode_ok): New function.
637 (mn10300_modes_tieable): New function.
638 (mn10300_select_cc_mode): New function.
639 * config/mn10300/predicates.md (impossible_plus_operand): Define.
640 * config/mn10300/mn10300-protos.h: Tidy.
641 (mn10300_legitimate_constant_p, mn10300_modes_tieable)
642 (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
643 * config/mn10300/mn10300.md (cc attribute): Delete. Replace
644 with clobbers or sets of CC_REG.
646 (mov*): Remove use of CLR instruction.
647 (cbranch_si4_<code>): New pattern/split.
648 (integer_conditional_branch): New pattern.
649 (cbranch_sf4_<code>): New pattern/split.
650 (float_conditional_branch): New pattern.
651 (casesi): Use addsi3 pattern instead of movsi pattern to add and
652 move a value at the same time.
653 (cc0 peepholes): Remove.
655 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
657 * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
658 on RTX_FRAME_RELATED_P insns and the insn to which
659 NOTE_INSN_EPILOGUE_BEG is attached.
660 * sched-vis.c (print_value): Allow NULL value.
662 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
664 PR rtl-optimization/45570
665 * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
666 assert that we are pipelining outer loops. Allow returning
669 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
671 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
672 (tidy_control_flow): Tidy vertical space.
673 (sel_remove_bb): New variable idx. Use it to remember the basic
674 block index before deleting the block.
675 (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
676 (sel_merge_blocks): ... here.
677 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
679 2010-10-14 Jakub Jelinek <jakub@redhat.com>
681 * cse.c (is_dead_reg): Change into inline function that is not
682 called through for_each_rtx.
683 (set_live_p): Adjust caller.
684 (insn_live_p): Don't reset DEBUG_INSNs here.
685 (struct dead_debug_insn_data): New data.
686 (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
687 (delete_trivially_dead_insns): If there is just one setter for the
688 dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
689 and add DEBUG_INSN for it right before the removed setter and
690 use the DEBUG_EXPR instead of the dead pseudo.
692 2010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz>
694 * et-forest.c (et_nca): Return NULL immediately when
695 the dominance forest has disjoint components.
697 2010-10-13 Vladimir Makarov <vmakarov@redhat.com>
699 * ira.c (setup_class_hard_regs): Fix typo in indexing
700 ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
702 2010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com>
704 * graph.c (inbb): New variable.
705 (start_bb): Set inbb to 1 if output is inside of a building block.
706 (end_bb): Check if output is inside of a building block.
708 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
710 PR rtl-optimization/45912
711 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
712 regno of registers instead of their index to compute the alignment.
714 2010-10-13 H.J. Lu <hongjiu.lu@intel.com>
716 * config/i386/i386.c (ix86_build_const_vector): Check vector
717 mode instead of scalar mode.
718 (ix86_build_signbit_mask): Likewise.
719 (ix86_expand_fp_absneg_operator): Updated.
720 (ix86_expand_copysign): Likewise.
721 (ix86_expand_int_vcond): Likewise.
722 (ix86_emit_swdivsf): Likewise.
723 (ix86_sse_copysign_to_positive): Likewise.
724 (ix86_expand_sse_fabs): Likewise.
725 * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
726 * config/i386/sse.md (copysign<mode>3): Likewise.
727 (sse2_cvtudq2ps): Likewise.
728 (vec_unpacku_float_hi_v4si): Likewise.
729 (vec_unpacku_float_lo_v4si): Likewise.
731 * config/i386/i386.c (ix86_builtins): Add
732 IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
733 (bdesc_args): Likewise.
734 (ix86_builtin_vectorized_function): Support
735 IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
736 IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
737 and IX86_BUILTIN_CVTPS2DQ256.
738 (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
740 * config/i386/sse.md (STORENT_MODE): New.
741 (VEC_FLOAT_MODE): Likewise.
742 (VEC_EXTRACT_MODE): Likewise.
743 (*avx_cvtdq2pd256_2): Likewise.
744 (vec_pack_trunc_v4df): Likewise.
745 (vec_interleave_highv8sf): Likewise.
746 (vec_interleave_lowv8sf): Likewise.
747 (storent<mode>): Macroized.
748 (<code><mode>2: absneg): Likewise.
749 (copysign<mode>3): Likewise.
750 (vec_extract<mode>): Likewise.
753 * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
756 2010-10-13 Richard Guenther <rguenther@suse.de>
757 H.J. Lu <hongjiu.lu@intel.com>
759 * config/i386/sse.md (reduc_splus_v8sf): Add.
760 (reduc_splus_v4df): Likewise.
761 (vec_unpacks_hi_v8sf): Likewise.
762 (vec_unpacks_lo_v8sf): Likewise.
763 (*avx_cvtps2pd256_2): Likewise.
764 (vec_unpacks_float_hi_v8si): Likewise.
765 (vec_unpacks_float_lo_v8si): Likewise.
766 (vec_interleave_highv4df): Likewise.
767 (vec_interleave_lowv4df): Likewise.
769 2010-10-13 Richard Guenther <rguenther@suse.de>
772 * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
773 alone if there are no virtual methods.
775 2010-10-13 Richard Henderson <rth@redhat.com>
777 * expr.c (build_personality_function): Take parameter LANG instead
778 of parameter NAME. Build the name based on the lang prefix and the
779 unwind method in use.
780 * tree.c (lhd_gcc_personality): Update call to
781 build_personality_function.
783 2010-10-13 Richard Guenther <rguenther@suse.de>
786 * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
788 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
790 * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
791 Canonicalize input operands of ASM_OPERANDS insns.
793 2010-10-13 Richard Guenther <rguenther@suse.de>
795 PR tree-optimization/45788
796 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
797 EH update until fixup-cfg.
799 2010-10-13 Julian Brown <julian@codesourcery.com>
801 * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
802 from CORE_REGS and GENERAL_REGS classes.
803 * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
804 final constraint for register preferencing.
806 2010-10-13 Richard Guenther <rguenther@suse.de>
808 PR tree-optimization/45970
809 * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
810 * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
811 (stmt_kills_ref_p): Likewise.
812 * tree-ssa-dse.c (dse_optimize_stmt): Use it.
814 2010-10-13 Richard Guenther <rguenther@suse.de>
816 PR tree-optimization/45982
817 * tree-ssa-structalias.c (make_constraints_to): New function.
818 (make_constraint_to): Implement in terms of make_constraints_to.
819 (find_func_aliases): Properly make return values of pure/const
820 functions escape if they assign to sth that is not a pointer.
822 2010-10-13 Richard Guenther <rguenther@suse.de>
825 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
826 Fixup the CFG when EH was fixed up.
828 2010-10-13 Ira Rosen <irar@il.ibm.com>
830 * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
831 Use operand's type for POINTER_PLUS_EXPR.
833 2010-10-13 Alexandre Oliva <aoliva@redhat.com>
835 * c-parser.c (c_parser_for_statement): Initialize incr.
837 2010-10-12 Xinliang David Li <davidxl@google.com>
839 PR tree-optimization/45972
840 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
841 with too many arguments.
843 2010-10-12 Jakub Jelinek <jakub@redhat.com>
846 * tree-ssa-forwprop.c: Include expr.h.
847 (constant_pointer_difference, simplify_builtin_call): New functions.
848 (tree_ssa_forward_propagate_single_use_vars): Call
849 simplify_builtin_call on builtin calls.
851 2010-10-12 Eric Botcazou <ebotcazou@adacore.com>
853 * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
854 (*adddi3_extend_sp32): Likewise.
855 (*subdi3_insn_sp32): Likewise.
856 (*subdi3_extend_sp32): Likewise.
857 (*negdi2_sp32): Use negative test for consistency.
859 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
861 * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
862 (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
863 * config/fixed-bit.h: Likewise.
864 * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
865 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
866 * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
867 * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
869 * doc/tm.texi: Regenerate.
871 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
873 * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
874 * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
875 (*isel_reversed_unsigned_<mode>): New.
876 * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
877 as valid comparisons and adjust operands and output appropriately.
878 (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
880 2010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
882 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
883 DATA_ALIGNMENT and add COND parameter. Update comments above.
884 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
885 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
887 2010-10-12 H.J. Lu <hongjiu.lu@intel.com>
890 * exec-tool.in: Support '-plugin' as the second option to the linker.
892 2010-10-12 Richard Henderson <rth@redhat.com>
895 * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
896 (expand_stack_vars): Assert large base allocated when used.
898 2010-10-12 Richard Guenther <rguenther@suse.de>
900 * tree-ssa-structalias.c (get_constraint_for_1): Constants
901 only point to nonlocal, not anything.
903 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
905 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
906 unwind info for exceptions.
908 2010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
911 * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
912 Document optional target selector.
914 2010-10-12 Joseph Myers <joseph@codesourcery.com>
917 * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
918 (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
921 (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
923 * configure.ac (tm_include_list): Include options.h not flags.h.
924 * configure: Regenerate.
925 * flags.h: Include flag-types.h. Include options.h at top of file
927 (enum debug_info_type, enum debug_info_level, enum
928 debug_info_usage, enum symbol_visibility, struct visibility_flags,
929 enum ira_algorithm, enum ira_region, enum excess_precision, enum
930 graph_dump_types, enum stack_check_type,
931 enum warn_strict_overflow_code): Move to flag-types.h
932 * opth-gen.awk: Include flag-types.h in options.h.
934 2010-10-12 Jakub Jelinek <jakub@redhat.com>
936 * expr.c (store_expr): Share code for STRING_CST and
937 MEM_REF of &STRING_CST cases. Don't require BLKmode, instead
938 check if target is a MEM.
940 * rtl.h: Include hashtab.h.
941 (iterative_hash_rtx): New prototype.
942 * rtl.c (iterative_hash_rtx): New function.
943 * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
944 (output_loc_list): Return immediately if emitted is set, set it.
945 (hash_loc_operands, hash_locs, hash_loc_list,
946 compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
947 optimize_location_lists_1, optimize_location_lists): New function.
948 (dwarf2out_finish): Call optimize_location_lists.
949 * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
951 2010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
955 * Makefile.in ($(lang_checks_parallel))
956 ($(lang_checks_parallelized)): Use single quotes for
957 $(RUNTESTFLAGS), to allow passing quoted content.
959 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
961 * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
962 actual_oldval. Use __builtin_expect.
963 (SUBWORD_VAL_CAS): Likewise.
965 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
967 * recog.c (nonmemory_operand): Call immediate_operand for
970 2010-10-11 Uros Bizjak <ubizjak@gmail.com>
972 * config/i386/i386.md (movmem<mode>): Macroize expander from
973 movmem{si,di} using SWI48 mode iterator.
974 (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
975 *strmovsi_rex_1 using P mode iterator.
976 (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
977 (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
978 (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
979 (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
980 (setmem<mode>): Macroize expander from setmem{si,di} using
982 (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
983 *strsetsi_rex_1 using P mode iterator.
984 (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
985 (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
986 (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
987 (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
988 (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
989 (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
990 (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
992 (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
993 *strlenqi_rex_1 using P mode iterator.
995 2010-10-11 Bernd Schmidt <bernds@codesourcery.com>
998 * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
1000 (mark_ref_live, mark_ref_dead): Use them.
1001 (make_pseudo_conflict): New arg ORIG_DREG. All callers changed.
1002 Save the original reg, and use the new functions.
1003 (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers
1005 (check_and_make_def_conflict): Save the original reg.
1007 2010-10-11 Martin Jambor <mjambor@suse.cz>
1010 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
1013 2010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1015 * Makefile.in ($(lang_checks_parallel))
1016 ($(lang_checks_parallelized)): Use single quotes for
1017 $(RUNTESTFLAGS), to allow passing quoted content.
1020 * opt-functions.awk (BEGIN): New section.
1021 (lower, upper, digit, alnum): New variables.
1022 (static_var, opt_sanitized_name): Use alnum instead of character
1023 classes, for non-C locale.
1024 * optc-gen.awk: Likewise.
1025 * opth-gen.awk: Likewise.
1027 2010-10-11 Anatoly Sokolov <aesok@post.ru>
1029 * target.def (preferred_reload_class): New hook.
1030 * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
1031 * doc/tm.texi: Regenerate.
1032 * targhooks.c (default_preferred_reload_class): New function.
1033 * targhooks.h (default_preferred_reload_class): Declare.
1034 * reload.c (find_dummy_reload): Change preferred_class variable type
1035 from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
1037 (find_reloads): Change goal_alternative array type from int to
1038 reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
1039 (push_reload, find_reloads_address_part): Use
1040 TARGET_PREFERRED_RELOAD_CLASS target hook.
1041 * reload1.c (emit_input_reload_insns): Ditto.
1042 * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
1043 hook. Change rclass argument and secondary_class variable types from
1044 'enum reg_class' to reg_class_t.
1046 * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
1047 * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
1048 * config/i386/i386.c (ix86_preferred_reload_class): Make static.
1049 Change regclass argument and result types from enum reg_class to
1051 (TARGET_PREFERRED_RELOAD_CLASS): Define.
1053 2010-10-11 Eric Botcazou <ebotcazou@adacore.com>
1055 * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
1056 in masking operations.
1057 (simplify_const_unary_operation): Likewise.
1058 (simplify_binary_operation_1): Likewise.
1059 (simplify_const_binary_operation): Likewise.
1060 (simplify_const_relational_operation): Likewise.
1061 (simplify_ternary_operation): Likewise.
1062 (simplify_immed_subreg): Likewise.
1064 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1067 * doc/tm.texi.in (SUPPORTS_WEAK): Update.
1068 (TARGET_SUPPORTS_WEAK): New.
1069 * doc/tm.texi: Regenerate.
1070 * defaults.h (SUPPORTS_WEAK): Update comment.
1071 (TARGET_SUPPORTS_WEAK): New.
1072 * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
1073 * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
1075 (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
1076 make_decl_one_only): Likewise.
1077 * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
1078 TARGET_SUPPORTS_WEAK.
1079 (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
1080 instead of SUPPORTS_WEAK.
1082 2010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1084 * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
1086 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
1088 * vec.h (VEC_qsort): Define.
1089 * dbxout.c (output_used_types): Use it.
1090 * df-scan.c (df_sort_and_compress_refs): Likewise.
1091 (df_sort_and_compress_mws): Likewise.
1092 * genautomata.c (uniq_sort_alt_states): Likewise.
1093 (evaluate_equiv_classes): Likewise.
1094 (output_trans_table): Likewise.
1095 (output_state): Likewise.
1096 * gimplify.c (compare_case_labels): Likewise.
1097 * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
1098 * ipa.c (build_cdtor_fns): Likewise.
1099 * lto.c (lto_wpa_write_files): Likewise.
1100 * sel-sched.c (fill_vec_av_set): Likewise.
1101 * tree-predcom.c (determine_roots_comp): Likewise.
1102 * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
1103 (splice_param_accesses): Likewise.
1104 * tree-ssa-live.c (dump_enumerated_decls): Likewise.
1105 * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
1106 (reassociate_bb): Likewise.
1107 * tree-ssa-sccvn.c (sort_scc): Likewise.
1108 * tree-ssa-structalias.c (sort_fieldstack): Likewise.
1110 2010-10-11 Ian Lance Taylor <iant@google.com>
1112 * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
1113 * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
1114 TREE_THIS_NOTRAP when appropriate.
1115 (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
1116 * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
1117 newly created MEM_REF.
1119 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
1121 Nathan Froyds patch to hooks FUNCTION_ARG etc.
1122 * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
1123 (picochip_incoming_function_arg): Delete.
1124 (picochip_arg_advance): Delete.
1125 * config/picochip/picochip.h (FUNCTION_ARG): Delete.
1126 (FUNCTION_INCOMING_ARG): Delete.
1127 (FUNCTION_ARG_ADVANCE): Delete.
1128 * config/picochip/picochip.c (picochip_function_arg): Take a
1129 const_tree and a bool.
1130 (picochip_incoming_function_arg): Likewise.
1131 (picochip_arg_advance): Likewise.
1132 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1133 (TARGET_FUNCTION_ARG_ADVANCE): Define.
1135 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1138 * ipa.c (build_cdtor): Delete endless loop.
1140 2010-10-07 Andi Kleen <ak@linux.intel.com>
1142 * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
1144 (checksum-options): Add.
1145 (cc1-dummy): Remove.
1146 (cc1-checksum): Change to run checksum over object files
1148 * dummy-checksum.c: Remove.
1149 * genchecksum.c: Update copyright.
1150 (usage): Allow multiple arguments.
1152 (dosum): Change for incremental checksum. Remove C output.
1153 (main): Iterate over all argument files. Add C output.
1155 2010-10-11 Joseph Myers <joseph@codesourcery.com>
1157 * params.c (set_param_value_internal): New.
1158 (set_param_value): Use set_param_value_internal.
1159 (maybe_set_param_value, set_default_param_value): New.
1160 * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
1161 (maybe_set_param_value, set_default_param_value): Declare.
1162 * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
1163 * config/i386/i386.c (ix86_option_override_internal): Use
1164 maybe_set_param_value.
1165 * config/ia64/ia64.c (ia64_option_default_params,
1166 TARGET_OPTION_DEFAULT_PARAMS): New.
1167 (ia64_option_optimization): Move some code to
1168 ia64_option_default_params.
1169 * config/picochip/picochip.c (picochip_option_override): Use
1170 maybe_set_param_value.
1171 * config/rs6000/rs6000.c (rs6000_option_default_params,
1172 TARGET_OPTION_DEFAULT_PARAMS): New.
1173 (rs6000_option_override_internal): Use maybe_set_param_value.
1174 (rs6000_option_optimization): Move some code to
1175 rs6000_option_default_params.
1176 * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
1177 * config/sh/sh.c (sh_option_default_params,
1178 TARGET_OPTION_DEFAULT_PARAMS): New.
1179 (sh_option_optimization): Move some code to sh_option_default_params.
1180 * config/sparc/sparc.c (sparc_option_override): Use
1181 maybe_set_param_value.
1182 * config/spu/spu.c (spu_option_default_params,
1183 TARGET_OPTION_DEFAULT_PARAMS): New.
1184 (spu_option_optimization): Move some code to spu_option_default_params.
1185 (spu_option_override): Use maybe_set_param_value.
1186 * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
1187 * doc/tm.texi: Regenerate.
1188 * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
1189 * opts.c (init_options_once): Use PARAM_VALUE not direct access to
1191 (default_options_optimization): Use maybe_set_param_value.
1192 (finish_options): Use maybe_set_param_value.
1193 * target.def (target_option.default_params): New hook.
1194 * toplev.c (general_init): Call targetm.target_option.default_params.
1196 2010-10-11 Ira Rosen <irar@il.ibm.com>
1198 PR tree-optimization/45902
1199 * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
1200 vector type for constants, unless it's a pointer.
1202 2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1204 * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
1206 2010-10-11 Jakub Jelinek <jakub@redhat.com>
1209 * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
1210 (ix86_delegitimize_address): Use it.
1212 2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
1214 * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
1216 2010-10-10 Uros Bizjak <ubizjak@gmail.com>
1218 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
1219 to cum struct in the call to function_arg_advance.
1220 (alpha_function_arg_advance): Mark named as unused.
1222 2010-10-10 Richard Sandiford <rdsandiford@googlemail.com>
1224 * config/mips/mips.c (mips_handle_option): Make "value" with
1227 2010-10-09 Richard Henderson <rth@redhat.com>
1230 * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
1231 remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
1232 required_align, tidy the code a bit. Emit split_stack code in the
1233 right place. Mark the return value with the alignment properly.
1234 * expr.h (allocate_dynamic_stack_space): Update decl.
1235 * builtins.c (expand_builtin_apply): Update call to
1236 allocate_dynamic_stack_space.
1237 (expand_builtin_alloca): Likewise. Remove TARGET parameter.
1238 * calls.c (initialize_argument_information): Update call to
1239 allocate_dynamic_stack_space.
1240 (expand_call): Likewise.
1242 * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
1243 Don't update_stack_alignment here.
1244 (alloc_stack_frame_space): Make ALIGN unsigned.
1245 (stack_var_cmp): Sort by alignment too.
1246 (partition_stack_vars): Don't merge large and small alignment vars.
1247 (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
1248 Take care when BASE is not virtual_stack_vars_rtx.
1249 (expand_stack_vars): Allocate dynamic stack space for large
1250 alignment variables.
1251 (expand_one_stack_var): Update all to expand_one_stack_var_at.
1252 (defer_stack_allocation): True for large alignment vars.
1253 (update_stack_alignment): Merge into ...
1254 (expand_one_var): ... here.
1255 (gimple_expand_cfg): Place code from expand_stack_vars.
1257 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1259 * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1260 * config/pdp11/pdp11.c (pdp11_function_arg): New function.
1261 (pdp11_function_arg_advance): New function.
1262 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1264 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1266 * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
1267 * libgcc2.c: Likewise.
1269 2010-10-09 Richard Guenther <rguenther@suse.de>
1272 * lto-streamer-in.c (lto_register_var_decl_in_symtab):
1273 Properly check if a decl is an automatic var.
1275 2010-10-09 Richard Guenther <rguenther@suse.de>
1278 * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
1280 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1282 * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
1283 * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1284 * config/mmix/mmix.c (mmix_function_arg): Rename to...
1285 (mmix_function_arg_1): ...this. Make static. Take a const_tree and
1287 (mmix_function_arg): New function.
1288 (mmix_function_incoming_arg): New function.
1289 (mmix_function_arg_advance): New function.
1290 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1291 (TARGET_FUNCTION_ARG_ADVANCE): Define.
1293 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1295 * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1296 * config/vax/vax.c (vax_function_arg): New function.
1297 (vax_function_arg_advance): New function.
1298 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1300 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1302 * config/pa/pa-protos.h (function_arg): Delete.
1303 * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1304 * config/pa/pa.c (function_arg): Rename to...
1305 (pa_function_arg): ...this. Make static. Take a const_tree and
1307 (pa_function_arg_advance): New function.
1308 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1310 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1312 * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1313 * config/m68k/m68k.c (m68k_function_arg): New function.
1314 (m68k_function_arg_advance): New function.
1315 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1317 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1319 * config/avr/avr-protos.h (function_arg): Delete.
1320 (function_arg_advance): Delete.
1321 * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1322 * config/avr/avr.c (function_arg): Rename to...
1323 (avr_function_arg): ...this. Make static. Take a const_tree and
1325 (function_arg_advance): Rename to...
1326 (avr_function_arg_advance): ...this. Make static. Take a
1327 const_tree and a bool.
1328 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1330 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1332 * config/alpha/alpha-protos.h (function_arg): Delete.
1333 * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1334 * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
1335 * config/alpha/alpha.c (function_arg): Rename to...
1336 (alpha_function_arg): ...this. Make static. Take a const_tree and
1337 a bool. Delete TARGET_ABI_UNICOSMK code.
1338 (alpha_function_arg_advance): New function.
1339 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1341 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1343 * config/mep/mep-protos.h (mep_function_arg): Delete.
1344 (mep_function_arg_advance): Delete.
1345 * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1346 * config/mep/mep.c (mep_function_arg): Make static. Take a
1347 const_tree and a bool.
1348 (mep_function_arg_advance): Likewise.
1349 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1351 2010-10-09 Richard Guenther <rguenther@suse.de>
1353 PR tree-optimization/45945
1354 * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
1356 2010-10-09 Eric Botcazou <ebotcazou@adacore.com>
1358 PR tree-optimization/45612
1359 * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
1360 Test LABEL_DECLs as well. Fix formatting issues.
1361 (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
1362 whose label is present in NON_SSA_VARS.
1363 (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs
1364 as well. Fix formatting issues.
1365 (visit_bb): Fix typos and formatting issue.
1367 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
1369 PR tree-optimization/45950
1370 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
1371 before initializing vno->op.
1373 2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
1375 * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
1376 * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
1378 2010-10-08 H.J. Lu <hongjiu.lu@intel.com>
1381 * config/i386/i386.c (ix86_binary_operator_ok): Support
1382 "andhi/andsi/anddi" as a zero-extending move.
1384 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1386 * builtins.c (fold_call_stmt): Don't copy gimple call arguments
1387 into a temporary array.
1389 2010-10-08 Jakub Jelinek <jakub@redhat.com>
1391 PR tree-optimization/45903
1392 * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
1393 of {A,L}SHIFTRT of MEM.
1395 2010-10-08 Richard Guenther <rguenther@suse.de>
1397 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1398 Re-construct BLOCK_VARS.
1399 (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
1400 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1401 * tree.c (free_lang_data_in_block): Remove.
1402 (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
1403 Do not touch the BLOCK tree.
1404 * expr.c (expand_expr_real_1): Allow externals.
1406 2010-10-08 Richard Guenther <rguenther@suse.de>
1408 * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
1409 Do not output BLOCK_SUBBLOCKS.
1410 * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
1411 Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
1412 Re-construct BLOCK_SUBBLOCKS of parent block.
1413 (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
1414 for BINFO_BASE_ACCESSES.
1416 2010-10-08 Joseph Myers <joseph@codesourcery.com>
1418 * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
1419 (TREE_H): Include $(FLAGS_H) instead of options.h.
1420 (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
1421 * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1422 * common.opt (flag_complex_method, flag_evaluation_order,
1423 flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
1424 Variable declarations.
1425 * configure.ac (tm_include_list): Include flags.h instead of options.h.
1426 * configure: Regenerate.
1427 * flags.h: Condition out contents for target libraries. Include
1428 options.h at end of file.
1429 (flag_complex_method, flag_ira_algorithm, flag_ira_region,
1430 flag_evaluation_order, flag_warn_unused_result): Remove.
1431 * gcc.c (main): Intialize global_options with global_options_init.
1432 * langhooks-def.h (lhd_init_options_struct): Declare.
1433 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1434 (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
1435 * langhooks.c (lhd_init_options_struct): New.
1436 * langhooks.h (struct lang_hooks): Add init_options_struct.
1437 Update comment on init_options.
1438 * optc-gen.awk: Generate initializer for global_options_init, not
1440 * opth-gen.awk: Condition out structure declarations for target
1441 libraries. Declare global_options_init.
1442 * opts-common.c: Include flags.h instead of options.h.
1443 * opts.c (flag_warn_unused_result): Remove.
1444 (read_cmdline_options): Take gcc_options parameters. Pass them to
1445 read_cmdline_option.
1446 (initial_lang_mask, initial_min_crossjump_insns,
1447 initial_max_fields_for_field_sensitive,
1448 initial_loop_invariant_max_bbs_in_loop): Define at file scope.
1449 (init_options_once): New. Split out of decode_options.
1450 (init_options_struct): New. Split out of decode_options.
1451 (decode_cmdline_options_to_array_default_mask): New.
1452 (default_options_optimization): New. Split out of decode_options.
1453 (decode_options): Move most code to other functions. Update call
1454 to read_cmdline_options.
1455 (finish_options): New. Split out of decode_options.
1456 * opts.h (decode_options): Add gcc_options parameters.
1457 (init_options_once, init_options_struct,
1458 decode_cmdline_options_to_array_default_mask): New.
1459 * toplev.c (flag_complex_method, flag_ira_algorithm,
1460 flag_ira_region, flag_evaluation_order): Remove.
1461 (general_init): Use global_options_init for initial flag values
1463 (toplev_main): Call init_options_once, init_options_struct,
1464 lang_hooks.init_options_struct,
1465 decode_cmdline_options_to_array_default_mask and
1466 lang_hooks.init_option before decode_options. Update arguments to
1468 * tree.h: Include flags.h instead of options.h.
1470 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1472 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1474 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1476 * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
1478 * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
1479 (FUNCTION_INCOMING_ARG): Delete.
1480 * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
1481 (function_arg_slotno): Likewise. Take bool arguments.
1482 (sparc_arg_partial_bytes): Update call to it.
1483 (function_arg): Rename to...
1484 (sparc_function_arg_1): ...this. Take bool arguments.
1485 (sparc_function_arg, sparc_function_incoming_arg): New functions.
1486 (function_arg_advance): Rename to...
1487 (sparc_function_arg_advance): ...this. Take bool argument.
1488 (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
1489 (TARGET_FUNCTION_INCOMING_ARG): Define.
1491 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1493 * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
1495 * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1496 * config/bfin/bfin.c (function_arg_advance): Rename to...
1497 (bfin_function_arg_advance): ...this. Make static. Take const_tree
1499 (function_arg): Rename to...
1500 (bfin_function_arg): ...this. Make static. Take const_tree and bool
1502 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1504 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1506 * config/score/score-protos.h (score_function_arg): Delete.
1507 (score_function_arg_advance): Delete.
1508 * config/score/score3.h (score3_function_arg_advance): Take a
1509 const_tree and a bool.
1510 (score3_function_arg): Likewise.
1511 * config/score/score7.h (score7_function_arg_advance): Likewise.
1512 (score7_function_arg): Likewise.
1513 * config/score/score3.c (score3_classify_arg): Likewise.
1514 (score3_function_arg_advance, score3_function_arg): Likewise.
1515 * config/score/score7.c (score7_classify_arg): Likewise.
1516 (score7_function_arg_advance, score7_function_arg): Likewise.
1517 * config/score/score.c (score_function_arg_advance): Likewise.
1518 (score_function_arg): Likewise. De-const-ify `cum' argument.
1519 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1521 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1523 * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
1524 (s390_function_arg): Delete.
1525 * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1526 * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
1527 (s390_function_arg_integer): Likewise.
1528 (s390_function_arg_advance): Make static. Take a const_tree and
1530 (s390_function_arg): Likewise.
1531 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1533 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1535 * config/spu/spu-protos.h (spu_function_arg): Delete.
1536 * config/spu/spu.h (FUNCTION_ARG): Delete.
1537 (FUNCTION_ARG_ADVANCE): Move code to ...
1538 * config/spu/spu.c (spu_function_arg_advance): New function.
1539 (spu_function_arg): Make static. Take a const_tree and a bool.
1540 (spu_setup_incoming_varargs): Call spu_function_arg_advance.
1541 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1543 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1545 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1547 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1549 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
1550 (init_vn_nary_op_from_op): New function.
1551 (init_vn_nary_op_from_stmt): New function.
1552 (vn_nary_op_lookup_1): New function.
1553 (sizeof_vn_nary_op): New function.
1554 (alloc_vn_nary_op_noinit): New function.
1555 (alloc_vn_nary_op): New function.
1556 (vn_nary_op_insert_into): New function.
1557 (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
1558 (vn_nary_op_lookup): Likewise.
1559 (vn_nary_op_lookup_stmt): Likewise.
1560 (vn_nary_op_insert_pieces): Likewise.
1561 (vn_nary_op_insert): Likewise.
1562 (vn_nary_op_insert_stmt): Likewise.
1563 (copy_nary): Likewise.
1564 (set_value_id_for_result): New function.
1565 (set_hashtable_value_ids): Call it.
1567 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1569 * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1570 * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
1572 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
1574 * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
1575 * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1577 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
1580 * cse.c (cse_extended_basic_block): Preserve cc0 info across
1581 debug isnsn. Skip them when searching for cc0 setter.
1582 (set_live_p): Skip debug insns when searching for cc0 user.
1584 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
1590 * tree-pretty-print.c (dump_generic_node): Explicitly dump the
1591 type of MEM_REFs to INTEGER_CSTs.
1593 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
1595 * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
1596 m68hc11_print_operand_address.
1598 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
1600 * builtins.c (rewrite_call_expr): Move code to...
1601 (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array.
1602 (rewrite_call_expr_array): New function.
1603 (fold_builtin_sprintf_chk_1): New function.
1604 (fold_builtin_sprintf_chk): Call it.
1605 (gimple_fold_builtin_sprintf_chk): Likewise.
1606 (fold_builtin_snprintf_chk_1): New function.
1607 (fold_builtin_snprintf_chk): Call it.
1608 (gimple_fold_builtin_snprintf_chk): Likewise.
1609 (gimple_rewrite_call_expr): Delete.
1611 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1613 * config.host: Update copyright year.
1615 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1617 * config.host (host_lto_plugin_soname): New shell variable.
1618 * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
1619 * config.in: Regenerate.
1620 * configure: Regenerate.
1621 * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
1622 LTO plugin shared library.
1624 2010-10-07 Richard Henderson <rth@redhat.com>
1626 * target.h (enum unwind_info_type): Move ...
1627 * coretypes.h: ... here.
1629 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
1631 * doc/objc.texi (Fast enumeration protocol): Mention that
1632 'unsigned int' can also be used instead of 'unsigned long' in
1633 countByEnumeratingWithState:objects:count:.
1635 2010-10-07 Martin Jambor <mjambor@suse.cz>
1637 * tree-sra.c (struct access): New field grp_assignment_write.
1638 (dump_access): Dump grp_assignment_write.
1639 (build_accesses_from_assign): Set grp_assignment_write.
1640 (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
1641 (mark_read_status): Renamed to mark_rw_status, individual values
1643 (analyze_access_subtree): Changed type of mark_write to
1644 mark_read_status. Fixed propagating of mark_read and
1645 mark_write. Changed benefit estimate. Updated comment.
1647 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
1650 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
1651 check for vectype_out returned by get_vectype_for_scalar_type().
1653 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
1656 * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
1657 constraint, add register specifier in instruction template.
1658 (neon_vec_pack_trunc_<mode>): Likewise.
1659 (neon_vec_<US>mult_<mode>): Add register specifier to
1660 instruction template.
1662 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
1664 * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
1666 (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
1667 (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
1668 * config/i386/t-cygwin (cygwin1.o): Delete build rule.
1669 (cygwin2.o): Likewise.
1670 * config/i386/cygwin1.c: Delete file.
1671 * config/i386/cygwin2.c: Likewise.
1672 * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
1673 make all {%!mno-cygwin} ones unconditional.
1674 (STARTFILE_SPEC): Likewise.
1675 (REAL_LIBGCC_SPEC): Likewise.
1676 (LIB_SPEC): Likewise.
1677 (CXX_WRAP_SPEC): Likewise.
1678 (LINK_SPEC): Likewise.
1679 (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
1680 (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
1681 (cygwin_gplusplus_include_dir): Delete now-unused array.
1682 (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
1683 (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
1684 (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
1685 (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
1686 (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
1687 (cygwin_local_include_dir): Delete now-unused array.
1688 (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
1689 (cygwin_cross_include_dir): Delete now-unused array.
1690 (CROSS_INCLUDE_DIR): Don't redefine to point to it.
1691 (cygwin_tool_include_dir): Delete now-unused array.
1692 (TOOL_INCLUDE_DIR): Don't redefine to point to it.
1693 (cygwin_standard_include_dir): Delete now-unused array.
1694 (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
1695 (GEN_CVT_ARRAY): Delete now-unused macro definition.
1696 (cvt_to_mingw): Delete now-unused array.
1697 (mingw_scan): Remove prototype of deleted function.
1698 (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
1699 * config/i386/cygming.opt (mcygwin): Delete target-specific option.
1700 * doc/invoke.texi (-mcygwin): Don't document removed option.
1701 (-mno-cygwin): Likewise.
1703 2010-10-07 Richard Guenther <rguenther@suse.de>
1705 * machmode.h (mode_for_vector): Declare.
1706 * stor-layout.c (mode_for_vector): New function, split out from ...
1707 (layout_type): ... here.
1708 * tree-vectorizer.h (current_vector_size): Declare.
1709 * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
1710 mask vector type is available.
1711 (get_vectype_for_scalar_type): Rename to ...
1712 (get_vectype_for_scalar_type_and_size): ... this. Get a vector
1714 (get_vectype_for_scalar_type): New wrapper around
1715 get_vectype_for_scalar_type_and_size using current_vector_size.
1716 (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
1717 * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
1718 of vect_analyze_loop here.
1719 (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
1720 * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
1722 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
1723 V8SF to V8SI conversion builtin.
1725 2010-10-07 Richard Guenther <rguenther@suse.de>
1727 * target.def (autovectorize_vector_sizes): New target hook.
1728 * targhooks.c (default_autovectorize_vector_sizes): New function.
1729 * targhooks.h (default_autovectorize_vector_sizes): Declare.
1730 * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
1732 * doc/tm.texi: Update.
1733 * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
1734 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
1736 2010-10-07 Richard Guenther <rguenther@suse.de>
1738 * target.def (units_per_simd_word): Rename to ...
1739 (preferred_simd_mode): ... this. Return mode instead of size.
1740 * targhooks.c (default_units_per_simd_word): Rename to ...
1741 (default_preferred_simd_mode): ... this. Return word_mode.
1742 * targhooks.h (default_preferred_simd_mode): Declare.
1743 * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
1744 (arm_preferred_simd_mode): ... this. Re-implement.
1745 * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
1746 (ix86_preferred_simd_mode): ... this. Re-implement.
1747 * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
1748 (sparc_preferred_simd_mode): ... this. Re-implement.
1749 * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
1750 (mips_preferred_simd_mode): ... this. Re-implement.
1751 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
1752 (rs6000_preferred_simd_mode): ... this. Re-implement.
1753 * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
1754 * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
1755 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
1756 * doc/tm.texi: Update.
1758 2010-10-07 Richard Guenther <rguenther@suse.de>
1761 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
1764 2010-10-07 Alan Modra <amodra@gmail.com>
1766 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
1767 rather than sign extension by hand.
1769 2010-10-07 Jan Hubicka <jh@suse.cz>
1772 * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
1774 2010-10-07 Richard Guenther <rguenther@suse.de>
1777 * configure.ac: Fix typo.
1778 * configure: Regenerated.
1780 2010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1782 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
1783 define_builtin_std where it's unnecessary.
1784 * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
1786 2010-10-06 Anatoly Sokolov <aesok@post.ru>
1788 * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
1789 * doc/tm.texi.in: Regenerate.
1790 * system.h (CLASS_LIKELY_SPILLED_P): Poison.
1791 * targhooks.c (default_class_likely_spilled_p): Don't use the
1792 CLASS_LIKELY_SPILLED_P macro.
1794 * config/arm/arm.md: Update comment.
1796 2010-10-06 Jan Hubicka <jh@suse.cz>
1798 * ipa.c (cgraph_remove_unreachable_nodes): External references can
1800 (cgraph_externally_visible_p): We can not bring local comdats that
1801 are known to linker; fix handling of internal visibility.
1802 (function_and_variable_visibility): Likewise.
1804 2010-10-06 Eric Botcazou <ebotcazou@adacore.com>
1806 PR rtl-optimization/45394
1807 * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
1808 (struct rtx_subst_pair): Remove AFTER field.
1809 (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
1810 (propagate_for_debug): Remove MOVE parameter and adjust.
1811 (try_combine): In the special case where I2 is a PARALLEL, combine only
1812 destinations of SETs and set I2SRC to the I2 source.
1813 Adjust calls to propagate_for_debug throughout.
1814 * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
1817 2010-10-06 Olivier Hainque <hainque@adacore.com>
1819 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
1820 switch on insn codes as sequence of ifs.
1822 2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
1824 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
1825 be UI_NONE for picochip.
1826 (picochip_option_override): Do not disable exception flags.
1827 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
1830 2010-10-06 Richard Guenther <rguenther@suse.de>
1832 * Makefile.in (regmove.o): Depend on $(TARGET_H).
1834 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
1836 Implemented fast enumeration for Objective-C.
1837 * c-parser.c (objc_could_be_foreach_context): New.
1838 (c_lex_one_token): Recognize RID_IN keyword in a potential
1839 Objective-C foreach context.
1840 (c_parser_declaration_or_fndef): Added parameter. Accept
1841 Objective-C RID_IN keyword as terminating a declaration; in that
1842 case, return the declaration in the new parameter.
1843 (c_parser_extenral_declaration): Updated calls to
1844 c_parser_declaration_or_fndef.
1845 (c_parser_declaration_or_fndef): Same change.
1846 (c_parser_compound_statement_nostart): Same change.
1847 (c_parser_label): Same change.
1848 (c_parser_objc_methodprotolist): Same change.
1849 (c_parser_omp_for_loop): Same change.
1850 (c_parser_for_statement): Detect and parse Objective-C foreach
1852 (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
1853 * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
1854 fast enumeration parsing code to turn off the c99 error but still
1855 perform checks on the loop declarations.
1856 * c-tree.h (check_for_loop_decls): Updated declaration.
1857 * doc/objc.texi: Document fast enumeration.
1859 2010-10-06 Nick Clifton <nickc@redhat.com>
1861 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
1862 (MDR_REGNUM): Define.
1863 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
1864 (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
1865 (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
1866 (REGISTER_NAMES): Add MDR.
1867 (DWARF2_DEBUGGING_INFO): Define to 1.
1868 * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1869 (F): New function. Sets RTX_FRAME_RELATED_P.
1870 (mn10300_gen_multiple_store): Use F.
1871 (expand_prologue): Use F. Use gen_movsf() to push floating
1873 (expand_epilogue): Use gen_movsf() to pop floating point registers.
1874 (mn10300_option_override): Disable combine stack adjust pass.
1876 2010-10-06 Thomas Schwinge <thomas@schwinge.name>
1879 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
1880 LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
1882 2010-10-06 Jakub Jelinek <jakub@redhat.com>
1884 * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
1885 BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
1886 BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
1887 BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
1888 BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
1889 BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
1890 BUILT_IN_TOUPPER): Mark as leaf.
1893 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
1894 BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
1895 BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
1896 BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
1897 BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
1898 BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
1899 Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
1901 2010-10-05 Anatoly Sokolov <aesok@post.ru>
1903 * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
1904 * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
1905 (m68hc11_class_likely_spilled_p): New function.
1907 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
1909 * c-parser.c (c_parser_objc_method_definition): Updated comment.
1911 2010-10-05 Jan Hubicka <jh@suse.cz>
1913 * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
1915 * opts.c (decode_options): Handle lto partitions.
1916 * common.opt (flto-partition=1to1, flto-partition=balanced): New.
1917 * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
1919 2010-10-05 Jan Hubicka <jh@suse.cz>
1921 * cgraphunit.c (assemble_function): Output thunks and aliases before
1922 the function itself.
1924 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
1926 * config/picochip/picochip.c (picochip_option_override): Disable
1927 exception flags for picochip.
1929 2010-10-05 Joseph Myers <joseph@codesourcery.com>
1931 * opts-common.c (handle_option, handle_generated_option,
1932 read_cmdline_option, set_option): Add diagnostic_context
1933 parameter. Update calls among these functions.
1934 (set_option): Don't use global_dc.
1935 * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
1936 (decode_options): Pass global_dc to enable_warning_as_error.
1937 (common_handle_option): Pass global_dc to enable_warning_as_error.
1938 (enable_warning_as_error): Add diagnostic_context parameter.
1939 Document parameters. Don't use global_dc. Pass
1940 diagnostic_context parameter to handle_generated_option.
1941 * opts.h (set_option, handle_option, handle_generated_option,
1942 read_cmdline_option, enable_warning_as_error): Add
1943 diagnostic_context parameter.
1944 * Makefile.in (lto-opts.o): Update dependencies.
1945 * coretypes.h (struct diagnostic_context, diagnostic_context):
1947 * diagnostic.h (diagnostic_context): Don't declare typedef here.
1948 * gcc.c (process_command): Pass global_dc to read_cmdline_option.
1949 * langhooks-def.h (struct diagnostic_context): Don't declare here.
1950 (lhd_print_error_function, lhd_initialize_diagnostics): Declare
1951 using diagnostic_context typedef.
1952 * langhooks.c (lhd_initialize_diagnostics): Declare using
1953 diagnostic_context typedef.
1954 * langhooks.h (struct diagnostic_context): Don't declare here.
1955 (initialize_diagnostics, print_error_function): Declare using
1956 diagnostic_context typedef.
1957 * lto-opts.c: Include diagnostic.h.
1958 (lto_reissue_options): Pass global_dc to set_option. Pass
1959 DK_UNSPECIFIED not 0.
1960 * plugin.c (plugins_internal_error_function): Declare using
1961 diagnostic_context typedef.
1962 * plugin.h (struct diagnostic_context): Don't declare here.
1963 (plugins_internal_error_function): Declare using
1964 diagnostic_context typedef.
1966 2010-10-05 Olivier Hainque <hainque@adacore.com>
1967 Nicolas Roche <roche@adacore.com>
1969 * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
1970 * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
1972 2010-10-05 Ira Rosen <irar@il.ibm.com>
1974 PR tree-optimization/45752
1975 * tree-vect-slp.c (vect_get_mask_element): Remove static
1976 variables, make them function arguments.
1977 (vect_transform_slp_perm_load): Pass new arguments to
1978 vect_get_mask_element.
1980 2010-10-05 Richard Guenther <rguenther@suse.de>
1982 * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
1983 (gimple_mod_pow2): Likewise.
1984 (gimple_mod_subtract): Likewise.
1985 (gimple_ic): Likewise.
1986 (gimple_stringop_fixed_value): Likewise.
1987 * tree-profile.c (tree_init_edge_profiler): Mark profile
1988 functions nothrow and leaf.
1989 (add_abnormal_goto_call_edges): Remove.
1990 (tree_gen_edge_profiler): Work on SSA form.
1991 (tree_gen_ic_profiler): Likewise. Simplify.
1992 (do_tree_profiling): Update SSA form.
1993 (pass_tree_profile): Remove.
1994 (do_tree_profiling): Likewise.
1995 (gate_tree_profile_ipa): New function.
1996 (pass_ipa_tree_profile): New.
1997 (tree_profiling): Re-write as IPA pass. Properly drop const/pure
1998 state of instrumented functions.
1999 * passes.c (init_optimization_passes): Remove early non-SSA
2000 inlining. Move profiling after early optimizations.
2001 * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
2002 (pass_ipa_early_inline): Likewise.
2003 * tree-pass.h (pass_ipa_early_inline): Remove.
2004 (pass_tree_profile): Likewise.
2005 (pass_ipa_tree_profile): Declare.
2007 2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2008 Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
2010 * gcc/config/s390/s390.c (z196_cost): New.
2011 (s390_handle_arch_option): Add -march=z196.
2012 (s390_option_override): Use the new cost function and use the z10
2013 defaults also for z196.
2014 (legitimate_reload_constant_p): Adjust comment.
2015 (legitimate_reload_fp_constant_p): New function.
2016 (s390_preferred_reload_class): Distingiush between FP and Int constants.
2017 (preferred_la_operand_p): Avoid la with index on z196.
2018 (s390_adjust_priority): Trigger also for z196.
2019 (s390_issue_rate): Issue rate for z196 is 3.
2020 (s390_z10_fix_long_loop_prediction): Rename to ...
2021 (s390_fix_long_loop_prediction): ... this.
2022 (s390_reorg): Apply the z10 adjustments also for z196.
2023 (s390_loop_unroll_adjust): Do this also for z196.
2024 * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
2025 (enum processor_flags): Add PF_Z196.
2026 (TARGET_AVOID_CMP_AND_BRANCH): New macro.
2027 (TARGET_CPU_Z196, TARGET_Z196): New macros.
2028 * gcc/config.gcc: Enable z196 for --with-arch.
2029 * gcc/config/s390/2817.md: New file.
2030 * gcc/config/s390/2084.md: New type for multiply and add.
2031 * gcc/config/s390/2097.md: Likewise.
2032 * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
2033 (UNSPECV_ATOMIC_OP): New constants.
2034 (fmadddf, fmaddsf): New values for type attribute.
2035 (z196prop): New insn attribute.
2036 (cpu, cpu_facility): Add z196.
2037 (ATOMIC_Z196): New code iterator.
2038 (noxa): New code attribute.
2039 (gk): New mode attribute.
2040 (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
2041 Support load zero for fp constants.
2042 (fixuns_truncdddi2, fixuns_trunctddi2)
2043 (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
2045 (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
2046 (popcounthi2, popcountqi2): New expander.
2047 (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
2048 (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
2049 (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
2051 (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
2052 (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
2053 (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
2054 (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
2055 (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
2056 (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
2057 (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
2058 (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
2059 (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
2060 (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
2061 (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
2062 (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
2063 (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
2064 Support new z196 instructions.
2066 2010-10-05 Richard Guenther <rguenther@suse.de>
2069 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
2070 case where gimplification optimizes away the stmt.
2072 2010-10-04 Jakub Jelinek <jakub@redhat.com>
2075 * var-tracking.c (strip_pointer_flags): New function.
2076 (emit_note_insn_var_location): If rtx_equal_p check failed,
2077 retry on locations simplified with simplify_replace_fn_rtx
2078 and strip_pointer_flags as its callback.
2080 2010-10-04 Jan Hubicka <jh@suse.cz>
2082 * gimple-fold.c (static_object_in_other_unit_p): Rename to...
2083 (can_refer_decl_in_current_unit_p): ... this one; reverse return
2084 value; handle comdats too.
2085 (canonicalize_constructor_val): Use it; handle function_decls
2087 (gimple_fold_obj_type_ref_known_binfo): Likewise.
2088 * gimple.c (get_base_address): Accept all kinds of decls.
2090 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2092 * flags.h (g_switch_value, g_switch_set): Remove.
2093 * opts.c (g_switch_value, g_switch_set): Remove.
2094 * config/g.opt (G): Add Var(g_switch_value).
2095 * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
2096 (alpha_option_override): Check global_options_set.x_g_switch_value
2097 instead of g_switch_set.
2098 (alpha_in_small_data_p): Remove cast in comparison with
2100 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2101 g_switch_value to unsigned HOST_WIDE_INT.
2102 * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
2103 with g_switch_value.
2104 (frv_handle_option): Don't handle -G here.
2105 (frv_option_override): Check global_options_set.x_g_switch_value
2106 instead of g_switch_set. Don't modify g_switch_set.
2107 (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
2108 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
2109 g_switch_value to unsigned HOST_WIDE_INT.
2110 * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
2111 (ia64_option_override): Check global_options_set.x_g_switch_value
2112 instead of g_switch_set.
2113 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
2115 (lm32_in_small_data_p): Remove cast in comparison with
2117 * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
2118 ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
2120 * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
2121 (m32r_init): Check global_options_set.x_g_switch_value instead of
2123 (m32r_in_small_data_p): Remove cast in comparison with
2125 (m32r_file_start): Format g_switch_value with %d.
2126 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
2127 ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
2128 * config/microblaze/microblaze.c (microblaze_handle_option): Don't
2130 (microblaze_option_override): Check
2131 global_options_set.x_g_switch_value instead of g_switch_set.
2132 * config/mips/mips.c (mips_handle_option): Don't handle -G here.
2133 (mips_option_override): Check global_options_set.x_g_switch_value
2134 instead of g_switch_set.
2135 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
2136 (rs6000_file_start): Format g_switch_value with %d.
2137 (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
2138 comparisons with g_switch_value.
2139 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
2140 global_options_set.x_g_switch_value instead of g_switch_set.
2141 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2142 global_options_set.x_g_switch_value instead of g_switch_set.
2143 * config/score/score.c (score_handle_option): Don't handle -G here.
2144 * config/score/score3.c (score3_option_override): Check
2145 global_options_set.x_g_switch_value instead of g_switch_set.
2146 * config/score/score7.c (score7_option_override): Check
2147 global_options_set.x_g_switch_value instead of g_switch_set.
2149 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
2151 * common.opt (fira-coalesce): Remove.
2153 * doc/invoke.texi (flag_ira_coalesce): Remove.
2155 * ira-color.c (allocno_coalesced_p): Move before
2156 copy_freq_compare_func.
2157 processed_coalesced_allocno_bitmap): Ditto.
2158 (update_conflict_hard_regno_costs): Don't use
2159 ALLOCNO_FIRST_COALESCED_ALLOCNO.
2160 (allocno_cost_compare_func, print_coalesced_allocno): Remove.
2161 (assign_hard_reg): Assume no coalesced allocnos.
2162 (get_coalesced_allocnos_attributes): Remove.
2163 (bucket_allocno_compare_func): Assume no coalesced allocnos.
2164 (push_allocno_to_stack): Ditto.
2165 (remove_allocno_from_bucket_and_push): Use
2166 ira_print_expanded_allocno instead of print_coalesced_allocno.
2167 (push_allocnos_to_stack): Assume uncoalesced allocnos.
2168 (all_conflicting_hard_regs_coalesced): Ditto. Rename to
2169 all_conflicting_hard_regs.
2170 (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
2171 (setup_allocno_left_conflicts_size): Ditto.
2172 (put_allocno_into_bucket): Ditto.
2173 (copy_freq_compare_func): Remove.
2174 (copy_freq_compare_func, merge_allocnos): Move before
2175 coalesced_pseudo_reg_freq_compare.
2176 coalesced_allocno_conflict_p): Ditto.
2177 (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
2178 parameter. Assume it true.
2179 (color_allocnos): Assume uncoalesced allocnos. Use
2180 ira_print_expanded_allocno instead of print_coalesced_allocno.
2181 (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
2184 * ira.c: Remove comment about coalescing.
2186 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2188 * config/mips/mips.h (target_flags_explicit): Declare for
2191 2010-10-04 Andi Kleen <ak@linux.intel.com>
2193 * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
2194 gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
2196 2010-10-04 Matthias Klose <doko@ubuntu.com>
2198 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
2199 multilib osdirname if it exists.
2200 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
2202 2010-10-04 Jakub Jelinek <jakub@redhat.com>
2205 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
2206 arg0's type or its unsigned counterpart as utype. Convert
2207 arg1 to utype unconditionally.
2209 2010-10-04 Julian Brown <julian@codesourcery.com>
2211 * expr.c (expand_assignment): Add assertion to prevent emitting
2212 null rtx for movmisalign pattern.
2213 (expand_expr_real_1): Likewise.
2214 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
2215 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
2216 (arm_vector_alignment_reachable): New.
2217 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
2218 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
2219 (arm_print_operand): Include alignment qualifier in %A.
2220 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
2221 (movmisalign<mode>): New expander.
2222 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
2225 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2227 * optc-gen.awk: Define global_options_set. Don't define
2228 target_flags_explicit.
2229 * opth-gen.awk: Declare global_options_set. Define
2230 target_flags_explicit as macro.
2231 * opts-common.c (handle_option): Take opts_set and generated_p
2233 (handle_generated_option, read_cmdline_option, set_option): Take
2235 (set_option): Use opts_set instead of hardcoding target_flags and
2236 target_flags_explicit.
2237 * opts.c (sel_sched_switch_set, profile_arc_flag_set,
2238 flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
2239 flag_value_profile_transformations_set, flag_peel_loops_set,
2240 flag_branch_probabilities_set, flag_inline_functions_set,
2241 flag_ipa_cp_set, flag_ipa_cp_clone_set,
2242 flag_predictive_commoning_set, flag_unswitch_loops_set,
2243 flag_gcse_after_reload_set): Remove.
2244 (common_handle_option, lang_handle_option, target_handle_option):
2245 Take opts_set parameter. Assert that it is &global_options_set.
2246 (common_handle_option): Don't set _set variables. Check opts_set
2247 instead of such variables.
2248 (enable_warning_as_error): Pass &global_options_set to
2249 handle_generated_option.
2250 * opts.h (cl_option_handler_func.handler, set_option,
2251 handle_option, handle_generated_option, read_cmdline_option): Add
2252 opts_set parameters.
2253 (handle_option): Add generated_p parameter.
2254 * config/i386/i386.c (ix86_function_specific_save,
2255 ix86_function_specific_restore): Updat for renaming of
2256 target_flags_explicit field.
2257 * config/i386/i386.opt (target_flags_explicit): Rename to
2258 ix86_target_flags_explicit.
2259 * config/ia64/ia64.c (ia64_override_options_after_change): Check
2260 global_options_set.x_flag_selective_scheduling and
2261 global_options_set.x_flag_selective_scheduling2, not
2262 sel_sched_switch_set.
2263 * flags.h (sel_sched_switch_set,
2264 flag_speculative_prefetching_set): Remove.
2265 * gcc.c (driver_handle_option): Take opts_set parameter. Assert
2266 that it is &global_options_set.
2267 (process_command): Pass &global_options_set to read_cmdline_option.
2268 * lto-opts.c (lto_reissue_options): Pass &global_options_set to
2270 * toplev.c (target_flags_explicit): Remove.
2272 2010-10-04 Jan Hubicka <jh@suse.cz>
2275 * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
2276 use get_ref_base_and_offset to handle references.
2277 (fold_const_aggregate_ref): Update.
2279 2010-10-04 Martin Jambor <mjambor@suse.cz>
2281 PR tree-optimization/45572
2282 * ipa-prop.c (ipa_make_edge_direct_to_target): Call
2283 ipa_check_create_node_params.
2284 * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
2286 2010-10-04 Yao Qi <yao@codesourcery.com>
2288 * doc/passes.texi: Clean up.
2290 2010-10-03 Ian Lance Taylor <iant@google.com>
2292 * c-typeck.c (lookup_field): If -fplan9-extensions, permit
2293 referring to a field using a typedef name.
2294 (find_anonymous_field_with_type): New static function.
2295 (convert_to_anonymous_field): New static function.
2296 (convert_for_assignment): If -fplan9-extensions, permit converting
2297 pointer to struct to pointer to anonymous field.
2298 * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
2299 (is_duplicate_field): New static function.
2300 (detect_field_duplicates_hash): If -fplan9-extensions, check for
2301 typedef names duplicating field names.
2302 (detect_field_duplicates): Likewise.
2303 * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
2304 (C Dialect Options): Document -fplan9-extensions.
2305 * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
2307 2010-10-03 H.J. Lu <hongjiu.lu@intel.com>
2309 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
2311 (vect_create_data_ref_ptr): Likewise.
2312 * tree-vect-stmts.c (vectorizable_store): Likewise.
2313 (perm_mask_for_reverse): Likewise.
2314 (reverse_vec_elements): Likewise.
2315 (vectorizable_load): Likewise.
2317 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2319 * cppbuiltin.c: New file.
2320 * cppbuiltin.h: New file.
2321 * Makefile.in: Take into account cppbuiltin.{h,c}.
2323 2010-10-03 Andi Kleen <ak@linux.intel.com>
2325 * lto-cgraph.c (input_cgraph): Check for missing sections.
2327 2010-10-03 Uros Bizjak <ubizjak@gmail.com>
2329 * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
2330 to nonimmediate_operand. Force operand 2 to register when allowed.
2331 (*<shiftrt_insn><mode>3_mask): Ditto.
2332 (*<rotate_insn><mode>3_mask): Ditto.
2334 2010-10-02 H.J. Lu <hongjiu.lu@intel.com>
2336 PR tree-optimization/45720
2337 PR tree-optimization/45764
2338 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
2339 Don't accept backwards consecutive accesses.
2340 (vect_create_data_ref_ptr): Disallow negative steps.
2342 * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
2343 (perm_mask_for_reverse): Removed.
2344 (reverse_vec_elements): Likewise.
2345 (vectorizable_load): Don't handle negative steps.
2347 2010-10-02 Jan Hubicka <jh@suse.cz>
2349 * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
2350 call destination is known.
2352 2010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2355 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
2358 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2360 * doc/install.texi (Configuration): Document build_configargs,
2361 host_configargs, target_configargs.
2363 2010-10-01 Uros Bizjak <ubizjak@gmail.com>
2365 * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
2366 (*<shiftrt_insn><mode>3_mask): Ditto.
2367 (*<rotate_insn><mode>3_mask): Ditto.
2369 2010-10-01 Steve Ellcey <sje@cup.hp.com>
2371 PR tree-optimization/44716
2372 * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
2373 (HOT_TEXT_SECTION_NAME): Define.
2375 2010-10-01 Nick Clifton <nickc@redhat.com>
2377 * common.opt: Add -fcombine-stack-adjustments.
2378 * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
2379 * combine-stack-adj.c (gate_handle_stack_adjustments): Check
2380 flag_combine_stack_adjustments.
2381 * doc/invoke.texi: Document the new option.
2383 2010-10-01 Richard Guenther <rguenther@suse.de>
2385 PR tree-optimization/45854
2386 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
2388 2010-10-01 Anthony Green <green@moxielogic.com>
2390 * config.gcc: Fix moxie-*-rtems* configuration.
2392 2010-10-01 Richard Guenther <rguenther@suse.de>
2394 * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
2395 (gen_decl_die): Likewise.
2397 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2399 * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
2400 to the function code for SPU MD builtins.
2401 (spu_expand_builtin): Update.
2402 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
2404 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2406 * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
2407 sjlj_except_unwind_info.
2409 2010-10-01 Tristan Gingold <gingold@adacore.com>
2411 * configure.ac: Define the nop insn for avr*-*-*
2412 * configure: Regenerate.
2414 2010-10-01 Alan Modra <amodra@gmail.com>
2417 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
2418 extend toc_restore_insn.
2420 2010-09-30 Richard Guenther <rguenther@suse.de>
2422 PR tree-optimization/43959
2423 * function.c (gimplify_parameters): Use create_tmp_reg instead of
2426 2010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
2428 * config/sh/sh.c (sh_expand_prologue): Set
2429 current_function_static_stack_size.
2431 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2433 * configure.ac: Check for Solaris 8 ld with .hidden support.
2434 * configure: Regenerate.
2436 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2439 * graphite.c (graphite_initialize): Call scev_reset.
2441 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2443 * sese.h (scev_analyzable_p): Return false for real or floating
2444 point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
2446 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2448 * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
2450 * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
2452 * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
2453 Do not allocate ub_expr, it is passed in initialized.
2455 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2457 * graphite-clast-to-gimple.c (init_cloog_input_file): New.
2458 (build_cloog_prog): Dump CLooG input file when
2459 flag_graphite_dump_cloog is set. This is disabled on trunk.
2460 * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
2462 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2464 * graphite-clast-to-gimple.c (graphite_verify): Remove call to
2465 verify_dominators for CDI_POST_DOMINATORS.
2466 * sese.h: Remove comment about CDI_POST_DOMINATORS.
2467 (recompute_all_dominators): Remove call to free_dominance_info
2468 for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
2469 for CDI_POST_DOMINATORS.
2471 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2473 * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
2474 over pbb_dim_iter_domain.
2476 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2478 * graphite-flattening.c: Fix comments.
2480 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2482 * Makefile.in (OBJS-common): Add graphite-flattening.o.
2483 (graphite-flattening.o): New rule.
2484 * common.opt (floop-flatten): New flag.
2485 * doc/invoke.texi (-floop-flatten): Documented.
2486 * graphite-flattening.c: New.
2487 * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
2488 * graphite-poly.h (flatten_all_loops): Declared.
2489 (lst_remove_loop_and_inline_stmts_in_loop_father): New.
2490 * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
2491 is set, also set flag_graphite.
2493 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2495 * graphite-poly.c (cloog_checksum): New.
2496 * graphite-poly.h (cloog_checksum): Declared.
2498 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2500 * graphite-poly.c (pbb_number_of_iterations): Removed.
2501 (pbb_number_of_iterations_at_time): Correctly compute the number
2502 of iterations in the transformed loop.
2503 * graphite-poly.h (pbb_number_of_iterations): Removed.
2505 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2507 * graphite-poly.h (lst_update_scattering_seq): Removed.
2508 (lst_update_scattering): Correctly handle outermost loop dewey
2511 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2513 * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
2514 lst_strip_mine_profitable_p. Call lst_niter_for_loop.
2515 * graphite-poly.h (lst_niter_for_loop): New.
2517 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2519 * graphite-poly.c (apply_poly_transforms): Do not abort when the
2520 transform read from disk is not legal. Call fatal_error instead.
2522 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2524 * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
2525 (print_scop_header): Removed. Inlined in the only call place...
2526 (print_scop): ... here.
2528 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2530 * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
2532 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2534 * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
2536 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2538 * graphite-dependences.c (dot_deps): Avoid set but not used warning.
2539 (dot_deps_stmt): Same.
2540 * graphite-poly.c (dot_lst): Same.
2542 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2544 * graphite-blocking.c (scop_do_strip_mine): Do not call
2545 graphite_legal_transform.
2546 (scop_do_block): Same.
2548 2010-09-30 Vladimir Kargov <kargov@gmail.com>
2550 * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
2553 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2555 * tree-scalar-evolution.c (instantiate_array_ref): New.
2556 (instantiate_scev_r): Also handle ARRAY_REFs.
2558 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2560 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
2561 Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
2562 RESULT_DECL, and FIELD_DECL. Return false for an
2563 SSA_NAME_IS_DEFAULT_DEF.
2564 (compute_scalar_evolution_in_loop): Do not further analyze the
2565 scalar evolution when no_evolution_in_loop_p returns true.
2567 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2569 * tree-chrec.h (evolution_function_is_affine_p): Do not check
2570 whether CHREC_LEFT is invariant. A function is affine when
2571 CHREC_RIGHT is invariant.
2573 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2575 * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
2577 (rewrite_degenerate_phi): Same.
2578 (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
2580 2010-09-30 Vladimir Kargov <kargov@gmail.com>
2582 * graphite-scop-detection.c (graphite_can_represent_scev,
2583 graphite_can_represent_expr, stmt_has_simple_data_refs_p,
2584 graphite_can_represent_loop): Remove outermost_loop.
2586 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2589 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
2590 handle GIMPLE_CALLs with no LHS.
2592 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2594 * graphite-poly.c (init_graphite_out_file): New.
2595 (init_graphite_in_file): New.
2596 (apply_poly_transforms): Updated to enable reading and writing of
2597 multiple scop files.
2599 2010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
2601 * graphite-scop-detection.c (graphite_can_represent_scev): Remove
2604 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2606 * graphite-clast-to-gimple.c (precision_for_value): Adjust
2607 computation of precision by 1.
2609 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2611 * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
2612 (openscop_read_polyhedron_matrix): New.
2613 * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
2614 (openscop_read_N_int): Same.
2615 * graphite-poly.c (openscop_read_N_int): New.
2616 (openscop_read_one_int): New.
2617 (openscop_read_N_string): New.
2618 (openscop_read_one_string): New.
2619 (openscop_read_powerset_matrix): New.
2620 (graphite_read_transforms): Remove.
2621 (graphite_read_scatt): New.
2622 (graphite_read_scop_file): New.
2623 (apply_poly_transforms): Updated to call graphite_read_scop_file.
2625 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2627 * graphite-poly.c: Change include order.
2629 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
2631 * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
2632 (cloog_matrix_nrows): New.
2634 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2636 * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
2638 * graphite-poly.c (openscop_print_scattering_function_1): Same.
2639 (print_scattering_function_1): Same.
2640 (openscop_print_pbb_domain): Same.
2641 (openscop_print_scop_context): Same.
2642 (print_scop_context): Same.
2644 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2646 * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
2647 (openscop_print_pdr_polyhedron): Print pph.
2649 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2651 * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
2652 priority signed types.
2654 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2656 * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
2657 the call to lang_hooks.types.type_for_size. Call
2658 build_nonstandard_integer_type.
2660 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
2662 * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
2663 (openscop_print_polyhedron_matrix): New.
2664 * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
2665 * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
2666 (openscop_print_pdr_powerset): New.
2667 (openscop_print_powerset_matrix): New.
2668 (openscop_print_scattering_function_1): New.
2669 (print_scattering_function): Add support for scattering names and
2671 (graphite_write_transforms): Remove.
2672 (print_pdr_access_layout): Updated to support OpenScop format.
2674 (openscop_print_pbb_domain): New.
2675 (print_pbb_body): Added a parameter to allow indicating that pbb_body
2677 (print_pbb): Updated to call the new print_pbb_body.
2678 (openscop_print_scop_context): New.
2679 (print_scop_header): New.
2680 (print_scop): Updated to call print_scop_header.
2681 * graphite-poly.h: Document OpenScop format.
2683 2010-09-30 Anatoly Sokolov <aesok@post.ru>
2685 * config/cris/m32c.c (cris_memory_move_cost): New.
2686 (cris_register_move_cost): Make static. Change arguments type from
2687 enum reg_class to reg_class_t.
2688 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2689 * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2690 * config/cris/cris-protos.h (cris_register_move_cost): Remove.
2692 2010-09-30 Jakub Jelinek <jakub@redhat.com>
2695 * config/i386/i386.c (ix86_gimplify_va_arg): Use
2696 INTVAL (XEXP (slot, 1)) as prev_size.
2698 2010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
2701 * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
2702 * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
2704 * config/rs6000/option-defaults.h (toplevel): Change #if
2705 TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
2706 global option changes.
2708 2010-09-30 Jakub Jelinek <jakub@redhat.com>
2710 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
2712 PR tree-optimization/31261
2713 * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
2714 for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
2716 2010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2719 * Makefile.in (build/gen%$(build_exeext)): Move rule after all
2720 special-casing for generators and turn into ...
2721 ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
2722 rule, for better error messages in case of toplevel dependency errors.
2723 (genprog): Add hooks, rename to ...
2724 (genprogerr): ... this, and let genprog also contain check,
2726 ((genprog:%=build/gen%$(build_exeext))): Rename to ...
2727 ((genprogerr:%=build/gen%$(build_exeext))): ... this.
2728 (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
2730 2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
2731 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2733 * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
2734 for GMP, MPFR and MPC.
2736 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2738 * config/sparc/sparc.opt (mimpure-text): Move ...
2739 * config/sol2.opt: ... here. Correct description.
2740 * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
2741 * doc/invoke.texi (Option Summary, SPARC Options): Move
2742 -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
2743 (Option Summary, Solaris 2 Options): ... here.
2744 (Submodel Options, Solaris 2 Options): New menu entry.
2745 (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
2746 (Solaris 2 Options): ... here.
2748 2010-09-30 Michael Eager <eager@eagercon.com>
2750 * extend.texi (interrupt_handler): Add MicroBlaze to list.
2751 (save_volatiles): Describe option for MicroBlaze.
2752 * invoke.texi: Add MicroBlaze Options.
2753 * contrib.texi: Add acknowledgment.
2754 * md.texi: Add MicroBlaze d and z constraints.
2755 * install.texi: Add microblaze-*-elf.
2756 * configure.ac: Add microblaze-*-* to target list.
2757 * configure: Regenerate.
2758 * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
2759 * config/microblaze/microblaze-protos.h: New.
2760 * config/microblaze/crti.s: New.
2761 * config/microblaze/predicates.md: New.
2762 * config/microblaze/linux.h: New.
2763 * config/microblaze/microblaze.md: New.
2764 * config/microblaze/constraints.md: New.
2765 * config/microblaze/crtn.s: New.
2766 * config/microblaze/microblaze.opt: New.
2767 * config/microblaze/microblaze-c.c: New.
2768 * config/microblaze/t-microblaze: New.
2769 * config/microblaze/microblaze.c: New.
2770 * config/microblaze/microblaze.h: New.
2772 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
2774 * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
2775 parse @optional/@required and set the flags as appropriate.
2777 2010-09-30 Nathan Froyd <froydnj@codesourcery.com>
2779 * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
2781 2010-09-30 Joseph Myers <joseph@codesourcery.com>
2783 * opt-functions.awk (static_var): Update comment.
2784 (var_ref): Return offsetof expression or -1, not variable address.
2785 * optc-gen.awk: Generate structure field initializers instead of
2786 static variables. Expect -1 for missing variables instead of null
2787 pointer. Add gcc_options parameters to generated functions.
2788 * opth-gen.awk: Generate structure fields for static variables.
2789 Add gcc_options parameters to generated functions.
2790 * common.opt (optimize, optimize_size): Add variables.
2791 * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
2792 &global_options to cl_target_option_restore.
2793 * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
2794 &global_options to cl_optimization_restore, cl_target_option_save
2795 and cl_target_option_restore.
2796 (ix86_set_current_function): Pass &global_options to
2797 cl_target_option_restore.
2798 * config/pdp11/pdp11.h (optimize): Remove.
2799 * config/rs6000/rs6000.h (optimize): Remove.
2800 * config/sh/sh.h (optimize): Remove.
2801 * config/xtensa/xtensa.h (optimize): Remove.
2802 * coretypes.h (struct gcc_options): Declare.
2803 * diagnostic.c (diagnostic_initialize): Initialize
2804 context->option_state.
2805 (diagnostic_report_diagnostic): Pass option_state to
2806 option_enabled hook.
2807 * diagnostic.h (diagnostic_context.option_enabled): Add void *
2809 (diagnostic_context.option_state): New field.
2810 * final.c (final_start_function, final, final_scan_insn): Rename
2811 optimize parameter to optimize_p.
2812 * flags.h (optimize, optimize_size): Remove.
2813 * function.c (invoke_set_current_function_hook): Pass
2814 &global_options to cl_optimization_restore.
2815 * gcc.c (driver_handle_option): Take gcc_options parameter.
2816 Assert that it is &global_options.
2817 (process_command): Pass &global_options to read_cmdline_option.
2818 * ipa-pure-const.c (suggest_attribute): Pass &global_options to
2820 * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
2821 &global_options to set_option.
2822 * opts-common.c (handle_option, handle_generated_option,
2823 read_cmdline_option, set_option): Take explicit gcc_options
2824 parameters. Use option_flag_var.
2825 (option_flag_var): New.
2826 * opts.c (common_handle_option, lang_handle_option,
2827 target_handle_option): Take gcc_options parameter. Assert that it
2829 (read_cmdline_options): Pass &global_options to read_cmdline_option.
2830 (print_filtered_help): Use option_flag_var. Pass &global_options
2832 (common_handle_option): Use option_flag_var.
2833 (option_enabled): Take opts parameter. Use option_flag_var.
2834 (get_option_state): Take gcc_options parameter. Use
2835 option_flag_var. Pass gcc_options parameter to option_enabled.
2836 (enable_warning_as_error): Pass &global_options to
2837 handle_generated_option.
2838 * opts.h (struct cl_option): Change flag_var to flag_var_offset.
2839 (cl_option_handler_func.handler): Take gcc_options parameter.
2840 (option_enabled, get_option_state, set_option, handle_option,
2841 handle_generated_option, read_cmdline_option): Take gcc_options
2843 * toplev.c (optimize, optimize_size): Remove.
2844 (print_switch_values): Pass &global_options to option_enabled.
2845 (option_affects_pch_p): Use option_flag_var. Pass &global_options
2846 to get_option_state.
2847 (general_init): Initialize global_dc->option_state.
2848 * tree.c (build_optimization_node): Pass &global_options to
2849 cl_optimization_save.
2850 (build_target_option_node): Pass &global_options to
2851 cl_target_option_save.
2853 2010-09-30 Martin Jambor <mjambor@suse.cz>
2855 * tree-sra.c (type_consists_of_records_p): Do not check for trailing
2856 zero sized bit-fields.
2858 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
2860 * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
2861 Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
2862 (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
2863 (c_parser_objc_class_declaration): Same change.
2864 (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
2865 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
2866 (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
2867 instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
2868 and RID_AT_PUBLIC instead of RID_PUBLIC.
2869 (c_parser_statement_after_labels): Use RID_AT_TRY instead of
2870 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
2872 2010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
2874 * doc/install.texi (Binaries): Update link to HP-UX porting centre.
2875 Add links to current providers of packages for Solaris and IRIX.
2877 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
2879 Merge from 'apple/trunk' branch on FSF servers.
2880 * c-parser.c: Applied change originally in c-parse.in.
2882 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
2885 * c-decl.c (start_decl): Check for redeclaration of class name.
2886 * c-parse.in (after_type_declarator): Recognize CLASSNAME.
2888 2010-09-29 Steve Ellcey <sje@cup.hp.com>
2890 * config/ia64/ia64.c (ia64_builtin_decl): New.
2891 (TARGET_BUILTIN_DECL): Define.
2892 (ia64_builtins): New.
2893 (ia64_init_builtins): Save decls in ia64_builtins.
2895 2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
2898 * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
2899 (move2add_use_add3_insn): Likewise.
2900 (reload_cse_move2add): Likewise.
2901 * rtlanal.c (get_full_rtx_cost): New function.
2902 * rtl.h (struct full_rtx_costs): New.
2903 (init_costs_to_max, init_costs_to_zero, costs_lt_p,
2904 costs_add_n_insns): New inline functions.
2905 (get_full_rtx_cost): Declare.
2908 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
2909 invariants. Check for reg_equiv_invariant.
2910 (reload): Assert that spilled_pseudos is empty when returning.
2912 2010-09-29 Kai Tietz <kai.tietz@onevision.com>
2914 * config/i386/mingw32.h (TARGET_64BIT): replaced by
2915 TARGET_64BIT_DEFAULT in #if check.
2917 2010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
2919 * varasm.c (assemble_alias): Add error message for unsupported ifunc.
2921 2010-09-29 Mike Stump <mikestump@comcast.net>
2923 * config/darwin.h (flag_mkernel): Remove.
2924 (flag_apple_kext): Likewise.
2926 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2927 Jack Howarth <howarth@bromo.med.uc.edu>
2929 * config/darwin.opt (undefined): Add.
2931 2010-09-29 Nathan Sidwell <nathan@codesourcery.com>
2934 * configure.ac: Add --enable-indirect-function option.
2935 * config.gcc: Add default_gnu_indirect_function.
2936 * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
2937 (HAVE_GNU_INDIRECT_FUNCTION): ... this.
2938 * varasm.c (do_assemble_alias): Adjust for macro name change.
2939 * configure: Rebuilt.
2940 * doc/install.texi: Document --enable-indirect-function.
2942 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2944 * doc/options.texi (Variable, Var, Init): Update documentation
2945 without reference to VarExists.
2946 (VarExists): Remove.
2947 * common.opt, config/i386/i386.opt, config/linux.opt,
2948 config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
2949 Don't use VarExists.
2951 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2953 * optc-gen.awk: Generate global_options initializer instead of
2954 individual variables. Add x_ prefix to names of structure members.
2955 * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
2956 names of structure members.
2957 * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
2958 HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
2959 * doc/tm.texi: Regenerate.
2960 * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
2961 * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
2962 * c-parser.c (disable_extension_diagnostics,
2963 restore_extension_diagnostics): Update names of cpp_options members.
2964 * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
2965 * common.opt (fcompare-debug-second): Don't use Var.
2966 * config/alpha/alpha.h (target_flags): Remove.
2967 * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
2968 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
2969 * config/bfin/bfin.h (target_flags): Remove.
2970 * config/cris/cris.h (target_flags): Remove.
2971 * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
2972 cl_target_option members.
2973 * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
2974 (ix86_function_specific_print, ix86_valid_target_attribute_tree,
2975 ix86_can_inline_p): Update names of cl_target_option members.
2976 * config/i386/i386.h (ix86_isa_flags): Remove.
2977 * config/lm32/lm32.h (target_flags): Remove.
2978 * config/mcore/mcore.h (mcore_stack_increment): Remove.
2979 * config/mcore/mcore.md (addsi3): Remove extern declaration of
2980 flag_omit_frame_pointer.
2981 * config/mep/mep.h (target_flags): Remove.
2982 * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
2983 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
2984 * config/mmix/mmix.h (target_flags): Remove.
2985 * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
2986 flag_expensive_optimizations): Remove.
2987 * config/s390/s390.h (flag_pic): Remove.
2988 * config/score/score-conv.h (target_flags): Remove.
2989 * config/sh/sh.h (sh_fixed_range_str): Remove.
2990 * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
2991 * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
2992 * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
2993 * diagnostic.c (diagnostic_initialize): Update names of
2994 diagnostic_context members.
2995 * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
2996 warn_system_headers.
2997 (diagnostic_report_warnings_p): Update for new names.
2998 * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
2999 * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
3000 HARD_FRAME_POINTER_IS_ARG_POINTER.
3001 * flags.h (flag_compare_debug): Declare.
3002 * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3003 * opts.c (flag_compare_debug): Define.
3004 (common_handle_option): Update names of diagnostic_context
3005 members. Handle -fcompare-debug-second.
3006 (fast_math_flags_struct_set_p): Update names of cl_optimization
3008 * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3009 * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3010 * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3011 * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3012 * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3013 * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3014 HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
3015 * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3016 * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
3018 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
3020 * config/picochip/picochip.c (picochip_output_internal_label):
3021 This function can now be called for debug CFI labels, which can come
3022 in the middle of a vliw instruction. Postpone until end of vliw.
3024 2010-09-29 Richard Guenther <rguenther@suse.de>
3026 * tree.h (SCOPE_FILE_SCOPE_P): New macro.
3027 (DECL_FILE_SCOPE_P): Use it.
3028 (TYPE_FILE_SCOPE_P): New macro.
3030 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3032 * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
3033 a CPP_NAME which is a reserved word, clearly separate cases for
3034 OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
3036 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3038 * c-parser.c (c_lex_one_token): In Objective-C, do not replace
3039 token->value with the canonical spelling. Do exactly like C and
3040 C++ and leave it as it is.
3042 2010-09-28 Richard Henderson <rth@redhat.com>
3044 * config/alpha/alpha.c (alpha_builtins): New.
3045 (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
3046 (alpha_builtin_function): New.
3047 (alpha_add_builtins, alpha_init_builtins): Use it.
3049 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
3051 * doc/standards.texi (Standards): Expanded the section on
3052 Objective-C and Objective-C++.
3054 2010-09-28 DJ Delorie <dj@redhat.com>
3057 * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
3060 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3062 * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
3063 attributes on methods.
3064 (c_parser_objc_method_definition): Handle attributes.
3065 (c_parser_objc_methodproto): Likewise.
3066 (c_parser_objc_maybe_method_attributes): New.
3067 (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
3068 missing definition, similar to that in ObjC++.
3070 2010-09-28 Richard Henderson <rth@redhat.com>
3072 * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
3073 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3074 (CONFIG_SJLJ_EXCEPTIONS): Remove.
3075 (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
3076 (STACK_CHECK_PROTECT): Likewise.
3077 * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
3078 (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
3079 (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
3080 (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
3081 (dwarf2out_assembly_start): Likewise.
3082 * except.c (init_eh): Use targetm.except_unwind_info.
3083 (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
3084 (output_one_function_exception_table): Likewise.
3085 * final.c: Unconditionally include dwarf2out.h.
3086 (final_start_function): Unconditionally call dwarf2out routines.
3087 (final_end_function, final_scan_insn): Likewise.
3088 * function.c (expand_function_end): Use targetm.except_unwind_info.
3089 * opts.c (decode_options): Use targetm.except_unwind_info.
3090 * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
3091 * target.def (debug_unwind_info, except_unwind_info): New.
3092 * target.h (enum unwind_info_type): New.
3093 * targhooks.c (default_debug_unwind_info): New.
3094 (default_except_unwind_info): New.
3095 (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
3096 * targhooks.h: Declare them.
3097 * tree-tailcall.c: Include "target.h"
3098 (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
3099 * Makefile.in (tree-tailcall.o): Update.
3100 * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
3101 (lhd_gcc_personality): Likewise.
3103 * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
3104 (TARGET_EXCEPT_UNWIND_INFO): New.
3105 (DWARF2_UNWIND_INFO): Update.
3106 (TARGET_DEBUG_UNWIND_INFO): New.
3107 * doc/tm.texi: Rebuild.
3109 * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
3110 targetm.except_unwind_info.
3112 * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
3113 (arm_except_unwind_info): New.
3114 (arm_compute_func_type): Use it.
3115 (arm_expand_prologue, thumb_pushpop): Likewise.
3116 (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
3117 (arm_unwind_emit, arm_output_fn_unwind): Likewise.
3118 * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
3119 * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
3120 (DWARF2_UNWIND_INFO): Remove.
3121 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3122 (ARM_EABI_UNWIND_TABLES): Remove.
3124 * config/ia64/ia64.c (ia64_debug_unwind_info): New.
3125 (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
3126 (ia64_except_unwind_info): New.
3127 (ia64_output_function_prologue): Use it.
3128 (ia64_add_bundle_selector_before): Likewise.
3129 (ia64_reorg, ia64_asm_unwind_emit): Likewise.
3130 * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
3131 (TARGET_UNWIND_INFO): Remove.
3133 * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
3135 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3137 * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
3138 (c_parser_objc_protocol_definition): Likewise.
3139 (c_parser_external_declaration): Provide dummy attribute arguments.
3140 (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
3141 (c_parser_objc_class_definition): Handle attributes.
3142 (c_parser_objc_protocol_definition): Likewise.
3144 2010-09-28 Tobias Burnus <burnus@net-b.de>
3148 * toplev.h (save_decoded_options, save_decoded_options_count):
3149 New global variables.
3150 * toplev.c (save_decoded_options, save_decoded_options_count):
3153 2010-09-28 Ian Lance Taylor <iant@google.com>
3155 * config/i386/i386.c (ix86_supports_split_stack): Test
3156 HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
3158 2010-09-28 Ian Lance Taylor <iant@google.com>
3161 * opts.c (decode_options): Don't test whether the target supports
3162 split stack if flag_split_stack == 0.
3164 2010-09-28 Jan Hubicka <jh@suse.cz>
3166 * builtin-attrs.def (ATTR_LEAF): New attribute.
3167 (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
3168 ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
3169 ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
3170 ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
3171 ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
3172 ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
3173 ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
3174 * sync-builtins.def: Annotate all builtins by leaf.
3175 * omp-builtins.def: Annotate all builtins by leaf.
3176 * builtins.def: Annotate relevant builtins with leaf attribute.
3177 (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3178 ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
3181 2010-09-28 Jan Hubicka <jh@suse.cz>
3183 * tree-ssa-ccp.c (fold_ctor_reference): New function.
3184 (fold_const_aggregate_ref): Use it.
3185 * fold-const.c (canonicalize_constructor_val): Check that we don't fold
3186 into external static.
3188 2010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3191 * config/i386/i386.opt (mvect8-ret-in-mem): Define.
3192 * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
3193 (ix86_solaris_return_in_memory): Remove.
3194 * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
3195 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3196 (TARGET_SUBTARGET_DEFAULT): Redefine.
3197 * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
3198 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3199 (TARGET_SUBTARGET_DEFAULT): Redefine.
3200 * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
3202 (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
3204 2010-09-29 Alan Modra <amodra@gmail.com>
3207 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
3208 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
3209 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
3211 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
3212 (rs6000_emit_prologue): Don't just create frame save info for r2,
3215 2010-09-28 Richard Henderson <rth@redhat.com>
3217 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
3218 when 8 bytes are requested.
3220 2010-09-28 Tristan Gingold <gingold@adacore.com>
3222 * config/avr/avr.c (expand_prologue): Set
3223 current_function_static_stack_size.
3225 2010-09-28 Tristan Gingold <gingold@adacore.com>
3227 * config/alpha/alpha.md: Change the initial condition of the
3230 2010-09-28 Uros Bizjak <ubizjak@gmail.com>
3232 * config/i386/sse.md (*avx_<umaxmin:code><mode>3):
3233 Split from *avx_<maxmin:code><mode>3.
3234 (*avx_<smaxmin:code><mode>3): Ditto.
3235 * config/i386/i386.md (maxmin): Remove code iterator.
3237 2010-09-27 Ian Lance Taylor <iant@google.com>
3239 * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
3240 requires assembler support for CFI directives.
3242 2010-09-27 Richard Henderson <rth@redhat.com>
3244 * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
3246 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
3248 * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
3249 that AFTER is not in the range FROM..TO, inclusive.
3251 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
3252 Bernd Schmidt <bernds@codesourcery.com>
3254 PR rtl-optimization/45792
3255 * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
3256 If not all insns are to be merged, for each edge, stash the
3257 next candidate after the to-be-merged insns before doing the
3258 merge, and use them for the retry at the new insertion point.
3259 Handle CC0 targets when retrying.
3261 2010-09-27 Ian Lance Taylor <iant@google.com>
3263 * common.opt (fsplit-stack): New option.
3264 * opts.c (decode_options): Set flag_split_stack to final value.
3265 * target.def (supports_split_stack): New hook.
3266 * gcc.c (STACK_SPLIT_SPEC): Define.
3267 (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
3268 * doc/invoke.texi (Option Summary): Mention -fsplit-stack.
3269 (Code Gen Options): Document -fsplit-stack.
3270 * doc/extend.texi (Function Attributes): Mention no_split_stack.
3271 (Function Attributes): Document no_split_stack.
3272 * doc/tm.texi.in (Stack Smashing Protection): Add @hook
3273 TARGET_SUPPORTS_SPLIT_STACK.
3274 * doc/tm.texi: Rebuild.
3275 * function.c (thread_prologue_and_epilogue_insns): If
3276 flag_split_stack, add split stack prologue.
3277 * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
3278 * varasm.c (saw_no_split_stack): New static variable.
3279 (assemble_start_function): Set saw_no_split_stack if the function
3280 has the no_split_stack attribute.
3281 (file_end_indicate_split_stack): New function.
3282 * output.h (file_end_indicate_split_stack): Declare.
3283 * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
3285 * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
3287 * config/i386/i386.c (ix86_option_override_internal): Don't set
3288 expand_builtin_va_start to NULL if -fsplit-stack.
3289 (ix86_function_regparm): Reduce local regparm by 1 for 32-bit
3291 (ix86_va_start): If -fsplit-stack, get overflow pointer from
3292 scratch register set by prologue.
3293 (ix86_code_end): If -fsplit-stack, call
3294 file_end_indicate_split_stack.
3295 (ix86_supports_split_stack): New static function.
3296 (SPLIT_STACK_AVAILABLE): Define.
3297 (split_stack_prologue_scratch_regno): New static function.
3298 (split_stack_fn): New static variable.
3299 (ix86_expand_split_stack_prologue): New function.
3300 (ix86_live_on_entry): New static function.
3301 (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
3302 (output_pic_addr_const): Likewise.
3303 (i386_asm_output_addr_const_extra): Likewise.
3304 (ix86_expand_call): Change return type to rtx. Return the new
3306 (TARGET_SUPPORTS_SPLIT_STACK): Define.
3307 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
3308 * config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
3309 (split_stack_prologue, split_stack_return): New insns.
3310 (split_stack_space_check): New insn.
3311 * config/i386/i386.h (struct machine_function): Add
3312 split_stack_varargs_pointer field.
3313 * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
3314 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
3315 * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
3316 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
3317 * config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
3319 (ix86_expand_call): Update declaration.
3321 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3323 * doc/objc.texi (Type encoding): Added the new 'long double' (D)
3324 code. Added byref, which was missing in the list of codes.
3325 Explain that enumeration values are encoded as the integer type
3326 that the compiler uses to store them. Explain and make examples
3327 of how 'const' interacts with pointers, and the complication of
3328 the encoding of 'const char *'.
3329 (Legacy type encoding): New subsection, explaining that GCC emits
3330 incorrect type encodings for the NeXT runtime for compatibility
3332 (@@encode): New subsection, explaining @encode and particularly
3333 that protocol qualifiers are not recognized inside an @encode()
3335 (Method signatures): New subsection, explaining how method
3336 signatures are encoded.
3338 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3340 Merge from 'apple/trunk' branch on FSF servers. Removed small
3341 change in build_conditional_expr that had been added when fixing
3342 PR objc/27377 and which did the same check in a less complete way.
3344 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3347 * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
3348 looking for objective-c common pointer types.
3350 2005-06-22 Ziemowit Laski <zlaski@apple.com>
3353 * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
3354 use their ObjC common type.
3356 2010-09-27 Richard Guenther <rguenther@suse.de>
3358 * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
3360 2010-09-27 Jie Zhang <jie@codesourcery.com>
3362 * print-tree.c (print_node): Print in-constant-pool.
3364 2010-09-27 Uros Bizjak <ubizjak@gmail.com>
3366 * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
3367 (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
3368 (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
3369 (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
3371 2010-09-26 Uros Bizjak <ubizjak@gmail.com>
3373 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
3374 from pro_epilogue_adjust_stack_<mode>_{1,2}.
3375 (pro_epilogue_adjust_stack_<mode>_add): Rename from
3376 pro_epilogue_adjust_stack_<mode>_3.
3377 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for
3378 renamed pro_epilogue_adjust_stack_{si,di}_add.
3379 (ix86_expand_prologue): Use indirect functions. Update for renamed
3380 pro_epilogue_adjust_stack_{si,di}_sub.
3382 2010-09-26 Uros Bizjak <ubizjak@gmail.com>
3384 * config/i386/i386.md (movmsk_df): New insn.
3385 (signbitdf): Split out of signbit<mode>2. Generate movmsk_df
3386 sequence for TARGET_SSE_MATH.
3388 2010-09-26 Richard Sandiford <rdsandiford@googlemail.com>
3390 * config/mips/mips.c (mips_builtin_decls): Declare.
3391 (mips_init_builtins): Store function declarations in
3393 (mips_builtin_decl): New function.
3394 (TARGET_BUILTIN_DECL): Define.
3396 2010-09-25 Kai Tietz <kai.tietz@onevision.com>
3397 Richard Henderson <rth@redhat.com>
3399 * config/i386/cygwin.asm: Include auto-host.h.
3400 (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
3401 cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
3402 (__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop
3403 alignment code from the 64-bit path. Use gas local labels.
3404 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
3405 from _di_2. Remove the useless constant integer argument.
3406 (pro_epilogue_adjust_stack_<mode>_3): New.
3407 (allocate_stack_worker_probe_<mode>): Macroize from
3408 allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users.
3409 * config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
3410 use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
3411 (__chkstk_ms): New function.
3412 * config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
3413 * gcc/config/i386/t-interix: Likewise.
3414 * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
3415 (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
3416 (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
3417 * configure, config.in: Rebuild.
3419 2010-09-25 Eric Botcazou <ebotcazou@adacore.com>