OSDN Git Service

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