1 2010-12-02 Ian Lance Taylor <iant@google.com>
3 * doc/install.texi (Configuration): Update default for
6 2010-12-02 Nathan Froyd <froydnj@codesourcery.com>
9 * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when
12 2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
14 PR tree-optimization/45199
15 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New.
16 (stores_zero_from_loop): Call
17 mem_write_stride_of_same_size_as_unit_type_p.
18 * tree-data-ref.h (stride_of_unit_type_p): New.
19 * tree-loop-distribution.c (generate_memset_zero): Simplified.
20 Call stride_of_unit_type_p.
21 (build_rdg_partition_for_component): Do not call
22 rdg_flag_similar_memory_accesses when
23 flag_tree_loop_distribute_patterns is set.
25 2010-12-02 Richard Guenther <rguenther@suse.de>
27 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard
28 sign-changing conversions for induction detection.
30 2010-12-02 Richard Guenther <rguenther@suse.de>
32 PR tree-optimization/46723
33 * tree-vect-loop.c (get_initial_def_for_induction): Strip
34 conversions from the induction evolution and apply it to
36 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
37 assigns for induction defs.
39 2010-12-02 Richard Guenther <rguenther@suse.de>
41 * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect
42 the case we need to split the edge and not the block.
44 2010-12-02 Bernd Schmidt <bernds@codesourcery.com>
46 DFA model for Core 2 and Core i7 scheduling.
48 * config/i386/core2.md: New DFA model for Core 2 and Core i7.
49 * config/i386/i386.c (ix86_option_override_internal): Update entries
50 for Core 2 and Core i7.
51 (ix86_issue_rate): Set issue rate to 3 [be realistic].
52 * config/i386/i386.md: Include "core2.md".
53 (define_attr cpu): Add "corei7".
55 2010-12-02 Maxim Kuvyrkov <maxim@codesourcery.com>
57 Define tuning for Core 2 and Core i7.
59 * config/i386/i386-c.c (ix86_target_macros_internal): Update.
60 * config/i386/i386.c (core2_cost): Delete, use generic costs instead.
61 (m_CORE2): Replace with m_CORE2_{32,64}.
62 (m_CORE2I7{,_32,_64}): New macros.
63 (m_GENERIC32, m_GENERIC64): Update.
64 (initial_ix86_tune_features, x86_accumulate_outgoing_args,)
65 (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and
66 set m_CORE2I7_64 iff m_GENERIC64.
67 (processor_target_table): Use generic costs for Core 2 and Core i7.
68 (ix86_option_override_internal): Update entries for Core 2 and Core i7.
69 (ix86_issue_rate): Remove entry for Core 2.
70 (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update.
71 * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros.
72 (TARGET_CORE2): Update.
73 (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants.
74 (PROCESSOR_CORE2): Remove.
76 2010-12-02 Richard Guenther <rguenther@suse.de>
78 * lto-streamer.h (LTO_major_version): Bump to 2.
80 2010-12-02 Richard Guenther <rguenther@suse.de>
83 * gimple.c (canonical_type_hash_cache): New hashtable.
84 (gimple_type_hash): Make a wrapper around ...
85 (gimple_type_hash_1): ... this. Take gtc_mode argument.
86 (gimple_canonical_type_hash): Likewise.
87 (gtc_visit): Take a gtc_mode argument.
88 (gimple_types_compatible_p_1): Likewise. Do not compare struct
89 tag names or field names when computing canonical types.
90 (gimple_types_compatible_p): Adjust.
91 (visit): Take a gtc_mode argument.
92 (iterative_hash_gimple_type): Likewise. Do not hash struct tag
93 names or field names when computing hashes of canonical types.
94 (gimple_register_canonical_type): Use gimple_canonical_type_hash
96 (print_gimple_types_stats): Dump stats of canonical_type_hash_cache.
97 (free_gimple_type_tables): Free canonical_type_hash_cache.
99 2010-12-02 Richard Guenther <rguenther@suse.de>
100 Ira Rosen <irar@il.ibm.com>
102 PR tree-optimization/46663
103 * tree-vect-patterns.c (vect_recog_pow_pattern): Check that
104 FUNCTION_DECL exists and that it's a builtin.
106 2010-12-02 Jie Zhang <jie@codesourcery.com>
109 * varasm.c (compute_visible_aliases): Handle user set
112 2010-12-01 Michael Meissner <meissner@linux.vnet.ibm.com>
114 * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
115 thinko regarding setting -mno-<xxx> debug switches.
116 (rs6000_rtx_costs): Add FMA. Delete old rtl based FMA costs.
118 2010-12-01 Joseph Myers <joseph@codesourcery.com>
120 * intl.c: Don't include tm.h.
121 * Makefile.in (intl.o): Don't depend on $(TM_H).
123 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
125 * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
127 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
129 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
131 * graphite-sese-to-poly.c (analyze_drs): Removed.
132 (build_scop_drs): Do not call analyze_drs.
133 (analyze_drs_in_stmts): New.
135 (insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
136 (insert_out_of_ssa_copy_on_edge): Same.
137 (rewrite_close_phi_out_of_ssa): Call insert_stmts.
138 (rewrite_phi_out_of_ssa): Same.
139 (rewrite_cross_bb_scalar_dependence): Same.
140 (split_reduction_stmt): Move data references in the new basic blocks.
141 (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
143 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
145 * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
147 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
150 * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take
151 the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB.
152 * graphite-poly.h (new_poly_bb): Update declaration.
153 (gbb_from_bb): Moved here...
155 * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
157 (graphite_stmt_p): Removed.
158 (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in
159 sbitmap reductions. Always build a gimple_bb_p. Do not call
161 (build_scop_bbs_1): Do not pass in sbitmap reductions.
162 (build_scop_bbs): Same.
163 (gbb_from_bb): ... from here.
164 (add_conditions_to_constraints): Moved up.
166 (build_scop_drs): Call analyze_drs. Remove all the PBBs that do
167 not contain data references.
168 (new_pbb_from_pbb): New.
169 (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
171 (rewrite_close_phi_out_of_ssa): Update call to
172 insert_out_of_ssa_copy_on_edge.
173 (rewrite_reductions_out_of_ssa): Now static.
174 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
176 (split_reduction_stmt): Call split_pbb.
177 (translate_scalar_reduction_to_array): Pass in the scop, do not
178 pass in the sbitmap reductions.
179 (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
180 (rewrite_commutative_reductions_out_of_ssa_loop): Same.
181 (rewrite_commutative_reductions_out_of_ssa): Same.
182 (build_poly_scop): Call build_scop_bbs,
183 rewrite_commutative_reductions_out_of_ssa,
184 rewrite_reductions_out_of_ssa, and
185 rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs
187 * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
189 (rewrite_reductions_out_of_ssa): Same.
190 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
191 (build_scop_bbs): Same.
192 * graphite.c (graphite_transform_loops): Do not initialize reductions.
193 Do not call build_scop_bbs,
194 rewrite_commutative_reductions_out_of_ssa,
195 rewrite_reductions_out_of_ssa, and
196 rewrite_cross_bb_scalar_deps_out_of_ssa.
197 * sese.h (struct gimple_bb): Add field pbb.
200 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
202 * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
204 (rewrite_cross_bb_scalar_deps): Pass in the scop. Call
205 handle_scalar_deps_crossing_scop_limits.
206 (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
207 after the scop. Update call to rewrite_cross_bb_scalar_deps.
209 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
211 * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
212 when replacing a constant in an ADDR_EXPR.
214 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
216 * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
218 (lst_do_strip_mine): Same.
219 (scop_do_strip_mine): Same.
220 * graphite-poly.c (apply_poly_transforms): Update call to
222 * graphite-poly.h (scop_do_strip_mine): Update declaration.
224 2010-12-01 Jan Hubicka <jh@suse.cz>
226 * tree.c (build_common_builtin_nodes): Do not initialize
227 BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT.
228 * builtins.c (expand_builtin_profile_func): Remove.
229 (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and
230 BUILT_IN_PROFILE_FUNC_EXIT.
231 * builtins.def (profile_func_enter, profile_func_exit): Remove stubs.
232 (__cyg_profile_func_enter, __cyg_profile_func_exit): New.
233 * gimplify.c (gimplify_function_tree): Reorganize code calling
236 2010-12-01 Joseph Myers <joseph@codesourcery.com>
238 * opts.c: Expand comment on tm.h include.
240 2010-12-01 Yao Qi <yao@codesourcery.com>
242 * config/arm/predicates.md ("vfp_register_operand"): Return true for
243 VFP_D0_D7_REGS classes.
245 2010-12-01 Joseph Myers <joseph@codesourcery.com>
247 * common.opt (flag_stack_check): New Variable entry.
248 (fcompare-debug-second): Use Var.
249 * flags.h (flag_compare_debug, flag_stack_check): Remove.
250 * opts.c (flag_compare_debug): Remove.
251 (common_handle_option): Don't handle OPT_fcompare_debug_second.
252 Set opts->x_flag_stack_check for OPT_fstack_check_.
253 * toplev.c (flag_stack_check): Remove.
255 2010-12-01 Joseph Myers <joseph@codesourcery.com>
257 * common.opt (main_input_filename, main_input_basename,
258 main_input_baselength): New Variable entries. From toplev.c.
259 * final.c (output_quoted_string): Move from toplev.c.
260 * output.h (output_quoted_string): Move from toplev.h.
261 * opts-global.c (read_cmdline_options): Use gcc_options pointer to
262 access main_input_filename, main_input_baselength and
264 * targhooks.c: Include intl.h and opts.h.
265 (option_affects_pch_p, default_get_pch_validity): Move from
267 * targhooks.h (option_affects_pch_p, default_get_pch_validity):
269 * toplev.c (main_input_filename, main_input_basename,
270 main_input_baselength): Move to common.opt.
271 (output_quoted_string): Move to final.c.
272 (warn_deprecated_use): Move to tree.c.
273 (option_affects_pch_p, default_get_pch_validity,
274 pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
275 * toplev.h (skip_leading_substring): Move to tree-dump.c.
276 (warn_deprecated_use): Move to tree.h.
277 (output_quoted_string): Move to output.h.
278 (main_input_filename, main_input_basename, main_input_baselength):
280 (default_get_pch_validity, default_pch_valid_p): Move to
282 * tree-dump.c (skip_leading_substring): Move from toplev.h.
283 * tree.c (warn_deprecated_use): Move from toplev.c.
284 * tree.h (warn_deprecated_use): Move from toplev.h.
285 * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
286 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
287 config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
288 config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
289 config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
290 config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
291 config/mcore/mcore.c, config/mep/mep.c,
292 config/microblaze/microblaze.c, config/mips/mips.c,
293 config/mmix/mmix.c, config/mn10300/mn10300.c,
294 config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
295 config/picochip/picochip.c, config/s390/s390.c,
296 config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
297 config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
298 config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
299 graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
300 varasm.c, xcoffout.c: Don't include toplev.h.
301 * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
302 gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
303 varasm.o, xcoffout.o): Update dependencies.
304 * config/arm/t-arm (arm.o): Update dependencies.
305 * config/spu/t-spu-elf (spu.o): Update dependencies.
307 2010-12-01 Richard Guenther <rguenther@suse.de>
309 PR tree-optimization/46730
310 * value-prof.c (gimple_ic): Always generate a separate merge BB.
312 2010-11-30 Ian Lance Taylor <iant@google.com>
314 * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V. Remove
315 all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}.
316 * config/i386/linux64.h (ASM_SPEC): Likewise.
317 * config/i386/mingw-w64.h (ASM_SPEC): Likewise.
318 * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise.
319 * config/i386/vxworks.h (ASM_SPEC): Likewise.
320 * config/i386/x86-64.h (ASM_SPEC): Likewise.
321 * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}.
322 * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise.
324 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
326 * c-decl.c (finish_function): Call objc_finish_function in
328 * c-typeck.c (convert_for_assignment): Do not call
329 objc_type_quals_match().
331 2010-11-30 Richard Guenther <rguenther@suse.de>
333 PR tree-optimization/46722
334 * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
335 operands as arguments.
336 (execute_optimize_widening_mul): Also handle power of two as
339 2010-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
342 * cgraphunit.c (process_function_and_variable_attributes): Fix
345 2010-11-30 Joseph Myers <joseph@codesourcery.com>
347 * hwint.c: New. Extracted from toplev.c.
348 * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
350 * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
352 * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
354 * builtins.c, combine.c, config/i386/winnt.c, double-int.c,
355 explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
356 ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
357 real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
358 stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
359 tree-ssa-loop-niter.c, tree-vect-data-refs.c,
360 tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
361 tree-vrp.c: Don't include toplev.h.
362 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
363 genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
364 toplev.h in generated output.
365 * Makefile.in (OBJS-common): Add hwint.o.
366 Dependencies for above files changed to remove toplev.h.
368 (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
369 insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on
371 * config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
372 * config/i386/t-interix (winnt.o): Don't depend on toplev.h.
374 2010-11-30 Richard Guenther <rguenther@suse.de>
376 PR tree-optimization/46717
377 * value-prof.c (gimple_ic): Preserve EH edges of the indirect
378 call. Manually create EH edges for the direct call and update
381 2010-11-30 Joseph Myers <joseph@codesourcery.com>
383 * diagnostic-core.h: Include bversion.h.
384 * toplev.h: Don't include input.h or bversion.h.
385 (parse_optimize_options): Don't declare here.
386 * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
387 caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
388 combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
389 config/host-darwin.c, config/i386/host-cygwin.c,
390 config/i386/host-mingw32.c, config/i386/msformat-c.c,
391 config/i386/netware.c, config/i386/nwld.c,
392 config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
393 config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
394 config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
395 config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
396 config/score/score3.c, config/score/score7.c,
397 config/sh/symbian-base.c, config/sh/symbian-c.c,
398 config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
399 config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
400 cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
401 fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
402 graphite-blocking.c, graphite-clast-to-gimple.c,
403 graphite-dependences.c, graphite-flattening.c,
404 graphite-interchange.c, graphite-poly.c,
405 graphite-scop-detection.c, graphite.c, haifa-sched.c,
406 implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
407 ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
408 lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
409 lto-opts.c, lto-section-in.c, lto-section-out.c,
410 lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
411 params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
412 regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
413 sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
414 sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
415 tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
416 tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
417 tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
418 tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
419 tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
420 tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
422 * Makefile.in (TOPLEV_H): Remove. All uses changed to use
423 toplev.h. Dependencies for above files and c-family files changed
424 to remove $(TOPLEV_H) or toplev.h.
425 (C_TREE_H): Don't include $(TOPLEV_H).
426 (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add
428 * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
429 config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
430 config/t-darwin, config/t-sol2,
431 config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
432 Dependencies for above files changed to remove $(TOPLEV_H) or
435 2010-11-30 Richard Guenther <rguenther@suse.de>
438 * gcc.c (main): Use the first input with a compiler as infile
439 for link spec processing.
441 2010-11-30 Richard Guenther <rguenther@suse.de>
444 * cgraphunit.c (ipa_passes): Stop after errors from
447 2010-11-30 Mingjie Xing <mingjie.xing@gmail.com>
449 * gcc-plugin.h: Include coretypes.h.
450 * Makefile.in (FUNCTION_H): Add hard-reg-set.h.
452 2010-11-30 Laurynas Biveinis <laurynas.biveinis@gmail.com>
454 * ggc-zone.c (ggc_pch_read): Fix conditional compilation.
455 * ggc-none.c (ggc_internal_alloc_zone_stat)
456 (ggc_internal_cleared_alloc_zone_stat): New.
458 2010-11-29 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
460 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check
461 TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM.
462 (rs6000_emit_prologue): Don't set PIC register if
463 TARGET_SINGLE_PIC_BASE.
464 * config/rs6000/rs6000.opt (msingle-pic-base): New option.
465 * doc/invoke.texi (msingle-pic-base): Document.
467 2010-11-29 H.J. Lu <hongjiu.lu@intel.com>
470 * exec-tool.in (id): New.
471 Check and export LT_RCU_$id instead of LT_RCU.
473 2010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz>
475 PR tree-optimization/46675
476 * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
477 in offset calculation.
479 2010-11-29 Jan Hubicka <jh@suse.cz>
481 * collect2.c (main): Do not imply verbose output with
482 LTO and linker plugin.
484 2010-11-29 Dodji Seketeli <dodji@redhat.com>
486 * dwarf2out.c (print_die): Print the address of the current DIE or
487 of any DIE referenced by the current one.
489 2010-11-29 Dodji Seketeli <dodji@redhat.com>
492 * dwarf2out.c (lookup_type_die_strip_naming_typedef): New
494 (scope_die_for, gen_type_die_for_member): Replace uses of
495 lookup_type_die with use of lookup_type_die_strip_naming_typedef.
497 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
499 * config/darwin.c (darwin_mergeable_string_section): Remove blank line.
500 (darwin_asm_declare_object_name): Correct spelling.
501 (darwin_output_aligned_bss): Likewise.
503 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
504 Mike Stump <mrs@gcc.gnu.org>
509 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
510 (ASM_OUTPUT_LOCAL): Likewise.
511 * config/darwin-protos.h (darwin_asm_declare_object_name): New.
512 (darwin_output_aligned_bss): Likewise.
513 (darwin_asm_output_aligned_decl_local): Likewise.
514 (darwin_asm_output_aligned_decl_common): Likewise.
515 (darwin_use_anchors_for_symbol_p): Likewise.
516 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
517 (TARGET_ASM_OUTPUT_ANCHOR): Define.
518 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
519 (DARWIN_SECTION_ANCHORS): Set to 1.
520 * config/darwin.c (emit_aligned_common): New var.
521 (darwin_init_sections): Check that the Darwin private zero-size section
523 (darwin_text_section): Check for zero-sized objects.
524 (darwin_mergeable_string_section): Likewise.
525 (darwin_mergeable_constant_section): Likewise.
526 (machopic_select_section): Adjust to check for zero-sized objects.
527 Assert that OBJC meta data are non-zero sized.
528 (darwin_asm_declare_object_name): New.
529 (darwin_asm_declare_constant_name): Adjust for zero-sized
531 (BYTES_ZFILL): Define.
532 (darwin_emit_weak_or_comdat): New.
533 (darwin_emit_local_bss): New.
534 (darwin_emit_common): New.
535 (darwin_output_aligned_bss): New.
536 (darwin_asm_output_aligned_decl_common): New.
537 (darwin_asm_output_aligned_decl_local): New.
538 (darwin_file_end): Disable subsections_via_symbols when section
540 (darwin_asm_output_anchor): Re-enable.
541 (darwin_use_anchors_for_symbol_p): New.
542 (darwin_override_options): Check for versions that can emit
543 aligned common. Update usage of flags to current.
544 * config/darwin-sections.def: Update comments and flags for
545 non-anchor sections. zobj_const_section, zobj_data_section,
546 zobj_bss_section, zobj_const_data_section: New.
547 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
548 (ASM_OUTPUT_ALIGN): Make whitespace output consistent.
549 (L2_MAX_OFILE_ALIGNMENT): Define.
550 (ASM_OUTPUT_ALIGNED_BSS): Define.
551 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
552 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
553 (SECTION_NO_ANCHOR): Define.
554 (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
555 (DARWIN_SECTION_ANCHORS): Define with a default of 0.
557 2010-11-29 Joseph Myers <joseph@codesourcery.com>
559 * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
560 Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>.
561 (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
562 Conditionally define.
563 (GET_ENVIRONMENT): Poison.
564 * configure.ac: Don't test for mincore.
565 * configure: Regenerate.
566 * config.in: Regenerate.
567 * collect2-aix.c: Don't include <sys/mman.h>.
568 * collect2.c: Don't include <signal.h>.
569 (SIGCHLD): Don't define.
570 (prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
571 * config/alpha/alpha.c: Include "splay-tree.h" instead of
573 * config/arm/arm.c (arm_target_help): Use getenv instead of
575 * config/avr/driver-avr.c: Don't include <stdlib.h>.
576 * config/frv/frv.c: Don't include <ctype.h>.
577 * config/host-darwin.c: Don't include <sys/mman.h>.
578 * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
579 (MAP_FAILED): Don't define.
580 * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
581 * config/host-solaris.c: Don't include <sys/mman.h>.
582 * config/i386/cygming.h: Don't include <stdio.h>.
583 * config/i386/driver-i386.c: Don't include <stdlib.h>.
584 * config/i386/host-cygwin.c: Don't include <sys/mman.h>.
585 * config/iq2000/iq2000.c: Don't include <signal.h>.
586 * config/m32c/m32c-pragma.c: Don't include <stdio.h>.
587 * config/m68hc11/m68hc11.c: Don't include <stdio.h>.
588 * config/mep/mep-pragma.c: Don't include <stdio.h>.
589 * config/microblaze/microblaze.c: Don't include <signal.h>.
590 * config/mips/mips.c: Don't include <signal.h>.
591 * config/rs6000/host-darwin.c: Don't include <signal.h>.
592 * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT.
593 * defaults.h (GET_ENVIRONMENT): Don't define.
594 * et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
595 * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
596 (SIGCHLD, MAP_FAILED, kill): Don't define.
597 (process_command): Use getenv instead of GET_ENVIRONMENT.
598 * genhooks.c: Don't include <string.h>.
599 * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
601 (MAP_FAILED): Don't define.
602 * ggc-page.c Don't include <sys/mman.h>.
603 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
604 * ggc-zone.c: Don't include <sys/mman.h>.
605 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
606 * graph.c: Include "config.h" instead of <config.h>.
607 * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT.
608 * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h".
609 (SIGCHLD, kill): Don't define.
610 * mips-tfile.c: Don't include <signal.h>.
611 * opts.c: Don't include <signal.h> or <sys/resource.h>.
612 (print_specific_help): Use getenv instead of GET_ENVIRONMENT.
613 * passes.c: Don't include <signal.h>, <sys/resource.h> or
615 * sparseset.h: Don't include <assert.h>.
616 * timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
617 * tlink.c: Don't include "libiberty.h".
618 * toplev.c: Don't include <signal.h> or <sys/times.h>.
619 * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
620 * tree-switch-conversion.c: Don't include <signal.h>.
621 * vmsdbgout.c: Don't include <errno.h> or <string.h>.
623 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
625 * c-parser.c (c_parser_objc_try_catch_statement): Renamed to
626 c_parser_objc_try_catch_finally_statement for consistency with the
627 C++ parser. Parse @catch(...) and pass NULL_TREE to
628 objc_begin_catch_clause() in that case. Improved error recovery.
629 Reorganized code to be almost identical to
630 cp_parser_objc_try_catch_finally_statement.
632 2010-11-29 Joern Rennecke <amylaar@spamcop.net>
634 PR tree-optimization/46621
635 * gimple.h: Don't include tm.h or hard-reg-set.h .
636 * Makefile.in (GIMPLE_H): Remove $(TM_H).
639 * cppbuiltin.c: Include target.h .
640 (define_builtin_macros_for_type_sizes):
641 Use targetm.float_words_big_endian.
643 2010-11-27 Jan Hubicka <jh@suse.cz>
645 * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
646 and output cold_text_section_label.
647 (dwarf2out_init): Don't do that there.
648 (dwarf2out_finish): Handle cold section end label only if cold
651 2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
653 * tree-nested.c (remap_vla_decls): Fully expand value expressions of
656 2010-11-27 Richard Guenther <rguenther@suse.de>
658 * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
659 (gimple_assign_ssa_name_copy_p): Likewise.
660 (gimple_assign_unary_nop_p): Use is_gimple_assign.
661 (is_gimple_cast): Remove.
662 (gimple_assign_single_p): Move ...
663 * gimple.h (gimple_assign_single_p): ... here.
664 (is_gimple_cast): Remove.
665 (gimple_assign_rhs_code): Simplify.
666 * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
667 instead of is_gimple_cast.
668 * ipa-type-escape.c (look_for_casts): Likewise.
670 2010-11-26 Joseph Myers <joseph@codesourcery.com>
672 * doc/options.texi (Enum, EnumValue): Document new record types.
673 (Enum): Document new option flag.
675 * optc-gen.awk: Handle enumerated option arguments.
676 * opth-gen.awk: Handle enumerated option arguments.
677 * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
678 enum_value_to_arg): New.
679 (decode_cmdline_option): Handle enumerated arguments.
680 (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
681 (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
682 * opts.c (print_filtered_help, print_specific_help): Take
684 (print_filtered_help): Handle printing values of enumerated
685 options. Print possible arguments for enumerated options.
686 (print_specific_help): Update call to print_filtered_help.
687 (common_handle_option): Update calls to print_specific_help. Use
688 value rather than arg for OPT_fdiagnostics_show_location_. Don't
689 handle OPT_ffp_contract_, OPT_fexcess_precision_,
690 OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
691 OPT_fira_region_ here.
692 * opts.h (enum cl_var_type): Add CLVC_ENUM.
693 (struct cl_option): Add var_enum.
694 (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
695 struct cl_enum, cl_enums, cl_enums_count): New.
696 (CL_ERR_ENUM_ARG): Define.
697 (CL_ERR_NEGATIVE): Update value.
698 (enum_value_to_arg): Declare.
699 * common.opt (flag_ira_algorithm, flag_ira_region,
700 flag_fp_contract_mode, flag_excess_precision_cmdline,
701 default_visibility, flag_tls_default): Remove Variable entries.
702 (help_enum_printed): New Variable.
703 (fdiagnostics-show-location=): Use Enum. Add associated
704 SourceInclude, Enum and EnumValue entries.
705 (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
706 ftls-model=, fvisibility=): Use Enum, Var and Init. Add
707 associated Enum and EnumValue entries.
709 2010-11-26 Joern Rennecke <amylaar@spamcop.net>
712 * config/microblaze/microblaze.c (microblaze_block_move_straight):
714 (microblaze_option_override): Don't use C++ style comments.
715 (save_restore_insns): Remove unused variable base_offset.
716 (microblaze_expand_prologue): Remove unused variable insn.
717 (microblaze_secondary_reload): Adjust type to match target.h .
718 (microblaze_elf_in_small_data_p): Move declarations to start of block.
719 (microblaze_expand_move): Likewise.
720 * config/microblaze/microblaze.h (LARGE_INT):
721 Avoid signed / unsigned comparisons.
722 (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
723 (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
724 (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name.
726 2010-11-26 Michael Matz <matz@suse.de>
728 * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
730 * passes.c (init_optimization_passes): Remove superfluous
733 2010-11-26 Richard Guenther <rguenther@suse.de>
736 * gimple.c (gtc_visit): Do not return true for members of an
737 SCC still being processed but the current lattice value of
738 the member. Treat SCC members comparison state as lattice,
739 starting at equal, eventually dropping to unequal.
740 (gimple_types_compatible_p_1): Likewise.
742 2010-11-26 Richard Guenther <rguenther@suse.de>
745 * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
746 for location list processing.
748 2010-11-26 Richard Guenther <rguenther@suse.de>
751 * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
754 2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
756 * config/s390/s390.c (print_operand_address): Replace assert with
758 (print_operand): Replace assertions, gcc_unreachable and
759 fatal_insn with error messages.
761 2010-11-26 Richard Guenther <rguenther@suse.de>
763 PR tree-optimization/46665
764 * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
766 2010-11-26 Ian Bolton <ian.bolton@arm.com>
768 * config/arm/arm.c (arm_option_override): enable loop array
769 prefetching at -O3 for suitable targets, and configure params.
770 * config/arm/arm-protos.h (struct tune_params): Add fields for
771 configuring loop array prefetching.
773 2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com>
775 * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
777 2010-11-26 Richard Guenther <rguenther@suse.de>
779 PR tree-optimization/46664
780 * tree-affine.c (aff_combination_to_tree): Add rest last.
782 2010-11-26 Michael Haubenwallner <michael.haubenwallner@salomon.at>
785 * configure.ac: Accept extra arguments for AS_FOR_TARGET,
786 LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
787 * configure: Regenerated.
788 * exec-tool.in: Not quoting command, may have extra arguments.
790 2010-11-26 Richard Guenther <rguenther@suse.de>
792 PR tree-optimization/46528
794 * profile.c (branch_prob): Do not split blocks based on locations
795 from debug statements.
797 2010-11-26 Jakub Jelinek <jakub@redhat.com>
800 * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
801 of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst.
804 * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
805 build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
806 (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
808 * fold-const.c (protected_set_expr_location_unshare): New inline.
809 (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
810 (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
811 pedantic_omit_one_operand_loc, omit_two_operands_loc,
812 fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
813 optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
814 build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
815 fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
816 instead of buildN followed by SET_EXPR_LOCATION or
817 protected_set_expr_location.
818 (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
819 Use buildN_stat_loc instead of buildN_stat followed by
822 2010-11-26 Basile Starynkevitch <basile@starynkevitch.net>
824 * Makefile.in (s-tm-texi): Remove spurous tab.
826 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
829 * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
832 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
834 * toplev.c (finalize): Add no_backend parameter. Don't finish
835 passes when preprocessing only. Adjust...
836 (do_compile): ... caller.
838 2010-11-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
840 * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
841 flag_unsafe_math_optimizations.
843 Move fnegabs related patterns together. Only use fmpynfadd instruction
844 to negate a multiply if !flag_signed_zeros is true.
846 2010-11-25 Uros Bizjak <ubizjak@gmail.com>
848 * gengtype-state.c (read_state_structures): Initialize "previous".
850 2010-11-25 Basile Starynkevitch <basile@starynkevitch.net>
851 Jeremie Salvucci <jeremie.salvucci@free.fr>
853 * gengtype-state.c: Add new file.
855 * gengtype.c (type count): New variable.
856 (new_structure, find_param_structure, create_pointer)
857 (create_array): Use it to set state_number in types.
858 (dump_everything): Improve comment.
859 (main): Call read_state and write_state. Print type_count.
861 * gengtype.h (type_lineloc): New function.
862 (read_state, write_state): New declarations.
864 * Makefile.in (GENGTYPE_FLAGS): New variable.
865 (s-gtype): Run gengtype twice and generate gtype.state.
866 (build/gengtype-state.o): New rule.
867 (build/gengtype$(build_exeext)): Link gengtype-state.o.
868 (mostlyclean): Update comment. Remove gtype.state.
870 2010-11-25 Jakub Jelinek <jakub@redhat.com>
873 * combine.c (try_combine): When substing i2dest for i2src, pass
874 1 as last argument even if
875 i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
877 2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
880 * builtins.c (target_char_cast): Check INTEGER_CST instead of
881 host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW.
883 2010-11-25 Joseph Myers <joseph@codesourcery.com>
885 * target.def (supports_split_stack, except_unwind_info): Take
886 gcc_options parameters.
887 * targhooks.c (default_except_unwind_info,
888 dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
889 gcc_options parameters.
890 * targhooks.h (default_except_unwind_info,
891 dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
893 * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
894 TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
895 Document that hooks must not be modified.
896 (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
897 * doc/tm.texi: Regenerate.
898 * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
899 &global_options to targetm.except_unwind_info.
900 * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
901 dwarf2out_begin_prologue, dwarf2out_frame_init,
902 dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
903 &global_options to targetm.except_unwind_info.
904 * except.c (init_eh, finish_eh_generation,
905 gate_convert_to_eh_region_ranges,
906 output_one_function_exception_table): Pass &global_options to
907 targetm.except_unwind_info.
908 * expr.c (build_personality_function): Pass &global_options to
909 targetm.except_unwind_info.
910 * function.c (expand_function_end): Pass &global_options to
911 targetm.except_unwind_info.
912 * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
913 * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
914 * opts.c (finish_options): Pass opts to targetm.except_unwind_info
915 and targetm.supports_split_stack. Remove assertions about opts
917 (common_handle_option): Remove assertions about opts, opts_set and dc.
918 * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
919 &global_options to targetm.except_unwind_info.
920 * tree.c (build_common_builtin_nodes: Pass &global_options to
921 targetm.except_unwind_info.
922 * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
923 (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
924 thumb1_expand_prologue, thumb1_output_function_prologue,
925 arm_unwind_emit, arm_output_fn_unwind): Update calls to
926 arm_except_unwind_info.
927 * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
929 * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
931 (ia64_output_function_prologue, ia64_add_bundle_selector_before,
932 ia64_reorg, ia64_asm_unwind_emit): Update calls to
933 ia64_except_unwind_info.
934 * config/pa/pa.c (pa_option_override): Pass &global_options to
935 targetm.except_unwind_info.
936 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
939 2010-11-25 Kai Tietz <kai.tietz@onevision.com>
941 * cgraphunit.c (process_function_and_variable_attributes):
942 Mark dllexport-ed function/variables as needed.
943 * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
944 as externally visible.
946 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
948 PR rtl-optimization/46585
949 * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
950 (vinsn_init): Skip computation of dependencies for local NOPs.
951 (vinsn_delete): Don't try to free regsets for local NOPs.
952 (setup_nop_and_exit_insns): Change definition of nop_pattern.
954 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
956 PR rtl-optimization/46602
957 * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
958 (tidy_control_flow): Here.
960 2010-11-25 Joern Rennecke <amylaar@spamcop.net>
961 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
964 * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
965 Fix target.def pathname in timestamp comparison.
967 2010-11-24 Richard Henderson <rth@redhat.com>
969 * config/ia64/predicates.md (pmpyshr_operand): New.
970 * config/ia64/ia64.c (ia64_expand_unpack): New.
971 (ia64_expand_widen_mul_v4hi): New.
972 (ia64_expand_widen_sum): Update for pattern renames.
973 (ia64_expand_dot_prod_v8qi): Likewise.
974 * config/ia64/ia64-protos.h: Update.
975 * config/ia64/vect.md (vecwider): New mode attribute.
976 (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
977 (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
978 (pmpyshr2, pmpyshr2_u): New.
979 (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
980 (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
982 (vec_pack_ssat_v4hi): Rename from pack2_sss.
983 (vec_pack_usat_v4hi): Rename from *pack2_uss.
984 (vec_pack_ssat_v2si): Rename from pack4_sss.
985 (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
986 vec_select operation.
987 (vec_interleave_highv8qi): Similarly.
988 (mux1_alt): Rename from *mux1_alt.
989 (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
990 (vec_interleave_lowv4hi): Rename from unpack2_l.
991 (vec_interleave_highv4hi): Rename from unpack2_h.
992 (mix2_r): Rename from *mix2_r.
994 (vec_extract_evenodd_helper): New.
995 (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
996 (vec_interleave_lowv2si): Rename from *unpack4_l.
997 (vec_interleave_highv2si): Rename from *unpack4_h.
998 (vec_extract_evenv2si, vec_extract_oddv2si): New.
999 (vec_interleave_lowv2sf): Rename from fmix_r.
1000 (vec_interleave_highv2sf): Rename from *fmix_l.
1001 (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
1002 (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
1003 (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
1004 (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
1006 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
1008 * targhooks.c (default_except_unwind_info): Remove
1009 MUST_USE_SJLJ_EXCEPTIONS case.
1010 * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
1011 * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1012 * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
1013 * doc/tm.texi: Regenerate.
1014 * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
1016 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
1018 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
1019 __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
1020 * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
1021 * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
1022 * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
1024 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
1027 * config/i386/i386.c (ix86_expand_call): Don't check
1030 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
1033 * config/i386/i386.c (upper_128bits_state): New.
1034 (block_info_def): Remove upper_128bits_set and done. Add state,
1035 referenced, count, processed and rescanned.
1036 (check_avx256_stores): Updated.
1037 (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
1038 Call note_stores only if needed. Set referenced and count.
1039 (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p.
1040 (rescan_move_or_delete_vzeroupper): New.
1041 (move_or_delete_vzeroupper): Process and rescan all all basic
1042 blocks instead of predecessor blocks of all exit points.
1043 (ix86_option_override_internal): Enable vzeroupper optimization
1044 only for -fexpensive-optimizations and not optimizing for size.
1045 (use_avx256_p): Removed.
1046 (init_cumulative_args): Don't set use_avx256_p.
1047 (ix86_function_arg): Likewise.
1048 (ix86_expand_move): Likewise.
1049 (ix86_expand_vector_move_misalign): Likewise.
1050 (ix86_local_alignment): Likewise.
1051 (ix86_minimum_alignment): Likewise.
1052 (ix86_expand_epilogue): Don't check use_avx256_p when generating
1054 (ix86_expand_call): Likewise.
1056 * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
1057 and use_avx256_p. Add rescan_vzeroupper_p.
1059 2010-11-24 Joseph Myers <joseph@codesourcery.com>
1061 * toplev.c: Include <signal.h>.
1063 2010-11-24 Richard Guenther <rguenther@suse.de>
1066 * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
1067 conflicting function signatures as non-inlineable.
1069 2010-11-24 Jakub Jelinek <jakub@redhat.com>
1071 PR rtl-optimization/46614
1072 * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
1073 (deps_analyze_insn): Mark JUMP_INSNs in
1074 last_pending_memory_flush that weren't added through
1075 flush_pending_lists with NON_FLUSH_JUMP_KIND.
1076 (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
1077 on INSN_LIST instead of JUMP_P check on its operand.
1078 * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
1080 2010-11-24 Richard Guenther <rguenther@suse.de>
1082 * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
1084 2010-11-24 Richard Guenther <rguenther@suse.de>
1087 * lto-streamer-in.c (input_gimple_stmt): When we cannot find
1088 a FIELD_DECL that is type correct issue a warning and fixup
1089 with a VIEW_CONVERT_EXPR.
1091 2010-11-24 Basile Starynkevitch <basile@starynkevitch.net>
1093 * doc/invoke.texi (Options for Debugging Your Program or GCC):
1094 Explain static numbering of dump files.
1096 2010-11-24 Joseph Myers <joseph@codesourcery.com>
1098 * common.opt (user_vect_verbosity_level): New Variable entry.
1099 (ftree-vectorizer-verbose=): Mark as UInteger.
1100 * flag-types.h (enum vect_verbosity_levels): Move from enum
1101 verbosity_levels in tree-vectorizer.h.
1102 * opts.c: Don't include tree.h.
1103 (vect_set_verbosity_level): Move from tree-vectorizer.c. Use
1104 gcc_options parameter; take integer option argument.
1105 (common_handle_option): Update call to vect_set_verbosity_level.
1106 * tree-vectorizer.c (user_vect_verbosity_level): Remove.
1107 (vect_set_verbosity_level): Move to opts.c.
1108 (vect_verbosity_level, vect_print_dump_info): Update for change of
1110 * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
1111 (vect_print_dump_info): Update for change of enum name.
1112 * tree.h (vect_set_verbosity_level): Remove.
1113 * Makefile.in (opts.o): Update dependencies.
1115 2010-11-24 Jakub Jelinek <jakub@redhat.com>
1118 * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
1119 instead of insn with any_condjump_p.
1121 2010-11-24 Mingjie Xing <mingjie.xing@gmail.com>
1123 * config/mips/loongson.md: Change the description comment of the file
1124 and update the copyright years.
1125 (define_insn "<u>div<mode>3): Add loongson3a support.
1126 (define_insn "<u>mod<mode>3"): Likewise.
1127 * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
1128 mul<mode>3_mul3_loongson.
1129 (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
1130 (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
1132 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1134 * common.opt (initial_max_fld_align, flag_debug_asm,
1135 flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
1136 flag_print_asm_name, graph_dump_format, help_printed,
1137 help_columns, flag_opts_finished): New Variable entries.
1138 (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
1139 frandom-seed=): Mark deferred.
1140 (fsched-verbose=): Use UInteger and Var.
1141 * flags.h (set_struct_debug_option, flag_print_asm_name,
1142 rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
1143 graph_dump_format): Don't declare here.
1144 * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
1145 * opts-global.c: Include dbgcnt.h and debug.h.
1146 (decode_options): Pass location to finish_options.
1147 (handle_common_deferred_options): Check flag_dump_all_passed.
1148 Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
1149 OPT_frandom_seed and OPT_frandom_seed_. Don't assert on
1151 * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
1152 (set_struct_debug_option): Add location_t parameter. Update
1153 recursive call. Use error_at.
1154 (default_options_optimization): Use error_at.
1155 (finish_options): Add location_t parameter. Use
1156 opts->x_flag_opts_finished instead of first_time_p. Use
1157 opts->x_optimize instead of optimize. Use error_at. Pass
1159 (print_filtered_help): Use opts->x_help_printed to track what
1160 options have been printed.
1161 (print_specific_help): Use opts->x_help_columns to track number of
1163 (common_handle_option): Pass locations and gcc_options pointers to
1164 more functions. Use warning_at instead of fnotice and warning.
1165 Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
1166 OPT_fdebug_prefix_map_. Use error_at. Set
1167 opts->x_initial_max_fld_align; don't set maximum_field_alignment.
1168 Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle
1169 OPT_fsched_verbose_.
1170 (handle_param): Add location_r parameter. Use error_at.
1171 (set_debug_level): Add location_r parameter. Use error_at and
1173 (setup_core_dumping): Add diagnostic_context parameter.
1174 (decode_d_option): Add gcc_options, location_t and
1175 diagnostic_context parameters and use them instead of global
1176 state. Use warning_at.
1177 (enable_warning_as_error): Use error_at.
1178 * opts.h (finish_options): Update prototype.
1179 (set_struct_debug_option): Declare here.
1180 * rtl.h (fix_sched_param): Remove.
1181 * stor-layout.c (initial_max_fld_align): Remove.
1182 * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
1183 graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
1184 (process_options): Set maximum_field_alignment.
1185 * tree.h (initial_max_fld_align) Don't declare here.
1186 * Makefile.in (opts.o, opts-global.o): Update dependencies.
1188 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1190 * flag-types.h (struct visibility_flags): Don't declare here.
1191 * flags.h (strip_off_ending, fast_math_flags_set_p,
1192 fast_math_flags_struct_set_p): Declare here.
1193 (visibility_options): Don't declare here.
1194 * opts-common.c (option_enabled, get_option_state): Move from
1196 * opts-global.c: Include diagnostic.h instead of
1197 diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h
1199 (const_char_p, ignored_options, in_fnames, num_in_fnames,
1200 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
1201 print_ignored_options, unknown_option_callback,
1202 post_handling_callback, lang_handle_option, add_input_filename,
1203 read_cmdline_options, initial_lang_mask, init_options_once,
1204 decode_cmdline_options_to_array_default_mask,
1205 set_default_handlers, decode_options): Move from opts.c.
1206 (print_ignored_options): Use warning_at instead of saving and
1207 restoring input_location.
1208 * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h
1209 instead of expr.h. Don't include langhooks.h, except.h or
1210 lto-streamer.h. Add more comments on includes.
1211 (strip_off_ending, setup_core_dumping, decode_d_option): Move from
1213 (visibility_options): Move to c-family/c-common.c.
1214 (const_char_p, ignored_options, in_fnames, num_in_fnames,
1215 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
1216 print_ignored_options, unknown_option_callback,
1217 post_handling_callback, lang_handle_option, add_input_filename,
1218 read_cmdline_options, initial_lang_mask, init_options_once,
1219 decode_cmdline_options_to_array_default_mask,
1220 set_default_handlers, decode_options): Move to opts-global.c.
1221 (target_handle_option, default_options_optimization,
1222 finish_options, common_handle_option): Remove static.
1223 (option_enabled, get_option_state): Move to opts-common.c.
1224 * opts.h (common_handle_option, target_handle_option,
1225 finish_options, default_options_optimization): Declare.
1226 * toplev.c: Don't include <signal.h> or <sys/resource.h>.
1227 (setup_core_dumping, strip_off_ending, decode_d_option): Move to
1229 * toplev.h (strip_off_ending, decode_d_option,
1230 fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
1232 * Makefile.in (opts.o, opts-global.o): Update dependencies.
1234 2010-11-23 Dave Korn <dave.korn.cygwin@gmail.com>
1237 * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
1238 options, replace by call of pass-through-libs spec function to process
1239 link_gcc_c_sequence spec.
1240 (lto_libgcc_spec): Delete variable.
1241 (static_specs[]): Remove related entry.
1242 (static_spec_functions[]): Add new entry for pass-through-libs.
1243 (main): Don't generate deleted lto_libgcc_spec.
1244 (pass_through_libs_spec_func): New function to implement the new
1245 pass-through-libs spec function.
1246 * doc/invoke.texi (pass-through-libs): Document new spec function.
1248 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1250 * doc/options.texi (Warning, Optimization): Document.
1252 2010-11-23 Jan Hubicka <jh@suse.cz>
1254 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
1255 (tree_decl_with_vis): Add implicit_section_name_p.
1256 * targhooks.h (default_function_section): Declare.
1257 * target.def (function_section): New hook.
1258 * defaults.h (HOT_TEXT_SECTION_NAME,
1259 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1260 * predict.c (choose_function_section): Remove.
1261 (estimate_bb_frequencies): Do not use choose_function_section.
1262 * coretypes.h (enum node_frequency): Move here from cgraph.h
1263 * cgraph.h (enum node_frequency): Remove.
1264 * varasm.c (initialize_cold_section_name, unlikely_text_section,
1265 unlikely_text_section_p): Remove.
1266 (named_subsection_entry): New structure.
1267 (get_text_section): New function.
1268 (default_function_section): New function.
1269 (function_section_1): Break out from ...; handle profile info.
1270 (function_section): ... here.
1271 (unlikely_text_section): Remove.
1272 (unlikely_text_section_p): Use function_section_1.
1273 (assemble_start_function): Do not initialize cold section.
1274 (default_section_type_flags): Do not special case cold subsection.
1275 (switch_to_section): Likewise.
1276 * output.h (get_text_section): Define.
1277 * config/i386/winnt.c: Do not special case cold section.
1278 * config/darwin-protos.h (darwin_function_section): Declare.
1279 * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
1280 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1281 * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
1282 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1283 (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
1284 * config/ia64/ia64.c (ia64_hpux_function_section): New function.
1285 * config/darwin.c (machopic_select_section): Use
1286 darwin_function_section.
1287 (darwin_function_section): New function.
1288 * config/darwin.h (HOT_TEXT_SECTION_NAME,
1289 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1290 (TARGET_ASM_FUNCTION_SECTION): Define.
1291 * system.h (HOT_TEXT_SECTION_NAME,
1292 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
1294 2010-11-23 Iain Sandoe <iains@gcc.gnu.org>
1296 * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
1297 LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
1299 2010-11-23 Jakub Jelinek <jakub@redhat.com>
1302 * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
1303 following unconditional jumps.
1305 2010-11-23 Richard Guenther <rguenther@suse.de>
1307 * doc/md.texi (386 constraints): Clarify A constraint documentation.
1309 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
1310 Jeremie Salvucci <jeremie.salvucci@free.fr>
1312 * gengtype.c (enum typekind, struct options)
1313 (struct nested_ptr_data, struct pair, NUM_PARAM)
1314 (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
1316 (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
1317 Remove static, add zero state_number.
1318 (typedefs, structures, param_structs, variables): Remove static.
1319 (create_option): Remove.
1320 (create_string_option, create_type_option, create_nested_option):
1322 (create_nested_ptr_option): Use create_nested_option.
1323 (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
1324 new create*option functions.
1325 (process_gc_options): Adjust for discriminated option.
1326 (output_mangled_typename): Handle TYPE_NONE.
1327 (walk_type): Test option kinds.
1328 (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
1329 (write_func_for_structure, write_type, write_local, write_root)
1330 (write_roots, note_def_vec, dump_options): Adjust for
1331 discriminated option.
1333 * gengtype.h (typedefs, structures, param_structs, variables
1334 enum typekind): Move from gengtype.c
1335 (enum option_kind): New discriminating enumeration.
1336 (struct options): Becomes discriminated.
1337 (struct nested_ptr_data): Nove from gengtype.c
1338 (create_string_option, create_type_option, create_nested_option)
1339 (create_nested_ptr_option): New functions
1340 (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
1341 (UNION_OR_STRUCT_P): Move from gengtype.c
1343 * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
1344 discriminated options.
1346 2010-11-23 Richard Guenther <rguenther@suse.de>
1348 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
1349 twice. Avoid re-allocating the ops vector all the time.
1351 2010-11-23 Richard Guenther <rguenther@suse.de>
1353 * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
1354 is_gimple_min_invariant, group tree code checks to allow
1356 (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
1359 2010-11-23 Eric Botcazou <ebotcazou@adacore.com>
1361 * config.gcc (sparc*-*-*): Reorder.
1363 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
1365 * gengtype.c (header_dot_h_frul, source_dot_c_frul):
1366 Remove ENABLE_CHECKING around DBGPRINTF.
1368 2010-11-22 Joseph Myers <joseph@codesourcery.com>
1370 * common.opt (exit_after_options, write_symbols, debug_info_level,
1371 use_gnu_debug_info_extensions): New Variable entries.
1372 (fprofile-dir=): Use Var.
1373 * flag-types.h (enum debug_info_level): Rename to enum
1375 * flags.h (write_symbols, debug_info_level,
1376 use_gnu_debug_info_extensions): Remove declarations.
1377 * opts.c (exit_after_options, write_symbols, debug_info_level): Remove.
1378 (set_struct_debug_option): Make static variables const.
1379 (use_gnu_debug_info_extensions): Remove.
1380 (set_debug_level, print_filtered_help, print_specific_help,
1381 fast_math_flags_set_p): Take gcc_options parameters and use them
1382 in place of global variables.
1383 (print_filtered_help): Make new_help non-static.
1384 (print_specific_help): Update call to print_filtered_help.
1385 (common_handle_option): Update calls to print_specific_help. Use
1386 gcc_options structure for more settings. Make --help table
1387 const. Don't handle OPT_fprofile_dir_ here. Update calls to
1389 * toplev.c (profile_data_prefix): Remove.
1390 * toplev.h (profile_data_prefix, exit_after_options): Remove
1392 (fast_math_flags_set_p): Update prototype.
1393 * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
1394 Update call to fast_math_flags_set_p.
1396 2010-11-22 Richard Henderson <rth@redhat.com>
1399 * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p;
1400 return the address register extracted.
1401 (crx_decompose_address): Update the extracted address register.
1403 2010-11-22 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
1406 * gcc.c (main): Don't crash when lto-wrapper program is not found.
1408 2010-11-22 Joern Rennecke <amylaar@spamcop.net>
1411 * config/picochip/picochip.c (picochip_secondary_reload): Make static.
1412 * config/picochip/picochip-protos.h: Don't include "target.h" .
1413 (picochip_secondary_reload): Don't declare.
1416 * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare.
1417 * config/m32c/m32c.c (m32c_conditional_register_usage): No longer
1420 2010-11-22 H.J. Lu <hongjiu.lu@intel.com>
1423 * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING.
1424 (source_dot_c_frul): Likewise.
1426 2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
1428 * gimple-pretty-print.c (dump_bb_header): Add check for cfun.
1430 2010-11-22 Paolo Bonzini <bonzini@gnu.org>
1433 * Makefile.in (fwprop.o) Add sparseset.h.
1434 * fwprop.c: Include sparseset.h
1435 (struct find_occurrence_data, find_occurrence_callback,
1436 find_occurrence): Remove.
1437 (active_defs, active_defs_check, register_active_defs,
1438 update_df_init, update_uses): New.
1439 (update_df): Rewrite.
1440 (try_fwprop_subst, forward_propagate_asm): Add calls to
1441 update_df_init and update_df.
1442 (fwprop_init): Allocate active_defs and active_defs_check.
1443 (fwprop_done): Free them.
1444 (fwprop, fwprop_addr): Adjust comments.
1445 * df.h (df_uses_create): Declare.
1446 * df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
1447 (df_ref_create): Return result of df_ref_create_structure directly.
1448 (df_ref_create_structure): Call df_install_ref_incremental when
1449 no collection_rec is passed.
1450 (df_ref_record): Do not create multiword hard reg info when no
1451 collection_rec is passed.
1452 (df_uses_create): New.
1454 2010-11-21 Uros Bizjak <ubizjak@gmail.com>
1457 * fold-const.c (pedantic_non_lvalue_loc): Unshare x before
1460 2010-11-22 Richard Guenther <rguenther@suse.de>
1462 * gimple-fold.c (maybe_fold_reference): When canonicalizing
1463 MEM_REFs, preserve volatileness.
1464 * cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL
1467 2010-11-22 Richard Guenther <rguenther@suse.de>
1469 * tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks.
1471 2010-11-22 Alexander Monakov <amonakov@ispras.ru>
1473 PR rtl-optimization/45652
1474 * alias.c (get_reg_base_value): New.
1475 * rtl.h (get_reg_base_value): Add prototype.
1476 * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with
1477 non-null REG_BASE_VALUE for renaming.
1479 2010-11-22 Jeremie Salvucci <jeremie.salvucci@free.fr>
1480 Basile Starynkevitch <basile@starynkevitch.net>
1482 * gengtype.c: Include xregex.h and obstack.h
1483 Added comments about role of get_output_file_with_visibility and
1484 our regexpr machinery.
1485 (frul_actionrout_t, struct file_rule_st): New.
1486 (hader_dot_h_frul, source_dot_c_frul): New functions.
1487 (NULL_REGEX, NULL_FRULACT): New.
1489 (matching_file_name_substitute): New function.
1490 (get_output_file_with_visibility): Updated comments and rewritten
1491 to use the new files_rules machinery.
1493 * Makefile.in (XREGEX_H): Added variable.
1494 (build/gengtype.o): Added dependencies for xregex.h and obstack.h
1496 2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
1498 * system.h (FUNCTION_ARG_BOUNDARY): Really poison.
1500 2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
1502 * target.def (conditional_register_usage): Define.
1503 * reginfo.c (init_reg_sets_1): Call
1504 targetm.conditional_register_usage.
1505 * system.h (CONDITIONAL_REGISTER_USAGE): Poison.
1506 * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
1507 for making it a hook.
1508 * doc/tm.texi: Regenerate.
1509 * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1510 * config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
1512 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1513 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1514 * config/arc/arc.c (arc_conditional_register_usage): ...here.
1516 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1517 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1518 * config/arm/arm.c (arm_conditional_register_usage): ...here.
1520 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1521 * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
1522 * config/bfin/bfin-protos.h (conditional_register_usage): Delete.
1523 * config/bfin/bfin.c (conditional_register_usage): Move code into...
1524 (bfin_conditional_register_usage): ...here. New function.
1525 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1526 * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
1527 * config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
1528 * config/cris/cris.c (cris_conditional_register_usage): Make static.
1529 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1530 * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
1531 * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
1532 * config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
1533 * config/frv/frv.c (frv_conditional_register_usage): Make static.
1534 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1535 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1536 * config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
1538 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1539 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
1540 * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
1541 * config/i386/i386.c (ix86_conditional_register_usage): Make static.
1542 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1543 * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
1544 * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
1545 * config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
1546 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1547 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1548 * config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
1550 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1551 * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
1552 * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
1554 * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
1556 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1557 * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
1558 * config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
1559 * config/mep/mep.c (mep_conditional_register_usage): Make static.
1560 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1561 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
1562 * config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
1563 * config/mips/mips.c (mips_conditional_register_usage): Make static.
1564 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1565 * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
1566 * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
1567 * config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
1568 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1569 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1570 * config/mn10300/mn10300.c (mn10300_conditional_register_usage):
1571 ...here. New function.
1572 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1573 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1574 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
1575 * config/pa/pa.c (pa_conditional_register_usage): ...here.
1577 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1578 * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1579 * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
1581 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1582 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
1583 * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
1585 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
1587 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1588 * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
1589 * config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
1590 * config/rx/rx.c (rx_conditional_register_usage): Make static.
1591 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1592 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
1593 * config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
1594 * config/s390/s390.c (s390_conditional_register_usage): Make static.
1595 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1596 * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1597 * config/score/score.c (score_conditional_register_usage): ...here.
1599 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1600 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1601 * config/sh/sh.c (sh_conditional_register_usage): ...here.
1603 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1604 * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1605 * config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
1607 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1608 * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
1609 * config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
1610 * config/spu/spu.c (spu_conditional_register_usage): Make static.
1611 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1612 * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1613 * config/v850/v850.c (v850_conditional_register_usage): ...here.
1615 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1617 2010-11-21 Jan Hubicka <jh@suse.cz>
1618 Dominique d'Humieres <dominiq@lps.ens.ft>
1621 * tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
1622 finalize external decls.
1624 2010-11-21 Joseph Myers <joseph@codesourcery.com>
1626 * system.h (strerror): Poison.
1628 2010-11-21 Richard Henderson <rth@redhat.com>
1630 * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
1633 2010-11-21 Richard Henderson <rth@redhat.com>
1635 PR rtl-optimization/46571
1636 * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
1637 (compute_hash_table_work): Use NONDEBUG_INSN_P.
1639 2010-11-21 Paul Koning <ni1d@arrl.net>
1641 * config/mips/pdp11.md (negsi2): Fix wrong code.
1643 2010-11-21 Paul Koning <ni1d@arrl.net>
1645 * config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
1646 * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
1648 2010-11-21 Eric Botcazou <ebotcazou@adacore.com>
1650 * config/mips/mips.c (machine_function): Rename load_label_length to
1651 load_label_num_insns.
1652 (mips_load_label_length): Rename to...
1653 (mips_load_label_num_insns): ...this. Adjust to first renaming.
1654 (mips_adjust_insn_length): Adjust to second renaming. Fix thinko.
1656 2010-11-21 Uros Bizjak <ubizjak@gmail.com>
1659 * config/alpha/predicates.md (direct_call_operand): Return false
1660 for !TARGET_SMALL_TEXT targets.
1662 2010-11-20 Joseph Myers <joseph@codesourcery.com>
1664 * doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
1665 HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
1666 (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
1667 * doc/tm.texi: Regenerate.
1668 * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
1669 HANDLE_PRAGMA_WEAK): Poison.
1670 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
1671 * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1672 * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
1673 * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
1674 * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1675 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1676 * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1677 * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
1678 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1679 * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
1680 * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1681 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
1682 * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1683 * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1684 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
1685 (HANDLE_PRAGMA_WEAK): Don't undefine.
1686 * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1687 * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
1688 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1689 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
1690 * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
1691 (HANDLE_PRAGMA_WEAK): Don't undefine.
1692 * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1693 * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
1694 (HANDLE_PRAGMA_PACK): Don't undefine.
1695 * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
1696 * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1697 * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1698 * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1699 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
1700 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1701 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1702 * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1703 * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
1704 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1705 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
1706 * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1707 * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1708 * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
1709 * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1710 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
1711 * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1713 2010-11-20 Eric Botcazou <ebotcazou@adacore.com>
1716 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
1717 * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
1718 * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
1720 2010-11-20 Jan Hubicka <jh@suse.cz>
1722 * cgraph.c (ld_plugin_symbol_resolution_names): New.
1723 (dump_cgraph_node): Dump resolution.
1724 * cgraph.h (ld_plugin_symbol_resolution_names): Declare.
1725 (cgraph_comdat_can_be_unshared_p): Dclare.
1726 * lto-streamer-out.c (produce_symtab): Use
1727 cgraph_comdat_can_be_unshared_p.
1728 * ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
1729 (cgraph_comdat_can_be_unshared_p): New function based on logic
1730 in cgraph_externally_visible_p.
1731 (cgraph_externally_visible_p): Use it.
1732 (varpool_externally_visible_p): Virtual tables can be unshared.
1733 * varpool.c (dump_varpool_node): Dump resolution.
1735 2010-11-20 Jan Hubicka <jh@suse.cz>
1737 * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
1739 2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1742 * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
1743 (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
1745 (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
1746 (install-strip): New target.
1747 (STRIPPROG): New variable, exported if STRIP is set.
1748 * doc/install.texi (Final install): Minor markup and code style
1749 fixes. Document install-strip target.
1751 2010-11-20 Paul Koning <ni1d@arrl.net>
1753 * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
1754 pdp11_regno_reg_class): New functions.
1755 * config/pdp11/pdp11.md (define_constants): Add register numbers.
1756 * config/pdp11/pdp11.c (pdp11_regno_reg_class,
1757 pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
1759 * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
1760 frame pointer and argument pointer pseudo-registers.
1761 (ARG_POINTER_REGNUM): Define.
1762 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
1764 (FIRST_PARM_OFFSET): Update for argument pointer.
1765 (INITIAL_FRAME_POINTER_OFFSET): Delete.
1766 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
1767 (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
1768 frame pointer and argument pointer.
1770 2010-11-20 Jakub Jelinek <jakub@redhat.com>
1773 * tree-parloops.c (try_create_redunction_list): Ignore debug stmts
1774 when looking for immediate uses.
1776 PR tree-optimization/45830
1777 * stmt.c (expand_switch_using_bit_tests_p): New function.
1778 (expand_case): Use it.
1779 * tree.h (expand_switch_using_bit_tests_p): New prototype.
1780 * tree-switch-conversion.c (struct switch_conv_info): Add
1781 bit_test_uniq, bit_test_count and bit_test_bb fields.
1782 (check_range): Fix a comment.
1783 (check_process_case): Compute bit_test_uniq and bit_test_count.
1784 (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
1786 (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
1787 (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
1788 (array_value_type): New function.
1789 (build_one_array): Use it, if it returned different type,
1790 fold_convert all constructor fields and convert back to the
1791 wider type in the generated code.
1792 (process_switch): Initialize bit_test_uniq, bit_test_count and
1793 bit_test_bb fields. Don't optimize if expand_switch_using_bit_tests_p
1796 2010-11-19 Michael Matz <matz@suse.de>
1798 PR tree-optimization/46077
1799 * tree-chrec.c (eq_evolutions_p): Accept some expressions.
1801 2010-11-19 Anatoly Sokolov <aesok@post.ru>
1803 * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1804 * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
1806 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1808 2010-11-19 Uros Bizjak <ubizjak@gmail.com>
1810 * mode-switching.c (optimize_mode_switching): Use
1811 FOR_BB_INSNS instead of open-coded loop.
1812 * cfgrtl.c (redirect_branch_edge): Ditto.
1814 2010-11-19 Joern Rennecke <amylaar@spamcop.net>
1817 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
1818 to accomodate 32 bit HOST_WIDE_INT.
1819 (m68hc11_emit_logical): Remove unused variable insn.
1820 (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
1821 this_insn_uses_iy before use.
1824 * config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
1826 2010-11-19 Joseph Myers <joseph@codesourcery.com>
1829 * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
1830 * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
1832 2010-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
1834 * doc/extend.texi (Function attributes): Document PowerPC target
1835 attributes that are supported.
1836 (Pragmas): Document that PowerPC now supports target pragmas.
1838 * doc/options.texi (TargetVariable): Document TargetVariable,
1839 HeaderInclude, and SourceInclude.
1841 * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
1842 mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
1845 * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
1846 SourceInclude directives. Fix a cut+paste error with target save
1847 enum variables. Sort enums in the structures after ints and
1849 * opth-gen.awk: Ditto.
1851 * configure.ac: Add support for HeaderInclude and SourceInclude option
1852 directives to add the appropriate files to the dependency lists.
1853 * configure: Regenerate.
1854 * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
1855 (OPTIONS_C_EXTRA): New variable for SourceInclude.
1856 (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
1857 (options.o): Add $(OPTIONS_C_EXTRA) dependency.
1858 (gcc-options.o): Ditto.
1859 * opt-include.awk: New awk script to handle HeaderInclude and
1862 * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
1863 gets saved in the target options.
1864 * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
1865 * config/rs6000/sysv4.opt (-mbit-align): Ditto.
1866 (-mprototype): Ditto.
1867 (-mbit-word): ditto.
1868 (-mregnames): Ditto.
1869 (-msecure-plt): Ditto.
1871 * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
1872 (-mpowerpc-gfxopt): Ditto.
1879 (-mhard-dfp): Ditto.
1882 (-mmultiple): Ditto.
1887 (-mno-update): Ditto.
1888 (-mavoid-indexed-addresses): Ditto.
1889 (-mtls-markers): Ditto.
1890 (-msched-epilog): Ditto.
1891 (-msched-prolog): Ditto.
1892 (-maix-struct-return): Ditto.
1893 (-msvr4-struct-return): Ditto.
1894 (-mxl-compat): Ditto.
1895 (-mrecip-precision): Ditto.
1896 (-mfp-in-toc): Ditto.
1897 (-msum-in-toc): Ditto.
1899 (-mblock-move-inline-limit=): Ditto.
1902 (-mlongcall): Ditto.
1903 (-mgen-cell-microcode): Ditto.
1904 (-mwarn-cell-microcode): Ditto.
1905 (-mwarn-altivec-long): Ditto.
1906 (-mprioritize-restricted-insns=): Ditto.
1907 (-msingle-float): Ditto.
1908 (-mdouble-float): Ditto.
1909 (-msimple-fpu): Ditto.
1910 (-mxilinx-fpu): Ditto.
1911 * config/rs6000/aix64.opt (-mpe): Ditto.
1913 * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
1914 (rs6000_cpu): Move variable to be a target variable. Rename
1915 cmodel to rs6000_current_cmodel because of macro conflict. Merge
1916 -mdebug=<xxx> variables into a single int.
1917 (rs6000_always_hint): Ditto.
1918 (rs6000_sched_groups): Ditto.
1919 (rs6000_align_branch_targets): Ditto.
1920 (rs6000_sched_costly_dep): Ditto.
1921 (rs6000_sched_insert_nops): Ditto.
1922 (rs6000_long_double_type_size): Ditto.
1923 (rs6000_ieeequad): Ditto.
1924 (rs6000_altivec_abi): Ditto.
1925 (rs6000_spe): Ditto.
1926 (rs6000_spe_abi): Ditto.
1927 (rs6000_float_gprs): Ditto.
1928 (rs6000_darwin64_abi): Ditto.
1929 (can_override_loop_align): Ditto.
1930 (rs6000_sdata): Ditto.
1931 (rs6000_tls_size): Ditto.
1932 (rs6000_current_abi): Ditto.
1933 (rs6000_traceback): Ditto.
1934 (rs6000_alignment_flags): Ditto.
1935 (rs6000_current_cmodel): Ditto.
1936 (rs6000_recip_control): Ditto.
1937 (rs6000_cpu_index): Ditto.
1938 (rs6000_tune_index): Ditto.
1939 (rs6000_debug): Ditto.
1940 (rs6000_target_flags_explict): Ditto.
1942 * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
1945 * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
1946 cmodel. Change all uses.
1948 * config/rs6000/rs6000.c (rs6000_always_hint): Move to
1949 rs6000.opt. Combine -mdebug=<xxx> variables into a single int.
1950 Rename cmodel to rs6000_current_cmodel.
1951 (rs6000_sched_groups): Ditto.
1952 (rs6000_align_branch_targets): Ditto.
1953 (rs6000_sched_costly_dep): Ditto.
1954 (rs6000_sched_insert_nops): Ditto.
1955 (rs6000_long_double_type_size): Ditto.
1956 (rs6000_ieeequad): Ditto.
1957 (rs6000_altivec_abi): Ditto.
1958 (rs6000_spe): Ditto.
1959 (rs6000_spe_abi): Ditto.
1960 (rs6000_float_gprs): Ditto.
1961 (rs6000_darwin64_abi): Ditto.
1962 (can_override_loop_align): Ditto.
1963 (rs6000_sdata): Ditto.
1964 (rs6000_tls_size): Ditto.
1965 (rs6000_current_abi): Ditto.
1966 (rs6000_traceback): Ditto.
1967 (rs6000_alignment_flags): Ditto.
1968 (rs6000_current_cmodel): Ditto.
1969 (rs6000_recip_control): Ditto.
1970 (rs6000_cpu_index): Ditto.
1971 (rs6000_tune_index): Ditto.
1972 (rs6000_debug): Ditto.
1973 (rs6000_target_flags_explict): Ditto.
1974 (rs6000_sched_insert_nops_str): Make static.
1975 (rs6000_sched_costly_dep_str): Ditto.
1976 (rs6000_recip_name): Ditto.
1977 (rs6000_abi_name): Ditto.
1978 (rs6000_sdata_name): Ditto.
1979 (enum rs6000_traceback_name): Move to rs6000-opts.h.
1980 (rs6000_parse_tls_size_option): Delete.
1981 (rs6000_valid_attribute_p): New function for target attributes and
1983 (rs6000_function_specific_save): Ditto.
1984 (rs6000_function_specific_restore): Ditto.
1985 (rs6000_function_specific_print): Ditto.
1986 (rs6000_can_inline_p): Ditto.
1987 (rs6000_set_current_function): Ditto.
1988 (rs6000_inner_target_options): Ditto.
1989 (rs6000_debug_target_options): Ditto.
1990 (rs6000_pragma_target_parse): Ditto.
1991 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
1992 attributes and pragmas.
1993 (TARGET_OPTION_SAVE): Ditto.
1994 (TARGET_OPTION_RESTORE): Ditto.
1995 (TARGET_OPTION_PRINT): Ditto.
1996 (TARGET_CAN_INLINE_P): Ditto.
1997 (TARGET_SET_CURRENT_FUNCTION): Ditto.
1998 (POWER_MASKS): Move to file level scope from the
1999 rs6000_option_override_internal function.
2000 (POWERPC_MASKS): Ditto.
2001 (ISA_*_MASKS): Ditto.
2002 (struct rs6000_ptt): Ditto.
2003 (processor_target_table): Ditto.
2004 (rs6000_cpu_name_lookup): Map cpu name to an index in
2005 processor_target_table.
2006 (rs6000_debug_reg_global): Print more information on processor
2007 options for -mdebug=reg.
2008 (rs6000_init_hard_regno_mode_ok): Add support for target
2009 attributes and pragmas. Merge all -mdebug=<xxx> fields into one.
2010 Allow -mdebug=val1,val2. Rename cmodel variable.
2011 (rs6000_option_override_internal): Ditto.
2012 (rs6000_option_override): Ditto.
2013 (rs6000_handle_option): Ditto.
2014 (rs6000_conditional_register_usage): Add debug trace message.
2015 (struct rs6000_opt_mask): New for target attribute/pragma support.
2016 (rs6000_opt_masks): Ditto.
2017 (struct rs6000_opt_var): Ditto.
2018 (rs6000_opt_vars): Ditto.
2019 (rs6000_previous_function): Ditto.
2021 * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
2022 wasn't already included.
2023 (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
2024 (enum processor_type): Ditto.
2025 (rs6000_cpu): Ditto.
2026 (enum fpu_type_t): Ditto.
2028 (enum rs6000_dependence_cost): Ditto.
2029 (enum rs6000_nop_insertion): Ditto.
2030 (enum group_termination): Ditto.
2031 (rs6000_long_double_type_size): Ditto.
2032 (rs6000_ieeequad): Ditto.
2033 (rs6000_altivec_abi): Ditto.
2034 (rs6000_spe_abi): Ditto.
2035 (rs6000_spe): Ditto.
2036 (rs6000_float_gprs): Ditto.
2037 (rs6000_alignment_flags): Ditto.
2038 (rs6000_sched_insert_nops): Ditto.
2039 (enum rs6000_vector): Ditto.
2040 (enum rs6000_abi): Ditto.
2041 (rs6000_current_opt): Ditto.
2042 (rs6000_debug_*): Delete.
2043 (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
2044 (TARGET_DEBUG*): Ditto.
2046 * config/rs6000/rs6000-opts.h: New header file to define the enums
2047 that are used in target variables that are now defined in rs6000.opt.
2049 * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
2051 (rs6000_sdata): Ditto.
2052 (rs6000_abi_name): Delete.
2053 (rs6000_sdata_name): Ditto.
2054 (rs6000_tls_size_string): Ditto.
2056 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2058 * common.opt (debug_struct_ordinary, debug_struct_generic): New
2060 * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
2061 should_emit_struct_debug): Move from opts.c.
2062 * flag-types.h (enum debug_struct_file): Move from opts.c.
2063 * flags.h (should_emit_struct_debug): Remove.
2064 (base_of_path): Declare.
2065 (set_struct_debug_option): Add gcc_options parameter.
2066 * optc-gen.awk, opth-gen.awk: Handle array variables.
2067 * opts.c (enum debug_struct_file, debug_struct_ordinary,
2068 debug_struct_generic): Remove.
2069 (set_struct_debug_option): Add gcc_options parameter.
2070 (base_of_path): Remove static.
2071 (main_input_basename, main_input_baselength, matches_main_base,
2072 dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
2074 * toplev.c (main_input_basename, main_input_baselength): Define
2076 * toplev.h (main_input_basename, main_input_baselength): Declare
2079 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2081 * common.opt (flag_instrument_functions_exclude_functions,
2082 flag_instrument_functions_exclude_files): New Variable definitions.
2083 * flags.h (flag_instrument_functions_exclude_p): Don't declare.
2084 * gimplify.c (char_p): Declare type and vectors.
2085 (flag_instrument_functions_exclude_p): Moved from opts.c. Make static.
2086 * opts.c (flag_instrument_functions_exclude_functions,
2087 flag_instrument_functions_exclude_files): Remove.
2088 (add_comma_separated_to_vector): Take void **.
2089 (flag_instrument_functions_exclude_p): Move to gimplify.c.
2090 (common_handle_option): Use options structure for
2091 -finstrument-functions-exclude- options.
2093 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2095 * doc/options.texi (Var): Document effects of Defer.
2097 * opt-functions.awk (var_type, var_set): Handle deferred options.
2098 * opts-common.c (set_option): Handle CLVC_DEFER.
2099 * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
2100 fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
2101 fstack-limit-symbol=): Mark as deferred.
2102 * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
2104 (print_filtered_help): Don't report state of CLVC_DEFER options.
2105 (common_handle_option): Move code for OPT_fcall_used_,
2106 OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
2107 OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
2108 OPT_fstack_limit_symbol_ to opts-global.c.
2109 (option_enabled, get_option_state): Handle CLVC_DEFER.
2110 * opts.h: Include vec.h.
2111 (enum cl_var_type): Add CLVC_DEFER.
2112 (cl_deferred_option): Define type and vectors.
2113 (handle_common_deferred_options): Declare.
2114 * opts-global.c: New.
2115 * toplev.c (toplev_main): Call handle_common_deferred_options
2116 * Makefile.in (OPTS_H): Include $(VEC_H).
2117 (OBJS-common): Include opts-global.o.
2118 (opts.o): Update dependencies.
2119 (opts-global.o): Add dependencies.
2121 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
2123 * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
2124 to objc_declare_protocols.
2126 2010-11-19 Richard Guenther <rguenther@suse.de>
2129 * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
2130 IDENTIFIERs do not stream TREE_TYPE.
2131 * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
2133 2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com>
2135 * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
2137 2010-11-19 Jakub Jelinek <jakub@redhat.com>
2140 * dwarf2out.c (const_ok_for_output_1): Don't complain about
2141 non-delegitimized TLS UNSPECs.
2143 2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu>
2144 Ian Lance Taylor <iant@google.com>
2146 * config/darwin-c.c (darwin_additional_format_types): Export.
2148 2010-11-18 Paul Koning <ni1d@arrl.net>
2150 * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
2153 2010-11-18 Paul Koning <ni1d@arrl.net>
2155 * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
2156 * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
2157 * config/pdp11/pdp11.opt (-mabshi): Delete.
2159 2010-11-19 Mingjie Xing <mingjie.xing@gmail.com>
2161 * resource.h (struct resources): Fix typo in the comment.
2163 2010-11-19 Uros Bizjak <ubizjak@gmail.com>
2166 * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
2168 2010-11-18 Richard Henderson <rth@redhat.com>
2171 * function.c (maybe_copy_prologue_epilogue_insn): Rename from
2172 maybe_copy_epilogue_insn; handle prologue insns as well.
2173 * rtl.h, cfglayout.c: Update for rename.
2174 * recog.c (peep2_attempt): Copy prologue/epilogue data for
2175 RTX_FRAME_RELATED_P insns.
2177 2010-11-18 Jakub Jelinek <jakub@redhat.com>
2180 * builtins.c (fold_builtin_printf): Don't copy and modify string
2181 before build_string_literal, instead modify what
2182 build_string_literal returned.
2184 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
2187 * c-typeck.c (build_unary_op): Call build_real_imag_expr for
2188 REALPART_EXPR and IMAGPART_EXPR.
2190 2010-11-18 Richard Guenther <rguenther@suse.de>
2192 PR tree-optimization/46172
2193 * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
2195 (slpeel_tree_peel_loop_to_edge): Call it.
2197 2010-11-18 Jeff Law <law@redhat.com>
2199 PR middle-end-optimization/46297
2200 * postreload.c (reload_combine_note_store): Deal with embedded
2201 side effects in MEM expressions.
2203 2010-11-18 Richard Guenther <rguenther@suse.de>
2206 * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
2207 when checking is not enabled.
2209 2010-11-18 Richard Guenther <rguenther@suse.de>
2212 * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
2214 (gimple_register_canonical_type): Also cache the canoncial type
2215 for non type leaders.
2217 2010-11-18 Richard Guenther <rguenther@suse.de>
2219 * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
2221 2010-11-18 Alexander Monakov <amonakov@ispras.ru>
2224 * sel-sched-ir.c (init_expr): Use the correct type for
2226 * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
2228 2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
2230 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
2231 as well as -mrelocatable at the same time.
2233 2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com>
2236 * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
2237 Call the clz builtin.
2239 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
2240 Steve Ellcey <sje@cup.hp.com>
2243 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
2244 if section attribute used.
2246 2010-11-17 Jan Hubicka <jh@suse.cz>
2248 * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
2249 expand errno setting variant when optimizing for size.
2251 2010-11-17 Eric Botcazou <ebotcazou@adacore.com>
2253 * postreload.c (reload_combine): Call control_flow_insn_p only once.
2254 Reverse backward loop. Fix formatting issues.
2256 2010-11-17 Paolo Bonzini <bonzini@gnu.org>
2258 * c-parser.c (c_token_is_qualifier,
2259 c_parser_next_token_is_qualifier): New.
2260 (c_parser_declaration_or_fndef, c_parser_struct_declaration):
2261 Improve error message on specs->tagdef_seen_p.
2262 (c_parser_struct_or_union_specifier): Improve error recovery.
2263 (c_parser_declspecs): Move exit condition on C_ID_ID early.
2264 Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
2265 using c_parser_next_token_is_qualifier; extend it to cover
2266 a ctsk_tagdef typespec and !typespec_ok in general.
2268 2010-11-17 Richard Guenther <rguenther@suse.de>
2270 * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
2271 (gimple_mod_pow2_value_transform): Likewise.
2272 (gimple_mod_subtract_transform): Likewise.
2274 2010-11-17 Richard Guenther <rguenther@suse.de>
2277 * gimple.c (gimple_register_canonical_type): Make sure to only
2278 make type leaders canonical types.
2280 2010-11-17 Michael Matz <matz@suse.de>
2282 * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
2283 TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
2284 TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
2285 TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
2286 * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
2287 (pass_build_ssa): ... but here.
2288 * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
2289 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
2290 * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
2291 * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
2292 * predict.c (rebuild_frequencies): Ditto.
2293 * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
2294 * emit-rtl.c (verify_rtl_sharing): Ditto.
2295 * tree-cfgcleanup.c (repair_loop_structures): Ditto.
2296 * tree-ssa-live.c (remove_unused_locals): Ditto.
2297 * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
2298 * tree-ssa.c (pass_early_warn_uninitialized,
2299 execute_update_addresses_taken, pass_update_address_taken): Ditto.
2300 * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
2301 pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
2302 * passes.c (pass_postreload, execute_todo): Ditto.
2303 * tree-ssanames.c (pass_release_ssa_names): Ditto.
2305 2010-11-17 Joseph Myers <joseph@codesourcery.com>
2307 * doc/invoke.texi (-dy): Remove.
2308 * langhooks-def.h (lhd_do_nothing_i): Don't declare.
2309 (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
2310 * langhooks.c (lhd_do_nothing_i): Remove.
2311 * langhooks.h (lang_hooks.parse_file): Take no arguments.
2312 * toplev.c (set_yydebug): Remove.
2313 (compile_file): Update call to lang_hooks.parse_file.
2314 (decode_d_option): Don't handle -dy.
2316 2010-11-17 Jakub Jelinek <jakub@redhat.com>
2318 PR rtl-optimization/46440
2319 * combine.c (update_cfg_for_uncondjump): When changing
2320 an indirect jump into unconditional jump, remove BARRIERs
2323 2010-11-17 Joseph Myers <joseph@codesourcery.com>
2325 * opts.c (target_handle_option): Do not assert that loc ==
2328 2010-11-17 Jakub Jelinek <jakub@redhat.com>
2329 Richard Guenther <rguenther@suse.de>
2332 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
2333 call_may_clobber_ref_p_1): Return true for __sync_* and some
2334 OpenMP builtins that act as threading barriers.
2336 2010-11-17 Richard Guenther <rguenther@suse.de>
2338 PR tree-optimization/46498
2339 * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
2341 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2343 * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
2344 (xtensa_function_arg_boundary): ...this.
2345 * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
2346 thinko in declaration.
2347 (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
2348 number of parameters to picochip_function_arg_boundary.
2349 (picochip_arg_advance): Likewise.
2351 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2354 * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
2355 under check for type.
2357 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
2359 * ifcvt.c (dead_or_predicable): Fix typo.
2361 2010-11-16 Richard Henderson <rth@redhat.com>
2363 * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
2364 * config/s390/s390.opt (mfused-madd): Remove.
2365 * config/s390/s390.c (s390_rtx_costs): Handle FMA.
2366 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
2367 * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
2368 (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
2370 2010-11-16 Richard Henderson <rth@redhat.com>
2372 * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
2373 * config/rs6000/rs6000.opt (mfused-madd): Remove.
2374 * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
2375 (*altivec_vmaddfp_1): Remove.
2376 (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
2377 (altivec_mulv4sf3): Expand to FMA directly.
2378 (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
2379 (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
2380 * config/rs6000/paired.md (paired_madds0): Use FMA.
2381 (paired_madds1): Likewise.
2382 (*paired_madd): Rename from paired_madd; use FMA.
2383 (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
2384 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
2385 consider TARGET_FUSED_MADD wrt rs6000_recip_control.
2386 (bdesc_3arg): Update CODE_FOR_* for pattern renames.
2387 (rs6000_emit_madd): Use fma_optab.
2388 (rs6000_emit_msub): Use fms_optab.
2389 (rs6000_emit_nmsub): Expand the FMA pattern directly.
2390 * config/rs6000/rs6000.md (FMA_F): New mode iterator.
2391 (*fmasf4_fpr): Rename from fmasf4_fpr.
2392 (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
2393 (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
2394 (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
2395 (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
2396 (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
2397 (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
2398 (*fmadf4_fpr): Rename from fmadf4_fpr.
2399 (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
2400 (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
2401 (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
2402 (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
2403 (fmasf4, fmadf4): Macroize into...
2404 (fma<FMA_F>4): ... here.
2405 (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
2406 (nfma<FMA_F>4, nfms<FMA_F>4): New.
2407 * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
2409 * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
2410 (*vsx_fmadd<mode>4_1): Remove.
2411 (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
2412 (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
2413 (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
2414 (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
2415 (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
2416 (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
2417 (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
2419 2010-11-16 Richard Henderson <rth@redhat.com>
2421 * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
2422 (fmasf4, fnmadf4, fnmasf4): Likewise.
2423 (unnamed plus+mult insns and splitters): Delete.
2425 2010-11-16 Richard Henderson <rth@redhat.com>
2427 * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
2428 (fnma<VSF>4): Rename from fnms_<VSF>.
2429 (fms<VSF>4): Rename from fms_<VSF>.
2430 (fma<VDF>4): Rename from fma_<VDF>.
2431 (fms<VDF>4): Rename from fms_<VDF>.
2432 (nfma<VDF>4): Rename from fnma_<VDF>.
2433 (nfms<VDF>4): Rename from fnms_<VDF>.
2434 (fnma<VDF>4, fnms<VDF>4): New expanders.
2435 (floatunsdisf2): Update for the renames.
2436 (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
2437 * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
2439 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
2441 PR rtl-optimization/46490
2442 * combine.c (expand_compound_operation): Fix thinko.
2444 2010-11-16 Richard Henderson <rth@redhat.com>
2447 * recog.c (peep2_attempt): Convert frame-related info when possible.
2448 (peep2_fill_buffer): Allow frame-related insns into the buffer.
2449 (peephole2_optimize): Allow peep2_attempt to fail.
2451 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
2453 PR rtl-optimization/46315
2454 * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
2455 * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
2457 * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
2458 (remove_reg_equal_equiv_notes_for_defs): ...this.
2459 (delete_unmarked_insns): Adjust to above renaming.
2460 * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
2461 referring to registers set in the insns being moved, if any.
2463 * df-core.c (df_ref_dump): New function extracted from...
2464 (df_refs_chain_dump): ...here. Call it.
2465 (df_regs_chain_dump): Likewise.
2466 * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
2467 * df-scan.c (df_scan_start_dump): Likewise. Fix long line.
2469 2010-11-16 Andreas Schwab <schwab@linux-m68k.org>
2471 PR rtl-optimization/46395
2472 * postreload.c (reload_combine): Invalidate register use
2473 information on all control flow insns.
2475 * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
2476 LABEL_REF in UNSPEC operand.
2478 2010-11-16 Jan Hubicka <jh@suse.cz>
2480 * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
2481 when !flag_toplevel_reorder do not remove unless variable is
2482 COMDAT or ARTIFICIAL.
2483 * ipa.c (varpool_can_remove_if_no_refs): ... here.
2484 (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
2485 * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
2486 * varpool.c (decide_is_variable_needed): Do not handle visibility
2488 (varpool_finalize_decl): Likewise.
2489 (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
2490 update outdated comment on DECL_RTL_SET_P check.
2492 2010-11-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2494 * config/sol2.h (NM_FLAGS): Define.
2495 * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
2496 * doc/tm.texi: Update.
2498 2010-11-16 Nick Clifton <nickc@redhat.com>
2500 * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
2501 (msubsf4): Rename to fmssf4, and use fma.
2502 (nmaddsf4): Rename to fnmasf4 and use fma.
2503 (nmsubsf4): Rename to fnmssf4 and use fma.
2505 2010-11-16 Joern Rennecke <amylaar@spamcop.net>
2508 * config/score/score3.c (score3_return_in_memory): Constify arguments.
2509 (score3_in_small_data_p, score3_function_value): Likewise.
2510 (score3_trampoline_init): Use LCT_NORMAL.
2511 (score3_print_operand): Initialize code as UNKNOWN.
2512 * config/score/predicates.md (score_load_multiple_operation):
2513 Remove unused variable.
2514 (score_store_multiple_operation): Likewise.
2515 * config/score/score7.c (score7_return_in_memory): Constify arguments.
2516 (score7_in_small_data_p, score7_function_value): Likewise.
2517 (score7_trampoline_init): Use LCT_NORMAL.
2518 (score7_print_operand): Initialize code as UNKNOWN.
2519 * config/score/score3.h (score3_return_in_memory): Update prototype.
2520 (score3_in_small_data_p, score3_function_value): Likewise.
2521 * config/score/score-protos.h (score_function_value): Likewise.
2522 * config/score/score7.h (score7_return_in_memory): Update prototype.
2523 (score7_in_small_data_p, score7_function_value): Likewise.
2524 * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
2525 (score_return_in_memory, score_pass_by_reference): Constify arguments.
2526 (score_output_mi_thunk, score_function_prologue): Don't return a value.
2527 (score_function_epilogue, score_in_small_data_p): Likewise.
2528 (score_option_override, score_asm_trampoline_template): Likewise.
2529 (score_trampoline_init, score_print_operand): Likewise.
2530 (score_print_operand_address, score_prologue): Likewise.
2531 (score_epilogue, score_call, score_call_value): Likewise.
2532 (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
2533 (score_function_arg_advance): Likewise. Make static.
2534 (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
2535 (score_function_arg, score_legitimate_address_p): Make static.
2536 (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
2537 * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
2538 * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
2539 Allow (W) == HOST_BITS_PER_WIDE_INT.
2542 * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
2543 * config/t-pnt16-warn (java/constants.o-warn): Likewise.
2545 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2547 * config/arc/arc.c: Delete pasto.
2548 * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
2550 2010-11-16 Anatoly Sokolov <aesok@post.ru>
2552 * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
2553 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2554 * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
2555 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2556 (mn10300_preferred_reload_class,
2557 mn10300_preferred_output_reload_class): New functions.
2559 2010-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2561 * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
2562 (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
2563 (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
2564 (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
2566 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2568 * builtins.c (std_gimplify_va_arg_expr): Use
2569 targetm.calls.function_arg_boundary.
2570 * function.c (assign_parms, locate_and_pad_parm): Likewise.
2571 * calls.c (struct arg_data): Update comment.
2572 * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
2573 * target.def (function_arg_boundary): Define.
2574 * targhooks.h (default_function_arg_boundary): Declare.
2575 * targhooks.c (default_function_arg_boundary): Define.
2576 * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
2577 TARGET_FUNCTION_ARG_BOUNDARY.
2578 (FUNCTION_ARG_BOUNDARY): Delete.
2579 (TARGET_FUNCTION_ARG_BOUNDARY): New.
2580 * doc/tm.texi: Regenerate.
2581 * system.h (FUNCTION_ARG_BOUNDARY): Poison.
2582 * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
2583 * config/arc/arc.c (arc_function_arg_boundary): Define.
2584 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2585 * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
2586 * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
2587 * config/arm/arm.c (arm_needs_doubleword_align): Make static.
2588 (arm_function_arg_boundary): Define.
2589 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2590 * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
2591 * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
2592 * config/frv/frv.c (frv_function_arg_boundary): Make static.
2593 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2594 * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
2595 * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
2596 * config/i386/i386.c (ix86_function_arg_boundary): Make static.
2597 (ix86_compat_function_arg_boundary): Take and return unsigned int.
2598 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2599 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
2600 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
2601 * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
2602 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2603 * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
2604 * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
2605 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2606 * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
2607 * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
2608 * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
2609 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2610 * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
2611 * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
2612 * config/mips/mips.c (mips_function_arg_boundary): Make static.
2613 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2614 * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
2615 * config/pa/pa.c (pa_function_arg_boundary): Define.
2616 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2617 * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
2618 * config/picochip/picochip-protos.h
2619 (picochip_get_function_arg_boundary): Delete.
2620 * config/picochip/picochip.c (picochip_get_function_arg_boundary):
2622 (picochip_function_arg_boundary): ...this. Make static.
2623 (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
2624 (picochip_arg_advance): Adjust.
2625 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2626 * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
2627 * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
2628 * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
2629 (rs6000_function_arg_boundary): ...this. Make static.
2630 (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
2631 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2632 * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
2633 * config/rx/rx.c (rx_function_arg_boundary): Define.
2634 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2635 * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
2636 * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
2637 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2638 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
2639 * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
2640 * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
2641 (xtensa_function_arg_boundary): ...this. Make static.
2642 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2644 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2646 * expr.c (alignment_for_piecewise_move): New function.
2647 (widest_int_mode_for_size): New function.
2648 (move_by_pieces, move_by_pieces_ninsns): Call them.
2649 (can_store_by_pieces, store_by_pieces_1): Likewise.
2651 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2653 * gcc.c (char_p): Define. Define a VEC of it.
2654 (n_linker_options, n_assembler_options, n_preprocessor_options):
2656 (linker_options, assembler_options, preprocessor_options): Convert
2658 (add_preprocessor_option): Adjust.
2659 (add_assembler_option): Adjust.
2660 (add_linker_option): Adjust.
2661 (do_specs_vec): New function.
2662 (do_spec_1): Call it. Adjust for new types.
2664 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2666 * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
2667 (sreal.o, statistics.o, stringpool.o): Likewise.
2669 2010-11-16 Richard Guenther <rguenther@suse.de>
2671 PR tree-optimization/44545
2672 * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
2673 statements are not reassociatable.
2674 (reassociate_bb): Likewise.
2676 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
2678 * bitmap.c: Delete unnecessary includes.
2679 * ebitmap.c: Likewise.
2680 * et-forest.c: Likewise.
2681 * sreal.c: Likewise.
2682 * statistics.c: Likewise.
2683 * stringpool.c: Likewise.
2684 * double-int.c: Add comment for inclusion of tm.h.
2686 2010-11-16 Richard Guenther <rguenther@suse.de>
2688 * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
2689 (visit_nary_op): ... this.
2690 (visit_binary_op): Remove.
2691 (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
2693 2010-11-16 Richard Guenther <rguenther@suse.de>
2696 * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
2698 2010-11-16 Nick Clifton <nickc@redhat.com>
2700 * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
2703 2010-11-15 Richard Henderson <rth@redhat.com>
2705 * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
2706 WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
2709 2010-11-15 Richard Henderson <rth@redhat.com>
2711 * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
2712 from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use
2715 2010-11-15 Richard Henderson <rth@redhat.com>
2717 * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
2718 and *mulsubsf4 respectively. Use fma rtx_code.
2720 2010-11-15 Joseph Myers <joseph@codesourcery.com>
2722 * gcc.c: Include "vec.h".
2723 (argbuf): Make into a VEC.
2724 (argbuf_length, argbuf_index): Remove.
2725 (alloc_args, clear_args, store_arg, execute, insert_wrapper,
2726 do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
2727 compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
2728 * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
2729 (gcc.o): Depend on $(VEC_H).
2731 2010-11-15 Richard Henderson <rth@redhat.com>
2733 * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
2734 via FMA if unsafe math.
2735 (insert_var_expansion_initialization): Handle FMA.
2736 (combine_var_copies_in_loop_exit): Likewise.
2738 2010-11-15 Richard Henderson <rth@redhat.com>
2740 * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
2741 * config/ia64/ia64.opt: Remove mfused-madd.
2742 * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
2743 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
2744 * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
2745 * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
2746 * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
2747 * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
2748 (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
2749 (fmav2sf4): Rename from fpma; use FMA code.
2750 (fmsv2sf4): Rename from fpms; use FMA code.
2751 (fnmav2sf4): Rename from *fpnma; use FMA code.
2752 * config/ia64/ia64.md (MODE_SDF): New iterator.
2753 (suffix): New mode attribute.
2754 (*maddsf4, *msubsf4, *nmaddsf4): Remove.
2755 (fmssf4): Rename from *fmssf4.
2756 (fnmasf4): Rename from *nfmasf4.
2757 (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
2758 (*nmadddf4, *nmadddf4_truncsf): Remove.
2759 (fmsdf4): Rename from *fmsdf4.
2760 (fnmadf4): Rename from *nfmadf4.
2761 (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
2762 (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
2763 (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
2764 (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
2765 (fmsxf4): Rename from *fmsxf4.
2766 (fnmaxf4): Rename from *nfmaxf4.
2767 (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
2768 (*fnmaxf_trunc_<MODE_SDF>): New.
2770 2010-11-15 Jakub Jelinek <jakub@redhat.com>
2772 PR tree-optimization/46461
2773 * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
2776 2010-11-15 Ian Lance Taylor <iant@google.com>
2778 * godump.c: New file.
2779 * common.opt (fdump-go-spec=): New option.
2780 * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
2781 (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
2782 (TYPE_SYMTAB_IS_DIE): Define.
2783 (struct tree_type): Change GTY for symtab field to use
2784 TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
2785 to pick the union field.
2786 * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
2787 (dump_go_spec_init): Declare.
2788 * toplev.c (process_options): Handle flag_dump_go_spec.
2789 * debug.c: Include "tree.h".
2790 (do_nothing_debug_hooks): Set tree_type_symtab_field.
2791 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
2792 * dbxout.c (dbx_debug_hooks): Likewise.
2793 (xcoff_debug_hooks): Likewise.
2794 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
2795 * sdbout.c (sdb_debug_hooks): Likewise. Do not define if
2796 SDB_DEBUGGING_INFO is not defined.
2797 * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
2798 (Overall Options): Document -fdump-go-spec.
2799 * Makefile.in (OBJS-common): Add godump.o.
2800 (debug.o): Add dependency on $(TREE_H).
2801 (godump.o): New target.
2802 (GTFILES): Add $(srcdir)/godump.c.
2804 2010-11-15 Jakub Jelinek <jakub@redhat.com>
2807 * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
2808 marking r11 set RTX_FRAME_RELATED_P if offset is too large for
2809 style < 0, add REG_FRAME_RELATED_EXPR.
2812 * rtl.h (vt_equate_reg_base_value): New prototype.
2813 * alias.c (vt_equate_reg_base_value): New function.
2814 * var-tracking.c (vt_init_cfa_base): Use it.
2816 2010-11-15 Jan Hubicka <jh@suse.cz>
2817 Diego Novillo <dnovillo@google.com>
2820 * doc/lto.texi: Add.
2821 * doc/gccint.texi: Add reference to lto.texi.
2822 * doc/invoke.texi: Update user documentation for LTO.
2823 Move internal flags to lto.texi
2825 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
2827 * c-typeck.c (build_unary_op): Use
2828 objc_build_incr_expr_for_property_ref to build the pre/post
2829 increment/decrement of an Objective-C property ref, and skip the
2830 lvalue_or_else check in that case.
2832 2010-11-15 Martin Jambor <mjambor@suse.cz>
2834 PR tree-optimization/46349
2835 * tree-sra.c (contains_bitfld_comp_ref_p): New function.
2836 (contains_vce_or_bfcref_p): Likewise.
2837 (sra_modify_assign): Use them.
2839 2010-11-15 Richard Guenther <rguenther@suse.de>
2841 PR tree-optimization/46467
2842 * tree-ssa-structalias.c (do_structure_copy): Properly treat
2843 variables without subvars.
2845 2010-11-15 Hariharan Sandanagobalane <hariharan@picochip.com>
2847 * config/picochip/picochip.c (file header): Picochip name change.
2848 * config/picochip/picochip.md (file header): Likewise.
2849 * config/picochip/predicates.md (file header): Likewise.
2850 * config/picochip/dfa_space.md (file header): Likewise.
2851 * config/picochip/dfa_speed.md (file header): Likewise.
2852 * config/picochip/picochip.h(file header): Likewise.
2853 * config/picochip/constraints.md (file header): Likewise.
2854 * config/picochip/picochip-protos.h (file header): Likewise.
2855 * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
2856 * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
2857 * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
2858 * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
2859 * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
2860 * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
2861 * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
2862 * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
2863 * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
2864 * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
2865 * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
2866 * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
2867 * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
2868 * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
2870 2010-11-15 Richard Guenther <rguenther@suse.de>
2873 * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
2875 2010-11-15 Nick Clifton <nickc@redhat.com>
2877 * config/stormy16/stormy16.c (direct_return): Do not generate a
2878 direct return for interrupt handlers.
2880 2010-11-15 Joern Rennecke <amylaar@spamcop.net>
2882 * Makefile.in (tm.texi): Replace with rule for:
2883 ($(srcdir)/doc/tm.texi).
2884 (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
2885 $(srcdir)/doc/tm.texi .
2886 (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
2890 * config/m32r/m32r.c: Remove unused variables frame_size and insn.
2893 * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
2894 (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
2897 * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
2899 2010-11-15 Richard Guenther <rguenther@suse.de>
2902 * lto-opts.c (lto_write_options): Write -fexceptions even if
2903 not set by the user.
2905 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
2908 * c-decl.c (declspecs_add_type): Make variables with error types
2910 * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
2911 do not start a declaration before an Objective-C foreach.
2912 (c_parser_declaration_or_fndef): Improve recovery after unknown
2914 (c_parser_for_statement): Hoist entrance of "foreach context"
2915 before ifs, add corresponding reset where it was missing. Do
2916 not set objc_could_be_foreach_context for C.
2918 2010-11-14 Eric Botcazou <ebotcazou@adacore.com>
2920 PR tree-optimization/45722
2921 * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
2922 this is a reference to a component.
2923 * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
2924 (ipa_note_param_call): Adjust comment.
2926 2010-11-14 Richard Sandiford <rdsandiford@googlemail.com>
2928 * config/mips/mips.c (machine_function): Remove
2929 initialized_mips16_gp_pseudo_p.
2930 (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
2931 detect whether a pseudo has already been created. Unconditionally
2932 create a new one if not.
2933 (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
2934 expanding to rtl. Create a new pseudo otherwise, if allowed.
2936 2010-11-13 Richard Earnshaw <rearnsha@arm.com>
2939 * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
2940 * tm.texi: Regenerated.
2941 * output.h (decode_reg_name_and_count): Declare.
2942 * varasm.c (decode_reg_name_and_count): New function.
2943 (decode_reg_name): Reimplement using decode_reg_name_and_count.
2944 * reginfo.c (fix_register): Use decode_reg_name_and_count and
2945 iterate over all regs used.
2946 * stmt.c (expand_asm_operands): Likewise.
2947 * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
2948 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
2949 multiple machine registers.
2951 2010-11-13 Eric Botcazou <ebotcazou@adacore.com>
2953 * stor-layout.c (place_union_field): Do not put location information
2954 on offset expressions.
2955 (place_field): Likewise.
2956 (finalize_record_size): Likewise on size expressions.
2957 (finalize_type_size): Likewise.
2958 (layout_type): Likewise.
2960 2010-11-13 Alexandre Oliva <aoliva@redhat.com>
2963 * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
2964 * df-core.c (df_set_bb_dirty_nonrl): Remove.
2965 * df.h (df_set_bb_dirty_nonlr): Likewise.
2967 2010-11-13 Uros Bizjak <ubizjak@gmail.com>
2969 * config/mips/mips.md (call_internal): Pass curr_insn to
2971 (call_internal_direct): Ditto.
2972 (call_value_internal): Ditto.
2973 (call_value_internal_direct): Ditto.
2974 (call_value_multiple_internal): Ditto.
2975 * config/mips/mips.c (mips_split_call): Do not copy
2976 CALL_INSN_FUNCTION_USAGE here.
2978 2010-11-13 Mingming Sun <mingm.sun@gmail.com>
2980 * doc/invoke.texi (MIPS Options): Add loongson3a processor.
2981 * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
2982 (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
2983 * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
2984 (TUNE_LOONGSON_3A): Define.
2985 (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
2986 (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
2987 * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
2988 (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
2989 (mips_rtx_cost_data): Add Loongson-3A.
2991 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
2993 * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
2996 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
2998 * dwarf2out.c (macinfo_entry): New struct.
2999 (output_comp_unit): Emit the section start label here and flag that we
3000 will emit an info section.
3001 (dwarf2out_start_source_file): Save data in a macinfo entry rather than
3003 (dwarf2out_end_source_file): Likewise.
3004 (dwarf2out_define): Likewise.
3005 (dwarf2out_undef): Likewise.
3006 (output_macinfo): New.
3007 (dwarf2out_init): Do not emit debug section switches here, allocate a
3008 vec for macinfo, when required.
3009 (dwarf2out_finish): First switch to debug_abbrev_section here.
3010 debug_line_section, debug_macinfo_section, Likewise.
3011 Check that the pubtypes table has at least one unpruned entry before
3014 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
3017 * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
3018 (c_parser_next_tokens_start_declaration): ... this. Handle 2nd
3020 (c_parser_compound_statement_nostart, c_parser_label,
3021 c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
3022 (c_parser_declaration_or_fndef): Detect the case now matched by
3023 c_parser_next_tokens_start_declaration, give error and correct it.
3025 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
3027 * c-tree.h (enum c_typespec_kind): Add ctsk_none.
3028 (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
3030 * c-decl.c (build_null_declspecs): Initialize typespec_kind.
3031 (shadow_tag_warned, check_compound_literal_type): Adjust
3032 uses of tag_defined_p.
3033 (declspecs_add_type): Set typespec_kind.
3034 * c-parser.c (c_parser_declaration_or_fndef,
3035 c_parser_declspecs, c_parser_struct_declaration,
3036 c_parser_parameter_declaration, c_parser_type_name,
3037 c_parser_objc_diagnose_bad_element_prefix): Adjust uses
3039 * c-typeck.c (c_cast_expr): Use typespec_kind instead of
3040 tag_defined_p, pass ctsk_firstref through.
3042 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
3044 * c-format.c (enum format_specifier_kind, kind_descriptions): New.
3045 (struct format_wanted_type): Replace field "name" with "kind", add
3046 "format_start" and "format_length".
3047 (check_format_info_main): Fill in new fields. Fill in
3048 FORMAT_WANTED_TYPES even for missing arguments. Move checks
3049 after the final NUL outside the while loop. Do not include
3050 width and precision modifiers in the format_start/format_length
3052 (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
3053 arguments. Compute WANTED_TYPE first so that format_type_warning
3054 can be called for missing arguments. Adjust calls to
3055 format_type_warning.
3056 (format_type_warning): Fetch as much information as possible
3057 from format_wanted_type. Adjust printing now that every
3058 warning has a "descr", as well as for missing argument warnings
3059 and to include % sign for format specifiers.
3061 2010-11-12 Alexander Monakov <amonakov@ispras.ru>
3063 PR rtl-optimization/46204
3064 * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
3065 Update all callers. Do not recompute topological order. Adjust
3066 fallthrough edges following a degenerate conditional jump.
3068 2010-11-12 Joseph Myers <joseph@codesourcery.com>
3070 * opts-common.c (control_warning_option): New.
3071 * opts.c (set_default_handlers): New.
3072 (decode_options): Use set_default_handlers and
3073 control_warning_option.
3074 (common_handle_option): Update call to enable_warning_as_error.
3075 (enable_warning_as_error): Take gcc_options parameters. Use
3076 control_warning_option.
3077 * opts.h (set_default_handlers, control_warning_option): Declare.
3079 2010-11-12 Joseph Myers <joseph@codesourcery.com>
3081 * Makefile.in (OPTS_H): Define.
3082 (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
3083 c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
3084 cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
3085 opts-common.o, toplev.o, passes.o, matrix-reorg.o,
3086 ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
3087 * gcc.c (driver_handle_option): Take location_t parameter.
3088 (process_command, do_self_spec): Update calls to
3089 read_cmdline_option.
3090 * langhooks-def.h (lhd_handle_option): Take location_t parameter.
3091 * langhooks.c (lhd_handle_option): Take location_t parameter.
3092 * langhooks.h (handle_option): Take location_t parameter.
3093 * lto-opts.c (lto_reissue_options): Update call to set_option.
3094 * opts-common.c (handle_option): Make static. Take location_t
3095 parameter and pass it to other functions.
3096 (handle_generated_option): Take location_t parameter and pass it
3098 (read_cmdline_option): Take location_t parameter and pass it to
3099 other functions. Use warning_at and error_at.
3100 (set_option): Take location_t parameter and pass it to other
3102 * opts.c (common_handle_option): Take location_t parameter and
3103 pass it to other functions.
3104 (enable_warning_as_error): Make static. Take location_t parameter
3105 and pass it to other functions.
3106 (lang_handle_option): Take location_t parameter and pass it to
3108 (target_handle_option): Take location_t parameter.
3109 (read_cmdline_options, maybe_default_option,
3110 maybe_default_options, default_options_optimization,
3111 decode_options): Take location_t parameter and pass it to other
3113 * opts.h: Include input.h.
3114 (struct cl_option_handler_func, decode_options, set_option,
3115 handle_generated_option, read_cmdline_option): Take location_t
3117 (handle_option, enable_warning_as_error): Remove.
3118 * toplev.c (toplev_main): Update call to decode_options.
3120 2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
3122 * graphite-cloog-util.c (oppose_constraint,
3123 cloog_matrix_to_ppl_constraint,
3124 new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
3125 CLooG isl uses unsigned integers. This triggered a warning.
3127 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
3130 * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
3131 (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
3132 (xtensa_function_arg_1): De-constify cum.
3133 (xtensa_expand_prologue): Use add_reg_note.
3136 * config/cris/cris.c (saved_regs_mentioned): Delete.
3137 (cris_reload_address_legitimized): Cast itype to enum reload_type.
3138 Remove unused variable op0p.
3139 (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
3140 (cris_emit_movem_store): Use add_reg_note.
3143 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
3145 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
3147 * function.c (expand_function_end): Set the locator of the prologue on
3148 the stack checking insns.
3150 2010-11-12 Richard Henderson <rth@redhat.com>
3152 * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
3153 * config/xtensa/xtensa.opt (mfused-madd): Remove.
3154 * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
3156 * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
3157 (fnmasf4): Rename from mulsubsf3; use fma.
3159 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
3160 Richard Henderson <rth@redhat.com>
3163 * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
3164 * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
3167 2010-11-12 Pat Haugen <pthaugen@us.ibm.com>
3169 * opts-common.c (decode_cmdline_option): Initialize separate_args.
3171 2010-11-12 Jan Hubicka <jh@suse.cz>
3173 * doc/invoke.texi (early-inlining-insns): Update default.
3174 * params.def (early-inlining-insns): Default to 10.
3176 2010-11-12 Olivier Hainque <hainque@adacore.com>
3178 * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
3180 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3182 * config/mips/iris6.h [!IRIX_USING_GNU_LD]
3183 (SUPPORTS_INIT_PRIORITY): Define.
3185 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
3188 * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
3189 * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
3190 (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
3191 (avr_device_to_devicelib): Likewise.
3192 * config/avr/avr.md (zero_extendqihi2): Put variable declarations
3194 (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
3195 (zero_extendhidi2, zero_extendsidi2): Likewise.
3196 * config/avr/avr.c (avr_num_arg_regs): Constify type.
3197 (avr_return_addr_rtx): De-constify tem.
3198 (avr_rotate_bytes): Move declarations to start of block.
3199 Don't use variable length array. Put nested if/else into block.
3201 PR rtl-optimization/46433
3202 * var-tracking.c: Include tm_p.h .
3206 * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
3208 (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
3209 * doc/tm.texi: Regenerate.
3212 * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
3213 * config/bfin/bfin.c: Include sel-sched.h .
3214 (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
3215 (expand_interrupt_handler_prologue): Remove unused variable insn.
3216 (bfin_load_pic_reg): Likewise.
3217 (bfin_rtx_costs): Make code / outer_code variables of type
3218 enum rtx_code, copied from re-named parameters.
3219 (bfin_local_alignment): Change align argument and return type
3221 (bfin_adjust_cost): Remove unused variable insn_type.
3222 Declare variables at start of block.
3223 (struct loop_info): Rename to...
3224 (struct loop_info_d).
3225 (workaround_rts_anomaly): Change type of icode to int.
3226 (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
3227 with int-typed variable.
3228 (note_np_check_stores): Likewise.
3229 (trapping_loads_p): Remove unused variable pat.
3230 (bfin_expand_binop_builtin): Use expand_normal.
3231 (bfin_expand_unop_builtin): Likewise.
3232 (bfin_expand_builtin): Likewise. Set tmode before use.
3235 * final.c (split_double): Don't use BITS_PER_WORD directly in
3239 * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
3243 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
3245 (xstormy16_function_arg): Dereference cum.
3246 (xstormy16_expand_builtin): Use expand_normal.
3247 Change type of omode to enum machine_mode.
3248 (combine_bnp): Rename and to and_insn.
3251 * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
3254 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
3257 * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
3259 2010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
3262 * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
3264 2010-11-11 Nathan Froyd <froydnj@codesourcery.com>
3267 * common.opt (fmax-errors=): New option.
3268 * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
3269 * diagnostic.h (struct diagnostic_context): Add max_errors field.
3270 * diagnostic.c (diagnostic_initialize): Initialize it.
3271 (diagnostic_action_after_output): Exit if more than max_errors
3273 * doc/invoke.texi (Warning Options): Add -fmax-errors.
3274 (-fmax-errors): Document.
3276 2010-11-11 Richard Henderson <rth@redhat.com>
3278 * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
3280 2010-11-11 Richard Henderson <rth@redhat.com>
3282 * config/fused-madd.opt: New file.
3283 * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
3284 * config/i386/i386.c (ix86_extra_costs): Handle FMA.
3285 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
3286 * config/i386/i386.opt (mfused-madd): Remove.
3287 * config/i386/sse.md (split_fma): Remove.
3288 (split_fms, split_fnma, split_fnms): Remove.
3290 2010-11-12 Jakub Jelinek <jakub@redhat.com>
3293 * config/i386/i386.md (*ashl<mode>3_cconly,
3294 *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
3295 change nonimmediate_operand predicate to register_operand.
3297 2010-11-11 Paolo Bonzini <bonzini@gnu.org>
3299 * Makefile.in (gengtype-lex.c): Include bconfig.h first.
3301 2010-11-11 Jan Hubicka <jh@suse.cz>
3303 * opts.c (finish_options): Do not error on -flto-partition alone.
3305 * doc/invoke.texi (-fwhopr): Merge into -flto section.
3306 (-flto-partition): Document none.
3307 * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
3308 * lto-wrapper.c: Update comment.
3309 (run_gcc): Update LTO option parsing.
3310 * opts.c (finish_options): add support -flto-partition=none
3311 (common_handle_option): Remove fwhopr.
3312 * common.opt: Turn fwhopr into flto.
3313 * collect2.c (main): Update option handling.
3314 * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
3315 * ipa-split.c (execute_split_functions): Remove flag_whopr.
3316 * ipa.c (function_and_variable_visibility): Remove flag_whopr.
3317 * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
3318 * varpool.c (decide_is_variable_needed): Remove flag_whopr.
3320 2010-11-11 Jan Hubicka <jh@suse.cz>
3322 PR tree-optimize/40436
3323 * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
3324 (eliminated_by_inlining_prob): ... this one; return 50% probability
3326 (estimate_function_body_sizes): Update use of
3327 eliminated_by_inlining_prob; estimate static function size
3330 2010-11-11 Joern Rennecke <amylaar@spamcop.net>
3333 * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
3334 declare. Change type of argument four to type int.
3335 (mep_secondary_input_reload_class): Returns enum reg_class.
3336 (mep_secondary_output_reload_class): Likewise.
3337 (mep_function_value): Change types of arguments to cont_tree.
3338 * config/mep/mep.c (mep_legitimize_reload_address): Change type of
3339 argument four to type int.
3340 (mep_secondary_input_reload_class): Returns enum reg_class.
3341 (mep_secondary_output_reload_class): Likewise.
3342 (mep_function_value): Change types of arguments to cont_tree.
3343 * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
3344 mep_regno_reg_class to enum reg_class.
3346 2010-11-11 Richard Henderson <rth@redhat.com>
3348 * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
3349 that the target has the exact fma operation that we matched.
3351 2010-11-11 Joseph Myers <joseph@codesourcery.com>
3353 * reginfo.c (fix_register): Avoid inserting English word in
3354 diagnostic sentence. Use %qs for quoting and %'.
3356 2010-11-11 H.J. Lu <hongjiu.lu@intel.com>
3358 * config/i386/driver-i386.c (host_detect_local_cpu): Support
3359 Intel processor family 6, model 0x2c.
3361 2010-11-11 Joseph Myers <joseph@codesourcery.com>
3363 * opts.c (warning_as_error_callback,
3364 register_warning_as_error_callback): Remove.
3365 (enable_warning_as_error): Don't use warning_as_error_callback.
3366 * opts.h (register_warning_as_error_callback): Remove.
3368 2010-11-11 Richard Henderson <rth@redhat.com>
3370 * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
3371 in between the MULT and the PLUS/MINUS.
3373 2010-11-11 Jakub Jelinek <jakub@redhat.com>
3376 * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
3377 BLKmode mode for it.
3378 (expand_expr_real_1): Similarly for op0.
3380 2010-11-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3382 * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
3383 Document optional target selector.
3385 2010-11-11 Dave Korn <dave.korn.cygwin@gmail.com>
3387 * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
3388 assembling high and low parts of size if not using 32-bit HWINT; else
3389 use DECL_SIZE_UNITS, not DECL_SIZE.
3391 2010-11-11 Martin Jambor <mjambor@suse.cz>
3393 PR tree-optimization/46383