1 2010-12-03 Joseph Myers <joseph@codesourcery.com>
3 * gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m.
4 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
5 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
7 2010-12-03 Alexander Monakov <amonakov@ispras.ru>
9 PR rtl-optimization/45354
10 * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ...
11 (bb_has_removable_jump_to_p): This. Update all callers. Make static.
12 Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps.
13 * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype.
15 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
17 * basic-block.h (struct edge_prediction): Remove forward
19 * tree-flow.h (struct edge_prediction): Move from here...
20 * predict.c (struct edge_prediction): ...to here.
21 * cselib.h (struct elt_list): Move from here...
22 * cselib.c (struct elt_list): ...to here.
24 2010-12-02 Ian Lance Taylor <iant@google.com>
26 * gcc.c (default_compilers): Add entry for ".go".
27 * common.opt: Add -static-libgo as a driver option.
28 * doc/install.texi (Configuration): Mention libgo as an option for
29 --enable-shared. Mention go as an option for --enable-languages.
30 * doc/invoke.texi (Overall Options): Mention .go as a file name
31 suffix. Mention go as a -x option.
32 * doc/frontends.texi (G++ and GCC): Mention Go as a supported
34 * doc/sourcebuild.texi (Top Level): Mention libgo.
35 * doc/standards.texi (Standards): Add section on Go language.
36 Move references for other languages into their own section.
37 * doc/contrib.texi (Contributors): Mention that I contributed the
40 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
42 * tree.h (struct call_expr_arg_iterator_d): Remove GTY tag.
43 (const_call_expr_arg_iterator_d): Likewise.
44 (expanded_location): Likewise.
45 * c-tree.h (struct c_arg_tag_d): Likewise.
46 * dwarf2out.c (struct cfa_loc): Likewise.
47 (struct skeleton_chain_struct): Likewise.
48 * except.c (struct ttypes_filter): Likewise.
49 * cselib.h (struct cselib_val_struct): Likewise.
50 (elt_loc_list): Likewise.
52 * varasm.c (struct addr_const): Likewise.
53 * tree-flow.h (struct edge_prediction): Likewise.
54 (struct int_tree_map): Likewise.
55 (struct _edge_var_map): Likewise.
57 2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
60 * config/i386/i386.c (initial_ix86_tune_features): Turn on
61 X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7.
63 2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
65 * config.gcc: Allow corei7 for --with-arch=/--with-cpu=.
67 2010-12-02 Ian Lance Taylor <iant@google.com>
69 * configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++
70 header files unordered_map, tr1/unordered_map, and ext/hash_map.
71 * configure, config.in: Rebuild.
73 2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
76 * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate.
77 (sparc_expand_move): Call it to decide whether to emit the special
78 mov{si,di}_pic_label_ref patterns.
79 (sparc_legitimize_pic_address): Call it to decide whether to emit
80 the regular PIC sequence for labels. Fix long line.
81 (sparc_file_end): Set is_thunk for the PIC helper.
83 2010-12-02 Eric Botcazou <ebotcazou@adacore.com>
85 * tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY
86 for a non-shared type.
88 2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
91 * tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR
92 with MEM_REFs as POINTER_PLUS_EXPR.
94 2010-12-02 Joseph Myers <joseph@codesourcery.com>
96 * config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h,
97 config/sparc/linux.h, config/sparc/linux64.h: Remove comments
100 2010-12-02 Joseph Myers <joseph@codesourcery.com>
102 * config/bfin/bfin.h (LINK_SPEC): Remove %{b}.
103 * config/frv/frv.h (LINK_SPEC): Remove %{b}.
104 * config/i386/netware.h (LINK_SPEC): Remove %{b}.
105 * config/i386/nto.h (LINK_SPEC): Remove %{b}.
106 * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}.
107 * config/sol2.h (LINK_SPEC): Remove %{b}.
108 * config/svr4.h (LINK_SPEC): Remove %{b}.
110 2010-12-02 Joseph Myers <joseph@codesourcery.com>
112 * config/i386/freebsd.h (LINK_SPEC): Cut long comment.
113 * config/i386/linux.h (LINK_SPEC): Cut long comment.
114 * config/i386/netware.h (LINK_SPEC): Remove %{V}.
115 * config/m32r/linux.h (LINK_SPEC): Cut long comment.
116 * config/m68k/linux.h (LINK_SPEC): Cut long comment.
117 * config/sparc/linux.h (LINK_SPEC): Cut long comment.
118 (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
119 * config/sparc/linux64.h (LINK_SPEC): Cut long comment.
120 (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
121 * config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and
124 2010-12-02 Joseph Myers <joseph@codesourcery.com>
126 * gcc.c (trad_capable_cpp, default_compilers): Don't handle
129 2010-12-02 Joseph Myers <joseph@codesourcery.com>
131 * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,.
132 * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,.
133 * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,.
134 * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,.
135 * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,.
136 * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,.
137 * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,.
138 * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,.
139 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,.
140 * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,.
141 * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,.
142 * config/sol2.h (ASM_SPEC): Don't handle -Wa,.
143 * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,.
144 * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,.
145 * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,.
146 * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,.
147 * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,.
148 * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,.
150 2010-12-02 Paul Koning <ni1d@arrl.net>
152 * config/pdp11/pdp11.c (output_jump): Map unsigned to signed
153 opcodes if CC_NO_OVERFLOW is set.
154 (notice_update_cc_on_set): Correct setting of CC0 as a side
155 effect; set CC_NO_OVERFLOW for cases where C flag is not
158 2010-12-02 Ian Lance Taylor <iant@google.com>
160 * doc/install.texi (Configuration): Update default for
163 2010-12-02 Nathan Froyd <froydnj@codesourcery.com>
166 * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when
169 2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
171 PR tree-optimization/45199
172 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New.
173 (stores_zero_from_loop): Call
174 mem_write_stride_of_same_size_as_unit_type_p.
175 * tree-data-ref.h (stride_of_unit_type_p): New.
176 * tree-loop-distribution.c (generate_memset_zero): Simplified.
177 Call stride_of_unit_type_p.
178 (build_rdg_partition_for_component): Do not call
179 rdg_flag_similar_memory_accesses when
180 flag_tree_loop_distribute_patterns is set.
182 2010-12-02 Richard Guenther <rguenther@suse.de>
184 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard
185 sign-changing conversions for induction detection.
187 2010-12-02 Richard Guenther <rguenther@suse.de>
189 PR tree-optimization/46723
190 * tree-vect-loop.c (get_initial_def_for_induction): Strip
191 conversions from the induction evolution and apply it to
193 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
194 assigns for induction defs.
196 2010-12-02 Richard Guenther <rguenther@suse.de>
198 * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect
199 the case we need to split the edge and not the block.
201 2010-12-02 Bernd Schmidt <bernds@codesourcery.com>
203 DFA model for Core 2 and Core i7 scheduling.
205 * config/i386/core2.md: New DFA model for Core 2 and Core i7.
206 * config/i386/i386.c (ix86_option_override_internal): Update entries
207 for Core 2 and Core i7.
208 (ix86_issue_rate): Set issue rate to 3 [be realistic].
209 * config/i386/i386.md: Include "core2.md".
210 (define_attr cpu): Add "corei7".
212 2010-12-02 Maxim Kuvyrkov <maxim@codesourcery.com>
214 Define tuning for Core 2 and Core i7.
216 * config/i386/i386-c.c (ix86_target_macros_internal): Update.
217 * config/i386/i386.c (core2_cost): Delete, use generic costs instead.
218 (m_CORE2): Replace with m_CORE2_{32,64}.
219 (m_CORE2I7{,_32,_64}): New macros.
220 (m_GENERIC32, m_GENERIC64): Update.
221 (initial_ix86_tune_features, x86_accumulate_outgoing_args,)
222 (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and
223 set m_CORE2I7_64 iff m_GENERIC64.
224 (processor_target_table): Use generic costs for Core 2 and Core i7.
225 (ix86_option_override_internal): Update entries for Core 2 and Core i7.
226 (ix86_issue_rate): Remove entry for Core 2.
227 (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update.
228 * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros.
229 (TARGET_CORE2): Update.
230 (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants.
231 (PROCESSOR_CORE2): Remove.
233 2010-12-02 Richard Guenther <rguenther@suse.de>
235 * lto-streamer.h (LTO_major_version): Bump to 2.
237 2010-12-02 Richard Guenther <rguenther@suse.de>
240 * gimple.c (canonical_type_hash_cache): New hashtable.
241 (gimple_type_hash): Make a wrapper around ...
242 (gimple_type_hash_1): ... this. Take gtc_mode argument.
243 (gimple_canonical_type_hash): Likewise.
244 (gtc_visit): Take a gtc_mode argument.
245 (gimple_types_compatible_p_1): Likewise. Do not compare struct
246 tag names or field names when computing canonical types.
247 (gimple_types_compatible_p): Adjust.
248 (visit): Take a gtc_mode argument.
249 (iterative_hash_gimple_type): Likewise. Do not hash struct tag
250 names or field names when computing hashes of canonical types.
251 (gimple_register_canonical_type): Use gimple_canonical_type_hash
253 (print_gimple_types_stats): Dump stats of canonical_type_hash_cache.
254 (free_gimple_type_tables): Free canonical_type_hash_cache.
256 2010-12-02 Richard Guenther <rguenther@suse.de>
257 Ira Rosen <irar@il.ibm.com>
259 PR tree-optimization/46663
260 * tree-vect-patterns.c (vect_recog_pow_pattern): Check that
261 FUNCTION_DECL exists and that it's a builtin.
263 2010-12-02 Jie Zhang <jie@codesourcery.com>
266 * varasm.c (compute_visible_aliases): Handle user set
269 2010-12-01 Michael Meissner <meissner@linux.vnet.ibm.com>
271 * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
272 thinko regarding setting -mno-<xxx> debug switches.
273 (rs6000_rtx_costs): Add FMA. Delete old rtl based FMA costs.
275 2010-12-01 Joseph Myers <joseph@codesourcery.com>
277 * intl.c: Don't include tm.h.
278 * Makefile.in (intl.o): Don't depend on $(TM_H).
280 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
282 * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
284 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
286 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
288 * graphite-sese-to-poly.c (analyze_drs): Removed.
289 (build_scop_drs): Do not call analyze_drs.
290 (analyze_drs_in_stmts): New.
292 (insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
293 (insert_out_of_ssa_copy_on_edge): Same.
294 (rewrite_close_phi_out_of_ssa): Call insert_stmts.
295 (rewrite_phi_out_of_ssa): Same.
296 (rewrite_cross_bb_scalar_dependence): Same.
297 (split_reduction_stmt): Move data references in the new basic blocks.
298 (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
300 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
302 * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
304 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
307 * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take
308 the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB.
309 * graphite-poly.h (new_poly_bb): Update declaration.
310 (gbb_from_bb): Moved here...
312 * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
314 (graphite_stmt_p): Removed.
315 (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in
316 sbitmap reductions. Always build a gimple_bb_p. Do not call
318 (build_scop_bbs_1): Do not pass in sbitmap reductions.
319 (build_scop_bbs): Same.
320 (gbb_from_bb): ... from here.
321 (add_conditions_to_constraints): Moved up.
323 (build_scop_drs): Call analyze_drs. Remove all the PBBs that do
324 not contain data references.
325 (new_pbb_from_pbb): New.
326 (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
328 (rewrite_close_phi_out_of_ssa): Update call to
329 insert_out_of_ssa_copy_on_edge.
330 (rewrite_reductions_out_of_ssa): Now static.
331 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
333 (split_reduction_stmt): Call split_pbb.
334 (translate_scalar_reduction_to_array): Pass in the scop, do not
335 pass in the sbitmap reductions.
336 (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
337 (rewrite_commutative_reductions_out_of_ssa_loop): Same.
338 (rewrite_commutative_reductions_out_of_ssa): Same.
339 (build_poly_scop): Call build_scop_bbs,
340 rewrite_commutative_reductions_out_of_ssa,
341 rewrite_reductions_out_of_ssa, and
342 rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs
344 * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
346 (rewrite_reductions_out_of_ssa): Same.
347 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
348 (build_scop_bbs): Same.
349 * graphite.c (graphite_transform_loops): Do not initialize reductions.
350 Do not call build_scop_bbs,
351 rewrite_commutative_reductions_out_of_ssa,
352 rewrite_reductions_out_of_ssa, and
353 rewrite_cross_bb_scalar_deps_out_of_ssa.
354 * sese.h (struct gimple_bb): Add field pbb.
357 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
359 * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
361 (rewrite_cross_bb_scalar_deps): Pass in the scop. Call
362 handle_scalar_deps_crossing_scop_limits.
363 (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
364 after the scop. Update call to rewrite_cross_bb_scalar_deps.
366 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
368 * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
369 when replacing a constant in an ADDR_EXPR.
371 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
373 * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
375 (lst_do_strip_mine): Same.
376 (scop_do_strip_mine): Same.
377 * graphite-poly.c (apply_poly_transforms): Update call to
379 * graphite-poly.h (scop_do_strip_mine): Update declaration.
381 2010-12-01 Jan Hubicka <jh@suse.cz>
383 * tree.c (build_common_builtin_nodes): Do not initialize
384 BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT.
385 * builtins.c (expand_builtin_profile_func): Remove.
386 (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and
387 BUILT_IN_PROFILE_FUNC_EXIT.
388 * builtins.def (profile_func_enter, profile_func_exit): Remove stubs.
389 (__cyg_profile_func_enter, __cyg_profile_func_exit): New.
390 * gimplify.c (gimplify_function_tree): Reorganize code calling
393 2010-12-01 Joseph Myers <joseph@codesourcery.com>
395 * opts.c: Expand comment on tm.h include.
397 2010-12-01 Yao Qi <yao@codesourcery.com>
399 * config/arm/predicates.md ("vfp_register_operand"): Return true for
400 VFP_D0_D7_REGS classes.
402 2010-12-01 Joseph Myers <joseph@codesourcery.com>
404 * common.opt (flag_stack_check): New Variable entry.
405 (fcompare-debug-second): Use Var.
406 * flags.h (flag_compare_debug, flag_stack_check): Remove.
407 * opts.c (flag_compare_debug): Remove.
408 (common_handle_option): Don't handle OPT_fcompare_debug_second.
409 Set opts->x_flag_stack_check for OPT_fstack_check_.
410 * toplev.c (flag_stack_check): Remove.
412 2010-12-01 Joseph Myers <joseph@codesourcery.com>
414 * common.opt (main_input_filename, main_input_basename,
415 main_input_baselength): New Variable entries. From toplev.c.
416 * final.c (output_quoted_string): Move from toplev.c.
417 * output.h (output_quoted_string): Move from toplev.h.
418 * opts-global.c (read_cmdline_options): Use gcc_options pointer to
419 access main_input_filename, main_input_baselength and
421 * targhooks.c: Include intl.h and opts.h.
422 (option_affects_pch_p, default_get_pch_validity): Move from
424 * targhooks.h (option_affects_pch_p, default_get_pch_validity):
426 * toplev.c (main_input_filename, main_input_basename,
427 main_input_baselength): Move to common.opt.
428 (output_quoted_string): Move to final.c.
429 (warn_deprecated_use): Move to tree.c.
430 (option_affects_pch_p, default_get_pch_validity,
431 pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
432 * toplev.h (skip_leading_substring): Move to tree-dump.c.
433 (warn_deprecated_use): Move to tree.h.
434 (output_quoted_string): Move to output.h.
435 (main_input_filename, main_input_basename, main_input_baselength):
437 (default_get_pch_validity, default_pch_valid_p): Move to
439 * tree-dump.c (skip_leading_substring): Move from toplev.h.
440 * tree.c (warn_deprecated_use): Move from toplev.c.
441 * tree.h (warn_deprecated_use): Move from toplev.h.
442 * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
443 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
444 config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
445 config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
446 config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
447 config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
448 config/mcore/mcore.c, config/mep/mep.c,
449 config/microblaze/microblaze.c, config/mips/mips.c,
450 config/mmix/mmix.c, config/mn10300/mn10300.c,
451 config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
452 config/picochip/picochip.c, config/s390/s390.c,
453 config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
454 config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
455 config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
456 graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
457 varasm.c, xcoffout.c: Don't include toplev.h.
458 * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
459 gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
460 varasm.o, xcoffout.o): Update dependencies.
461 * config/arm/t-arm (arm.o): Update dependencies.
462 * config/spu/t-spu-elf (spu.o): Update dependencies.
464 2010-12-01 Richard Guenther <rguenther@suse.de>
466 PR tree-optimization/46730
467 * value-prof.c (gimple_ic): Always generate a separate merge BB.
469 2010-11-30 Ian Lance Taylor <iant@google.com>
471 * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V. Remove
472 all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}.
473 * config/i386/linux64.h (ASM_SPEC): Likewise.
474 * config/i386/mingw-w64.h (ASM_SPEC): Likewise.
475 * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise.
476 * config/i386/vxworks.h (ASM_SPEC): Likewise.
477 * config/i386/x86-64.h (ASM_SPEC): Likewise.
478 * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}.
479 * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise.
481 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
483 * c-decl.c (finish_function): Call objc_finish_function in
485 * c-typeck.c (convert_for_assignment): Do not call
486 objc_type_quals_match().
488 2010-11-30 Richard Guenther <rguenther@suse.de>
490 PR tree-optimization/46722
491 * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
492 operands as arguments.
493 (execute_optimize_widening_mul): Also handle power of two as
496 2010-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
499 * cgraphunit.c (process_function_and_variable_attributes): Fix
502 2010-11-30 Joseph Myers <joseph@codesourcery.com>
504 * hwint.c: New. Extracted from toplev.c.
505 * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
507 * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
509 * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
511 * builtins.c, combine.c, config/i386/winnt.c, double-int.c,
512 explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
513 ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
514 real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
515 stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
516 tree-ssa-loop-niter.c, tree-vect-data-refs.c,
517 tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
518 tree-vrp.c: Don't include toplev.h.
519 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
520 genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
521 toplev.h in generated output.
522 * Makefile.in (OBJS-common): Add hwint.o.
523 Dependencies for above files changed to remove toplev.h.
525 (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
526 insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on
528 * config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
529 * config/i386/t-interix (winnt.o): Don't depend on toplev.h.
531 2010-11-30 Richard Guenther <rguenther@suse.de>
533 PR tree-optimization/46717
534 * value-prof.c (gimple_ic): Preserve EH edges of the indirect
535 call. Manually create EH edges for the direct call and update
538 2010-11-30 Joseph Myers <joseph@codesourcery.com>
540 * diagnostic-core.h: Include bversion.h.
541 * toplev.h: Don't include input.h or bversion.h.
542 (parse_optimize_options): Don't declare here.
543 * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
544 caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
545 combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
546 config/host-darwin.c, config/i386/host-cygwin.c,
547 config/i386/host-mingw32.c, config/i386/msformat-c.c,
548 config/i386/netware.c, config/i386/nwld.c,
549 config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
550 config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
551 config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
552 config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
553 config/score/score3.c, config/score/score7.c,
554 config/sh/symbian-base.c, config/sh/symbian-c.c,
555 config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
556 config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
557 cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
558 fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
559 graphite-blocking.c, graphite-clast-to-gimple.c,
560 graphite-dependences.c, graphite-flattening.c,
561 graphite-interchange.c, graphite-poly.c,
562 graphite-scop-detection.c, graphite.c, haifa-sched.c,
563 implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
564 ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
565 lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
566 lto-opts.c, lto-section-in.c, lto-section-out.c,
567 lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
568 params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
569 regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
570 sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
571 sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
572 tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
573 tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
574 tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
575 tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
576 tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
577 tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
579 * Makefile.in (TOPLEV_H): Remove. All uses changed to use
580 toplev.h. Dependencies for above files and c-family files changed
581 to remove $(TOPLEV_H) or toplev.h.
582 (C_TREE_H): Don't include $(TOPLEV_H).
583 (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add
585 * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
586 config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
587 config/t-darwin, config/t-sol2,
588 config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
589 Dependencies for above files changed to remove $(TOPLEV_H) or
592 2010-11-30 Richard Guenther <rguenther@suse.de>
595 * gcc.c (main): Use the first input with a compiler as infile
596 for link spec processing.
598 2010-11-30 Richard Guenther <rguenther@suse.de>
601 * cgraphunit.c (ipa_passes): Stop after errors from
604 2010-11-30 Mingjie Xing <mingjie.xing@gmail.com>
606 * gcc-plugin.h: Include coretypes.h.
607 * Makefile.in (FUNCTION_H): Add hard-reg-set.h.
609 2010-11-30 Laurynas Biveinis <laurynas.biveinis@gmail.com>
611 * ggc-zone.c (ggc_pch_read): Fix conditional compilation.
612 * ggc-none.c (ggc_internal_alloc_zone_stat)
613 (ggc_internal_cleared_alloc_zone_stat): New.
615 2010-11-29 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
617 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check
618 TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM.
619 (rs6000_emit_prologue): Don't set PIC register if
620 TARGET_SINGLE_PIC_BASE.
621 * config/rs6000/rs6000.opt (msingle-pic-base): New option.
622 * doc/invoke.texi (msingle-pic-base): Document.
624 2010-11-29 H.J. Lu <hongjiu.lu@intel.com>
627 * exec-tool.in (id): New.
628 Check and export LT_RCU_$id instead of LT_RCU.
630 2010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz>
632 PR tree-optimization/46675
633 * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
634 in offset calculation.
636 2010-11-29 Jan Hubicka <jh@suse.cz>
638 * collect2.c (main): Do not imply verbose output with
639 LTO and linker plugin.
641 2010-11-29 Dodji Seketeli <dodji@redhat.com>
643 * dwarf2out.c (print_die): Print the address of the current DIE or
644 of any DIE referenced by the current one.
646 2010-11-29 Dodji Seketeli <dodji@redhat.com>
649 * dwarf2out.c (lookup_type_die_strip_naming_typedef): New
651 (scope_die_for, gen_type_die_for_member): Replace uses of
652 lookup_type_die with use of lookup_type_die_strip_naming_typedef.
654 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
656 * config/darwin.c (darwin_mergeable_string_section): Remove blank line.
657 (darwin_asm_declare_object_name): Correct spelling.
658 (darwin_output_aligned_bss): Likewise.
660 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
661 Mike Stump <mrs@gcc.gnu.org>
666 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
667 (ASM_OUTPUT_LOCAL): Likewise.
668 * config/darwin-protos.h (darwin_asm_declare_object_name): New.
669 (darwin_output_aligned_bss): Likewise.
670 (darwin_asm_output_aligned_decl_local): Likewise.
671 (darwin_asm_output_aligned_decl_common): Likewise.
672 (darwin_use_anchors_for_symbol_p): Likewise.
673 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
674 (TARGET_ASM_OUTPUT_ANCHOR): Define.
675 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
676 (DARWIN_SECTION_ANCHORS): Set to 1.
677 * config/darwin.c (emit_aligned_common): New var.
678 (darwin_init_sections): Check that the Darwin private zero-size section
680 (darwin_text_section): Check for zero-sized objects.
681 (darwin_mergeable_string_section): Likewise.
682 (darwin_mergeable_constant_section): Likewise.
683 (machopic_select_section): Adjust to check for zero-sized objects.
684 Assert that OBJC meta data are non-zero sized.
685 (darwin_asm_declare_object_name): New.
686 (darwin_asm_declare_constant_name): Adjust for zero-sized
688 (BYTES_ZFILL): Define.
689 (darwin_emit_weak_or_comdat): New.
690 (darwin_emit_local_bss): New.
691 (darwin_emit_common): New.
692 (darwin_output_aligned_bss): New.
693 (darwin_asm_output_aligned_decl_common): New.
694 (darwin_asm_output_aligned_decl_local): New.
695 (darwin_file_end): Disable subsections_via_symbols when section
697 (darwin_asm_output_anchor): Re-enable.
698 (darwin_use_anchors_for_symbol_p): New.
699 (darwin_override_options): Check for versions that can emit
700 aligned common. Update usage of flags to current.
701 * config/darwin-sections.def: Update comments and flags for
702 non-anchor sections. zobj_const_section, zobj_data_section,
703 zobj_bss_section, zobj_const_data_section: New.
704 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
705 (ASM_OUTPUT_ALIGN): Make whitespace output consistent.
706 (L2_MAX_OFILE_ALIGNMENT): Define.
707 (ASM_OUTPUT_ALIGNED_BSS): Define.
708 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
709 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
710 (SECTION_NO_ANCHOR): Define.
711 (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
712 (DARWIN_SECTION_ANCHORS): Define with a default of 0.
714 2010-11-29 Joseph Myers <joseph@codesourcery.com>
716 * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
717 Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>.
718 (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
719 Conditionally define.
720 (GET_ENVIRONMENT): Poison.
721 * configure.ac: Don't test for mincore.
722 * configure: Regenerate.
723 * config.in: Regenerate.
724 * collect2-aix.c: Don't include <sys/mman.h>.
725 * collect2.c: Don't include <signal.h>.
726 (SIGCHLD): Don't define.
727 (prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
728 * config/alpha/alpha.c: Include "splay-tree.h" instead of
730 * config/arm/arm.c (arm_target_help): Use getenv instead of
732 * config/avr/driver-avr.c: Don't include <stdlib.h>.
733 * config/frv/frv.c: Don't include <ctype.h>.
734 * config/host-darwin.c: Don't include <sys/mman.h>.
735 * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
736 (MAP_FAILED): Don't define.
737 * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
738 * config/host-solaris.c: Don't include <sys/mman.h>.
739 * config/i386/cygming.h: Don't include <stdio.h>.
740 * config/i386/driver-i386.c: Don't include <stdlib.h>.
741 * config/i386/host-cygwin.c: Don't include <sys/mman.h>.
742 * config/iq2000/iq2000.c: Don't include <signal.h>.
743 * config/m32c/m32c-pragma.c: Don't include <stdio.h>.
744 * config/m68hc11/m68hc11.c: Don't include <stdio.h>.
745 * config/mep/mep-pragma.c: Don't include <stdio.h>.
746 * config/microblaze/microblaze.c: Don't include <signal.h>.
747 * config/mips/mips.c: Don't include <signal.h>.
748 * config/rs6000/host-darwin.c: Don't include <signal.h>.
749 * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT.
750 * defaults.h (GET_ENVIRONMENT): Don't define.
751 * et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
752 * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
753 (SIGCHLD, MAP_FAILED, kill): Don't define.
754 (process_command): Use getenv instead of GET_ENVIRONMENT.
755 * genhooks.c: Don't include <string.h>.
756 * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
758 (MAP_FAILED): Don't define.
759 * ggc-page.c Don't include <sys/mman.h>.
760 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
761 * ggc-zone.c: Don't include <sys/mman.h>.
762 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
763 * graph.c: Include "config.h" instead of <config.h>.
764 * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT.
765 * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h".
766 (SIGCHLD, kill): Don't define.
767 * mips-tfile.c: Don't include <signal.h>.
768 * opts.c: Don't include <signal.h> or <sys/resource.h>.
769 (print_specific_help): Use getenv instead of GET_ENVIRONMENT.
770 * passes.c: Don't include <signal.h>, <sys/resource.h> or
772 * sparseset.h: Don't include <assert.h>.
773 * timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
774 * tlink.c: Don't include "libiberty.h".
775 * toplev.c: Don't include <signal.h> or <sys/times.h>.
776 * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
777 * tree-switch-conversion.c: Don't include <signal.h>.
778 * vmsdbgout.c: Don't include <errno.h> or <string.h>.
780 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
782 * c-parser.c (c_parser_objc_try_catch_statement): Renamed to
783 c_parser_objc_try_catch_finally_statement for consistency with the
784 C++ parser. Parse @catch(...) and pass NULL_TREE to
785 objc_begin_catch_clause() in that case. Improved error recovery.
786 Reorganized code to be almost identical to
787 cp_parser_objc_try_catch_finally_statement.
789 2010-11-29 Joern Rennecke <amylaar@spamcop.net>
791 PR tree-optimization/46621
792 * gimple.h: Don't include tm.h or hard-reg-set.h .
793 * Makefile.in (GIMPLE_H): Remove $(TM_H).
796 * cppbuiltin.c: Include target.h .
797 (define_builtin_macros_for_type_sizes):
798 Use targetm.float_words_big_endian.
800 2010-11-27 Jan Hubicka <jh@suse.cz>
802 * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
803 and output cold_text_section_label.
804 (dwarf2out_init): Don't do that there.
805 (dwarf2out_finish): Handle cold section end label only if cold
808 2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
810 * tree-nested.c (remap_vla_decls): Fully expand value expressions of
813 2010-11-27 Richard Guenther <rguenther@suse.de>
815 * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
816 (gimple_assign_ssa_name_copy_p): Likewise.
817 (gimple_assign_unary_nop_p): Use is_gimple_assign.
818 (is_gimple_cast): Remove.
819 (gimple_assign_single_p): Move ...
820 * gimple.h (gimple_assign_single_p): ... here.
821 (is_gimple_cast): Remove.
822 (gimple_assign_rhs_code): Simplify.
823 * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
824 instead of is_gimple_cast.
825 * ipa-type-escape.c (look_for_casts): Likewise.
827 2010-11-26 Joseph Myers <joseph@codesourcery.com>
829 * doc/options.texi (Enum, EnumValue): Document new record types.
830 (Enum): Document new option flag.
832 * optc-gen.awk: Handle enumerated option arguments.
833 * opth-gen.awk: Handle enumerated option arguments.
834 * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
835 enum_value_to_arg): New.
836 (decode_cmdline_option): Handle enumerated arguments.
837 (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
838 (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
839 * opts.c (print_filtered_help, print_specific_help): Take
841 (print_filtered_help): Handle printing values of enumerated
842 options. Print possible arguments for enumerated options.
843 (print_specific_help): Update call to print_filtered_help.
844 (common_handle_option): Update calls to print_specific_help. Use
845 value rather than arg for OPT_fdiagnostics_show_location_. Don't
846 handle OPT_ffp_contract_, OPT_fexcess_precision_,
847 OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
848 OPT_fira_region_ here.
849 * opts.h (enum cl_var_type): Add CLVC_ENUM.
850 (struct cl_option): Add var_enum.
851 (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
852 struct cl_enum, cl_enums, cl_enums_count): New.
853 (CL_ERR_ENUM_ARG): Define.
854 (CL_ERR_NEGATIVE): Update value.
855 (enum_value_to_arg): Declare.
856 * common.opt (flag_ira_algorithm, flag_ira_region,
857 flag_fp_contract_mode, flag_excess_precision_cmdline,
858 default_visibility, flag_tls_default): Remove Variable entries.
859 (help_enum_printed): New Variable.
860 (fdiagnostics-show-location=): Use Enum. Add associated
861 SourceInclude, Enum and EnumValue entries.
862 (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
863 ftls-model=, fvisibility=): Use Enum, Var and Init. Add
864 associated Enum and EnumValue entries.
866 2010-11-26 Joern Rennecke <amylaar@spamcop.net>
869 * config/microblaze/microblaze.c (microblaze_block_move_straight):
871 (microblaze_option_override): Don't use C++ style comments.
872 (save_restore_insns): Remove unused variable base_offset.
873 (microblaze_expand_prologue): Remove unused variable insn.
874 (microblaze_secondary_reload): Adjust type to match target.h .
875 (microblaze_elf_in_small_data_p): Move declarations to start of block.
876 (microblaze_expand_move): Likewise.
877 * config/microblaze/microblaze.h (LARGE_INT):
878 Avoid signed / unsigned comparisons.
879 (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
880 (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
881 (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name.
883 2010-11-26 Michael Matz <matz@suse.de>
885 * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
887 * passes.c (init_optimization_passes): Remove superfluous
890 2010-11-26 Richard Guenther <rguenther@suse.de>
893 * gimple.c (gtc_visit): Do not return true for members of an
894 SCC still being processed but the current lattice value of
895 the member. Treat SCC members comparison state as lattice,
896 starting at equal, eventually dropping to unequal.
897 (gimple_types_compatible_p_1): Likewise.
899 2010-11-26 Richard Guenther <rguenther@suse.de>
902 * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
903 for location list processing.
905 2010-11-26 Richard Guenther <rguenther@suse.de>
908 * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
911 2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
913 * config/s390/s390.c (print_operand_address): Replace assert with
915 (print_operand): Replace assertions, gcc_unreachable and
916 fatal_insn with error messages.
918 2010-11-26 Richard Guenther <rguenther@suse.de>
920 PR tree-optimization/46665
921 * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
923 2010-11-26 Ian Bolton <ian.bolton@arm.com>
925 * config/arm/arm.c (arm_option_override): enable loop array
926 prefetching at -O3 for suitable targets, and configure params.
927 * config/arm/arm-protos.h (struct tune_params): Add fields for
928 configuring loop array prefetching.
930 2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com>
932 * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
934 2010-11-26 Richard Guenther <rguenther@suse.de>
936 PR tree-optimization/46664
937 * tree-affine.c (aff_combination_to_tree): Add rest last.
939 2010-11-26 Michael Haubenwallner <michael.haubenwallner@salomon.at>
942 * configure.ac: Accept extra arguments for AS_FOR_TARGET,
943 LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
944 * configure: Regenerated.
945 * exec-tool.in: Not quoting command, may have extra arguments.
947 2010-11-26 Richard Guenther <rguenther@suse.de>
949 PR tree-optimization/46528
951 * profile.c (branch_prob): Do not split blocks based on locations
952 from debug statements.
954 2010-11-26 Jakub Jelinek <jakub@redhat.com>
957 * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
958 of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst.
961 * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
962 build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
963 (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
965 * fold-const.c (protected_set_expr_location_unshare): New inline.
966 (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
967 (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
968 pedantic_omit_one_operand_loc, omit_two_operands_loc,
969 fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
970 optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
971 build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
972 fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
973 instead of buildN followed by SET_EXPR_LOCATION or
974 protected_set_expr_location.
975 (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
976 Use buildN_stat_loc instead of buildN_stat followed by
979 2010-11-26 Basile Starynkevitch <basile@starynkevitch.net>
981 * Makefile.in (s-tm-texi): Remove spurous tab.
983 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
986 * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
989 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
991 * toplev.c (finalize): Add no_backend parameter. Don't finish
992 passes when preprocessing only. Adjust...
993 (do_compile): ... caller.
995 2010-11-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
997 * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
998 flag_unsafe_math_optimizations.
1000 Move fnegabs related patterns together. Only use fmpynfadd instruction
1001 to negate a multiply if !flag_signed_zeros is true.
1003 2010-11-25 Uros Bizjak <ubizjak@gmail.com>
1005 * gengtype-state.c (read_state_structures): Initialize "previous".
1007 2010-11-25 Basile Starynkevitch <basile@starynkevitch.net>
1008 Jeremie Salvucci <jeremie.salvucci@free.fr>
1010 * gengtype-state.c: Add new file.
1012 * gengtype.c (type count): New variable.
1013 (new_structure, find_param_structure, create_pointer)
1014 (create_array): Use it to set state_number in types.
1015 (dump_everything): Improve comment.
1016 (main): Call read_state and write_state. Print type_count.
1018 * gengtype.h (type_lineloc): New function.
1019 (read_state, write_state): New declarations.
1021 * Makefile.in (GENGTYPE_FLAGS): New variable.
1022 (s-gtype): Run gengtype twice and generate gtype.state.
1023 (build/gengtype-state.o): New rule.
1024 (build/gengtype$(build_exeext)): Link gengtype-state.o.
1025 (mostlyclean): Update comment. Remove gtype.state.
1027 2010-11-25 Jakub Jelinek <jakub@redhat.com>
1030 * combine.c (try_combine): When substing i2dest for i2src, pass
1031 1 as last argument even if
1032 i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
1034 2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
1037 * builtins.c (target_char_cast): Check INTEGER_CST instead of
1038 host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW.
1040 2010-11-25 Joseph Myers <joseph@codesourcery.com>
1042 * target.def (supports_split_stack, except_unwind_info): Take
1043 gcc_options parameters.
1044 * targhooks.c (default_except_unwind_info,
1045 dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
1046 gcc_options parameters.
1047 * targhooks.h (default_except_unwind_info,
1048 dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
1050 * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
1051 TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
1052 Document that hooks must not be modified.
1053 (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
1054 * doc/tm.texi: Regenerate.
1055 * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
1056 &global_options to targetm.except_unwind_info.
1057 * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
1058 dwarf2out_begin_prologue, dwarf2out_frame_init,
1059 dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
1060 &global_options to targetm.except_unwind_info.
1061 * except.c (init_eh, finish_eh_generation,
1062 gate_convert_to_eh_region_ranges,
1063 output_one_function_exception_table): Pass &global_options to
1064 targetm.except_unwind_info.
1065 * expr.c (build_personality_function): Pass &global_options to
1066 targetm.except_unwind_info.
1067 * function.c (expand_function_end): Pass &global_options to
1068 targetm.except_unwind_info.
1069 * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
1070 * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
1071 * opts.c (finish_options): Pass opts to targetm.except_unwind_info
1072 and targetm.supports_split_stack. Remove assertions about opts
1074 (common_handle_option): Remove assertions about opts, opts_set and dc.
1075 * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
1076 &global_options to targetm.except_unwind_info.
1077 * tree.c (build_common_builtin_nodes: Pass &global_options to
1078 targetm.except_unwind_info.
1079 * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
1080 (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
1081 thumb1_expand_prologue, thumb1_output_function_prologue,
1082 arm_unwind_emit, arm_output_fn_unwind): Update calls to
1083 arm_except_unwind_info.
1084 * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
1086 * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
1088 (ia64_output_function_prologue, ia64_add_bundle_selector_before,
1089 ia64_reorg, ia64_asm_unwind_emit): Update calls to
1090 ia64_except_unwind_info.
1091 * config/pa/pa.c (pa_option_override): Pass &global_options to
1092 targetm.except_unwind_info.
1093 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
1096 2010-11-25 Kai Tietz <kai.tietz@onevision.com>
1098 * cgraphunit.c (process_function_and_variable_attributes):
1099 Mark dllexport-ed function/variables as needed.
1100 * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
1101 as externally visible.
1103 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
1105 PR rtl-optimization/46585
1106 * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
1107 (vinsn_init): Skip computation of dependencies for local NOPs.
1108 (vinsn_delete): Don't try to free regsets for local NOPs.
1109 (setup_nop_and_exit_insns): Change definition of nop_pattern.
1111 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
1113 PR rtl-optimization/46602
1114 * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
1115 (tidy_control_flow): Here.
1117 2010-11-25 Joern Rennecke <amylaar@spamcop.net>
1118 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1121 * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
1122 Fix target.def pathname in timestamp comparison.
1124 2010-11-24 Richard Henderson <rth@redhat.com>
1126 * config/ia64/predicates.md (pmpyshr_operand): New.
1127 * config/ia64/ia64.c (ia64_expand_unpack): New.
1128 (ia64_expand_widen_mul_v4hi): New.
1129 (ia64_expand_widen_sum): Update for pattern renames.
1130 (ia64_expand_dot_prod_v8qi): Likewise.
1131 * config/ia64/ia64-protos.h: Update.
1132 * config/ia64/vect.md (vecwider): New mode attribute.
1133 (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
1134 (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
1135 (pmpyshr2, pmpyshr2_u): New.
1136 (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
1137 (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
1139 (vec_pack_ssat_v4hi): Rename from pack2_sss.
1140 (vec_pack_usat_v4hi): Rename from *pack2_uss.
1141 (vec_pack_ssat_v2si): Rename from pack4_sss.
1142 (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
1143 vec_select operation.
1144 (vec_interleave_highv8qi): Similarly.
1145 (mux1_alt): Rename from *mux1_alt.
1146 (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
1147 (vec_interleave_lowv4hi): Rename from unpack2_l.
1148 (vec_interleave_highv4hi): Rename from unpack2_h.
1149 (mix2_r): Rename from *mix2_r.
1150 (mix2_l): Similarly.
1151 (vec_extract_evenodd_helper): New.
1152 (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
1153 (vec_interleave_lowv2si): Rename from *unpack4_l.
1154 (vec_interleave_highv2si): Rename from *unpack4_h.
1155 (vec_extract_evenv2si, vec_extract_oddv2si): New.
1156 (vec_interleave_lowv2sf): Rename from fmix_r.
1157 (vec_interleave_highv2sf): Rename from *fmix_l.
1158 (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
1159 (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
1160 (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
1161 (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
1163 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
1165 * targhooks.c (default_except_unwind_info): Remove
1166 MUST_USE_SJLJ_EXCEPTIONS case.
1167 * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
1168 * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1169 * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
1170 * doc/tm.texi: Regenerate.
1171 * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
1173 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
1175 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
1176 __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
1177 * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
1178 * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
1179 * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
1181 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
1184 * config/i386/i386.c (ix86_expand_call): Don't check
1187 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
1190 * config/i386/i386.c (upper_128bits_state): New.
1191 (block_info_def): Remove upper_128bits_set and done. Add state,
1192 referenced, count, processed and rescanned.
1193 (check_avx256_stores): Updated.
1194 (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
1195 Call note_stores only if needed. Set referenced and count.
1196 (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p.
1197 (rescan_move_or_delete_vzeroupper): New.
1198 (move_or_delete_vzeroupper): Process and rescan all all basic
1199 blocks instead of predecessor blocks of all exit points.
1200 (ix86_option_override_internal): Enable vzeroupper optimization
1201 only for -fexpensive-optimizations and not optimizing for size.
1202 (use_avx256_p): Removed.
1203 (init_cumulative_args): Don't set use_avx256_p.
1204 (ix86_function_arg): Likewise.
1205 (ix86_expand_move): Likewise.
1206 (ix86_expand_vector_move_misalign): Likewise.
1207 (ix86_local_alignment): Likewise.
1208 (ix86_minimum_alignment): Likewise.
1209 (ix86_expand_epilogue): Don't check use_avx256_p when generating
1211 (ix86_expand_call): Likewise.
1213 * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
1214 and use_avx256_p. Add rescan_vzeroupper_p.
1216 2010-11-24 Joseph Myers <joseph@codesourcery.com>
1218 * toplev.c: Include <signal.h>.
1220 2010-11-24 Richard Guenther <rguenther@suse.de>
1223 * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
1224 conflicting function signatures as non-inlineable.
1226 2010-11-24 Jakub Jelinek <jakub@redhat.com>
1228 PR rtl-optimization/46614
1229 * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
1230 (deps_analyze_insn): Mark JUMP_INSNs in
1231 last_pending_memory_flush that weren't added through
1232 flush_pending_lists with NON_FLUSH_JUMP_KIND.
1233 (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
1234 on INSN_LIST instead of JUMP_P check on its operand.
1235 * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
1237 2010-11-24 Richard Guenther <rguenther@suse.de>
1239 * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
1241 2010-11-24 Richard Guenther <rguenther@suse.de>
1244 * lto-streamer-in.c (input_gimple_stmt): When we cannot find
1245 a FIELD_DECL that is type correct issue a warning and fixup
1246 with a VIEW_CONVERT_EXPR.
1248 2010-11-24 Basile Starynkevitch <basile@starynkevitch.net>
1250 * doc/invoke.texi (Options for Debugging Your Program or GCC):
1251 Explain static numbering of dump files.
1253 2010-11-24 Joseph Myers <joseph@codesourcery.com>
1255 * common.opt (user_vect_verbosity_level): New Variable entry.
1256 (ftree-vectorizer-verbose=): Mark as UInteger.
1257 * flag-types.h (enum vect_verbosity_levels): Move from enum
1258 verbosity_levels in tree-vectorizer.h.
1259 * opts.c: Don't include tree.h.
1260 (vect_set_verbosity_level): Move from tree-vectorizer.c. Use
1261 gcc_options parameter; take integer option argument.
1262 (common_handle_option): Update call to vect_set_verbosity_level.
1263 * tree-vectorizer.c (user_vect_verbosity_level): Remove.
1264 (vect_set_verbosity_level): Move to opts.c.
1265 (vect_verbosity_level, vect_print_dump_info): Update for change of
1267 * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
1268 (vect_print_dump_info): Update for change of enum name.
1269 * tree.h (vect_set_verbosity_level): Remove.
1270 * Makefile.in (opts.o): Update dependencies.
1272 2010-11-24 Jakub Jelinek <jakub@redhat.com>
1275 * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
1276 instead of insn with any_condjump_p.
1278 2010-11-24 Mingjie Xing <mingjie.xing@gmail.com>
1280 * config/mips/loongson.md: Change the description comment of the file
1281 and update the copyright years.
1282 (define_insn "<u>div<mode>3): Add loongson3a support.
1283 (define_insn "<u>mod<mode>3"): Likewise.
1284 * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
1285 mul<mode>3_mul3_loongson.
1286 (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
1287 (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
1289 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1291 * common.opt (initial_max_fld_align, flag_debug_asm,
1292 flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
1293 flag_print_asm_name, graph_dump_format, help_printed,
1294 help_columns, flag_opts_finished): New Variable entries.
1295 (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
1296 frandom-seed=): Mark deferred.
1297 (fsched-verbose=): Use UInteger and Var.
1298 * flags.h (set_struct_debug_option, flag_print_asm_name,
1299 rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
1300 graph_dump_format): Don't declare here.
1301 * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
1302 * opts-global.c: Include dbgcnt.h and debug.h.
1303 (decode_options): Pass location to finish_options.
1304 (handle_common_deferred_options): Check flag_dump_all_passed.
1305 Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
1306 OPT_frandom_seed and OPT_frandom_seed_. Don't assert on
1308 * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
1309 (set_struct_debug_option): Add location_t parameter. Update
1310 recursive call. Use error_at.
1311 (default_options_optimization): Use error_at.
1312 (finish_options): Add location_t parameter. Use
1313 opts->x_flag_opts_finished instead of first_time_p. Use
1314 opts->x_optimize instead of optimize. Use error_at. Pass
1316 (print_filtered_help): Use opts->x_help_printed to track what
1317 options have been printed.
1318 (print_specific_help): Use opts->x_help_columns to track number of
1320 (common_handle_option): Pass locations and gcc_options pointers to
1321 more functions. Use warning_at instead of fnotice and warning.
1322 Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
1323 OPT_fdebug_prefix_map_. Use error_at. Set
1324 opts->x_initial_max_fld_align; don't set maximum_field_alignment.
1325 Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle
1326 OPT_fsched_verbose_.
1327 (handle_param): Add location_r parameter. Use error_at.
1328 (set_debug_level): Add location_r parameter. Use error_at and
1330 (setup_core_dumping): Add diagnostic_context parameter.
1331 (decode_d_option): Add gcc_options, location_t and
1332 diagnostic_context parameters and use them instead of global
1333 state. Use warning_at.
1334 (enable_warning_as_error): Use error_at.
1335 * opts.h (finish_options): Update prototype.
1336 (set_struct_debug_option): Declare here.
1337 * rtl.h (fix_sched_param): Remove.
1338 * stor-layout.c (initial_max_fld_align): Remove.
1339 * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
1340 graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
1341 (process_options): Set maximum_field_alignment.
1342 * tree.h (initial_max_fld_align) Don't declare here.
1343 * Makefile.in (opts.o, opts-global.o): Update dependencies.
1345 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1347 * flag-types.h (struct visibility_flags): Don't declare here.
1348 * flags.h (strip_off_ending, fast_math_flags_set_p,
1349 fast_math_flags_struct_set_p): Declare here.
1350 (visibility_options): Don't declare here.
1351 * opts-common.c (option_enabled, get_option_state): Move from
1353 * opts-global.c: Include diagnostic.h instead of
1354 diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h
1356 (const_char_p, ignored_options, in_fnames, num_in_fnames,
1357 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
1358 print_ignored_options, unknown_option_callback,
1359 post_handling_callback, lang_handle_option, add_input_filename,
1360 read_cmdline_options, initial_lang_mask, init_options_once,
1361 decode_cmdline_options_to_array_default_mask,
1362 set_default_handlers, decode_options): Move from opts.c.
1363 (print_ignored_options): Use warning_at instead of saving and
1364 restoring input_location.
1365 * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h
1366 instead of expr.h. Don't include langhooks.h, except.h or
1367 lto-streamer.h. Add more comments on includes.
1368 (strip_off_ending, setup_core_dumping, decode_d_option): Move from
1370 (visibility_options): Move to c-family/c-common.c.
1371 (const_char_p, ignored_options, in_fnames, num_in_fnames,
1372 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
1373 print_ignored_options, unknown_option_callback,
1374 post_handling_callback, lang_handle_option, add_input_filename,
1375 read_cmdline_options, initial_lang_mask, init_options_once,
1376 decode_cmdline_options_to_array_default_mask,
1377 set_default_handlers, decode_options): Move to opts-global.c.
1378 (target_handle_option, default_options_optimization,
1379 finish_options, common_handle_option): Remove static.
1380 (option_enabled, get_option_state): Move to opts-common.c.
1381 * opts.h (common_handle_option, target_handle_option,
1382 finish_options, default_options_optimization): Declare.
1383 * toplev.c: Don't include <signal.h> or <sys/resource.h>.
1384 (setup_core_dumping, strip_off_ending, decode_d_option): Move to
1386 * toplev.h (strip_off_ending, decode_d_option,
1387 fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
1389 * Makefile.in (opts.o, opts-global.o): Update dependencies.
1391 2010-11-23 Dave Korn <dave.korn.cygwin@gmail.com>
1394 * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
1395 options, replace by call of pass-through-libs spec function to process
1396 link_gcc_c_sequence spec.
1397 (lto_libgcc_spec): Delete variable.
1398 (static_specs[]): Remove related entry.
1399 (static_spec_functions[]): Add new entry for pass-through-libs.
1400 (main): Don't generate deleted lto_libgcc_spec.
1401 (pass_through_libs_spec_func): New function to implement the new
1402 pass-through-libs spec function.
1403 * doc/invoke.texi (pass-through-libs): Document new spec function.
1405 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1407 * doc/options.texi (Warning, Optimization): Document.
1409 2010-11-23 Jan Hubicka <jh@suse.cz>
1411 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
1412 (tree_decl_with_vis): Add implicit_section_name_p.
1413 * targhooks.h (default_function_section): Declare.
1414 * target.def (function_section): New hook.
1415 * defaults.h (HOT_TEXT_SECTION_NAME,
1416 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1417 * predict.c (choose_function_section): Remove.
1418 (estimate_bb_frequencies): Do not use choose_function_section.
1419 * coretypes.h (enum node_frequency): Move here from cgraph.h
1420 * cgraph.h (enum node_frequency): Remove.
1421 * varasm.c (initialize_cold_section_name, unlikely_text_section,
1422 unlikely_text_section_p): Remove.
1423 (named_subsection_entry): New structure.
1424 (get_text_section): New function.
1425 (default_function_section): New function.
1426 (function_section_1): Break out from ...; handle profile info.
1427 (function_section): ... here.
1428 (unlikely_text_section): Remove.
1429 (unlikely_text_section_p): Use function_section_1.
1430 (assemble_start_function): Do not initialize cold section.
1431 (default_section_type_flags): Do not special case cold subsection.
1432 (switch_to_section): Likewise.
1433 * output.h (get_text_section): Define.
1434 * config/i386/winnt.c: Do not special case cold section.
1435 * config/darwin-protos.h (darwin_function_section): Declare.
1436 * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
1437 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1438 * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
1439 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1440 (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
1441 * config/ia64/ia64.c (ia64_hpux_function_section): New function.
1442 * config/darwin.c (machopic_select_section): Use
1443 darwin_function_section.
1444 (darwin_function_section): New function.
1445 * config/darwin.h (HOT_TEXT_SECTION_NAME,
1446 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1447 (TARGET_ASM_FUNCTION_SECTION): Define.
1448 * system.h (HOT_TEXT_SECTION_NAME,
1449 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
1451 2010-11-23 Iain Sandoe <iains@gcc.gnu.org>
1453 * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
1454 LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
1456 2010-11-23 Jakub Jelinek <jakub@redhat.com>
1459 * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
1460 following unconditional jumps.
1462 2010-11-23 Richard Guenther <rguenther@suse.de>
1464 * doc/md.texi (386 constraints): Clarify A constraint documentation.
1466 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
1467 Jeremie Salvucci <jeremie.salvucci@free.fr>
1469 * gengtype.c (enum typekind, struct options)
1470 (struct nested_ptr_data, struct pair, NUM_PARAM)
1471 (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
1473 (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
1474 Remove static, add zero state_number.
1475 (typedefs, structures, param_structs, variables): Remove static.
1476 (create_option): Remove.
1477 (create_string_option, create_type_option, create_nested_option):
1479 (create_nested_ptr_option): Use create_nested_option.
1480 (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
1481 new create*option functions.
1482 (process_gc_options): Adjust for discriminated option.
1483 (output_mangled_typename): Handle TYPE_NONE.
1484 (walk_type): Test option kinds.
1485 (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
1486 (write_func_for_structure, write_type, write_local, write_root)
1487 (write_roots, note_def_vec, dump_options): Adjust for
1488 discriminated option.
1490 * gengtype.h (typedefs, structures, param_structs, variables
1491 enum typekind): Move from gengtype.c
1492 (enum option_kind): New discriminating enumeration.
1493 (struct options): Becomes discriminated.
1494 (struct nested_ptr_data): Nove from gengtype.c
1495 (create_string_option, create_type_option, create_nested_option)
1496 (create_nested_ptr_option): New functions
1497 (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
1498 (UNION_OR_STRUCT_P): Move from gengtype.c
1500 * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
1501 discriminated options.
1503 2010-11-23 Richard Guenther <rguenther@suse.de>
1505 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
1506 twice. Avoid re-allocating the ops vector all the time.
1508 2010-11-23 Richard Guenther <rguenther@suse.de>
1510 * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
1511 is_gimple_min_invariant, group tree code checks to allow
1513 (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
1516 2010-11-23 Eric Botcazou <ebotcazou@adacore.com>
1518 * config.gcc (sparc*-*-*): Reorder.
1520 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
1522 * gengtype.c (header_dot_h_frul, source_dot_c_frul):
1523 Remove ENABLE_CHECKING around DBGPRINTF.
1525 2010-11-22 Joseph Myers <joseph@codesourcery.com>
1527 * common.opt (exit_after_options, write_symbols, debug_info_level,
1528 use_gnu_debug_info_extensions): New Variable entries.
1529 (fprofile-dir=): Use Var.
1530 * flag-types.h (enum debug_info_level): Rename to enum
1532 * flags.h (write_symbols, debug_info_level,
1533 use_gnu_debug_info_extensions): Remove declarations.
1534 * opts.c (exit_after_options, write_symbols, debug_info_level): Remove.
1535 (set_struct_debug_option): Make static variables const.
1536 (use_gnu_debug_info_extensions): Remove.
1537 (set_debug_level, print_filtered_help, print_specific_help,
1538 fast_math_flags_set_p): Take gcc_options parameters and use them
1539 in place of global variables.
1540 (print_filtered_help): Make new_help non-static.
1541 (print_specific_help): Update call to print_filtered_help.
1542 (common_handle_option): Update calls to print_specific_help. Use
1543 gcc_options structure for more settings. Make --help table
1544 const. Don't handle OPT_fprofile_dir_ here. Update calls to
1546 * toplev.c (profile_data_prefix): Remove.
1547 * toplev.h (profile_data_prefix, exit_after_options): Remove
1549 (fast_math_flags_set_p): Update prototype.
1550 * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
1551 Update call to fast_math_flags_set_p.
1553 2010-11-22 Richard Henderson <rth@redhat.com>
1556 * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p;
1557 return the address register extracted.
1558 (crx_decompose_address): Update the extracted address register.
1560 2010-11-22 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
1563 * gcc.c (main): Don't crash when lto-wrapper program is not found.
1565 2010-11-22 Joern Rennecke <amylaar@spamcop.net>
1568 * config/picochip/picochip.c (picochip_secondary_reload): Make static.
1569 * config/picochip/picochip-protos.h: Don't include "target.h" .
1570 (picochip_secondary_reload): Don't declare.
1573 * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare.
1574 * config/m32c/m32c.c (m32c_conditional_register_usage): No longer
1577 2010-11-22 H.J. Lu <hongjiu.lu@intel.com>
1580 * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING.
1581 (source_dot_c_frul): Likewise.
1583 2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
1585 * gimple-pretty-print.c (dump_bb_header): Add check for cfun.
1587 2010-11-22 Paolo Bonzini <bonzini@gnu.org>
1590 * Makefile.in (fwprop.o) Add sparseset.h.
1591 * fwprop.c: Include sparseset.h
1592 (struct find_occurrence_data, find_occurrence_callback,
1593 find_occurrence): Remove.
1594 (active_defs, active_defs_check, register_active_defs,
1595 update_df_init, update_uses): New.
1596 (update_df): Rewrite.
1597 (try_fwprop_subst, forward_propagate_asm): Add calls to
1598 update_df_init and update_df.
1599 (fwprop_init): Allocate active_defs and active_defs_check.
1600 (fwprop_done): Free them.
1601 (fwprop, fwprop_addr): Adjust comments.
1602 * df.h (df_uses_create): Declare.
1603 * df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
1604 (df_ref_create): Return result of df_ref_create_structure directly.
1605 (df_ref_create_structure): Call df_install_ref_incremental when
1606 no collection_rec is passed.
1607 (df_ref_record): Do not create multiword hard reg info when no
1608 collection_rec is passed.
1609 (df_uses_create): New.
1611 2010-11-21 Uros Bizjak <ubizjak@gmail.com>
1614 * fold-const.c (pedantic_non_lvalue_loc): Unshare x before
1617 2010-11-22 Richard Guenther <rguenther@suse.de>
1619 * gimple-fold.c (maybe_fold_reference): When canonicalizing
1620 MEM_REFs, preserve volatileness.
1621 * cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL
1624 2010-11-22 Richard Guenther <rguenther@suse.de>
1626 * tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks.
1628 2010-11-22 Alexander Monakov <amonakov@ispras.ru>
1630 PR rtl-optimization/45652
1631 * alias.c (get_reg_base_value): New.
1632 * rtl.h (get_reg_base_value): Add prototype.
1633 * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with
1634 non-null REG_BASE_VALUE for renaming.
1636 2010-11-22 Jeremie Salvucci <jeremie.salvucci@free.fr>
1637 Basile Starynkevitch <basile@starynkevitch.net>
1639 * gengtype.c: Include xregex.h and obstack.h
1640 Added comments about role of get_output_file_with_visibility and
1641 our regexpr machinery.
1642 (frul_actionrout_t, struct file_rule_st): New.
1643 (hader_dot_h_frul, source_dot_c_frul): New functions.
1644 (NULL_REGEX, NULL_FRULACT): New.
1646 (matching_file_name_substitute): New function.
1647 (get_output_file_with_visibility): Updated comments and rewritten
1648 to use the new files_rules machinery.
1650 * Makefile.in (XREGEX_H): Added variable.
1651 (build/gengtype.o): Added dependencies for xregex.h and obstack.h
1653 2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
1655 * system.h (FUNCTION_ARG_BOUNDARY): Really poison.
1657 2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
1659 * target.def (conditional_register_usage): Define.
1660 * reginfo.c (init_reg_sets_1): Call
1661 targetm.conditional_register_usage.
1662 * system.h (CONDITIONAL_REGISTER_USAGE): Poison.
1663 * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
1664 for making it a hook.
1665 * doc/tm.texi: Regenerate.
1666 * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1667 * config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
1669 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1670 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1671 * config/arc/arc.c (arc_conditional_register_usage): ...here.
1673 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1674 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1675 * config/arm/arm.c (arm_conditional_register_usage): ...here.
1677 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1678 * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
1679 * config/bfin/bfin-protos.h (conditional_register_usage): Delete.
1680 * config/bfin/bfin.c (conditional_register_usage): Move code into...
1681 (bfin_conditional_register_usage): ...here. New function.
1682 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1683 * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
1684 * config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
1685 * config/cris/cris.c (cris_conditional_register_usage): Make static.
1686 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1687 * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
1688 * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
1689 * config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
1690 * config/frv/frv.c (frv_conditional_register_usage): Make static.
1691 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1692 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1693 * config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
1695 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1696 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
1697 * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
1698 * config/i386/i386.c (ix86_conditional_register_usage): Make static.
1699 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1700 * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
1701 * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
1702 * config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
1703 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1704 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1705 * config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
1707 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1708 * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
1709 * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
1711 * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
1713 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1714 * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
1715 * config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
1716 * config/mep/mep.c (mep_conditional_register_usage): Make static.
1717 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1718 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
1719 * config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
1720 * config/mips/mips.c (mips_conditional_register_usage): Make static.
1721 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1722 * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
1723 * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
1724 * config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
1725 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1726 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1727 * config/mn10300/mn10300.c (mn10300_conditional_register_usage):
1728 ...here. New function.
1729 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1730 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1731 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
1732 * config/pa/pa.c (pa_conditional_register_usage): ...here.
1734 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1735 * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1736 * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
1738 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1739 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
1740 * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
1742 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
1744 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1745 * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
1746 * config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
1747 * config/rx/rx.c (rx_conditional_register_usage): Make static.
1748 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1749 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
1750 * config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
1751 * config/s390/s390.c (s390_conditional_register_usage): Make static.
1752 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1753 * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1754 * config/score/score.c (score_conditional_register_usage): ...here.
1756 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1757 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1758 * config/sh/sh.c (sh_conditional_register_usage): ...here.
1760 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1761 * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1762 * config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
1764 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1765 * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
1766 * config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
1767 * config/spu/spu.c (spu_conditional_register_usage): Make static.
1768 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1769 * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1770 * config/v850/v850.c (v850_conditional_register_usage): ...here.
1772 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1774 2010-11-21 Jan Hubicka <jh@suse.cz>
1775 Dominique d'Humieres <dominiq@lps.ens.ft>
1778 * tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
1779 finalize external decls.
1781 2010-11-21 Joseph Myers <joseph@codesourcery.com>
1783 * system.h (strerror): Poison.
1785 2010-11-21 Richard Henderson <rth@redhat.com>
1787 * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
1790 2010-11-21 Richard Henderson <rth@redhat.com>
1792 PR rtl-optimization/46571
1793 * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
1794 (compute_hash_table_work): Use NONDEBUG_INSN_P.
1796 2010-11-21 Paul Koning <ni1d@arrl.net>
1798 * config/mips/pdp11.md (negsi2): Fix wrong code.
1800 2010-11-21 Paul Koning <ni1d@arrl.net>
1802 * config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
1803 * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
1805 2010-11-21 Eric Botcazou <ebotcazou@adacore.com>
1807 * config/mips/mips.c (machine_function): Rename load_label_length to
1808 load_label_num_insns.
1809 (mips_load_label_length): Rename to...
1810 (mips_load_label_num_insns): ...this. Adjust to first renaming.
1811 (mips_adjust_insn_length): Adjust to second renaming. Fix thinko.
1813 2010-11-21 Uros Bizjak <ubizjak@gmail.com>
1816 * config/alpha/predicates.md (direct_call_operand): Return false
1817 for !TARGET_SMALL_TEXT targets.
1819 2010-11-20 Joseph Myers <joseph@codesourcery.com>
1821 * doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
1822 HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
1823 (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
1824 * doc/tm.texi: Regenerate.
1825 * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
1826 HANDLE_PRAGMA_WEAK): Poison.
1827 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
1828 * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1829 * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
1830 * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
1831 * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1832 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1833 * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1834 * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
1835 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1836 * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
1837 * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1838 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
1839 * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1840 * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1841 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
1842 (HANDLE_PRAGMA_WEAK): Don't undefine.
1843 * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1844 * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
1845 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1846 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
1847 * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
1848 (HANDLE_PRAGMA_WEAK): Don't undefine.
1849 * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1850 * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
1851 (HANDLE_PRAGMA_PACK): Don't undefine.
1852 * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
1853 * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1854 * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1855 * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1856 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
1857 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1858 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1859 * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1860 * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
1861 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1862 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
1863 * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1864 * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1865 * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
1866 * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1867 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
1868 * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1870 2010-11-20 Eric Botcazou <ebotcazou@adacore.com>
1873 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
1874 * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
1875 * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
1877 2010-11-20 Jan Hubicka <jh@suse.cz>
1879 * cgraph.c (ld_plugin_symbol_resolution_names): New.
1880 (dump_cgraph_node): Dump resolution.
1881 * cgraph.h (ld_plugin_symbol_resolution_names): Declare.
1882 (cgraph_comdat_can_be_unshared_p): Dclare.
1883 * lto-streamer-out.c (produce_symtab): Use
1884 cgraph_comdat_can_be_unshared_p.
1885 * ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
1886 (cgraph_comdat_can_be_unshared_p): New function based on logic
1887 in cgraph_externally_visible_p.
1888 (cgraph_externally_visible_p): Use it.
1889 (varpool_externally_visible_p): Virtual tables can be unshared.
1890 * varpool.c (dump_varpool_node): Dump resolution.
1892 2010-11-20 Jan Hubicka <jh@suse.cz>
1894 * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
1896 2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1899 * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
1900 (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
1902 (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
1903 (install-strip): New target.
1904 (STRIPPROG): New variable, exported if STRIP is set.
1905 * doc/install.texi (Final install): Minor markup and code style
1906 fixes. Document install-strip target.
1908 2010-11-20 Paul Koning <ni1d@arrl.net>
1910 * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
1911 pdp11_regno_reg_class): New functions.
1912 * config/pdp11/pdp11.md (define_constants): Add register numbers.
1913 * config/pdp11/pdp11.c (pdp11_regno_reg_class,
1914 pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
1916 * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
1917 frame pointer and argument pointer pseudo-registers.
1918 (ARG_POINTER_REGNUM): Define.
1919 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
1921 (FIRST_PARM_OFFSET): Update for argument pointer.
1922 (INITIAL_FRAME_POINTER_OFFSET): Delete.
1923 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
1924 (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
1925 frame pointer and argument pointer.
1927 2010-11-20 Jakub Jelinek <jakub@redhat.com>
1930 * tree-parloops.c (try_create_redunction_list): Ignore debug stmts
1931 when looking for immediate uses.
1933 PR tree-optimization/45830
1934 * stmt.c (expand_switch_using_bit_tests_p): New function.
1935 (expand_case): Use it.
1936 * tree.h (expand_switch_using_bit_tests_p): New prototype.
1937 * tree-switch-conversion.c (struct switch_conv_info): Add
1938 bit_test_uniq, bit_test_count and bit_test_bb fields.
1939 (check_range): Fix a comment.
1940 (check_process_case): Compute bit_test_uniq and bit_test_count.
1941 (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
1943 (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
1944 (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
1945 (array_value_type): New function.
1946 (build_one_array): Use it, if it returned different type,
1947 fold_convert all constructor fields and convert back to the
1948 wider type in the generated code.
1949 (process_switch): Initialize bit_test_uniq, bit_test_count and
1950 bit_test_bb fields. Don't optimize if expand_switch_using_bit_tests_p
1953 2010-11-19 Michael Matz <matz@suse.de>
1955 PR tree-optimization/46077
1956 * tree-chrec.c (eq_evolutions_p): Accept some expressions.
1958 2010-11-19 Anatoly Sokolov <aesok@post.ru>
1960 * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1961 * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
1963 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1965 2010-11-19 Uros Bizjak <ubizjak@gmail.com>
1967 * mode-switching.c (optimize_mode_switching): Use
1968 FOR_BB_INSNS instead of open-coded loop.
1969 * cfgrtl.c (redirect_branch_edge): Ditto.
1971 2010-11-19 Joern Rennecke <amylaar@spamcop.net>
1974 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
1975 to accomodate 32 bit HOST_WIDE_INT.
1976 (m68hc11_emit_logical): Remove unused variable insn.
1977 (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
1978 this_insn_uses_iy before use.
1981 * config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
1983 2010-11-19 Joseph Myers <joseph@codesourcery.com>
1986 * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
1987 * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
1989 2010-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
1991 * doc/extend.texi (Function attributes): Document PowerPC target
1992 attributes that are supported.
1993 (Pragmas): Document that PowerPC now supports target pragmas.
1995 * doc/options.texi (TargetVariable): Document TargetVariable,
1996 HeaderInclude, and SourceInclude.
1998 * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
1999 mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
2002 * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
2003 SourceInclude directives. Fix a cut+paste error with target save
2004 enum variables. Sort enums in the structures after ints and
2006 * opth-gen.awk: Ditto.
2008 * configure.ac: Add support for HeaderInclude and SourceInclude option
2009 directives to add the appropriate files to the dependency lists.
2010 * configure: Regenerate.
2011 * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
2012 (OPTIONS_C_EXTRA): New variable for SourceInclude.
2013 (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
2014 (options.o): Add $(OPTIONS_C_EXTRA) dependency.
2015 (gcc-options.o): Ditto.
2016 * opt-include.awk: New awk script to handle HeaderInclude and
2019 * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
2020 gets saved in the target options.
2021 * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
2022 * config/rs6000/sysv4.opt (-mbit-align): Ditto.
2023 (-mprototype): Ditto.
2024 (-mbit-word): ditto.
2025 (-mregnames): Ditto.
2026 (-msecure-plt): Ditto.
2028 * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
2029 (-mpowerpc-gfxopt): Ditto.
2036 (-mhard-dfp): Ditto.
2039 (-mmultiple): Ditto.
2044 (-mno-update): Ditto.
2045 (-mavoid-indexed-addresses): Ditto.
2046 (-mtls-markers): Ditto.
2047 (-msched-epilog): Ditto.
2048 (-msched-prolog): Ditto.
2049 (-maix-struct-return): Ditto.
2050 (-msvr4-struct-return): Ditto.
2051 (-mxl-compat): Ditto.
2052 (-mrecip-precision): Ditto.
2053 (-mfp-in-toc): Ditto.
2054 (-msum-in-toc): Ditto.
2056 (-mblock-move-inline-limit=): Ditto.
2059 (-mlongcall): Ditto.
2060 (-mgen-cell-microcode): Ditto.
2061 (-mwarn-cell-microcode): Ditto.
2062 (-mwarn-altivec-long): Ditto.
2063 (-mprioritize-restricted-insns=): Ditto.
2064 (-msingle-float): Ditto.
2065 (-mdouble-float): Ditto.
2066 (-msimple-fpu): Ditto.
2067 (-mxilinx-fpu): Ditto.
2068 * config/rs6000/aix64.opt (-mpe): Ditto.
2070 * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
2071 (rs6000_cpu): Move variable to be a target variable. Rename
2072 cmodel to rs6000_current_cmodel because of macro conflict. Merge
2073 -mdebug=<xxx> variables into a single int.
2074 (rs6000_always_hint): Ditto.
2075 (rs6000_sched_groups): Ditto.
2076 (rs6000_align_branch_targets): Ditto.
2077 (rs6000_sched_costly_dep): Ditto.
2078 (rs6000_sched_insert_nops): Ditto.
2079 (rs6000_long_double_type_size): Ditto.
2080 (rs6000_ieeequad): Ditto.
2081 (rs6000_altivec_abi): Ditto.
2082 (rs6000_spe): Ditto.
2083 (rs6000_spe_abi): Ditto.
2084 (rs6000_float_gprs): Ditto.
2085 (rs6000_darwin64_abi): Ditto.
2086 (can_override_loop_align): Ditto.
2087 (rs6000_sdata): Ditto.
2088 (rs6000_tls_size): Ditto.
2089 (rs6000_current_abi): Ditto.
2090 (rs6000_traceback): Ditto.
2091 (rs6000_alignment_flags): Ditto.
2092 (rs6000_current_cmodel): Ditto.
2093 (rs6000_recip_control): Ditto.
2094 (rs6000_cpu_index): Ditto.
2095 (rs6000_tune_index): Ditto.
2096 (rs6000_debug): Ditto.
2097 (rs6000_target_flags_explict): Ditto.
2099 * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
2102 * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
2103 cmodel. Change all uses.
2105 * config/rs6000/rs6000.c (rs6000_always_hint): Move to
2106 rs6000.opt. Combine -mdebug=<xxx> variables into a single int.
2107 Rename cmodel to rs6000_current_cmodel.
2108 (rs6000_sched_groups): Ditto.
2109 (rs6000_align_branch_targets): Ditto.
2110 (rs6000_sched_costly_dep): Ditto.
2111 (rs6000_sched_insert_nops): Ditto.
2112 (rs6000_long_double_type_size): Ditto.
2113 (rs6000_ieeequad): Ditto.
2114 (rs6000_altivec_abi): Ditto.
2115 (rs6000_spe): Ditto.
2116 (rs6000_spe_abi): Ditto.
2117 (rs6000_float_gprs): Ditto.
2118 (rs6000_darwin64_abi): Ditto.
2119 (can_override_loop_align): Ditto.
2120 (rs6000_sdata): Ditto.
2121 (rs6000_tls_size): Ditto.
2122 (rs6000_current_abi): Ditto.
2123 (rs6000_traceback): Ditto.
2124 (rs6000_alignment_flags): Ditto.
2125 (rs6000_current_cmodel): Ditto.
2126 (rs6000_recip_control): Ditto.
2127 (rs6000_cpu_index): Ditto.
2128 (rs6000_tune_index): Ditto.
2129 (rs6000_debug): Ditto.
2130 (rs6000_target_flags_explict): Ditto.
2131 (rs6000_sched_insert_nops_str): Make static.
2132 (rs6000_sched_costly_dep_str): Ditto.
2133 (rs6000_recip_name): Ditto.
2134 (rs6000_abi_name): Ditto.
2135 (rs6000_sdata_name): Ditto.
2136 (enum rs6000_traceback_name): Move to rs6000-opts.h.
2137 (rs6000_parse_tls_size_option): Delete.
2138 (rs6000_valid_attribute_p): New function for target attributes and
2140 (rs6000_function_specific_save): Ditto.
2141 (rs6000_function_specific_restore): Ditto.
2142 (rs6000_function_specific_print): Ditto.
2143 (rs6000_can_inline_p): Ditto.
2144 (rs6000_set_current_function): Ditto.
2145 (rs6000_inner_target_options): Ditto.
2146 (rs6000_debug_target_options): Ditto.
2147 (rs6000_pragma_target_parse): Ditto.
2148 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
2149 attributes and pragmas.
2150 (TARGET_OPTION_SAVE): Ditto.
2151 (TARGET_OPTION_RESTORE): Ditto.
2152 (TARGET_OPTION_PRINT): Ditto.
2153 (TARGET_CAN_INLINE_P): Ditto.
2154 (TARGET_SET_CURRENT_FUNCTION): Ditto.
2155 (POWER_MASKS): Move to file level scope from the
2156 rs6000_option_override_internal function.
2157 (POWERPC_MASKS): Ditto.
2158 (ISA_*_MASKS): Ditto.
2159 (struct rs6000_ptt): Ditto.
2160 (processor_target_table): Ditto.
2161 (rs6000_cpu_name_lookup): Map cpu name to an index in
2162 processor_target_table.
2163 (rs6000_debug_reg_global): Print more information on processor
2164 options for -mdebug=reg.
2165 (rs6000_init_hard_regno_mode_ok): Add support for target
2166 attributes and pragmas. Merge all -mdebug=<xxx> fields into one.
2167 Allow -mdebug=val1,val2. Rename cmodel variable.
2168 (rs6000_option_override_internal): Ditto.
2169 (rs6000_option_override): Ditto.
2170 (rs6000_handle_option): Ditto.
2171 (rs6000_conditional_register_usage): Add debug trace message.
2172 (struct rs6000_opt_mask): New for target attribute/pragma support.
2173 (rs6000_opt_masks): Ditto.
2174 (struct rs6000_opt_var): Ditto.
2175 (rs6000_opt_vars): Ditto.
2176 (rs6000_previous_function): Ditto.
2178 * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
2179 wasn't already included.
2180 (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
2181 (enum processor_type): Ditto.
2182 (rs6000_cpu): Ditto.
2183 (enum fpu_type_t): Ditto.
2185 (enum rs6000_dependence_cost): Ditto.
2186 (enum rs6000_nop_insertion): Ditto.
2187 (enum group_termination): Ditto.
2188 (rs6000_long_double_type_size): Ditto.
2189 (rs6000_ieeequad): Ditto.
2190 (rs6000_altivec_abi): Ditto.
2191 (rs6000_spe_abi): Ditto.
2192 (rs6000_spe): Ditto.
2193 (rs6000_float_gprs): Ditto.
2194 (rs6000_alignment_flags): Ditto.
2195 (rs6000_sched_insert_nops): Ditto.
2196 (enum rs6000_vector): Ditto.
2197 (enum rs6000_abi): Ditto.
2198 (rs6000_current_opt): Ditto.
2199 (rs6000_debug_*): Delete.
2200 (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
2201 (TARGET_DEBUG*): Ditto.
2203 * config/rs6000/rs6000-opts.h: New header file to define the enums
2204 that are used in target variables that are now defined in rs6000.opt.
2206 * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
2208 (rs6000_sdata): Ditto.
2209 (rs6000_abi_name): Delete.
2210 (rs6000_sdata_name): Ditto.
2211 (rs6000_tls_size_string): Ditto.
2213 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2215 * common.opt (debug_struct_ordinary, debug_struct_generic): New
2217 * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
2218 should_emit_struct_debug): Move from opts.c.
2219 * flag-types.h (enum debug_struct_file): Move from opts.c.
2220 * flags.h (should_emit_struct_debug): Remove.
2221 (base_of_path): Declare.
2222 (set_struct_debug_option): Add gcc_options parameter.
2223 * optc-gen.awk, opth-gen.awk: Handle array variables.
2224 * opts.c (enum debug_struct_file, debug_struct_ordinary,
2225 debug_struct_generic): Remove.
2226 (set_struct_debug_option): Add gcc_options parameter.
2227 (base_of_path): Remove static.
2228 (main_input_basename, main_input_baselength, matches_main_base,
2229 dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
2231 * toplev.c (main_input_basename, main_input_baselength): Define
2233 * toplev.h (main_input_basename, main_input_baselength): Declare
2236 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2238 * common.opt (flag_instrument_functions_exclude_functions,
2239 flag_instrument_functions_exclude_files): New Variable definitions.
2240 * flags.h (flag_instrument_functions_exclude_p): Don't declare.
2241 * gimplify.c (char_p): Declare type and vectors.
2242 (flag_instrument_functions_exclude_p): Moved from opts.c. Make static.
2243 * opts.c (flag_instrument_functions_exclude_functions,
2244 flag_instrument_functions_exclude_files): Remove.
2245 (add_comma_separated_to_vector): Take void **.
2246 (flag_instrument_functions_exclude_p): Move to gimplify.c.
2247 (common_handle_option): Use options structure for
2248 -finstrument-functions-exclude- options.
2250 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2252 * doc/options.texi (Var): Document effects of Defer.
2254 * opt-functions.awk (var_type, var_set): Handle deferred options.
2255 * opts-common.c (set_option): Handle CLVC_DEFER.
2256 * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
2257 fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
2258 fstack-limit-symbol=): Mark as deferred.
2259 * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
2261 (print_filtered_help): Don't report state of CLVC_DEFER options.
2262 (common_handle_option): Move code for OPT_fcall_used_,
2263 OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
2264 OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
2265 OPT_fstack_limit_symbol_ to opts-global.c.
2266 (option_enabled, get_option_state): Handle CLVC_DEFER.
2267 * opts.h: Include vec.h.
2268 (enum cl_var_type): Add CLVC_DEFER.
2269 (cl_deferred_option): Define type and vectors.
2270 (handle_common_deferred_options): Declare.
2271 * opts-global.c: New.
2272 * toplev.c (toplev_main): Call handle_common_deferred_options
2273 * Makefile.in (OPTS_H): Include $(VEC_H).
2274 (OBJS-common): Include opts-global.o.
2275 (opts.o): Update dependencies.
2276 (opts-global.o): Add dependencies.
2278 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
2280 * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
2281 to objc_declare_protocols.
2283 2010-11-19 Richard Guenther <rguenther@suse.de>
2286 * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
2287 IDENTIFIERs do not stream TREE_TYPE.
2288 * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
2290 2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com>
2292 * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
2294 2010-11-19 Jakub Jelinek <jakub@redhat.com>
2297 * dwarf2out.c (const_ok_for_output_1): Don't complain about
2298 non-delegitimized TLS UNSPECs.
2300 2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu>
2301 Ian Lance Taylor <iant@google.com>
2303 * config/darwin-c.c (darwin_additional_format_types): Export.
2305 2010-11-18 Paul Koning <ni1d@arrl.net>
2307 * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
2310 2010-11-18 Paul Koning <ni1d@arrl.net>
2312 * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
2313 * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
2314 * config/pdp11/pdp11.opt (-mabshi): Delete.
2316 2010-11-19 Mingjie Xing <mingjie.xing@gmail.com>
2318 * resource.h (struct resources): Fix typo in the comment.
2320 2010-11-19 Uros Bizjak <ubizjak@gmail.com>
2323 * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
2325 2010-11-18 Richard Henderson <rth@redhat.com>
2328 * function.c (maybe_copy_prologue_epilogue_insn): Rename from
2329 maybe_copy_epilogue_insn; handle prologue insns as well.
2330 * rtl.h, cfglayout.c: Update for rename.
2331 * recog.c (peep2_attempt): Copy prologue/epilogue data for
2332 RTX_FRAME_RELATED_P insns.
2334 2010-11-18 Jakub Jelinek <jakub@redhat.com>
2337 * builtins.c (fold_builtin_printf): Don't copy and modify string
2338 before build_string_literal, instead modify what
2339 build_string_literal returned.
2341 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
2344 * c-typeck.c (build_unary_op): Call build_real_imag_expr for
2345 REALPART_EXPR and IMAGPART_EXPR.
2347 2010-11-18 Richard Guenther <rguenther@suse.de>
2349 PR tree-optimization/46172
2350 * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
2352 (slpeel_tree_peel_loop_to_edge): Call it.
2354 2010-11-18 Jeff Law <law@redhat.com>
2356 PR middle-end-optimization/46297
2357 * postreload.c (reload_combine_note_store): Deal with embedded
2358 side effects in MEM expressions.
2360 2010-11-18 Richard Guenther <rguenther@suse.de>
2363 * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
2364 when checking is not enabled.
2366 2010-11-18 Richard Guenther <rguenther@suse.de>
2369 * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
2371 (gimple_register_canonical_type): Also cache the canoncial type
2372 for non type leaders.
2374 2010-11-18 Richard Guenther <rguenther@suse.de>
2376 * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
2378 2010-11-18 Alexander Monakov <amonakov@ispras.ru>
2381 * sel-sched-ir.c (init_expr): Use the correct type for
2383 * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
2385 2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
2387 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
2388 as well as -mrelocatable at the same time.
2390 2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com>
2393 * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
2394 Call the clz builtin.
2396 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
2397 Steve Ellcey <sje@cup.hp.com>
2400 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
2401 if section attribute used.
2403 2010-11-17 Jan Hubicka <jh@suse.cz>
2405 * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
2406 expand errno setting variant when optimizing for size.
2408 2010-11-17 Eric Botcazou <ebotcazou@adacore.com>
2410 * postreload.c (reload_combine): Call control_flow_insn_p only once.
2411 Reverse backward loop. Fix formatting issues.
2413 2010-11-17 Paolo Bonzini <bonzini@gnu.org>
2415 * c-parser.c (c_token_is_qualifier,
2416 c_parser_next_token_is_qualifier): New.
2417 (c_parser_declaration_or_fndef, c_parser_struct_declaration):
2418 Improve error message on specs->tagdef_seen_p.
2419 (c_parser_struct_or_union_specifier): Improve error recovery.
2420 (c_parser_declspecs): Move exit condition on C_ID_ID early.
2421 Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
2422 using c_parser_next_token_is_qualifier; extend it to cover
2423 a ctsk_tagdef typespec and !typespec_ok in general.
2425 2010-11-17 Richard Guenther <rguenther@suse.de>
2427 * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
2428 (gimple_mod_pow2_value_transform): Likewise.
2429 (gimple_mod_subtract_transform): Likewise.
2431 2010-11-17 Richard Guenther <rguenther@suse.de>
2434 * gimple.c (gimple_register_canonical_type): Make sure to only
2435 make type leaders canonical types.
2437 2010-11-17 Michael Matz <matz@suse.de>
2439 * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
2440 TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
2441 TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
2442 TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
2443 * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
2444 (pass_build_ssa): ... but here.
2445 * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
2446 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
2447 * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
2448 * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
2449 * predict.c (rebuild_frequencies): Ditto.
2450 * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
2451 * emit-rtl.c (verify_rtl_sharing): Ditto.
2452 * tree-cfgcleanup.c (repair_loop_structures): Ditto.
2453 * tree-ssa-live.c (remove_unused_locals): Ditto.
2454 * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
2455 * tree-ssa.c (pass_early_warn_uninitialized,
2456 execute_update_addresses_taken, pass_update_address_taken): Ditto.
2457 * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
2458 pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
2459 * passes.c (pass_postreload, execute_todo): Ditto.
2460 * tree-ssanames.c (pass_release_ssa_names): Ditto.
2462 2010-11-17 Joseph Myers <joseph@codesourcery.com>
2464 * doc/invoke.texi (-dy): Remove.
2465 * langhooks-def.h (lhd_do_nothing_i): Don't declare.
2466 (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
2467 * langhooks.c (lhd_do_nothing_i): Remove.
2468 * langhooks.h (lang_hooks.parse_file): Take no arguments.
2469 * toplev.c (set_yydebug): Remove.
2470 (compile_file): Update call to lang_hooks.parse_file.
2471 (decode_d_option): Don't handle -dy.
2473 2010-11-17 Jakub Jelinek <jakub@redhat.com>
2475 PR rtl-optimization/46440
2476 * combine.c (update_cfg_for_uncondjump): When changing
2477 an indirect jump into unconditional jump, remove BARRIERs
2480 2010-11-17 Joseph Myers <joseph@codesourcery.com>
2482 * opts.c (target_handle_option): Do not assert that loc ==
2485 2010-11-17 Jakub Jelinek <jakub@redhat.com>
2486 Richard Guenther <rguenther@suse.de>
2489 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
2490 call_may_clobber_ref_p_1): Return true for __sync_* and some
2491 OpenMP builtins that act as threading barriers.
2493 2010-11-17 Richard Guenther <rguenther@suse.de>
2495 PR tree-optimization/46498
2496 * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
2498 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2500 * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
2501 (xtensa_function_arg_boundary): ...this.
2502 * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
2503 thinko in declaration.
2504 (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
2505 number of parameters to picochip_function_arg_boundary.
2506 (picochip_arg_advance): Likewise.
2508 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2511 * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
2512 under check for type.
2514 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
2516 * ifcvt.c (dead_or_predicable): Fix typo.
2518 2010-11-16 Richard Henderson <rth@redhat.com>
2520 * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
2521 * config/s390/s390.opt (mfused-madd): Remove.
2522 * config/s390/s390.c (s390_rtx_costs): Handle FMA.
2523 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
2524 * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
2525 (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
2527 2010-11-16 Richard Henderson <rth@redhat.com>
2529 * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
2530 * config/rs6000/rs6000.opt (mfused-madd): Remove.
2531 * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
2532 (*altivec_vmaddfp_1): Remove.
2533 (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
2534 (altivec_mulv4sf3): Expand to FMA directly.
2535 (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
2536 (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
2537 * config/rs6000/paired.md (paired_madds0): Use FMA.
2538 (paired_madds1): Likewise.
2539 (*paired_madd): Rename from paired_madd; use FMA.
2540 (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
2541 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
2542 consider TARGET_FUSED_MADD wrt rs6000_recip_control.
2543 (bdesc_3arg): Update CODE_FOR_* for pattern renames.
2544 (rs6000_emit_madd): Use fma_optab.
2545 (rs6000_emit_msub): Use fms_optab.
2546 (rs6000_emit_nmsub): Expand the FMA pattern directly.
2547 * config/rs6000/rs6000.md (FMA_F): New mode iterator.
2548 (*fmasf4_fpr): Rename from fmasf4_fpr.
2549 (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
2550 (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
2551 (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
2552 (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
2553 (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
2554 (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
2555 (*fmadf4_fpr): Rename from fmadf4_fpr.
2556 (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
2557 (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
2558 (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
2559 (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
2560 (fmasf4, fmadf4): Macroize into...
2561 (fma<FMA_F>4): ... here.
2562 (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
2563 (nfma<FMA_F>4, nfms<FMA_F>4): New.
2564 * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
2566 * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
2567 (*vsx_fmadd<mode>4_1): Remove.
2568 (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
2569 (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
2570 (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
2571 (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
2572 (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
2573 (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
2574 (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
2576 2010-11-16 Richard Henderson <rth@redhat.com>
2578 * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
2579 (fmasf4, fnmadf4, fnmasf4): Likewise.
2580 (unnamed plus+mult insns and splitters): Delete.
2582 2010-11-16 Richard Henderson <rth@redhat.com>
2584 * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
2585 (fnma<VSF>4): Rename from fnms_<VSF>.
2586 (fms<VSF>4): Rename from fms_<VSF>.
2587 (fma<VDF>4): Rename from fma_<VDF>.
2588 (fms<VDF>4): Rename from fms_<VDF>.
2589 (nfma<VDF>4): Rename from fnma_<VDF>.
2590 (nfms<VDF>4): Rename from fnms_<VDF>.
2591 (fnma<VDF>4, fnms<VDF>4): New expanders.
2592 (floatunsdisf2): Update for the renames.
2593 (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
2594 * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
2596 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
2598 PR rtl-optimization/46490
2599 * combine.c (expand_compound_operation): Fix thinko.
2601 2010-11-16 Richard Henderson <rth@redhat.com>
2604 * recog.c (peep2_attempt): Convert frame-related info when possible.
2605 (peep2_fill_buffer): Allow frame-related insns into the buffer.
2606 (peephole2_optimize): Allow peep2_attempt to fail.
2608 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
2610 PR rtl-optimization/46315
2611 * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
2612 * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
2614 * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
2615 (remove_reg_equal_equiv_notes_for_defs): ...this.
2616 (delete_unmarked_insns): Adjust to above renaming.
2617 * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
2618 referring to registers set in the insns being moved, if any.
2620 * df-core.c (df_ref_dump): New function extracted from...
2621 (df_refs_chain_dump): ...here. Call it.
2622 (df_regs_chain_dump): Likewise.
2623 * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
2624 * df-scan.c (df_scan_start_dump): Likewise. Fix long line.
2626 2010-11-16 Andreas Schwab <schwab@linux-m68k.org>
2628 PR rtl-optimization/46395
2629 * postreload.c (reload_combine): Invalidate register use
2630 information on all control flow insns.
2632 * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
2633 LABEL_REF in UNSPEC operand.
2635 2010-11-16 Jan Hubicka <jh@suse.cz>
2637 * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
2638 when !flag_toplevel_reorder do not remove unless variable is
2639 COMDAT or ARTIFICIAL.
2640 * ipa.c (varpool_can_remove_if_no_refs): ... here.
2641 (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
2642 * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
2643 * varpool.c (decide_is_variable_needed): Do not handle visibility
2645 (varpool_finalize_decl): Likewise.
2646 (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
2647 update outdated comment on DECL_RTL_SET_P check.
2649 2010-11-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2651 * config/sol2.h (NM_FLAGS): Define.
2652 * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
2653 * doc/tm.texi: Update.
2655 2010-11-16 Nick Clifton <nickc@redhat.com>
2657 * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
2658 (msubsf4): Rename to fmssf4, and use fma.
2659 (nmaddsf4): Rename to fnmasf4 and use fma.
2660 (nmsubsf4): Rename to fnmssf4 and use fma.
2662 2010-11-16 Joern Rennecke <amylaar@spamcop.net>
2665 * config/score/score3.c (score3_return_in_memory): Constify arguments.
2666 (score3_in_small_data_p, score3_function_value): Likewise.
2667 (score3_trampoline_init): Use LCT_NORMAL.
2668 (score3_print_operand): Initialize code as UNKNOWN.
2669 * config/score/predicates.md (score_load_multiple_operation):
2670 Remove unused variable.
2671 (score_store_multiple_operation): Likewise.
2672 * config/score/score7.c (score7_return_in_memory): Constify arguments.
2673 (score7_in_small_data_p, score7_function_value): Likewise.
2674 (score7_trampoline_init): Use LCT_NORMAL.
2675 (score7_print_operand): Initialize code as UNKNOWN.
2676 * config/score/score3.h (score3_return_in_memory): Update prototype.
2677 (score3_in_small_data_p, score3_function_value): Likewise.
2678 * config/score/score-protos.h (score_function_value): Likewise.
2679 * config/score/score7.h (score7_return_in_memory): Update prototype.
2680 (score7_in_small_data_p, score7_function_value): Likewise.
2681 * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
2682 (score_return_in_memory, score_pass_by_reference): Constify arguments.
2683 (score_output_mi_thunk, score_function_prologue): Don't return a value.
2684 (score_function_epilogue, score_in_small_data_p): Likewise.
2685 (score_option_override, score_asm_trampoline_template): Likewise.
2686 (score_trampoline_init, score_print_operand): Likewise.
2687 (score_print_operand_address, score_prologue): Likewise.
2688 (score_epilogue, score_call, score_call_value): Likewise.
2689 (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
2690 (score_function_arg_advance): Likewise. Make static.
2691 (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
2692 (score_function_arg, score_legitimate_address_p): Make static.
2693 (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
2694 * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
2695 * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
2696 Allow (W) == HOST_BITS_PER_WIDE_INT.
2699 * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
2700 * config/t-pnt16-warn (java/constants.o-warn): Likewise.
2702 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2704 * config/arc/arc.c: Delete pasto.
2705 * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
2707 2010-11-16 Anatoly Sokolov <aesok@post.ru>
2709 * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
2710 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2711 * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
2712 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2713 (mn10300_preferred_reload_class,
2714 mn10300_preferred_output_reload_class): New functions.
2716 2010-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2718 * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
2719 (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
2720 (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
2721 (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
2723 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2725 * builtins.c (std_gimplify_va_arg_expr): Use
2726 targetm.calls.function_arg_boundary.
2727 * function.c (assign_parms, locate_and_pad_parm): Likewise.
2728 * calls.c (struct arg_data): Update comment.
2729 * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
2730 * target.def (function_arg_boundary): Define.
2731 * targhooks.h (default_function_arg_boundary): Declare.
2732 * targhooks.c (default_function_arg_boundary): Define.
2733 * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
2734 TARGET_FUNCTION_ARG_BOUNDARY.
2735 (FUNCTION_ARG_BOUNDARY): Delete.
2736 (TARGET_FUNCTION_ARG_BOUNDARY): New.
2737 * doc/tm.texi: Regenerate.
2738 * system.h (FUNCTION_ARG_BOUNDARY): Poison.
2739 * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
2740 * config/arc/arc.c (arc_function_arg_boundary): Define.
2741 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2742 * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
2743 * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
2744 * config/arm/arm.c (arm_needs_doubleword_align): Make static.
2745 (arm_function_arg_boundary): Define.
2746 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2747 * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
2748 * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
2749 * config/frv/frv.c (frv_function_arg_boundary): Make static.
2750 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2751 * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
2752 * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
2753 * config/i386/i386.c (ix86_function_arg_boundary): Make static.
2754 (ix86_compat_function_arg_boundary): Take and return unsigned int.
2755 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2756 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
2757 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
2758 * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
2759 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2760 * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
2761 * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
2762 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2763 * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
2764 * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
2765 * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
2766 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2767 * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
2768 * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
2769 * config/mips/mips.c (mips_function_arg_boundary): Make static.
2770 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2771 * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
2772 * config/pa/pa.c (pa_function_arg_boundary): Define.
2773 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2774 * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
2775 * config/picochip/picochip-protos.h
2776 (picochip_get_function_arg_boundary): Delete.
2777 * config/picochip/picochip.c (picochip_get_function_arg_boundary):
2779 (picochip_function_arg_boundary): ...this. Make static.
2780 (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
2781 (picochip_arg_advance): Adjust.
2782 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2783 * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
2784 * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
2785 * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
2786 (rs6000_function_arg_boundary): ...this. Make static.
2787 (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
2788 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2789 * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
2790 * config/rx/rx.c (rx_function_arg_boundary): Define.
2791 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2792 * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
2793 * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
2794 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2795 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
2796 * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
2797 * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
2798 (xtensa_function_arg_boundary): ...this. Make static.
2799 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2801 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2803 * expr.c (alignment_for_piecewise_move): New function.
2804 (widest_int_mode_for_size): New function.
2805 (move_by_pieces, move_by_pieces_ninsns): Call them.
2806 (can_store_by_pieces, store_by_pieces_1): Likewise.
2808 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2810 * gcc.c (char_p): Define. Define a VEC of it.
2811 (n_linker_options, n_assembler_options, n_preprocessor_options):
2813 (linker_options, assembler_options, preprocessor_options): Convert
2815 (add_preprocessor_option): Adjust.
2816 (add_assembler_option): Adjust.
2817 (add_linker_option): Adjust.
2818 (do_specs_vec): New function.
2819 (do_spec_1): Call it. Adjust for new types.
2821 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2823 * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
2824 (sreal.o, statistics.o, stringpool.o): Likewise.
2826 2010-11-16 Richard Guenther <rguenther@suse.de>
2828 PR tree-optimization/44545
2829 * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
2830 statements are not reassociatable.
2831 (reassociate_bb): Likewise.
2833 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2835 * bitmap.c: Delete unnecessary includes.
2836 * ebitmap.c: Likewise.
2837 * et-forest.c: Likewise.
2838 * sreal.c: Likewise.
2839 * statistics.c: Likewise.
2840 * stringpool.c: Likewise.
2841 * double-int.c: Add comment for inclusion of tm.h.
2843 2010-11-16 Richard Guenther <rguenther@suse.de>
2845 * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
2846 (visit_nary_op): ... this.
2847 (visit_binary_op): Remove.
2848 (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
2850 2010-11-16 Richard Guenther <rguenther@suse.de>
2853 * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
2855 2010-11-16 Nick Clifton <nickc@redhat.com>
2857 * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
2860 2010-11-15 Richard Henderson <rth@redhat.com>
2862 * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
2863 WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
2866 2010-11-15 Richard Henderson <rth@redhat.com>
2868 * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
2869 from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use
2872 2010-11-15 Richard Henderson <rth@redhat.com>
2874 * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
2875 and *mulsubsf4 respectively. Use fma rtx_code.
2877 2010-11-15 Joseph Myers <joseph@codesourcery.com>
2879 * gcc.c: Include "vec.h".
2880 (argbuf): Make into a VEC.
2881 (argbuf_length, argbuf_index): Remove.
2882 (alloc_args, clear_args, store_arg, execute, insert_wrapper,
2883 do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
2884 compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
2885 * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
2886 (gcc.o): Depend on $(VEC_H).
2888 2010-11-15 Richard Henderson <rth@redhat.com>
2890 * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
2891 via FMA if unsafe math.
2892 (insert_var_expansion_initialization): Handle FMA.
2893 (combine_var_copies_in_loop_exit): Likewise.
2895 2010-11-15 Richard Henderson <rth@redhat.com>
2897 * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
2898 * config/ia64/ia64.opt: Remove mfused-madd.
2899 * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
2900 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
2901 * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
2902 * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
2903 * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
2904 * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
2905 (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
2906 (fmav2sf4): Rename from fpma; use FMA code.
2907 (fmsv2sf4): Rename from fpms; use FMA code.
2908 (fnmav2sf4): Rename from *fpnma; use FMA code.
2909 * config/ia64/ia64.md (MODE_SDF): New iterator.
2910 (suffix): New mode attribute.
2911 (*maddsf4, *msubsf4, *nmaddsf4): Remove.
2912 (fmssf4): Rename from *fmssf4.
2913 (fnmasf4): Rename from *nfmasf4.
2914 (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
2915 (*nmadddf4, *nmadddf4_truncsf): Remove.
2916 (fmsdf4): Rename from *fmsdf4.
2917 (fnmadf4): Rename from *nfmadf4.
2918 (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
2919 (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
2920 (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
2921 (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
2922 (fmsxf4): Rename from *fmsxf4.
2923 (fnmaxf4): Rename from *nfmaxf4.
2924 (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
2925 (*fnmaxf_trunc_<MODE_SDF>): New.
2927 2010-11-15 Jakub Jelinek <jakub@redhat.com>
2929 PR tree-optimization/46461
2930 * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
2933 2010-11-15 Ian Lance Taylor <iant@google.com>
2935 * godump.c: New file.
2936 * common.opt (fdump-go-spec=): New option.
2937 * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
2938 (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
2939 (TYPE_SYMTAB_IS_DIE): Define.
2940 (struct tree_type): Change GTY for symtab field to use
2941 TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
2942 to pick the union field.
2943 * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
2944 (dump_go_spec_init): Declare.
2945 * toplev.c (process_options): Handle flag_dump_go_spec.
2946 * debug.c: Include "tree.h".
2947 (do_nothing_debug_hooks): Set tree_type_symtab_field.
2948 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
2949 * dbxout.c (dbx_debug_hooks): Likewise.
2950 (xcoff_debug_hooks): Likewise.
2951 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
2952 * sdbout.c (sdb_debug_hooks): Likewise. Do not define if
2953 SDB_DEBUGGING_INFO is not defined.
2954 * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
2955 (Overall Options): Document -fdump-go-spec.
2956 * Makefile.in (OBJS-common): Add godump.o.
2957 (debug.o): Add dependency on $(TREE_H).
2958 (godump.o): New target.
2959 (GTFILES): Add $(srcdir)/godump.c.
2961 2010-11-15 Jakub Jelinek <jakub@redhat.com>
2964 * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
2965 marking r11 set RTX_FRAME_RELATED_P if offset is too large for
2966 style < 0, add REG_FRAME_RELATED_EXPR.
2969 * rtl.h (vt_equate_reg_base_value): New prototype.
2970 * alias.c (vt_equate_reg_base_value): New function.
2971 * var-tracking.c (vt_init_cfa_base): Use it.
2973 2010-11-15 Jan Hubicka <jh@suse.cz>
2974 Diego Novillo <dnovillo@google.com>
2977 * doc/lto.texi: Add.
2978 * doc/gccint.texi: Add reference to lto.texi.
2979 * doc/invoke.texi: Update user documentation for LTO.
2980 Move internal flags to lto.texi
2982 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
2984 * c-typeck.c (build_unary_op): Use
2985 objc_build_incr_expr_for_property_ref to build the pre/post
2986 increment/decrement of an Objective-C property ref, and skip the
2987 lvalue_or_else check in that case.
2989 2010-11-15 Martin Jambor <mjambor@suse.cz>
2991 PR tree-optimization/46349
2992 * tree-sra.c (contains_bitfld_comp_ref_p): New function.
2993 (contains_vce_or_bfcref_p): Likewise.
2994 (sra_modify_assign): Use them.
2996 2010-11-15 Richard Guenther <rguenther@suse.de>
2998 PR tree-optimization/46467
2999 * tree-ssa-structalias.c (do_structure_copy): Properly treat
3000 variables without subvars.
3002 2010-11-15 Hariharan Sandanagobalane <hariharan@picochip.com>
3004 * config/picochip/picochip.c (file header): Picochip name change.
3005 * config/picochip/picochip.md (file header): Likewise.
3006 * config/picochip/predicates.md (file header): Likewise.
3007 * config/picochip/dfa_space.md (file header): Likewise.
3008 * config/picochip/dfa_speed.md (file header): Likewise.
3009 * config/picochip/picochip.h(file header): Likewise.
3010 * config/picochip/constraints.md (file header): Likewise.
3011 * config/picochip/picochip-protos.h (file header): Likewise.
3012 * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
3013 * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
3014 * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
3015 * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
3016 * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
3017 * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
3018 * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
3019 * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
3020 * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
3021 * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
3022 * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
3023 * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
3024 * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
3025 * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
3027 2010-11-15 Richard Guenther <rguenther@suse.de>
3030 * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
3032 2010-11-15 Nick Clifton <nickc@redhat.com>
3034 * config/stormy16/stormy16.c (direct_return): Do not generate a
3035 direct return for interrupt handlers.
3037 2010-11-15 Joern Rennecke <amylaar@spamcop.net>
3039 * Makefile.in (tm.texi): Replace with rule for:
3040 ($(srcdir)/doc/tm.texi).
3041 (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
3042 $(srcdir)/doc/tm.texi .
3043 (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
3047 * config/m32r/m32r.c: Remove unused variables frame_size and insn.
3050 * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
3051 (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
3054 * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
3056 2010-11-15 Richard Guenther <rguenther@suse.de>
3059 * lto-opts.c (lto_write_options): Write -fexceptions even if
3060 not set by the user.
3062 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
3065 * c-decl.c (declspecs_add_type): Make variables with error types
3067 * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
3068 do not start a declaration before an Objective-C foreach.
3069 (c_parser_declaration_or_fndef): Improve recovery after unknown
3071 (c_parser_for_statement): Hoist entrance of "foreach context"
3072 before ifs, add corresponding reset where it was missing. Do
3073 not set objc_could_be_foreach_context for C.
3075 2010-11-14 Eric Botcazou <ebotcazou@adacore.com>
3077 PR tree-optimization/45722
3078 * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
3079 this is a reference to a component.
3080 * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
3081 (ipa_note_param_call): Adjust comment.
3083 2010-11-14 Richard Sandiford <rdsandiford@googlemail.com>
3085 * config/mips/mips.c (machine_function): Remove
3086 initialized_mips16_gp_pseudo_p.
3087 (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
3088 detect whether a pseudo has already been created. Unconditionally
3089 create a new one if not.
3090 (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
3091 expanding to rtl. Create a new pseudo otherwise, if allowed.
3093 2010-11-13 Richard Earnshaw <rearnsha@arm.com>
3096 * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
3097 * tm.texi: Regenerated.
3098 * output.h (decode_reg_name_and_count): Declare.
3099 * varasm.c (decode_reg_name_and_count): New function.
3100 (decode_reg_name): Reimplement using decode_reg_name_and_count.
3101 * reginfo.c (fix_register): Use decode_reg_name_and_count and
3102 iterate over all regs used.
3103 * stmt.c (expand_asm_operands): Likewise.
3104 * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
3105 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
3106 multiple machine registers.
3108 2010-11-13 Eric Botcazou <ebotcazou@adacore.com>
3110 * stor-layout.c (place_union_field): Do not put location information
3111 on offset expressions.
3112 (place_field): Likewise.
3113 (finalize_record_size): Likewise on size expressions.
3114 (finalize_type_size): Likewise.
3115 (layout_type): Likewise.
3117 2010-11-13 Alexandre Oliva <aoliva@redhat.com>
3120 * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
3121 * df-core.c (df_set_bb_dirty_nonrl): Remove.
3122 * df.h (df_set_bb_dirty_nonlr): Likewise.
3124 2010-11-13 Uros Bizjak <ubizjak@gmail.com>
3126 * config/mips/mips.md (call_internal): Pass curr_insn to
3128 (call_internal_direct): Ditto.
3129 (call_value_internal): Ditto.
3130 (call_value_internal_direct): Ditto.
3131 (call_value_multiple_internal): Ditto.
3132 * config/mips/mips.c (mips_split_call): Do not copy
3133 CALL_INSN_FUNCTION_USAGE here.
3135 2010-11-13 Mingming Sun <mingm.sun@gmail.com>
3137 * doc/invoke.texi (MIPS Options): Add loongson3a processor.
3138 * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
3139 (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
3140 * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
3141 (TUNE_LOONGSON_3A): Define.
3142 (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
3143 (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
3144 * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
3145 (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
3146 (mips_rtx_cost_data): Add Loongson-3A.
3148 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
3150 * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
3153 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
3155 * dwarf2out.c (macinfo_entry): New struct.
3156 (output_comp_unit): Emit the section start label here and flag that we
3157 will emit an info section.
3158 (dwarf2out_start_source_file): Save data in a macinfo entry rather than
3160 (dwarf2out_end_source_file): Likewise.
3161 (dwarf2out_define): Likewise.
3162 (dwarf2out_undef): Likewise.
3163 (output_macinfo): New.
3164 (dwarf2out_init): Do not emit debug section switches here, allocate a
3165 vec for macinfo, when required.
3166 (dwarf2out_finish): First switch to debug_abbrev_section here.
3167 debug_line_section, debug_macinfo_section, Likewise.
3168 Check that the pubtypes table has at least one unpruned entry before
3171 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
3174 * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
3175 (c_parser_next_tokens_start_declaration): ... this. Handle 2nd
3177 (c_parser_compound_statement_nostart, c_parser_label,
3178 c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
3179 (c_parser_declaration_or_fndef): Detect the case now matched by
3180 c_parser_next_tokens_start_declaration, give error and correct it.
3182 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
3184 * c-tree.h (enum c_typespec_kind): Add ctsk_none.
3185 (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
3187 * c-decl.c (build_null_declspecs): Initialize typespec_kind.
3188 (shadow_tag_warned, check_compound_literal_type): Adjust
3189 uses of tag_defined_p.
3190 (declspecs_add_type): Set typespec_kind.
3191 * c-parser.c (c_parser_declaration_or_fndef,
3192 c_parser_declspecs, c_parser_struct_declaration,
3193 c_parser_parameter_declaration, c_parser_type_name,
3194 c_parser_objc_diagnose_bad_element_prefix): Adjust uses
3196 * c-typeck.c (c_cast_expr): Use typespec_kind instead of
3197 tag_defined_p, pass ctsk_firstref through.
3199 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
3201 * c-format.c (enum format_specifier_kind, kind_descriptions): New.
3202 (struct format_wanted_type): Replace field "name" with "kind", add
3203 "format_start" and "format_length".
3204 (check_format_info_main): Fill in new fields. Fill in
3205 FORMAT_WANTED_TYPES even for missing arguments. Move checks
3206 after the final NUL outside the while loop. Do not include
3207 width and precision modifiers in the format_start/format_length
3209 (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
3210 arguments. Compute WANTED_TYPE first so that format_type_warning
3211 can be called for missing arguments. Adjust calls to
3212 format_type_warning.
3213 (format_type_warning): Fetch as much information as possible
3214 from format_wanted_type. Adjust printing now that every
3215 warning has a "descr", as well as for missing argument warnings
3216 and to include % sign for format specifiers.
3218 2010-11-12 Alexander Monakov <amonakov@ispras.ru>
3220 PR rtl-optimization/46204
3221 * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
3222 Update all callers. Do not recompute topological order. Adjust
3223 fallthrough edges following a degenerate conditional jump.
3225 2010-11-12 Joseph Myers <joseph@codesourcery.com>
3227 * opts-common.c (control_warning_option): New.
3228 * opts.c (set_default_handlers): New.
3229 (decode_options): Use set_default_handlers and
3230 control_warning_option.
3231 (common_handle_option): Update call to enable_warning_as_error.
3232 (enable_warning_as_error): Take gcc_options parameters. Use
3233 control_warning_option.
3234 * opts.h (set_default_handlers, control_warning_option): Declare.
3236 2010-11-12 Joseph Myers <joseph@codesourcery.com>
3238 * Makefile.in (OPTS_H): Define.
3239 (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
3240 c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
3241 cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
3242 opts-common.o, toplev.o, passes.o, matrix-reorg.o,
3243 ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
3244 * gcc.c (driver_handle_option): Take location_t parameter.
3245 (process_command, do_self_spec): Update calls to
3246 read_cmdline_option.
3247 * langhooks-def.h (lhd_handle_option): Take location_t parameter.
3248 * langhooks.c (lhd_handle_option): Take location_t parameter.
3249 * langhooks.h (handle_option): Take location_t parameter.
3250 * lto-opts.c (lto_reissue_options): Update call to set_option.
3251 * opts-common.c (handle_option): Make static. Take location_t
3252 parameter and pass it to other functions.
3253 (handle_generated_option): Take location_t parameter and pass it
3255 (read_cmdline_option): Take location_t parameter and pass it to
3256 other functions. Use warning_at and error_at.
3257 (set_option): Take location_t parameter and pass it to other
3259 * opts.c (common_handle_option): Take location_t parameter and
3260 pass it to other functions.
3261 (enable_warning_as_error): Make static. Take location_t parameter
3262 and pass it to other functions.
3263 (lang_handle_option): Take location_t parameter and pass it to
3265 (target_handle_option): Take location_t parameter.
3266 (read_cmdline_options, maybe_default_option,
3267 maybe_default_options, default_options_optimization,
3268 decode_options): Take location_t parameter and pass it to other
3270 * opts.h: Include input.h.
3271 (struct cl_option_handler_func, decode_options, set_option,
3272 handle_generated_option, read_cmdline_option): Take location_t
3274 (handle_option, enable_warning_as_error): Remove.
3275 * toplev.c (toplev_main): Update call to decode_options.
3277 2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
3279 * graphite-cloog-util.c (oppose_constraint,
3280 cloog_matrix_to_ppl_constraint,
3281 new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
3282 CLooG isl uses unsigned integers. This triggered a warning.
3284 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
3287 * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
3288 (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
3289 (xtensa_function_arg_1): De-constify cum.
3290 (xtensa_expand_prologue): Use add_reg_note.
3293 * config/cris/cris.c (saved_regs_mentioned): Delete.
3294 (cris_reload_address_legitimized): Cast itype to enum reload_type.
3295 Remove unused variable op0p.
3296 (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
3297 (cris_emit_movem_store): Use add_reg_note.
3300 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
3302 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
3304 * function.c (expand_function_end): Set the locator of the prologue on
3305 the stack checking insns.
3307 2010-11-12 Richard Henderson <rth@redhat.com>
3309 * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
3310 * config/xtensa/xtensa.opt (mfused-madd): Remove.
3311 * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
3313 * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
3314 (fnmasf4): Rename from mulsubsf3; use fma.
3316 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
3317 Richard Henderson <rth@redhat.com>
3320 * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
3321 * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
3324 2010-11-12 Pat Haugen <pthaugen@us.ibm.com>
3326 * opts-common.c (decode_cmdline_option): Initialize separate_args.
3328 2010-11-12 Jan Hubicka <jh@suse.cz>
3330 * doc/invoke.texi (early-inlining-insns): Update default.
3331 * params.def (early-inlining-insns): Default to 10.
3333 2010-11-12 Olivier Hainque <hainque@adacore.com>
3335 * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
3337 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3339 * config/mips/iris6.h [!IRIX_USING_GNU_LD]
3340 (SUPPORTS_INIT_PRIORITY): Define.
3342 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
3345 * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
3346 * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
3347 (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
3348 (avr_device_to_devicelib): Likewise.
3349 * config/avr/avr.md (zero_extendqihi2): Put variable declarations
3351 (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
3352 (zero_extendhidi2, zero_extendsidi2): Likewise.
3353 * config/avr/avr.c (avr_num_arg_regs): Constify type.
3354 (avr_return_addr_rtx): De-constify tem.
3355 (avr_rotate_bytes): Move declarations to start of block.
3356 Don't use variable length array. Put nested if/else into block.
3358 PR rtl-optimization/46433
3359 * var-tracking.c: Include tm_p.h .
3363 * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
3365 (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
3366 * doc/tm.texi: Regenerate.
3369 * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
3370 * config/bfin/bfin.c: Include sel-sched.h .
3371 (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
3372 (expand_interrupt_handler_prologue): Remove unused variable insn.
3373 (bfin_load_pic_reg): Likewise.
3374 (bfin_rtx_costs): Make code / outer_code variables of type
3375 enum rtx_code, copied from re-named parameters.
3376 (bfin_local_alignment): Change align argument and return type
3378 (bfin_adjust_cost): Remove unused variable insn_type.
3379 Declare variables at start of block.
3380 (struct loop_info): Rename to...
3381 (struct loop_info_d).
3382 (workaround_rts_anomaly): Change type of icode to int.
3383 (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
3384 with int-typed variable.
3385 (note_np_check_stores): Likewise.
3386 (trapping_loads_p): Remove unused variable pat.
3387 (bfin_expand_binop_builtin): Use expand_normal.