OSDN Git Service

* config/freebsd.opt (assert=, defsym=, profile, pthread,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-12-27  Joseph Myers  <joseph@codesourcery.com>
2
3         * config/freebsd.opt (assert=, defsym=, profile, pthread,
4         rpath-link=, rpath=, soname=): New Driver options.
5
6 2010-12-26  Martin Jambor  <mjambor@suse.cz>
7
8         * tree.c (get_binfo_at_offset): Use BINFO_TYPE instead of TREE_TYPE,
9         compare TYPE_MAIN_VARIANTs of types.
10
11 2010-12-26  Andreas Schwab  <schwab@linux-m68k.org>
12
13         * config/m68k/t-linux (M68K_MLIB_CPU): Only include 680x0 CPUs.
14
15 2010-12-24  Alexander Monakov  <amonakov@ispras.ru>
16
17         PR rtl-optimization/47036
18         * sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for
19         unconditional jumps.
20         * sel-sched.c (moveup_expr): Ditto.
21
22 2010-12-23  Sebastian Pop  <sebastian.pop@amd.com>
23             Richard Guenther  <rguenther@suse.de>
24
25         PR tree-optimization/46758
26         * graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use
27         tree_int_to_gmp instead of int_cst_value.
28         (scan_tree_for_params_int): Same.
29         (scan_tree_for_params): Same.
30         (pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree.
31
32 2010-12-23  Sebastian Pop  <sebastian.pop@amd.com>
33
34         PR tree-optimization/47002
35         * tree-data-ref.c (compute_data_dependences_for_loop): Pass in a
36         pointer to the loop_nest.
37         (analyze_all_data_dependences): Initialize and free the loop_nest.
38         (free_dependence_relations): Do not free loop_nest.
39         (build_rdg): Pass in the loop_nest, datarefs, and dependence_relations.
40         (free_rdg): Also free the data on edges.
41         * tree-data-ref.h (build_rdg): Update declaration.
42         (compute_data_dependences_for_loop): Same.
43         * tree-if-conv.c (if_convertible_loop_p_1): Pass in the loop_nest.
44         (if_convertible_loop_p): Allocate and free loop_nest.
45         * tree-loop-distribution.c (rdg_flag_loop_exits): Free conds.
46         (free_rdg_components): VEC_free components.
47         (distribute_loop): Update call to build_rdg.  Allocate and free
48         loop_nest, datarefs, and dependence_relations.
49         * tree-loop-linear.c (linear_transform_loops): Allocate and free
50         loop_nest.
51         * tree-parloops.c (loop_parallel_p): Same.
52         * tree-predcom.c (tree_predictive_commoning_loop): Same.
53         * tree-vect-data-refs.c (vect_analyze_data_refs): Pass to
54         compute_data_dependences_for_loop a pointer to LOOP_VINFO_LOOP_NEST.
55         * tree-vect-loop.c (new_loop_vec_info): Initialize LOOP_VINFO_LOOP_NEST.
56         (destroy_loop_vec_info): Free LOOP_VINFO_MAY_ALIAS_DDRS and
57         LOOP_VINFO_LOOP_NEST.
58         * tree-vect-slp.c (destroy_bb_vec_info): Call free_data_refs and
59         free_dependence_relations.
60         * tree-vectorizer.h (struct _loop_vec_info): Add a field loop_nest.
61         (LOOP_VINFO_LOOP_NEST): New.
62
63 2010-12-23  Martin Jambor  <mjambor@suse.cz>
64
65         * ipa.c (cgraph_remove_unreachable_nodes): Update former_clone_of even
66         when not checking.
67
68 2010-12-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
69
70         * configure.ac (gcc_cv_ld_eh_frame_hdr): Only check GNU ld for
71         --eh-frame-hdr.  Check for working Sun ld version.
72         (HAVE_LD_EH_FRAME_HDR): Adapt comment.
73         (glibc_header_dir): Set only once.  Rename to ...
74         (target_header_dir): ... this.  Adapt users.
75         (gcc_cv_target_dl_iterate_frame_hdr): Check on *-*-solaris2*.
76         (TARGET_DL_ITERATE_PHDR): Define if present.
77         * configure: Regenerate.
78         * config.in: Likewise.
79         * config/t-sol2 (LIB2ADDEH, LIB2ADDEHDEP): Define.
80         * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for recent Solaris 11
81         with linker support and dl_iterate_phdr.
82         * unwind-dw2-fde-glibc.c (USE_PT_GNU_EH_FRAME): Likewise.
83         (_Unwind_IteratePhdrCallback) [PT_SUNW_UNWIND]: Also accept
84         PT_SUNW_UNWIND .eh_frame_hdr sections.
85         [CRT_GET_RFIB_DATA && __i386__ && __sun__ && __svr4__]: Add
86         load_base to data->dbase.
87         [CRT_GET_RFIB_DATA && __x86_64__ && __sun__ && __svr4__]: Handle
88         64-bit Solaris 10+/x86.
89         * config/sol2-gld.h [TARGET_DL_ITERATE_PHDR && HAVE_LD_EH_FRAME_HDR]
90         (LINK_EH_SPEC): Define.
91
92 2010-12-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93
94         * doc/extend.texi (Function Attributes, Volatiles): Fix typos.
95         * doc/install.texi (Prerequisites, Specific): Likewise.
96         * doc/invoke.texi (C Dialect Options, Debugging Options)
97         (Optimize Options, MicroBlaze Options)
98         (RS/6000 and PowerPC Options, RX Options, Code Gen Options): Likewise.
99         * doc/objc.texi (Method signatures)
100         (Fast enumeration protocol): Likewise.
101         * doc/tm.texi.in (Run-time Target, Register Arguments)
102         (Scheduling, Macros for Initialization, Misc): Likewise.
103         * doc/tm.texi: Renerate.
104
105 2010-12-23  Nicola Pero  <nicola.pero@meta-innovation.com>
106
107         * doc/objc.texi (Modern GNU Objective-C runtime API): Mention that
108         reference documentation for functions in the API is in the header
109         files.
110         (Messaging with the GNU Objective-C runtime, Dynamically
111         registering methods, Forwarding hook): New sections.
112
113 2010-12-22  Sebastian Pop  <sebastian.pop@amd.com>
114
115         PR tree-optimization/47019
116         * sese.h (scev_analyzable_p): Parameters of a SCoP are SCEV analyzable.
117
118 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
119
120         * c-aux-info.c (gen_formal_list_for_type): Use prototype_p.
121         * c-decl.c (diagnose_arglist_conflict): Likewise.
122         (diagnose_mismatched_decls, merge_decls): Likewise.
123         (c_builtin_function, c_builtin_function_ext_scope): Likewise.
124         (start_decl, start_function): Likewise.
125         * c-tree.h (C_DECL_ISNT_PROTOTYPED): Likewise.
126         * config/ia64/ia64.h (INIT_CUMULATIVE_ARGS): Likewise.
127         * config/mep/mep.c (mep_validate_interrupt): Likewise.
128         * config/pa/pa.h (INIT_CUMULATIVE_ARGS): Likewise.
129         * config/rs6000/rs6000.c (init_cumulative_args): Likewise.
130         * config/sh/sh.c (sh_init_cumulative_args): Likewise.
131         * config/sparc/sparc.c (init_cumulative_args): Likewise.
132         * dwarf2out.c (add_prototyped_attribute): Likewise.
133         (gen_subprogram_die): Likewise.
134         * ipa-type-escape.c (check_function_parameter_and_return_types):
135         Likewise.
136         (check_call): Likewise.
137         * tree-ssa.c (useless_type_conversion_p): Likewise.
138
139 2010-12-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
140
141         * config/spu/spu.md ("mov<mode>"): Use nonimmediate_operand
142         predicate for destination operand.
143         * config/spu/spu.c (spu_expand_mov): If move destination is an
144         invalid subreg, perform move in the subreg's inner mode instead.
145
146 2010-12-22  Martin Jambor  <mjambor@suse.cz>
147
148         PR tree-optimization/45934
149         PR tree-optimization/46302
150         PR tree-optimization/46987
151         * gimple-fold.c (get_base_binfo_for_type): Removed.
152         (gimple_get_relevant_ref_binfo): Likewise.
153         (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality,
154         removed parameter inplace, updated the caller.
155         * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration.
156         * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants.
157         (ipcp_discover_new_direct_edges): Do not do devirtualization based on
158         constants.
159         * ipa-prop.c (compute_known_type_jump_func): Use
160         get_ref_base_and_extent and get_binfo_at_offset instead of
161         gimple_get_relevant_ref_binfo.
162         (compute_known_type_jump_func): Likewise.
163         (update_jump_functions_after_inlining): Do not derive types from
164         constants.
165         (try_make_edge_direct_virtual_call): Likewise.
166         * tree.c (get_binfo_at_offset): Get type from non-artificial fields.
167
168 2010-12-22  Joseph Myers  <joseph@codesourcery.com>
169
170         * config/svr4.h: Remove.
171         * system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison.
172         * config.gcc, config/bfin/bfin.h, config/cris/cris.h,
173         config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h,
174         config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h,
175         config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h,
176         config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h,
177         config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h,
178         config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h,
179         config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h,
180         config/v850/v850.h, config/vxworks.h: Remove or update comments
181         referring to svr4.h.
182
183 2010-12-22  Andrey Belevantsev  <abel@ispras.ru>
184
185         PR rtl-optimization/45352
186         PR rtl-optimization/46521
187         PR rtl-optimization/46522
188         * sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the
189         DFA state on the last iteration of the advancing loop.
190         (sel_sched_region_1): Propagate the rescheduling bit to the next
191         block also for empty blocks.
192
193 2010-12-22  Alexandre Oliva  <aoliva@redhat.com>
194
195         PR debug/46724
196         * function.c (assign_parms_augmented_arg_list): Name and mark
197         DECL of result address as NAMELESS rather than IGNORED.
198         (assign_parms): Set DECL_VALUE_EXPR for indirect result.
199         * tree.h (tree_decl_common::decl_flag_2): Document RESULT_DECL.
200         (DECL_HAS_VALUE_EXPR_P): Accept RESULT_DECL.
201         * dwarf2out.c (loc_list_from_tree) <RESULT_DECL>: Use
202         DECL_VALUE_EXPR.
203         * dbxout.c (dbxout_expand_expr) <RESULT_DECL>: Likewise.
204         * var-tracking.c (vt_add_function_parameter): New, split out of...
205         (vt_add_function_parameters): ... this.  Handle incoming
206         pointer to hold result.
207
208 2010-12-22  Jie Zhang  <jie@codesourcery.com>
209
210         * config/arm/arm.c (output_move_double): Update the comment
211         above the function to reflect the current implementation.
212
213 2010-12-21  Steven Bosscher  <steven@gcc.gnu.org>
214
215         De-hookize profile infrastructure.
216         * value-prof.c (value_prof_hooks): Remove.
217         (struct value_prof_hooks): Remove.
218         (gimple_value_prof_hooks): Remove.
219         (gimple_register_value_prof_hooks): Remove.
220         (find_values_to_profile): Remove.
221         (value_profile_transformations): Remove.
222         (gimple_value_profile_transformations): No longer static.
223         (gimple_find_values_to_profile): Likewise.
224         * value-prof.h (gimple_register_value_prof_hooks): Remove prototype.
225         (find_values_to_profile): Likewise.
226         (value_profile_transformations): Likewise.
227         (tree_register_profile_hooks): Likewise.
228         (struct profile_hooks): Remove.
229         (tree_profile_hooks): Remove.
230         (gimple_find_values_to_profile): New protoype.
231         (gimple_value_profile_transformations): Likewise.
232         (gimple_init_edge_profiler): Likewise.
233         (gimple_gen_edge_profiler): Likewise.
234         (gimple_gen_interval_profiler): Likewise.
235         (gimple_gen_pow2_profiler): Likewise.
236         (gimple_gen_one_value_profiler): Likewise.
237         (gimple_gen_ic_profiler): Likewise.
238         (gimple_gen_ic_func_profiler): Likewise.
239         (gimple_gen_const_delta_profiler): Likewise.
240         (gimple_gen_average_profiler): Likewise.
241         (gimple_gen_ior_profiler): Likewise.
242         * profile.c (profile_hooks): Remove.
243         (instrument_edges): Call profiling functions directly instead
244         of through removed profile_hooks.
245         (instrument_values): Likewise.
246         (branch_prob): Call gimple_find_values_to_profile instead of
247         removed find_values_to_profile.
248         Call gimple_init_edge_profiler instead of removed hook.
249         (tree_register_profile_hooks): Remove.
250         * tree-profile.c (tree_init_ic_make_global_vars): Rename to
251         init_ic_make_global_vars.
252         (tree_init_edge_profiler): Rename to gimple_init_edge_profiler
253         and no longer static.
254         (tree_gen_edge_profiler, tree_gen_interval_profiler,
255         tree_gen_pow2_profiler, tree_gen_one_value_profiler,
256         tree_gen_ic_profiler, tree_gen_ic_func_profiler,
257         tree_gen_const_delta_profiler, tree_gen_average_profiler,
258         tree_gen_ior_profiler): Similarly renamed and no longer static.
259         (tree_profiling): Do not initialize tree profiling hooks.
260         (tree_profile_hooks): Remove.
261
262 2010-12-21  Jakub Jelinek  <jakub@redhat.com>
263
264         PR target/46880
265         * config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source
266         operand.
267
268 2010-12-21  Ira Rosen  <irar@il.ibm.com>
269
270         PR tree-optimization/47001
271         * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
272         the loads in reduction are different and there are no gaps between
273         them.
274
275 2010-12-21  Steven Bosscher  <steven@gcc.gnu.org>
276
277         PR middle-end/45310
278         * tree-ssa-phiprop.c (propagate_with_phi): Remove statement
279         completely from the function, including EH traces.
280
281 2010-12-21  Steven Bosscher  <steven@gcc.gnu.org>
282
283         PR rtl-optimization/46755
284         * ira.c (ira): If some dead edges were removed, find and delete
285         any blocks that might have become unreachable.
286
287 2010-12-21  Jakub Jelinek  <jakub@redhat.com>
288
289         PR rtl-optimization/47008
290         * postreload.c (reload_combine_note_store): Also handle
291         PRE_MODIFY and POST_MODIFY.
292
293 2010-12-21  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
294
295         * config/arm/arm.c (require_pic_register): Set INSN_LOCATOR for all
296         instructions injected into the prologue to prologue_locator.
297
298 2010-12-21  Jan Hubicka   <jh@suse.cz>
299
300         PR middle-end/47000
301         * tree-inline.c (estimate_operator_cost): Handle VIEW_CONVERT_EXPR.
302
303 2010-12-21  Jie Zhang  <jie@codesourcery.com>
304
305         * config/arm/arm-ldmstm.ml: Fix a typo in comment.
306
307 2010-12-21  Jakub Jelinek  <jakub@redhat.com>
308
309         PR middle-end/45852
310         * expr.c (store_expr): Ignore alt_rtl if equal to target,
311         but has side-effects.
312
313 2010-12-21  Anatoly Sokolov  <aesok@post.ru>
314
315         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Remove.
316         * config/sh/sh-protos.h (secondary_reload_info, sh_secondary_reload):
317         Remove forward declaration.
318         * config/sh/sh.c (sh_preferred_reload_class): New function.
319         (sh_secondary_reload): Make static.
320         (TARGET_PREFERRED_RELOAD_CLASS): Define.
321
322 2010-12-20  Joseph Myers  <joseph@codesourcery.com>
323
324         * config/alpha/linux.h (OPTION_GLIBC): Define differently if
325         SINGLE_LIBC.
326         * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC):
327         Define differently if SINGLE_LIBC.
328         * config/rs6000/linux.h (OPTION_GLIBC): Define differently if
329         SINGLE_LIBC.
330         * config/rs6000/linux64.h (OPTION_GLIBC): Define differently if
331         SINGLE_LIBC.
332         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
333         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Define
334         SINGLE_LIBC instead of OPTION_GLIBC.
335         (*-*-uclinux*): Define DEFAULT_LIBC and SINGLE_LIBC.
336         (bfin*-uclinux*, moxie-*-uclinux*, m68k-*-uclinux*): Don't define
337         DEFAULT_LIBC or use linux.opt.
338
339 2010-12-20  Richard Henderson  <rth@redhat.com>
340
341         * config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Generate
342         UNSPEC patterns by hand, with the proper mode; use gen_const_mem.
343         * config/mn10300/mn10300.md (call, call_value): Generate UNSPEC_PLT
344         by hand, with the proper mode.
345         (symGOT2reg, symGOT2reg_i, symGOTOFF2reg): Remove.
346         (symGOTOFF2reg_i, sym2PIC, sym2PLT): Remove.
347
348 2010-12-20  Sanjin Liu  <scliu@faraday-tech.com>
349             Mingfeng Wu  <mingfeng@faraday-tech.com>
350
351         * config/arm/arm-cores.def: Add Faraday CPU support -
352         fa526/fa626/fa606te/fa626te/fmp626/fa726te.
353         * config/arm/arm-tune.md: Regenerate.
354         * config/arm/arm.c (arm_fa726te_tune): New tune_params for fa726te
355         (fa726te_sched_adjust_cost): New cost function for fa726te.
356         (arm_issue_rate): Add fa726te.
357         * config/arm/arm.md (generic_sched): Add Faraday cores to generic_sched
358         and include machine description files.
359         * config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Add fa526 and fa626.
360         * config/arm/t-arm (MD_INCLUDES): Include machine description files for
361         Faraday cores.
362         * config/arm/t-arm-elf: Add multilib option for Faraday cores.
363         * config/arm/t-linux-eabi: Add multilib option for Faraday cores except
364         fa526 and fa626.
365         * doc/invoke.texi: Document -mcpu for Faraday cores.
366         * config/arm/fa526.md: New file.
367         * config/arm/fa606te.md: New file.
368         * config/arm/fa626te.md: New file.
369         * config/arm/fmp626.md: New file.
370         * config/arm/fa726te.md: New file.
371
372 2010-12-20  Yvan Roux  <yvan.roux@st.com>
373
374         * config/arm/lib1funcs.asm (ARM_DIV_BODY case __OPTIMIZE_SIZE__): Fix
375         condition on IT instruction for early termination.
376
377 2010-12-20  Joseph Myers  <joseph@codesourcery.com>
378
379         * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't define.
380         (DBX_REGISTER_NUMBER): Define.
381         * config/rs6000/lynx.h (DBX_REGISTER_NUMBER): Define.
382         * config/rs6000/netbsd.h (DBX_REGISTER_NUMBER): Define.
383         * config/rs6000/sysv4.h (SIZE_TYPE): Define.
384         (ASM_SPEC): Define without using SVR4_ASM_SPEC.
385         (DBX_REGISTER_NUMBER): Undefine.
386         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
387         powerpc-*-eabisim*, powerpc-*-elf*, powerpc-*-eabialtivec*,
388         powerpc-xilinx-eabi*, powerpc-*-eabi*, powerpc-*-rtems*,
389         powerpc-*-linux* | powerpc64-*-linux*, powerpc64-*-gnu*,
390         powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
391         powerpc-wrs-vxworks|powerpc-wrs-vxworksae, powerpcle-*-elf*,
392         powerpcle-*-eabisim*, powerpcle-*-eabi*): Don't use svr4.h.
393
394 2010-12-20  Iain Sandoe  <iains@gcc.gnu.org>
395             Jan Hubicka  <jh@suse.cz>
396
397         PR middle-end/46916
398         * opts.c (finish_options): Enable -freorder-functions
399         when -freorder-blocks-and-partition is active.
400
401 2010-12-20  Iain Sandoe  <iains@gcc.gnu.org>
402
403         PR c++/46904
404         PR middle-end/46916
405         PR target/46950
406         * config/darwin.c (generating_for_darwin_version): New var.
407         (darwin_text_section): Remove.
408         (darwin_rodata_section): Do not check function section here.
409         (darwin_emit_unwind_label): Do not emit for Darwin >= 9.
410         Emit distinct labels for successive calls for the same decl.
411         (darwin_override_options): Set generating_for_darwin_version.
412         Add FIXME and disable -freorder-blocks-and-partition.
413         Suppress automatic asynchronous unwind tables for m32.
414         Switch off -freorder-blocks-and-partition when unwind tables
415         will be generated.  Update to use generating_for_darwin_version.
416         (darwin_function_section): Check for cases that need to be placed
417         in coalesced sections.
418         * config/darwin-sections.def: Define hot, cold, startup and
419         exit sections for both coalesced and regular code.
420         * config/darwin.h (USE_SELECT_SECTION_FOR_FUNCTIONS): Delete.
421         * config/darwin10.h (TARGET_ASM_EMIT_UNWIND_LABEL): Delete.
422
423 2010-12-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
424
425         * doc/cppopts.texi: Use @var when appropriate.
426         * doc/extend.texi (Structure-Packing Pragmas): Likewise.
427         * doc/gimple.texi (Logical Operators)
428         (Adding a new GIMPLE statement code): Likewise.
429         * doc/invoke.texi (Target Options, Precompiled Headers): Likewise.
430         * doc/plugins.texi (Plugins): Likewise.
431
432         * doc/install.texi (Configuration, Building, Testing, Specific):
433         Remove leading whitespace from examples.
434
435 2010-12-19  Andi Kleen  <ak@linux.intel.com>
436
437         PR lto/46905
438         * collect2.c (main): Handle -fno-lto.
439         * opts.c (common_handle_option): Handle -fno-lto.
440
441 2010-12-19  Eric Botcazou  <ebotcazou@adacore.com>
442
443         PR target/46729
444         * config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro.
445         (PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro.
446         * config/sparc/sparc.c (pic_helper_needed): Delete.
447         (global_offset_table): Likewise.
448         (pic_helper_symbol): Rename to...
449         (got_helper_rtx): ...this.
450         (global_offset_table_rtx): New global variable.
451         (sparc_got_symbol): Likewise.
452         (sparc_got): New static function.
453         (check_pic): Use local variable and call sparc_got.
454         (sparc_tls_symbol): Initialize to NULL_RTX.
455         (sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS
456         and 32-bit ABI and copy the GOT symbol to a new register otherwise.
457         (get_pc_thunk_name): Rename local variable.
458         (gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}.
459         (load_pic_register): Rename to...
460         (load_got_register): ...this.  Adjust and call gen_load_pcrel_sym.
461         (sparc_expand_prologue): Do not test flag_pic.
462         (sparc_output_mi_thunk): Use pic_offset_table_rtx directly.
463         (sparc_file_end): Test got_helper_rtx instead of pic_helper_needed.
464         Rename local variable and do not call get_pc_thunk_name again.
465         * config/sparc/sparc.md (load_pcrel_sym): Add operand #3.
466
467 2010-12-19  Dave Korn  <dave.korn.cygwin@gmail.com>
468
469         PR middle-end/46674
470         PR middle-end/46221
471         * varasm.c (symbol_alias_set_t): New typedef for derived pointer_set
472         wrapper class.
473         (symbol_alias_set_create): New wrapper function.
474         (symbol_alias_set_destroy): Likewise.
475         (symbol_alias_set_contains): Likewise.
476         (symbol_alias_set_insert): Likewise.
477         (compute_visible_aliases): Use the above and return symbol_alias_set_t,
478         not a pointer_set.
479         (remove_unreachable_alias_pairs): Adjust likewise to match.
480         (finish_aliases_1): Likewise.
481
482 2010-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
483
484         * config/arm/arm.c (arm_legitimate_index_p): Add VFP load/store
485         index range case. Change to SF/DFmode tests to avoid capturing HFmode.
486         (thumb2_legitimate_index_p): Same.
487
488 2010-12-18  Jakub Jelinek  <jakub@redhat.com>
489
490         PR tree-optimization/46969
491         * tree-parloops.c (struct reduction_info): Add reduc_version.
492         (reduction_info_hash): Return reduc_version field.
493         (reduction_phi): Set reduc_version to gimple_uid (phi).
494         (build_new_reduction): Set reduc_version to SSA_NAME_VERSION of
495         phi result.
496         (set_reduc_phi_uids): New function.
497         (gather_scalar_reductions): Call it at the end through htab_traverse.
498
499 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
500
501         * c-parser.c (c_parser_objc_try_catch_finally_statement): Call
502         objc_maybe_warn_exceptions.
503         (c_parser_objc_synchronized_statement): Call
504         objc_maybe_warn_exceptions.
505
506 2010-12-18  Jakub Jelinek  <jakub@redhat.com>
507
508         PR tree-optimization/46985
509         * tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL,
510         return it immediately.
511
512 2010-12-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
513
514         PR target/46915
515         * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
516         of next_real_insn.  Search forward checking for both ASM_INPUT and
517         ASM_OPERANDS asms until exit condition is found.
518         (branch_needs_nop_p): Likewise.
519         (use_skip_p): New function.
520         (output_cbranch): Use use_skip_p.
521         (output_bb, output_bvb): Likewise.
522
523 2010-12-18  Kai Tietz  <kai.tietz@onevision.com>
524
525         PR target/36834
526         * config/i386/i386.c (ix86_keep_aggregate_return_pointer):
527         New local function.
528         (ix86_return_pops_args): Use ix86_keep_aggregate_return_pointer
529         function instead of KEEP_AGGREGATE_RETURN_POINTER.
530         (ix86_handle_callee_pop_aggregate_return): New handler.
531         (ix86_attribute_table): Add new attribute
532         callee_pop_aggregate_return.
533         * doc/extend.texi (callee_pop_aggregate_return): Add
534         attribute documentation.
535
536 2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
537
538         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS):
539         Only set sjlj exceptions for NeXT/m32.
540
541 2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
542
543         * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION):
544         Only expose when not building for target.
545
546 2010-12-17  Joseph Myers  <joseph@codesourcery.com>
547
548         * config/netbsd.opt, config/netbsd-elf.opt: New files.
549         * config.gcc (alpha*-*-netbsd*, arm*-*-netbsdelf*, arm*-*-netbsd*,
550         i[34567]86-*-netbsdelf*, i[34567]86-*-netbsd*, x86_64-*-netbsd*,
551         m68k*-*-netbsdelf*, mips*-*-netbsd*, powerpc-*-netbsd*,
552         sh*-*-netbsd*, sparc-*-netbsdelf*, sparc64-*-netbsd*,
553         vax-*-netbsdelf*, vax-*-netbsd*): Use these .opt files.
554
555 2010-12-17  Richard Henderson  <rth@redhat.com>
556
557         * regcprop.c (find_oldest_value_reg): Continue search instead of
558         failing if an element in the copy chain is of the wrong regclass.
559
560 2010-12-17  Paolo Bonzini  <bonzini@gnu.org>
561
562         PR c/20385
563         * function.c (used_types_insert): Handle ERROR_MARK.
564         * c-decl.c (grokdeclarator): Handle ERROR_MARK.
565         (declspecs_add_type): Leave error_mark_node in specs->type.
566         (finish_declspecs): Change it to integer_type_node here.
567         * c-parser.c (c_parser_peek_2nd_token): Move earlier.
568         (enum c_lookahead_kind): New.
569         (c_parser_next_token_starts_typename): New name of
570         c_parser_next_tokens_start_typename.  Accept lookahead enum
571         and handle it here instead of...
572         (c_parser_next_tokens_start_declaration): ... here.  Call it.
573         (c_parser_declspecs): Accept another argument.  Do not exit
574         on C_ID_ID if it is guessed to be an unknown typename.
575         (c_parser_parms_declarator): Use 2nd token to distinguish a K&R
576         declaration from an ANSI declaration starting with an unknown
577         typename.
578         (c_parser_struct_declaration, c_parser_objc_type_name,
579         c_parser_typeof_specifier, c_parser_declarator,
580         c_parser_direct_declarator_inner): Adjust calls.
581         (c_parser_parameter_declaration): Likewise.
582         (c_parser_type_name): Pass back an error_mark_node to the caller.
583         (c_parser_postfix_expression): Do error recovery when
584         c_parser_type_name returns NULL.
585
586 2010-12-17  Joseph Myers  <joseph@codesourcery.com>
587
588         * config/i386/netware.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE): Define.
589         * config/i386/nto.h (LIB_SPEC, ASM_SPEC): Define.
590         (DBX_REGISTER_NUMBER): Undefine.
591         * config/i386/sol2.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
592         * config/i386/vxworksae.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE):
593         Define.
594         * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
595         i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
596         i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
597         x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
598         i[3456x]86-*-netware*, i[34567]86-*-nto-qnx*,
599         i[34567]86-*-solaris2*,
600         i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae): Don't use svr4.h.
601
602 2010-12-17  H.J. Lu  <hongjiu.lu@intel.com>
603
604         * config/i386/i386.c (move_or_delete_vzeroupper_2): Replace
605         "BB [%i]" with "[bb %i]" in dump.
606         (move_or_delete_vzeroupper_1): Likewise.
607         (rescan_move_or_delete_vzeroupper): Likewise.  Always dump
608         upper 128bit state at exit.
609
610 2010-12-17  Joseph Myers  <joseph@codesourcery.com>
611
612         * config/interix.opt: New.
613         * config/interix.h (LINK_SPEC): Don't handle -soname*.
614         * config.gcc (i[34567]86-*-interix3*): Use interix.opt.
615
616 2010-12-17  Andrew Stubbs  <ams@codesourcery.com>
617
618         * config/arm/arm.md (maddhisi4, *maddhidi4): Use the canonical
619         operand order for plus.
620         Drop redundant % from constraints.
621
622 2010-12-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
623
624         * config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and
625         _floatunstisf.
626         * config/spu/spu.md ("floattisf2"): New expander.
627         ("floatunstisf2"): New insn pattern and splitter.
628         ("cgt_ti_m1"): New insn pattern.
629
630 2010-12-17  Bernd Schmidt  <bernds@codesourcery.com>
631
632         * config/arm/arm.c (arm_select_cc_mode): Before calling
633         arm_select_dominance_cc_mode for AND or IOR operations, ensure
634         that op is NE or EQ.
635
636 2010-12-17  Alexander Monakov  <amonakov@ispras.ru>
637
638         PR middle-end/46761
639         * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Prefer
640         to use unadjusted UB.
641
642 2010-12-17  Dodji Seketeli  <dodji@redhat.com>
643
644         * dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug
645         info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use
646         that underlying type instead.
647
648 2010-12-16  Jan Hubicka  <jh@suse.cz>
649
650         PR middle-end/44563
651         * ipa-inline.c: Update doplevel comment.
652         (cgraph_estimate_size_after_inlining): Remove times attribute.
653         (cgraph_mark_inline_edge): Update.
654         (cgraph_mark_inline): Remove.
655         (cgraph_estimate_growth): Update.
656         (cgraph_check_inline_limits): Remove one only argument.
657         (cgraph_edge_badness): Update.
658         (cgraph_decide_recursive_inlining): Update.
659         (cgraph_decide_inlining_of_small_function): Fix handling of
660         tree_can_inline_p  and call_stmt_cannot_inline_p.
661         (cgraph_flatten): Likewise.
662         (cgraph_decide_inlining): Update.
663         (cgraph_decide_inlining_incrementally): Fix handling of
664         call_stmt_cannot_inline_p.
665
666 2010-12-16  Joseph Myers  <joseph@codesourcery.com>
667
668         * config/darwin.opt (dylinker, headerpad_max_install_names,
669         keep_private_externs, nofixprebinding, nomultidefs, noprebind,
670         noseglinkedit, object, prebind, prebind_all_twolevel_modules,
671         preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
672         twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
673         Driver options.
674         * config/darwin.h (LINK_SPEC): Remove '*' after
675         headerpad_max_install_names.
676
677 2010-12-16  Sebastian Pop  <sebastian.pop@amd.com>
678
679         PR tree-optimization/46924
680         * graphite-sese-to-poly.c (detect_commutative_reduction): Do not
681         detect reductions outside the current SESE region.
682         * sese.h (stmt_in_sese_p): New.
683         (defined_in_sese_p): Call stmt_in_sese_p.
684
685 2010-12-16  Jakub Jelinek  <jakub@redhat.com>
686
687         PR tree-optimization/46966
688         * graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
689         for bbs that are removed from SCOP_BBS vector.
690
691 2010-12-16  Eric Botcazou  <ebotcazou@adacore.com>
692
693         * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
694         get_ref_base_and_extent returns -1 as the max size.
695
696 2010-12-16  Konrad Eisele  <konrad@gaisler.com>
697             Eric Botcazou  <ebotcazou@adacore.com>
698
699         Support for LEON processor
700         * config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
701         (sparc-*-linux*): Likewise.
702         (sparc-*-rtems*): Remove Solaris left-overs.
703         (sparc*-*-*): Remove obsolete sparc86x setting.
704         (sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
705         * doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
706         * config/sparc/sparc.h (TARGET_CPU_leon): Define.
707         (TARGET_CPU_sparc86x): Delete.
708         (TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
709         (TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
710         (TARGET_CPU_f934): Likewise.
711         (TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
712         (CPP_CPU_SPEC): Add entry for -mcpu=leon.
713         (enum processor_type): Add PROCESSOR_LEON.  Reorganize.
714         * config/sparc/sparc.c (leon_costs): New cost array.
715         (sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
716         Initialize cost array to leon_costs if -mtune=leon.
717         * config/sparc/sparc.md (cpu attribute): Add leon.  Reorganize.
718         Include leon.md scheduling description.
719         * config/sparc/leon.md: New file.
720         * config/sparc/t-elf: Do not assemble Solaris startup files.
721         * config/sparc/t-leon: New file.
722         * config/sparc/t-leon3: Likewise.
723
724 2010-12-16  Jakub Jelinek  <jakub@redhat.com>
725
726         PR tree-optimization/43655
727         * tree-ssa-ter.c (is_replaceable_p): Don't use
728         gimple_references_memory_p for -O0, instead check for load
729         by looking at rhs.
730
731 2010-12-16  Sebastian Pop  <sebastian.pop@amd.com>
732
733         PR tree-optimization/46404
734         * graphite-clast-to-gimple.c (gloog): Call scev_reset.
735
736 2010-12-16  Anatoly Sokolov  <aesok@post.ru>
737
738         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
739         * config/sh/sh.c (sh_asm_output_addr_const_extra): New function.
740         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
741
742 2010-12-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
743
744         * config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
745         * config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
746         (LIBGCC2_UNITS_PER_WORD): Define if not already defined.
747
748 2010-12-16  Jakub Jelinek  <jakub@redhat.com>
749
750         PR debug/46893
751         * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode,
752         use TYPE_MODE (TREE_TYPE (tem)) instead of mode1.
753
754 2010-12-16  Chung-Lin Tang  <cltang@codesourcery.com>
755
756         PR target/46883
757         * config/arm/arm.md
758         (zero_extendhisi2 for register input splitter): Change
759         "register_operand" to "s_register_operand".
760         (zero_extendqisi2 for register input splitter): Same.
761
762 2010-12-16  Jan Hubicka  <jh@suse.cz>
763
764         PR middle-end/46939
765         * predic.c (predict_paths_leading_to_edge): New function.
766         (apply_return_prediction): Use it.
767         (predict_paths_for_bb): Do not special case abnormals.
768
769 2010-12-16  Joseph Myers  <joseph@codesourcery.com>
770
771         * config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to
772         extra_options twice.
773
774 2010-12-15  Joseph Myers  <joseph@codesourcery.com>
775
776         * doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
777         * doc/tm.texi: Regenerate.
778         * system.h (US_SOFTWARE_GOFAST): Poison.
779         * config.gcc (enable_gofast): Don't handle.
780         * config/gofast.h: Remove.
781         * config/mips/t-gofast: Remove.
782         * config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
783         * config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
784         * config/mips/elforion.h: Don't mention GOFAST in comment.
785         * config/mips/mips.c: Don't include gofast.h.
786         (mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
787         * config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
788         US_SOFTWARE_GOFAST.
789         * config/sparc/sparc.c: Don't include gofast.h.
790         (sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
791         * config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
792         US_SOFTWARE_GOFAST.
793
794 2010-12-14  Jan Hubicka  <jh@suse.cz>
795
796         * config/darwin.opt (dylinker, headerpad_max_install_names,
797         keep_private_externs, nofixprebinding, nomultidefs, noprebind,
798         noseglinkedit, object, prebind, prebind_all_twolevel_modules,
799         preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
800         twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
801         Driver options.
802         * config/darwin.h (LINK_SPEC): Remove '*' after
803         headerpad_max_install_names.
804
805 2010-12-14  Jan Hubicka  <jh@suse.cz>
806
807         * tree.c (get_file_function_name): Avoid using random seed on
808         GLOBAL_sub_I and GLOBAL_sub_D.
809
810 2010-12-15  Martin Jambor  <mjambor@suse.cz>
811
812         PR tree-optimization/46053
813         PR middle-end/46287
814         PR middle-end/46242
815         * cgraph.h (cgraph_indirect_call_info): New field thunk_delta.
816         * gimple.h (gimple_fold_obj_type_ref): Declaration removed.
817         (gimple_fold_call): Declare.
818         (gimple_adjust_this_by_delta): Likewise.
819         * cgraph.c (cgraph_make_edge_direct): New parameter delta.  Updated
820         all users.
821         (cgraph_clone_edge): Create a copy of indirect_info also for direct
822         edges.
823         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this
824         parameters.
825         * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to
826         gimple_get_virt_mehtod_for_binfo, new parameter delta.  Do not search
827         through thunks, in fact bail out if we encounter one, check that
828         BINFO_VIRTUALS is not NULL.
829         (gimple_adjust_this_by_delta): New function.
830         (gimple_fold_obj_type_ref): Removed.
831         (gimple_fold_obj_type_ref_call): New function.
832         (fold_gimple_call): Renamed to gimple_fold_call, made external.
833         Updated users.  Call gimple_fold_obj_type_ref_call instead of
834         gimple_fold_obj_type_ref.
835         * ipa-cp.c (ipcp_process_devirtualization_opportunities): Process
836         thunk deltas.
837         (ipcp_discover_new_direct_edges): Likewise.
838         * ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta.
839         Updated callers.
840         (ipa_write_indirect_edge_info): Stream thunk_delta.
841         (ipa_read_indirect_edge_info): Likewise.
842         * tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of
843         gimple_fold_obj_type_ref.
844
845 2010-12-15  Alexander Monakov  <amonakov@ispras.ru>
846
847         PR rtl-optimization/46649
848         * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
849         basic block in the region.
850
851 2010-12-15  Joseph Myers  <joseph@codesourcery.com>
852
853         * config/stormy16/stormy16.h (LINK_SPEC, WCHAR_TYPE): Define.
854         * config.gcc (xstormy16-*-elf): Don't use svr4.h.
855
856 2010-12-15  Joseph Myers  <joseph@codesourcery.com>
857
858         * config/rx/rx.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
859         * config.gcc (rx-*-elf*): Don't use svr4.h.
860
861 2010-12-14  Sebastian Pop  <sebastian.pop@amd.com>
862
863         PR tree-optimization/46845
864         * sese.c (scalar_evolution_in_region): Handle scop parameters
865         before scev analysis.
866
867 2010-12-14  Sebastian Pop  <sebastian.pop@amd.com>
868
869         PR tree-optimization/46928
870         * tree-data-ref.c (analyze_overlapping_iterations): Handle A[p] == A[p]
871         in data dependence analysis with p a parameter of the loop.
872
873 2010-12-14  Sebastian Pop  <sebastian.pop@amd.com>
874
875         PR tree-optimization/45948
876         * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
877         (stmt_has_scalar_dependences_outside_loop): New.
878         (stmt_generated_in_another_partition): New.
879         (add_scalar_computations_to_partition): New.
880         (rdg_build_partitions): Call add_scalar_computations_to_partition.
881
882 2010-12-14  Joseph Myers  <joseph@codesourcery.com>
883
884         * config/arc/arc.h (LIB_SPEC): Define.
885         * config.gcc (arc-*-elf*): Don't use svr4.h.
886
887 2010-12-14  Joseph Myers  <joseph@codesourcery.com>
888
889         * config/sh/elf.h (LIB_SPEC): Define.
890         * config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* |
891         sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* |
892         sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* |
893         sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*,
894         sh-wrs-vxworks): Don't use svr4.h.
895
896 2010-12-14  Jan Hubicka  <jh@suse.cz>
897
898         PR lto/46940
899         PR lto/44463
900         * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
901         for aliases when they are used.
902
903 2010-12-14  Joseph Myers  <joseph@codesourcery.com>
904
905         * config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*,
906         sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks,
907         sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*,
908         sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h.
909
910 2010-12-14  Thomas Klein  <th.r.klein@web.de>
911
912         * config/arm/arm.c (arm_expand_prologue): Report the static stack
913         size if -fstack-usage is used.
914         (thumb1_expand_prologue): Likewise.
915
916 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
917
918         PR debug/46885
919         * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb
920         instead of gsi_last_nondebug_bb if bump_in_latch.
921
922         PR tree-optimization/46909
923         * gimple-fold.c (and_var_with_comparison_1): Save partial
924         result even in the is_and case, if both partial results
925         are the same, return it.
926         (or_var_with_comparison_1): Use is_or predicate instead of
927         innercode == TRUTH_OR_EXPR test.  Save partial result
928         even in the is_or case, if both partial results are the
929         same, return it.  In the !is_or case when both partial
930         results are the same, return the partial result instead
931         of boolean_true_node.
932
933 2010-12-14  Jan Hubicka  <jh@suse.cz>
934
935         PR middle-end/46667
936         * varasm.c (assemble_start_function): Do not call
937         resolve_unique_section.
938         * cfgexpand.c (gimple_expand_cfg): Resolve it here.
939
940 2010-12-14  Alexander Monakov  <amonakov@ispras.ru>
941
942         PR rtl-optimization/46875
943         * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
944         * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.
945
946 2010-12-14  Kaushik Phatak <kaushik.phatak@kpitcummins.com>
947
948         * config/h8300/h8300.md (define_split) : Add condition for
949         "and with single_zero" splitter to handle 16-bit const operands.
950         * config/h8300/h8300.md (define_split) : Add condition for
951         "ior with single_one" splitter to handle 16-bit const operands.
952         * config/h8300/h8300.md (define_split) : Add condition for
953         "xor with single_one" splitter to handle 16-bit const operands.
954         * testsuite/gcc.dg/h8300-bit-insn-ice.c: New.
955
956 2010-12-13  Jan Hubicka  <jh@suse.cz>
957
958         PR middle-end/45388
959         * ipa.c (cgraph_build_static_cdtor_1): Break out from ...  Add FINAL
960         parameter.
961         (cgraph_build_static_cdtor): ... here.
962         (build_cdtor): Use cgraph_build_static_cdtor_1.
963
964 2010-12-13  Joseph Myers  <joseph@codesourcery.com>
965
966         * config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
967         PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
968         * config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.
969
970 2010-12-14  Bernd Schmidt  <bernds@codesourcery.com>
971
972         PR rtl-optimization/44374
973         Reapply patch with fixes.
974         * basic-block.h (enum bb_flags): Add BB_MODIFIED.
975         * df-core.c (df_set_bb_dirty): Set it.
976         * ifcvt.c (find_memory): Remove function.
977         (dead_or_predicable): Use can_move_insns_across.
978         * df.h (can_move_insns_across): Declare function.
979         * cfgcleanup.c (block_was_dirty): New static variable.
980         (flow_find_head_matching_sequence): Test for epilogue notes.
981         (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
982         than df_get_bb_dirty.
983         (try_head_merge_bb): New static function.
984         (try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
985         is set.
986         * df-problems.c: Include "target.h"
987         (df_simulate_find_uses): New static function.
988         (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
989         (find_memory, find_memory_store): New static functions.
990         (can_move_insns_across): New function.
991         * Makefile.in (df-problems.o): Update dependencies.
992
993 2010-12-13  Joseph Myers  <joseph@codesourcery.com>
994
995         * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
996         (DBX_REGISTER_NUMBER): Undefine.
997         * config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
998         (DBX_REGISTER_NUMBER): Undefine.
999         * config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.
1000
1001 2010-12-13  Jack Howarth <howarth@bromo.med.uc.edu>
1002             Joseph Myers <joseph@codesourcery.com>
1003
1004         PR bootstrap/46650
1005         * system.h: Include cstring for cxx bootstrap.
1006
1007 2010-12-13  Jakub Jelinek  <jakub@redhat.com>
1008
1009         PR lto/46879
1010         * lto-streamer-out.c (output_gimple_stmt): Never replace first
1011         GIMPLE_DEBUG argument with MEM_REF.
1012
1013         PR debug/46867
1014         * var-tracking.c (emitted_notes, string_pointer_flags): Removed.
1015         (emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification.
1016         (vt_emit_notes): Don't initialize and destroy emitted_notes.
1017
1018 2010-12-13  Nathan Froyd  <froydnj@codesourcery.com>
1019
1020         PR target/46040
1021         * config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
1022         (arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
1023
1024 2010-12-13  Joseph Myers  <joseph@codesourcery.com>
1025
1026         * config/v850/v850.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1027         WCHAR_TYPE_SIZE): Define.
1028         * config.gcc (v850e1-*-*, v850e-*-*, v850-*-*): Don't use svr4.h.
1029
1030 2010-12-13  Joseph Myers  <joseph@codesourcery.com>
1031
1032         * config.gcc (s390-*-linux*, s390x-*-linux*, s390x-ibm-tpf*):
1033         Don't use svr4.h.
1034
1035 2010-12-13  Joseph Myers  <joseph@codesourcery.com>
1036
1037         * config/mn10300/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1038         WCHAR_TYPE_SIZE): Undefine.
1039         * config/mn10300/mn10300.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1040         WCHAR_TYPE_SIZE): Define.
1041         * config.gcc (mn10300-*-*): Don't use svr4.h.
1042
1043 2010-12-13  Joseph Myers  <joseph@codesourcery.com>
1044
1045         * config/m68k/linux.h (DBX_REGISTER_NUMBER): Undefine and redefine.
1046         (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1047         * config.gcc (m68k-*-uclinux*, m68k-*-linux*): Don't use svr4.h.
1048
1049 2010-12-13  Alexandre Oliva  <aoliva@redhat.com>
1050
1051         PR debug/46756
1052         * jump.c (mark_all_labels): Skip debug insns.
1053
1054 2010-12-13  Alexandre Oliva  <aoliva@redhat.com>
1055
1056         PR debug/46782
1057         * cfgcleanup.c (try_forward_edges): Skip debug insns.
1058
1059 2010-12-12  Jan Hubicka  <jh@suse.cz>
1060             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1061
1062         * varasm.c (default_function_section): Check flag_reorder_functions
1063         and targetm.have_named_sections.
1064         * config/darwin.c (darwin_function_section): Check
1065         flag_reorder_functions.
1066
1067 2010-12-12  Finn Thain  <fthain@telegraphics.com.au>
1068
1069         PR target/46179
1070         * config/m68k/m68k.c (handle_move_double): Insert calls to
1071         m68k_final_prescan_insn to clean up @TLS operand syntax.
1072
1073 2010-12-10  Sebastian Pop  <sebastian.pop@amd.com>
1074
1075         PR tree-optimization/43023
1076         * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p):
1077         Removed.
1078         (stores_zero_from_loop): Call stmt_stores_zero.
1079         * tree-data-ref.h (stmt_stores_zero): New.
1080         * tree-loop-distribution.c (generate_memset_zero): Do not return a
1081         boolean.  Call gcc_assert on stride_of_unit_type_p.
1082         (generate_builtin): Call stmt_stores_zero.
1083         (rdg_flag_all_uses): Removed.
1084         (rdg_flag_similar_memory_accesses): Removed.
1085         (build_rdg_partition_for_component): Removed parameter
1086         other_stores.  Removed call to rdg_flag_similar_memory_accesses.
1087         (can_generate_builtin): New.
1088         (similar_memory_accesses): New.
1089         (fuse_partitions_with_similar_memory_accesses): New.
1090         (rdg_build_partitions): Call
1091         fuse_partitions_with_similar_memory_accesses.
1092
1093 2010-12-10  Jakub Jelinek  <jakub@redhat.com>
1094
1095         PR rtl-optimization/46804
1096         * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note
1097         on the setter of src_reg rather than on insn.  If it is
1098         equal to the setter's original SET_SRC, replace it with its
1099         zero or sign extension instead of dropping it.
1100
1101 2010-12-10  Richard Guenther  <rguenther@suse.de>
1102
1103         PR lto/46808
1104         * lto-symtab.c (lto_symtab_merge_decls_2): Avoid type warnings
1105         after errors.
1106         (lto_symtab_merge_decls_1): Adjust.
1107
1108 2010-12-10  Dave Korn  <dave.korn.cygwin@gmail.com>
1109
1110         PR middle-end/46674
1111         PR lto/43157
1112         * target.def (mangle_assembler_name): New target asm_out hook.
1113         * targhooks.c (default_mangle_assembler_name): Add default hook
1114         implementation.
1115         * targhooks.h (default_mangle_assembler_name): Add prototype.
1116         * lto-symtab.c (lto_symtab_register_decl): Use new hook when
1117         processing DECL_ASSEMBLER_NAMEs for lto symtabs.
1118         (lto_symtab_get_resolution): Likewise.
1119         (lto_cgraph_replace_node): Likewise.
1120         (lto_symtab_prevailing_decl): Likewise.
1121         * lto-streamer-out.c (write_symbol): Likewise.
1122         * doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
1123         * doc/tm.texi: Regenerate.
1124         * config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
1125         point at i386_pe_mangle_assembler_name.
1126         * config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
1127         * config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
1128         prototype.
1129
1130 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
1131
1132         * c-typeck.c (readonly_error): Delete.
1133
1134 2010-12-10  Jakub Jelinek  <jakub@redhat.com>
1135
1136         PR rtl-optimization/46865
1137         * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
1138         ASM_OPERANDS and ASM_INPUT if integers are different, call locator_eq.
1139         * jump.c (rtx_renumbered_equal_p): Likewise.
1140
1141         PR tree-optimization/46864
1142         * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
1143         when there are EDGE_EH exit edges.
1144
1145 2010-12-10  Tobias Burnus  <burnus@net-b.de>
1146
1147         PR fortran/46540
1148         * configure.ac: Handle --disable-libquadmath-support.
1149         * doc/install.texi: Document --disable-libquadmath and
1150         --disable-libquadmath-support
1151         * configure: Regenerate.
1152         * config.in: Regenerate.
1153
1154 2010-12-10  Jack Howarth  <howarth@bromo.med.uc.edu>
1155             Iain Sandoe  <iains@gcc.gnu.org>
1156
1157         PR 43751/target
1158         * config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types.
1159
1160 2010-12-10  Iain Sandoe <iains@gcc.gnu.org>
1161
1162         * config/rs6000/rs6000.c
1163         (rs6000_darwin64_record_arg_advance_recurse): Name register increment
1164         explicitly.  (rs6000_darwin64_record_arg_recurse): Make sure we split
1165         long doubles when we run out of regs.   Also flag that this requires
1166         stack and therefore cannot be returned by value.
1167         (rs6000_darwin64_record_arg): Update comment.
1168         (rs6000_function_value): Likewise.
1169
1170 2010-12-10  Nicola Pero  <nicola.pero@meta-innovation.com>
1171
1172         * c-parser.c (c_parser_objc_class_definition): Recognize
1173         Objective-C 2.0 class extensions.
1174
1175 2010-12-10  Iain Sandoe <iains@gcc.gnu.org>
1176
1177         * config/darwin.c: Remove c-tree.h and c-lang.h
1178         * config/t-darwin: Remove dependencies on c-tree.h and c-lang.h.
1179
1180 2010-12-10  Joern Rennecke  <amylaar@spamcop.net>
1181
1182         PR target/46881
1183         * doc/tm.texi: Regenerate.
1184         * target.def: Fix "preferred" spelling.  Refer to rclass by its
1185         exact name.
1186         * config/arm/arm.c (arm_preferred_rename_class): Rename parameter class
1187         to rclass.
1188
1189 2010-12-09  Paul Koning  <ni1d@arrl.net>
1190
1191         * config/pdp11/pdp11-protos.h (output_move_double,
1192         output_move_quad): Delete.
1193         (output_move_multiple, pdp11_expand_operands): New functions.
1194         (pdp11_action, pdp11_partorder): New enums.
1195         * config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use
1196         output_move_multiple.
1197         (adddi3, subdi3, negdi2): New patterns.
1198         (addsi3, subsi3, negsi2): Use pdp11_expand_operands.
1199         (abshi2): Delete.
1200         (neghi2, negqi2): Use PDPint iterator.
1201         * config/pdp11/pdp11.c (find_addr_reg, output_move_double,
1202         output_move_quad): Delete.
1203         (pdp11_expand_operands, output_move_multiple): New functions.
1204
1205 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1206
1207         * config/vax/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1208         * config.gcc (vax-*-linux*): Don't use svr4.h.
1209
1210 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
1211
1212         * c-typeck.c (build_indirect_ref): Call invalid_indirection_error.
1213
1214 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1215
1216         * doc/extend.texi (Attribute Syntax): Correct description of
1217         attributes in pointer declarators.
1218
1219 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1220
1221         * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine.
1222         * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*,
1223         mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h.
1224
1225 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1226
1227         * config/mep/mep.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1228         WCHAR_TYPE_SIZE): Define.
1229         * config.gcc (mep-*-*): Don't use svr4.h.
1230
1231 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1232
1233         * config/mcore/mcore.h (PTRDIFF_TYPE, WCHAR_TYPE,
1234         WCHAR_TYPE_SIZE): Define.
1235         * config/svr3.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1236         WCHAR_TYPE_SIZE): Don't define.
1237         * config.gcc (mcore-*-elf): Don't use svr4.h.
1238
1239 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1240
1241         * config.gcc (m32r-*-elf*, m32rle-*-elf*, m32r-*-rtems*,
1242         m32r-*-linux*, m32rle-*-linux*): Don't use svr4.h.
1243
1244 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1245
1246         * config/iq2000/iq2000.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
1247         WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1248         * config.gcc (iq2000*-*-elf*): Don't use svr4.h.
1249
1250 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1251
1252         * config.gcc (ia64*-*-linux*, ia64*-*-hpux*): Don't use svr4.h.
1253
1254 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1255
1256         * config/pa/pa32-linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1257         * config.gcc (hppa*64*-*-linux*, hppa*-*-linux*): Don't use svr4.h.
1258
1259 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1260
1261         * config/moxie/moxie.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
1262         WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1263         * config/moxie/rtems.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
1264         WCHAR_TYPE, WCHAR_TYPE_SIZE): Undefine.
1265         * config.gcc (moxie-*-elf, moxie-*-uclinux*): Don't use svr4.h.
1266
1267 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1268
1269         * config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
1270         WCHAR_TYPE_SIZE): Define.
1271         * config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h.
1272
1273 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1274
1275         * config/fr30/fr30.h (LIB_SPEC, LINK_SPEC, SIZE_TYPE,
1276         PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1277         * config.gcc (fr30-*-elf): Don't use svr4.h.
1278
1279 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1280
1281         * config/cris/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
1282         * config.gcc (crisv32-*-linux* | cris-*-linux*): Don't use svr4.h.
1283
1284 2010-12-09  Richard Guenther  <rguenther@suse.de>
1285
1286         PR middle-end/46844
1287         * gimple-fold.c (canonicalize_constructor_val): Canonicalize addresses.
1288
1289 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1290
1291         * config/i386/netware.h (TARGET_POSIX_IO): Define.
1292         * config/i386/nto.h (TARGET_POSIX_IO): Define.
1293         * config/ia64/hpux.h (TARGET_POSIX_IO): Define.
1294         * config/moxie/moxie.h (TARGET_POSIX_IO): Don't undefine.
1295         * config/openbsd.h (TARGET_POSIX_IO): Define.
1296         * config/rtems.h (TARGET_POSIX_IO): Define.
1297         * config/sh/embed-elf.h (TARGET_POSIX_IO): Don't undefine.
1298         * config/sol2.h (TARGET_POSIX_IO): Define.
1299         * config/svr4.h (TARGET_POSIX_IO): Don't define.
1300         * config/vxworksae.h (TARGET_POSIX_IO): Define.
1301
1302 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1303
1304         * config/i386/nto.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1305         * config/ia64/hpux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1306         * config/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
1307         undefine.
1308         * config/mips/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
1309         undefine.
1310         * config/mips/netbsd.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1311         Don't undefine.
1312         * config/rs6000/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1313         Don't undefine.
1314         * config/rs6000/linux64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1315         Don't undefine.
1316         * config/sol2.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1317         * config/sparc/netbsd-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1318         Don't undefine.
1319         * config/sparc/openbsd64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1320         Don't undefine.
1321         * config/sparc/sp64-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1322         Don't undefine.
1323         * config/svr4.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't define.
1324         * config/xtensa/elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
1325         undefine.
1326
1327 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1328
1329         * config/ia64/hpux.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
1330         non-GNU assembler.
1331         * config/m68k/netbsd-elf.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1332         * config/m68k/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1333         * config/mips/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1334         * config/sol2.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
1335         non-GNU assembler.
1336         * config/sparc/sparc.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1337         * config/svr4.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
1338
1339 2010-12-09  Martin Jambor  <mjambor@suse.cz>
1340
1341         * ipa-prop.c (compute_complex_ancestor_jump_func): Work also if the
1342         zero is the first phi parameter.
1343
1344 2010-12-09  Martin Jambor  <mjambor@suse.cz>
1345
1346         * ipa-prop.h (struct ipa_parm_adjustment): New field alias_ptr_type.
1347         * ipa-prop.c (ipa_modify_call_arguments): Use it.
1348         * tree-sra.c (splice_param_accesses): Test that all accesses have the
1349         same alias reference type.
1350         (turn_representatives_into_adjustments): Set alias_ptr_type of the
1351         adjustment.
1352
1353 2010-12-09  Martin Jambor  <mjambor@suse.cz>
1354
1355         PR middle-end/46734
1356         * tree-sra.c (splice_param_accesses): Check that there are not
1357         multiple ADDRESSABLE types.
1358
1359 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1360
1361         * config/arc/arc.h (ASM_SPEC): Remove %{v}.
1362         * config/bfin/bfin.h (ASM_SPEC): Remove %{v}.
1363         * config/cris/cris.h (ASM_SPEC): Remove %{v:-v}.
1364         * config/fr30/fr30.h (ASM_SPEC): Remove %{v}.
1365         * config/frv/frv.h (ASM_SPEC): Remove %{v}.
1366         * config/i386/linux.h (ASM_SPEC): Remove %{v}.
1367         * config/i386/linux64.h (ASM_SPEC): Remove %{v}.
1368         * config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}.
1369         * config/i386/sol2-10.h (ASM_SPEC): Remove %{v}.
1370         * config/i386/vxworks.h (ASM_SPEC): Remove %{v}.
1371         * config/i386/x86-64.h (ASM_SPEC): Remove %{v}.
1372         * config/lm32/lm32.h (ASM_SPEC): Remove %{v}.
1373         * config/m32r/m32r.h (ASM_SPEC): Remove %{v}.
1374         * config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}.
1375         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}.
1376         * config/mips/mips.h (ASM_SPEC): Remove %{v}.
1377         * config/mips/vxworks.h (ASM_SPEC): Remove %{v}.
1378         * config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}.
1379         * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}.
1380         * config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}.
1381         * config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}.
1382         * config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}.
1383         * config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}.
1384         * config/xtensa/elf.h (ASM_SPEC): Remove %{v}.
1385         * config/xtensa/linux.h (ASM_SPEC): Remove %{v}.
1386
1387 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1388
1389         * config/i386/openbsdelf.h (LINK_SPEC): Use %{r:} not %{r*:}.
1390         * config/mips/openbsd.h (LINK_SPEC): Use %{r:} not %{r*:}.
1391         * config/netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): Use %{r:} not %{r*:}.
1392         * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Use %{r:} not %{r*:}.
1393         * config/sparc/openbsd64.h (LINK_SPEC): Use %{r:} not %{r*:}.
1394         * config/vax/netbsd-elf.h (LINK_SPEC): Use %{r:} not %{r*:}.
1395
1396 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1397
1398         * config/alpha/freebsd.h (LINK_SPEC): Don't use %{!dynamic-linker:}.
1399         * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
1400         * config/arm/freebsd.h (LINK_SPEC): Likewise.
1401         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise.
1402         * config/bfin/linux.h (LINK_SPEC): Likewise.
1403         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise.
1404         * config/frv/linux.h (LINK_SPEC): Likewise.
1405         * config/i386/freebsd.h (LINK_SPEC): Likewise.
1406         * config/i386/freebsd64.h (LINK_SPEC): Likewise.
1407         * config/i386/linux.h (LINK_SPEC): Likewise.
1408         * config/i386/linux64.h (LINK_SPEC): Likewise.
1409         * config/i386/openbsdelf.h (LINK_SPEC): Likewise.
1410         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
1411         * config/ia64/linux.h (LINK_SPEC): Likewise.
1412         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
1413         * config/m32r/linux.h (LINK_SPEC): Likewise.
1414         * config/m68k/linux.h (LINK_SPEC): Likewise.
1415         * config/microblaze/linux.h (LINK_SPEC): Likewise.
1416         * config/mips/linux.h (LINK_SPEC): Likewise.
1417         * config/mips/linux64.h (LINK_SPEC): Likewise.
1418         * config/mips/openbsd.h (LINK_SPEC): Likewise.
1419         * config/mn10300/linux.h (LINK_SPEC): Likewise.
1420         * config/netbsd-elf.h (LINK_SPEC): Likewise.
1421         * config/pa/pa-linux.h (LINK_SPEC): Likewise.
1422         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
1423         LINK_OS_LINUX_SPEC64): Likewise.
1424         * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC,
1425         LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC): Likewise.
1426         * config/s390/linux.h (LINK_SPEC): Likewise.
1427         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise.
1428         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1429         * config/sparc/linux.h (LINK_SPEC): Likewise.
1430         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
1431         LINK_SPEC): Likewise.
1432         * config/sparc/openbsd64.h (LINK_SPEC): Likewise.
1433         * config/vax/linux.h (LINK_SPEC): Likewise.
1434         * config/xtensa/linux.h (LINK_SPEC): Likewise.
1435
1436 2010-12-09  Joseph Myers  <joseph@codesourcery.com>
1437
1438         * config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}.
1439         * config/frv/frv.h (ASM_SPEC): Likewise.
1440         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
1441         * config/i386/sol2.h (ASM_SPEC): Likewise.
1442         * config/m68k/linux.h (ASM_SPEC): Likewise.
1443         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1444         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
1445         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1446         * config/sol2.h (ASM_SPEC): Likewise.
1447         * config/sparc/linux.h (ASM_SPEC): Likewise.
1448         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1449         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1450         * config/sparc/sysv4.h (ASM_SPEC): Likewise.
1451         * config/svr4.h (SVR4_ASM_SPEC): Likewise.
1452
1453 2010-12-09  Richard Guenther  <rguenther@suse.de>
1454
1455         * reginfo.c (struct subregs_of_mode_node): Remove.
1456         (subregs_of_mode): Likewise.
1457         (som_hash): Likewise.
1458         (som_eq): Likewise.
1459         (invalid_mode_changes): New bitmap.
1460         (record_subregs_of_mode): Get subregs_of_mode argument.
1461         Fill in invalid_mode_changes bitmap.
1462         (find_subregs_of_mode): Get subregs_of_mode argument and pass
1463         it through.
1464         (init_subregs_of_mode): Adjust.
1465         (finish_subregs_of_mode): Likewise.
1466         (invalid_mode_change_p): Query invalid_mode_changes bitmap.
1467
1468 2010-12-09  Richard Guenther  <rguenther@suse.de>
1469
1470         * ira.c (ira): Do not call finish_subregs_of_mode.
1471         * ira-costs.c (finish_costs): Call finish_subregs_of_mode.
1472
1473 2010-12-09  Richard Guenther  <rguenther@suse.de>
1474
1475         * rtl.h (invalid_mode_change_p): Adjust prototype.
1476         * reginfo.c (invalid_mode_change_p): Remove from argument.
1477         * ira-costs.c (print_allocno_costs): Adjust callers.
1478         (find_costs_and_classes): Likewise.
1479
1480 2010-12-09  Jakub Jelinek  <jakub@redhat.com>
1481
1482         * config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to
1483         locg and stocg even in comment.
1484         (sync_old_<atomic><mode>): Give mode to UNSPEC_VOLATILE.
1485
1486         PR target/41082
1487         * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx
1488         instead of stve*x.
1489         (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead
1490         of operand 0.
1491         * config/rs6000/altivec.md (VI_scalar): New mode attr.
1492         (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of
1493         vector mode for operand 0, put operand 1 into UNSPEC.
1494
1495 2010-12-09  Yao Qi  <yao@codesourcery.com>
1496
1497         * config/arm/arm.c (arm_preferred_rename_class): Implement targethook
1498         PREFERRED_RENAME_CLASS.
1499
1500 2010-12-08  Ian Lance Taylor  <iant@google.com>
1501
1502         * doc/sourcebuild.texi (Front End): Remove reference to
1503         snapshot-README and snapshot-index.html.
1504
1505 2010-12-08  Ian Lance Taylor  <iant@google.com>
1506
1507         * doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs
1508         to update_web_docs_svn.
1509         (Front End): Likewise.
1510
1511 2010-12-08  Iain Sandoe <iains@gcc.gnu.org>
1512
1513         * gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and
1514         x86_64-*-darwin* to with_cpu:-core2.
1515         * gcc/config/i386/mmx.md (*mov<mode>_internal_rex64): Replace movq
1516         with movd for darwin assembler.
1517         * gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
1518         (*vec_concatv2di_rex64_sse): Ditto.
1519
1520 2010-12-08  Richard Guenther  <rguenther@suse.de>
1521             Sebastian Pop  <sebastian.pop@amd.com>
1522
1523         PR tree-optimization/45230
1524         PR tree-optimization/45231
1525         PR tree-optimization/45370
1526         * sese.c (rename_uses): Returns a bool.  Call
1527         recompute_tree_invariant_for_addr_expr only on the RHS of a
1528         GIMPLE_ASSIGN.
1529         (graphite_copy_stmts_from_block): Call fold_stmt_inplace when
1530         rename_uses returns true.
1531         * tree-ssa-copy.c (replace_exp): Add a comment about calling
1532         fold_stmt_inplace after replace_exp.
1533
1534 2010-12-08  Mike Stump  <mikestump@comcast.net>
1535
1536         PR debug/46749
1537         * config/darwin.h (COLLECT_RUN_DSYMUTIL): Add.
1538         (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
1539         * config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add.
1540         (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
1541         * collect2.c (post_ld_pass): Add.
1542         (process_args): Add.
1543         (maybe_run_lto_and_relink): Call post_ld_pass after ld.
1544         (main): Likewise.  Call process_args.
1545
1546 2010-12-08  Jakub Jelinek  <jakub@redhat.com>
1547
1548         PR middle-end/46844
1549         * regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg parameter.
1550
1551 2010-12-08  Richard Earnshaw  <rearnsha@arm.com>
1552
1553         PR target/46631
1554         * arm.c (thumb2_reorg): Also try to reduce <commutative_op> Rd, Rn, Rd
1555         into a 16-bit instruction.
1556
1557 2010-12-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1558
1559         PR middle-end/42694
1560         * builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y)
1561         where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt
1562         instruction, but do optimize if y is 0.5 or 1./3. since that
1563         changes an expensive call into a cheaper one.
1564
1565 2010-12-08  Richard Guenther  <rguenther@suse.de>
1566
1567         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift
1568         instead of a division to divide by BITS_PER_UNIT.
1569
1570 2010-12-08  Richard Guenther  <rguenther@suse.de>
1571
1572         * gimplify.c (gimple_tree_eq): Assert hashes are equal only
1573         when checking is enabled.
1574
1575 2010-12-07  Andrey Belevantsev  <abel@ispras.ru>
1576
1577         PR target/43603
1578         * haifa-sched.c (sched_create_recovery_edges): Update
1579         dominator info.
1580         * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
1581         after deleting an empty block.
1582         (tidy_control_flow): Also verify dominators.
1583         (sel_remove_bb): Update dominator info after removing a block.
1584         (sel_redirect_edge_and_branch_force): Assert that no unreachable
1585         blocks will be created. Update dominator info.
1586         (sel_redirect_edge_and_branch): Update dominator info when
1587         basic blocks do not become unreachable.
1588         (sel_remove_loop_preheader): Update dominator info.
1589
1590 2010-12-07  Richard Guenther  <rguenther@suse.de>
1591
1592         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
1593         Reset alignment information.
1594         (bump_vector_ptr): Likewise.
1595
1596 2010-12-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1597
1598         PR middle-end/46671
1599         PR target/46685
1600         * config/pa/pa.c (pa_function_section): New function.
1601         (TARGET_ASM_FUNCTION_SECTION): Define.
1602
1603 2010-12-07  Ian Lance Taylor  <iant@google.com>
1604             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1605
1606         PR bootstrap/46810
1607         * configure.ac: Disable AC_MSG_ERROR while looking for the C++
1608         preprocessor.
1609         * configure: Rebuild.
1610
1611 2010-12-07  Paul Koning  <ni1d@arrl.net>
1612
1613         * config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
1614         values with sign rather than as unsigned.
1615
1616 2010-12-07  Paul Koning  <ni1d@arrl.net>
1617
1618         * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
1619         (pdp11_function_section): New function.
1620
1621 2010-12-07  Joseph Myers  <joseph@codesourcery.com>
1622
1623         * config/mcore/mcore.c Don't include assert.h.
1624         (layout_mcore_frame, handle_structs_in_regs): Use gcc_assert.
1625         * config/spu/spu.c: Don't include assert.h.
1626         (spu_sms_res_mii): Use gcc_assert.
1627
1628 2010-12-07  Sebastian Pop  <sebastian.pop@amd.com>
1629
1630         PR tree-optimization/42327
1631         * tree-data-ref.c (omega_setup_subscript): Call build_int_cst
1632         instead of using integer_minus_one_node.
1633
1634 2010-12-07  Nathan Froyd  <froydnj@codesourcery.com>
1635
1636         PR c++/45330
1637         * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter.
1638         * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document.
1639
1640 2010-12-07  Richard Guenther  <rguenther@suse.de>
1641
1642         PR tree-optimization/46832
1643         * tree-ssa-math-opts.c (execute_optimize_widening_mul): Check
1644         that the call has a lhs.
1645
1646 2010-12-07  Yao Qi  <yao@codesourcery.com>
1647
1648         * Makefile.in: Add $(TARGET_H) to the regrename.o rule.
1649         * regrename.c (struct du_head): Add new element length.
1650         (sort_du_head, get_element, merge, merge_sort_comparison):
1651         New functions of merge sort implementation to du_head list.
1652         (regrename_optimize): Sort du_head linked list by length.
1653         Iterate registers in a preferred-register-first order.
1654         Move some code to ...
1655         (check_new_reg_p): here.  New function.
1656         (create_new_chain):  Initialize length.
1657         (scan_rtx_reg): Increase length for non-debug insns.
1658         * target.def: New hook preferred_rename_class.
1659         * targhook.c (default_preferred_rename_class): New.
1660         * targhook.h: Declare it.
1661         * doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS.
1662         * doc/tm.texi: Regenerate.
1663
1664 2010-12-07  Jakub Jelinek  <jakub@redhat.com>
1665
1666         PR debug/46799
1667         * tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION
1668         instead of BUILTINS_LOCATION.
1669         (create_loop_fn): Add LOC argument, pass it to build_decl instead of
1670         BUILTINS_LOCATION.
1671         (create_parallel_loop): Add LOC argument, use it for OMP clauses
1672         and GIMPLE_*OMP* statements.
1673         (gen_parallel_loop): Determine locus for the parallel loop, pass it
1674         to create_loop_fn and create_parallel_loop.
1675         * cfgexpand.c (gimple_expand_cfg): For builtin functions, call
1676         set_curr_insn_source_location (UNKNOWN_LOCATION).
1677
1678 2010-12-07  Joern Rennecke  <amylaar@spamcop.net>
1679             Richard Guenther  <rguenther@suse.de>
1680
1681         PR target/46737
1682         * config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t.
1683         (bfin_reorder_loops): Change type of index to intptr_t.
1684
1685 2010-12-07  Richard Guenther  <rguenther@suse.de>
1686
1687         PR tree-optimization/46726
1688         * tree-inline.c (estimate_num_insns): Special case pow (x, 2.0).
1689
1690 2010-12-07  Richard Guenther  <rguenther@suse.de>
1691
1692         * tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink
1693         virtual operands.
1694
1695 2010-12-07  Nicola Pero  <nicola.pero@meta-innovation.com>
1696
1697         * c-parser.c (c_parser_typeof_specifier): Removed special
1698         treatment of objc_volatilized attribute for Objective-C.
1699
1700 2010-12-06  Vladimir Makarov  <vmakarov@redhat.com>
1701
1702         * ira.c (update_equiv_regs): Prohibit move insns if
1703         pressure-sensitive scheduling was done.
1704
1705 2010-12-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1706
1707         * c-parser.c (c_parser_for_statement): Use c_fully_fold() instead
1708         of c_process_expr_stmt() for the iterating and collection
1709         expressions of an Objective-C fast enumeration loop.
1710
1711 2010-12-06  Jakub Jelinek  <jakub@redhat.com>
1712
1713         PR debug/45997
1714         * dwarf2out.c (modified_type_die): If both is_const_type and
1715         is_volatile_type is set, start with DW_TAG_const_type or
1716         DW_TAG_volatile_type depending on where we get qualified type
1717         in the recursive call.
1718
1719         PR target/43897
1720         * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER
1721         as a store into that register.
1722
1723         PR tree-optimization/46528
1724         PR debug/46338
1725         * profile.c (branch_prob): Make sure last is never set to a debug
1726         stmt.
1727
1728         PR debug/46771
1729         * reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode
1730         on DEBUG_INSNs.
1731
1732         PR rtl-optimization/46777
1733         * cfglayout.c (duplicate_insn_chain): Avoid duplicating
1734         also barrier after tablejump.
1735
1736 2010-12-06  Joern Rennecke  <amylaar@spamcop.net>
1737             Richard Henderson  <rth@redhat.com>
1738
1739         PR target/46740
1740         * config/vax/vax.c (vax_output_int_move): Fold #if into if.
1741
1742 2010-12-06  Eric Botcazou  <ebotcazou@adacore.com>
1743
1744         * config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally.
1745         * config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine.
1746
1747 2010-12-06  Joern Rennecke  <amylaar@spamcop.net>
1748
1749         PR target/46735
1750         * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE.
1751         (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise.
1752         (int12_operand, int_2word_operand, uint16_operand): Likewise.
1753         (fpr_or_int6_operand, int6_operand, int5_operand): Likewise.
1754         (uint5_operand, uint4_operand): Likewise.
1755         * config/frv/frv.h (IN_RANGE_P): Delete.
1756         (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE.
1757         (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise.
1758         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
1759         (CONST_OK_FOR_P): Likewise.
1760         * config/frv/frv.md (*movqicc_internal2_int): Likewise.
1761         (*movqicc_internal2_float, *movhicc_internal2_int): Likewise.
1762         (*movhicc_internal2_float, *movsicc_internal2_int): Likewise.
1763         (*movsicc_internal2_float, casesi): Likewise.
1764         * config/frv/frv.c (frv_frame_offset_rtx): Likewise.
1765         (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise.
1766         (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise.
1767         (frv_split_cond_move, frv_rtx_costs): Likewise.
1768
1769         PR target/46739
1770         * config/mmix/mmix.c (mmix_intval): Split shift count.
1771
1772 2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
1773
1774         * config/i386/i386.c (m_COREI7): New.
1775         (initial_ix86_tune_features): Turn on
1776         X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
1777         X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7.
1778
1779 2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
1780
1781         * config.gcc: Allow corei7-avx for --with-arch/--with-cpu.
1782
1783         * config/i386/driver-i386.c (host_detect_local_cpu): Support
1784         Sandy Bridge.
1785
1786         * config/i386/i386.c (override_options): Handle "corei7-avx".
1787
1788         * doc/invoke.texi: Document corei7-avx.
1789
1790 2010-12-06  Richard Guenther  <rguenther@suse.de>
1791
1792         PR tree-optimization/46806
1793         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not
1794         coalesce different types.
1795
1796 2010-12-06  Richard Guenther  <rguenther@suse.de>
1797
1798         PR tree-optimization/46785
1799         * tree-vect-loop.c (vect_is_simple_reduction_1): Also allow
1800         call statements as operand definition.
1801
1802 2010-12-06  Mingjie Xing  <mingjie.xing@gmail.com>
1803
1804         * doc/tm.texi.in: Fix typo.
1805         * doc/tm.texi: Regenerate.
1806
1807 2010-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1808
1809         * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in
1810         last change.
1811
1812 2010-12-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1813
1814         * c-family/c-common.h: Removed the declarations of all the objc_
1815         callbacks, and moved them into c-objc.h.  Removed
1816         objc_ivar_visibility_kind and moved it into c-objc.h.
1817         * c-family/c-objc.h: New file.
1818         * c-family/c-common.c: Include c-objc.h.
1819         * c-family/c-format.c: Same change.
1820         * c-family/stub-objc.c: Same change.
1821         * c-decl.c: Include c-family/c-objc.h.
1822         * c-parser.c: Same change.
1823         * c-typeck.c: Same change.
1824         * c-config-lang.in (gtfiles): Added c-family/c-objc.h.
1825         * Makefile.in (c-decl.o): Depend on c-family/c-objc.h.
1826         (c-parser.o): same change.
1827         (c-typeck.o): Same change.
1828         (c-family/c-format.o): Same change.
1829         (c-family/stub-objc.o): Same change.
1830         (c-family/c-common.o): Same change.
1831         (PLUGIN_HEADERS): Added c-family/c-objc.h.
1832
1833 2010-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1834
1835         * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]:  Ignore
1836         --with-dwarf2 option.
1837
1838 2010-12-03  Jan Hubicka  <jh@suse.cz>
1839
1840         * lto-streamer-in.c (input_cfg): Fix pasto.
1841
1842 2010-12-03  Jan Hubicka  <jh@suse.cz>
1843
1844         * ipa.c (cgraph_externally_visible_p): Do not localize builtins
1845         and functions with user asm defined names.
1846         (varpool_externally_visible_p): Do not localize vars with user
1847         asm defined names.
1848
1849 2010-12-03  Jan Hubicka  <jh@suse.cz>
1850
1851         * dwarf2asm.c (dw2_output_indirect_constant_1): Set DECL_ASSEMBLER_NAME
1852         to prevent mangling with lto frontend.
1853
1854 2010-12-03  Jan Hubicka  <jh@suse.cz>
1855
1856         * Makefile.in (LTO_STREAMER_H): Add GCOV_IO_H.
1857         * lto-cgraph.c (merge_profile_summaries): Fix thinko.
1858
1859 2010-12-03  Jan Hubicka  <jh@suse.cz>
1860
1861         PR tree-optimization/46760
1862         * cgraph.c (cgraph_create_node): Initialize count_materialization_scale.
1863         * cgraph.h (struct cgraph_node): Add count_materialization_scale.
1864         * lto-cgraph.c (lto_output_edge): Fix assert.
1865         (lto_output_node): Output count_materialization_scale.
1866         (output_profile_summary): Output only runs and sum_max.
1867         (input_node): Input count_materialization_scale.
1868         (input_profile_summary): Read data into file specific gcov summary.
1869         (merge_profile_summaries): New function.
1870         (input_cgraph): Update call of input_profile_summary;
1871         call merge_profile_summaries.
1872         * lto-streamer-in.c (input_cfg): Add count_materialization_scale arg;
1873         rescale counts at read in.
1874         (intput_bb): Likewise.
1875         (input_function): Update call of input_bb.
1876         (lto_read_body): Update call of input_cfg.
1877         * lto-streamer.h: Inlclude gcov-io.h
1878         (lto_file_decl_data): Add gcov_ctr_summary.
1879
1880 2010-12-03  Dave Korn  <dave.korn.cygwin@gmail.com>
1881
1882         * doc/tm.texi.in (Cond. Exec. Macros): Rename node from this ...
1883         (Cond Exec Macros): ... to this.
1884         * doc/tm.texi: Regenerate.
1885
1886 2010-12-03  Jason Merrill  <jason@redhat.com>
1887
1888         PR debug/46123
1889         * dwarf2out.c (gen_tagged_type_die): Don't put local types in
1890         a declaration DIE.
1891
1892 2010-12-03  Nathan Froyd  <froydnj@codesourcery.com>
1893
1894         * config/arm/arm.c (arm_legitimate_index_p): Split
1895         VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases.  Permit
1896         slightly larger constants in the latter case.
1897         (thumb2_legitimate_index_p): Likewise.
1898
1899 2010-12-03  Joseph Myers  <joseph@codesourcery.com>
1900
1901         * common.opt (N, Q, Qn, Qy, Z, n, r, s, t): New options.
1902         * gcc.c (cc1_options): Add %{Qy:}.
1903
1904 2010-12-03  Joseph Myers  <joseph@codesourcery.com>
1905
1906         * gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m.
1907         * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
1908         * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
1909
1910 2010-12-03  Alexander Monakov  <amonakov@ispras.ru>
1911
1912         PR rtl-optimization/45354
1913         * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ...
1914         (bb_has_removable_jump_to_p): This.  Update all callers. Make static.
1915         Allow BBs ending with a conditional jump.  Forbid EDGE_CROSSING jumps.
1916         * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype.
1917
1918 2010-12-03  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1919
1920         * basic-block.h (struct edge_prediction): Remove forward declaration.
1921         * tree-flow.h (struct edge_prediction): Move from here...
1922         * predict.c (struct edge_prediction): ...to here.
1923         * cselib.h (struct elt_list): Move from here...
1924         * cselib.c (struct elt_list): ...to here.
1925
1926 2010-12-02  Ian Lance Taylor  <iant@google.com>
1927
1928         * gcc.c (default_compilers): Add entry for ".go".
1929         * common.opt: Add -static-libgo as a driver option.
1930         * doc/install.texi (Configuration): Mention libgo as an option for
1931         --enable-shared.  Mention go as an option for --enable-languages.
1932         * doc/invoke.texi (Overall Options): Mention .go as a file name
1933         suffix.  Mention go as a -x option.
1934         * doc/frontends.texi (G++ and GCC): Mention Go as a supported language.
1935         * doc/sourcebuild.texi (Top Level): Mention libgo.
1936         * doc/standards.texi (Standards): Add section on Go language.
1937         Move references for other languages into their own section.
1938         * doc/contrib.texi (Contributors): Mention that I contributed the
1939         Go frontend.
1940
1941 2010-12-03  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1942
1943         * tree.h (struct call_expr_arg_iterator_d): Remove GTY tag.
1944         (const_call_expr_arg_iterator_d): Likewise.
1945         (expanded_location): Likewise.
1946         * c-tree.h (struct c_arg_tag_d): Likewise.
1947         * dwarf2out.c (struct cfa_loc): Likewise.
1948         (struct skeleton_chain_struct): Likewise.
1949         * except.c (struct ttypes_filter): Likewise.
1950         * cselib.h (struct cselib_val_struct): Likewise.
1951         (elt_loc_list): Likewise.
1952         (elt_list): Likewise.
1953         * varasm.c (struct addr_const): Likewise.
1954         * tree-flow.h (struct edge_prediction): Likewise.
1955         (struct int_tree_map): Likewise.
1956         (struct _edge_var_map): Likewise.
1957
1958 2010-12-02  H.J. Lu  <hongjiu.lu@intel.com>
1959
1960         PR target/46768
1961         * config/i386/i386.c (initial_ix86_tune_features): Turn on
1962         X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7.
1963
1964 2010-12-02  H.J. Lu  <hongjiu.lu@intel.com>
1965
1966         * config.gcc: Allow corei7 for --with-arch=/--with-cpu=.
1967
1968 2010-12-02  Ian Lance Taylor  <iant@google.com>
1969
1970         * configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX.  Check for C++
1971         header files unordered_map, tr1/unordered_map, and ext/hash_map.
1972         * configure, config.in: Rebuild.
1973
1974 2010-11-02  Eric Botcazou  <ebotcazou@adacore.com>
1975
1976         PR target/46685
1977         * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate.
1978         (sparc_expand_move): Call it to decide whether to emit the special
1979         mov{si,di}_pic_label_ref patterns.
1980         (sparc_legitimize_pic_address): Call it to decide whether to emit
1981         the regular PIC sequence for labels.  Fix long line.
1982         (sparc_file_end): Set is_thunk for the PIC helper.
1983
1984 2010-12-02  Eric Botcazou  <ebotcazou@adacore.com>
1985
1986         * tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY
1987         for a non-shared type.
1988
1989 2010-12-02  Sebastian Pop  <sebastian.pop@amd.com>
1990
1991         PR middle-end/45297
1992         * tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR
1993         with MEM_REFs as POINTER_PLUS_EXPR.
1994
1995 2010-12-02  Joseph Myers  <joseph@codesourcery.com>
1996
1997         * config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h,
1998         config/sparc/linux.h, config/sparc/linux64.h: Remove comments
1999         mentioning /lib/elf.
2000
2001 2010-12-02  Joseph Myers  <joseph@codesourcery.com>
2002
2003         * config/bfin/bfin.h (LINK_SPEC): Remove %{b}.
2004         * config/frv/frv.h (LINK_SPEC): Remove %{b}.
2005         * config/i386/netware.h (LINK_SPEC): Remove %{b}.
2006         * config/i386/nto.h (LINK_SPEC): Remove %{b}.
2007         * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}.
2008         * config/sol2.h (LINK_SPEC): Remove %{b}.
2009         * config/svr4.h (LINK_SPEC): Remove %{b}.
2010
2011 2010-12-02  Joseph Myers  <joseph@codesourcery.com>
2012
2013         * config/i386/freebsd.h (LINK_SPEC): Cut long comment.
2014         * config/i386/linux.h (LINK_SPEC): Cut long comment.
2015         * config/i386/netware.h (LINK_SPEC): Remove %{V}.
2016         * config/m32r/linux.h (LINK_SPEC): Cut long comment.
2017         * config/m68k/linux.h (LINK_SPEC): Cut long comment.
2018         * config/sparc/linux.h (LINK_SPEC): Cut long comment.
2019         (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
2020         * config/sparc/linux64.h (LINK_SPEC): Cut long comment.
2021         (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
2022         * config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
2023
2024 2010-12-02  Joseph Myers  <joseph@codesourcery.com>
2025
2026         * gcc.c (trad_capable_cpp, default_compilers): Don't handle
2027         -ftraditional.
2028
2029 2010-12-02  Joseph Myers  <joseph@codesourcery.com>
2030
2031         * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,.
2032         * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,.
2033         * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,.
2034         * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,.
2035         * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,.
2036         * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,.
2037         * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,.
2038         * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,.
2039         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,.
2040         * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,.
2041         * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,.
2042         * config/sol2.h (ASM_SPEC): Don't handle -Wa,.
2043         * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,.
2044         * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,.
2045         * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,.
2046         * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,.
2047         * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,.
2048         * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,.
2049
2050 2010-12-02  Paul Koning  <ni1d@arrl.net>
2051
2052         * config/pdp11/pdp11.c (output_jump): Map unsigned to signed
2053         opcodes if CC_NO_OVERFLOW is set.
2054         (notice_update_cc_on_set): Correct setting of CC0 as a side
2055         effect; set CC_NO_OVERFLOW for cases where C flag is not meaningful.
2056
2057 2010-12-02  Ian Lance Taylor  <iant@google.com>
2058
2059         * doc/install.texi (Configuration): Update default for
2060         --with-boot-ldflags.
2061
2062 2010-12-02  Nathan Froyd  <froydnj@codesourcery.com>
2063
2064         PR c/45062
2065         * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when
2066         !funcdef_flag.
2067
2068 2010-12-02  Sebastian Pop  <sebastian.pop@amd.com>
2069
2070         PR tree-optimization/45199
2071         * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New.
2072         (stores_zero_from_loop): Call
2073         mem_write_stride_of_same_size_as_unit_type_p.
2074         * tree-data-ref.h (stride_of_unit_type_p): New.
2075         * tree-loop-distribution.c (generate_memset_zero): Simplified.
2076         Call stride_of_unit_type_p.
2077         (build_rdg_partition_for_component): Do not call
2078         rdg_flag_similar_memory_accesses when
2079         flag_tree_loop_distribute_patterns is set.
2080
2081 2010-12-02  Richard Guenther  <rguenther@suse.de>
2082
2083         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard
2084         sign-changing conversions for induction detection.
2085
2086 2010-12-02  Richard Guenther  <rguenther@suse.de>
2087
2088         PR tree-optimization/46723
2089         * tree-vect-loop.c (get_initial_def_for_induction): Strip
2090         conversions from the induction evolution and apply it to
2091         the result instead.
2092         * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
2093         assigns for induction defs.
2094
2095 2010-12-02  Richard Guenther  <rguenther@suse.de>
2096
2097         * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect
2098         the case we need to split the edge and not the block.
2099
2100 2010-12-02  Bernd Schmidt  <bernds@codesourcery.com>
2101
2102         DFA model for Core 2 and Core i7 scheduling.
2103
2104         * config/i386/core2.md: New DFA model for Core 2 and Core i7.
2105         * config/i386/i386.c (ix86_option_override_internal): Update entries
2106         for Core 2 and Core i7.
2107         (ix86_issue_rate): Set issue rate to 3 [be realistic].
2108         * config/i386/i386.md: Include "core2.md".
2109         (define_attr cpu): Add "corei7".
2110
2111 2010-12-02  Maxim Kuvyrkov  <maxim@codesourcery.com>
2112
2113         Define tuning for Core 2 and Core i7.
2114
2115         * config/i386/i386-c.c (ix86_target_macros_internal): Update.
2116         * config/i386/i386.c (core2_cost): Delete, use generic costs instead.
2117         (m_CORE2): Replace with m_CORE2_{32,64}.
2118         (m_CORE2I7{,_32,_64}): New macros.
2119         (m_GENERIC32, m_GENERIC64): Update.
2120         (initial_ix86_tune_features, x86_accumulate_outgoing_args,)
2121         (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and
2122         set m_CORE2I7_64 iff m_GENERIC64.
2123         (processor_target_table): Use generic costs for Core 2 and Core i7.
2124         (ix86_option_override_internal): Update entries for Core 2 and Core i7.
2125         (ix86_issue_rate): Remove entry for Core 2.
2126         (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update.
2127         * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros.
2128         (TARGET_CORE2): Update.
2129         (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants.
2130         (PROCESSOR_CORE2): Remove.
2131
2132 2010-12-02  Richard Guenther  <rguenther@suse.de>
2133
2134         * lto-streamer.h (LTO_major_version): Bump to 2.
2135
2136 2010-12-02  Richard Guenther  <rguenther@suse.de>
2137
2138         PR lto/44871
2139         * gimple.c (canonical_type_hash_cache): New hashtable.
2140         (gimple_type_hash): Make a wrapper around ...
2141         (gimple_type_hash_1): ... this.  Take gtc_mode argument.
2142         (gimple_canonical_type_hash): Likewise.
2143         (gtc_visit): Take a gtc_mode argument.
2144         (gimple_types_compatible_p_1): Likewise. Do not compare struct
2145         tag names or field names when computing canonical types.
2146         (gimple_types_compatible_p): Adjust.
2147         (visit): Take a gtc_mode argument.
2148         (iterative_hash_gimple_type): Likewise.  Do not hash struct tag
2149         names or field names when computing hashes of canonical types.
2150         (gimple_register_canonical_type): Use gimple_canonical_type_hash
2151         for the hash.
2152         (print_gimple_types_stats): Dump stats of canonical_type_hash_cache.
2153         (free_gimple_type_tables): Free canonical_type_hash_cache.
2154
2155 2010-12-02  Richard Guenther  <rguenther@suse.de>
2156             Ira Rosen  <irar@il.ibm.com>
2157
2158         PR tree-optimization/46663
2159         * tree-vect-patterns.c (vect_recog_pow_pattern): Check that
2160         FUNCTION_DECL exists and that it's a builtin.
2161
2162 2010-12-02  Jie Zhang  <jie@codesourcery.com>
2163
2164         PR middle-end/46674
2165         * varasm.c (compute_visible_aliases): Handle user set assembler name.
2166
2167 2010-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
2168
2169         * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
2170         thinko regarding setting -mno-<xxx> debug switches.
2171         (rs6000_rtx_costs): Add FMA.  Delete old rtl based FMA costs.
2172
2173 2010-12-01  Joseph Myers  <joseph@codesourcery.com>
2174
2175         * intl.c: Don't include tm.h.
2176         * Makefile.in (intl.o): Don't depend on $(TM_H).
2177
2178 2010-12-01  Sebastian Pop  <sebastian.pop@amd.com>
2179
2180         * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
2181         unused warning.
2182         (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
2183
2184 2010-12-01  Sebastian Pop  <sebastian.pop@amd.com>
2185
2186         * graphite-sese-to-poly.c (analyze_drs): Removed.
2187         (build_scop_drs): Do not call analyze_drs.
2188         (analyze_drs_in_stmts): New.
2189         (insert_stmts): New.
2190         (insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
2191         (insert_out_of_ssa_copy_on_edge): Same.
2192         (rewrite_close_phi_out_of_ssa): Call insert_stmts.
2193         (rewrite_phi_out_of_ssa): Same.
2194         (rewrite_cross_bb_scalar_dependence): Same.
2195         (split_reduction_stmt): Move data references in the new basic blocks.
2196         (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
2197
2198 2010-12-01  Sebastian Pop  <sebastian.pop@amd.com>
2199
2200         * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
2201
2202 2010-12-01  Sebastian Pop  <sebastian.pop@amd.com>
2203
2204         PR middle-end/45297
2205         * graphite-poly.c (new_poly_bb): Returns a poly_bb_p.  Do not take
2206         the reduction bool in parameter.  Clear PBB_IS_REDUCTION.  Set GBB_PBB.
2207         * graphite-poly.h (new_poly_bb): Update declaration.
2208         (gbb_from_bb): Moved here...
2209         (pbb_from_bb): New.
2210         * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
2211         Removed.
2212         (graphite_stmt_p): Removed.
2213         (try_generate_gimple_bb): Returns a gimple_bb_p.  Do not pass in
2214         sbitmap reductions.  Always build a gimple_bb_p.  Do not call
2215         new_poly_bb.
2216         (build_scop_bbs_1): Do not pass in sbitmap reductions.
2217         (build_scop_bbs): Same.
2218         (gbb_from_bb): ... from here.
2219         (add_conditions_to_constraints): Moved up.
2220         (analyze_drs): New.
2221         (build_scop_drs): Call analyze_drs.  Remove all the PBBs that do
2222         not contain data references.
2223         (new_pbb_from_pbb): New.
2224         (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
2225         block is split.
2226         (rewrite_close_phi_out_of_ssa): Update call to
2227         insert_out_of_ssa_copy_on_edge.
2228         (rewrite_reductions_out_of_ssa): Now static.
2229         (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
2230         (split_pbb): New.
2231         (split_reduction_stmt): Call split_pbb.
2232         (translate_scalar_reduction_to_array): Pass in the scop, do not
2233         pass in the sbitmap reductions.
2234         (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
2235         (rewrite_commutative_reductions_out_of_ssa_loop): Same.
2236         (rewrite_commutative_reductions_out_of_ssa): Same.
2237         (build_poly_scop): Call build_scop_bbs,
2238         rewrite_commutative_reductions_out_of_ssa,
2239         rewrite_reductions_out_of_ssa, and
2240         rewrite_cross_bb_scalar_deps_out_of_ssa.  Move build_scop_drs
2241         before scop_to_lst.
2242         * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
2243         Removed declaration.
2244         (rewrite_reductions_out_of_ssa): Same.
2245         (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
2246         (build_scop_bbs): Same.
2247         * graphite.c (graphite_transform_loops): Do not initialize reductions.
2248         Do not call build_scop_bbs,
2249         rewrite_commutative_reductions_out_of_ssa,
2250         rewrite_reductions_out_of_ssa, and
2251         rewrite_cross_bb_scalar_deps_out_of_ssa.
2252         * sese.h (struct gimple_bb): Add field pbb.
2253         (GBB_PBB): New.
2254
2255 2010-12-01  Sebastian Pop  <sebastian.pop@amd.com>
2256
2257         * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
2258         New.
2259         (rewrite_cross_bb_scalar_deps): Pass in the scop.  Call
2260         handle_scalar_deps_crossing_scop_limits.
2261         (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
2262         after the scop.  Update call to rewrite_cross_bb_scalar_deps.
2263
2264 2010-12-01  Sebastian Pop  <sebastian.pop@amd.com>
2265
2266         * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
2267         when replacing a constant in an ADDR_EXPR.
2268
2269 2010-12-01  Sebastian Pop  <sebastian.pop@amd.com>
2270
2271         * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
2272         for the stride.
2273         (lst_do_strip_mine): Same.
2274         (scop_do_strip_mine): Same.
2275         * graphite-poly.c (apply_poly_transforms): Update call to
2276         scop_do_strip_mine.
2277         * graphite-poly.h (scop_do_strip_mine): Update declaration.
2278
2279 2010-12-01  Jan Hubicka  <jh@suse.cz>
2280
2281         * tree.c (build_common_builtin_nodes): Do not initialize
2282         BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT.
2283         * builtins.c (expand_builtin_profile_func): Remove.
2284         (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and
2285         BUILT_IN_PROFILE_FUNC_EXIT.
2286         * builtins.def (profile_func_enter, profile_func_exit): Remove stubs.
2287         (__cyg_profile_func_enter, __cyg_profile_func_exit): New.
2288         * gimplify.c (gimplify_function_tree): Reorganize code calling
2289         profiling functions.
2290
2291 2010-12-01  Joseph Myers  <joseph@codesourcery.com>
2292
2293         * opts.c: Expand comment on tm.h include.
2294
2295 2010-12-01  Yao Qi  <yao@codesourcery.com>
2296
2297         * config/arm/predicates.md ("vfp_register_operand"): Return true for
2298         VFP_D0_D7_REGS classes.
2299
2300 2010-12-01  Joseph Myers  <joseph@codesourcery.com>
2301
2302         * common.opt (flag_stack_check): New Variable entry.
2303         (fcompare-debug-second): Use Var.
2304         * flags.h (flag_compare_debug, flag_stack_check): Remove.
2305         * opts.c (flag_compare_debug): Remove.
2306         (common_handle_option): Don't handle OPT_fcompare_debug_second.
2307         Set opts->x_flag_stack_check for OPT_fstack_check_.
2308         * toplev.c (flag_stack_check): Remove.
2309
2310 2010-12-01  Joseph Myers  <joseph@codesourcery.com>
2311
2312         * common.opt (main_input_filename, main_input_basename,
2313         main_input_baselength): New Variable entries.  From toplev.c.
2314         * final.c (output_quoted_string): Move from toplev.c.
2315         * output.h (output_quoted_string): Move from toplev.h.
2316         * opts-global.c (read_cmdline_options): Use gcc_options pointer to
2317         access main_input_filename, main_input_baselength and
2318         main_input_basename.
2319         * targhooks.c: Include intl.h and opts.h.
2320         (option_affects_pch_p, default_get_pch_validity): Move from toplev.c.
2321         * targhooks.h (option_affects_pch_p, default_get_pch_validity):
2322         Move from toplev.h.
2323         * toplev.c (main_input_filename, main_input_basename,
2324         main_input_baselength): Move to common.opt.
2325         (output_quoted_string): Move to final.c.
2326         (warn_deprecated_use): Move to tree.c.
2327         (option_affects_pch_p, default_get_pch_validity,
2328         pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
2329         * toplev.h (skip_leading_substring): Move to tree-dump.c.
2330         (warn_deprecated_use): Move to tree.h.
2331         (output_quoted_string): Move to output.h.
2332         (main_input_filename, main_input_basename, main_input_baselength):
2333         Move to common.opt.
2334         (default_get_pch_validity, default_pch_valid_p): Move to targhooks.c.
2335         * tree-dump.c (skip_leading_substring): Move from toplev.h.
2336         * tree.c (warn_deprecated_use): Move from toplev.c.
2337         * tree.h (warn_deprecated_use): Move from toplev.h.
2338         * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
2339         config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
2340         config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
2341         config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
2342         config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
2343         config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
2344         config/mcore/mcore.c, config/mep/mep.c,
2345         config/microblaze/microblaze.c, config/mips/mips.c,
2346         config/mmix/mmix.c, config/mn10300/mn10300.c,
2347         config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
2348         config/picochip/picochip.c, config/s390/s390.c,
2349         config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
2350         config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
2351         config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
2352         graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
2353         varasm.c, xcoffout.c: Don't include toplev.h.
2354         * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
2355         gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
2356         varasm.o, xcoffout.o): Update dependencies.
2357         * config/arm/t-arm (arm.o): Update dependencies.
2358         * config/spu/t-spu-elf (spu.o): Update dependencies.
2359
2360 2010-12-01  Richard Guenther  <rguenther@suse.de>
2361
2362         PR tree-optimization/46730
2363         * value-prof.c (gimple_ic): Always generate a separate merge BB.
2364
2365 2010-11-30  Ian Lance Taylor  <iant@google.com>
2366
2367         * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V.  Remove
2368         all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}.
2369         * config/i386/linux64.h (ASM_SPEC): Likewise.
2370         * config/i386/mingw-w64.h (ASM_SPEC): Likewise.
2371         * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise.
2372         * config/i386/vxworks.h (ASM_SPEC): Likewise.
2373         * config/i386/x86-64.h (ASM_SPEC): Likewise.
2374         * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}.
2375         * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise.
2376
2377 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2378
2379         * c-decl.c (finish_function): Call objc_finish_function in
2380         Objective-C.
2381         * c-typeck.c (convert_for_assignment): Do not call
2382         objc_type_quals_match().
2383
2384 2010-11-30  Richard Guenther  <rguenther@suse.de>
2385
2386         PR tree-optimization/46722
2387         * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
2388         operands as arguments.
2389         (execute_optimize_widening_mul): Also handle power of two as
2390         multiplication.
2391
2392 2010-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
2393
2394         PR middle-end/46709
2395         * cgraphunit.c (process_function_and_variable_attributes): Fix
2396         cut'n'pasteo.
2397
2398 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
2399
2400         * hwint.c:  New.  Extracted from toplev.c.
2401         * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
2402         Move from toplev.h.
2403         * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
2404         Move to hwint.c.
2405         * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
2406         Move to hwint.h.
2407         * builtins.c, combine.c, config/i386/winnt.c, double-int.c,
2408         explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
2409         ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
2410         real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
2411         stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
2412         tree-ssa-loop-niter.c, tree-vect-data-refs.c,
2413         tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
2414         tree-vrp.c: Don't include toplev.h.
2415         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
2416         genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
2417         toplev.h in generated output.
2418         * Makefile.in (OBJS-common): Add hwint.o.
2419         Dependencies for above files changed to remove toplev.h.
2420         (hwint.o): New.
2421         (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
2422         insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on toplev.h.
2423         * config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
2424         * config/i386/t-interix (winnt.o): Don't depend on toplev.h.
2425
2426 2010-11-30  Richard Guenther  <rguenther@suse.de>
2427
2428         PR tree-optimization/46717
2429         * value-prof.c (gimple_ic): Preserve EH edges of the indirect
2430         call.  Manually create EH edges for the direct call and update
2431         target PHI nodes.
2432
2433 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
2434
2435         * diagnostic-core.h: Include bversion.h.
2436         * toplev.h: Don't include input.h or bversion.h.
2437         (parse_optimize_options): Don't declare here.
2438         * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
2439         caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
2440         combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
2441         config/host-darwin.c, config/i386/host-cygwin.c,
2442         config/i386/host-mingw32.c, config/i386/msformat-c.c,
2443         config/i386/netware.c, config/i386/nwld.c,
2444         config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
2445         config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
2446         config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
2447         config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
2448         config/score/score3.c, config/score/score7.c,
2449         config/sh/symbian-base.c, config/sh/symbian-c.c,
2450         config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
2451         config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
2452         cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
2453         fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
2454         graphite-blocking.c, graphite-clast-to-gimple.c,
2455         graphite-dependences.c, graphite-flattening.c,
2456         graphite-interchange.c, graphite-poly.c,
2457         graphite-scop-detection.c, graphite.c, haifa-sched.c,
2458         implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
2459         ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
2460         lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
2461         lto-opts.c, lto-section-in.c, lto-section-out.c,
2462         lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
2463         params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
2464         regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
2465         sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
2466         sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
2467         tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
2468         tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
2469         tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
2470         tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
2471         tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
2472         tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
2473         include toplev.h.
2474         * Makefile.in (TOPLEV_H): Remove.  All uses changed to use
2475         toplev.h.  Dependencies for above files and c-family files changed
2476         to remove $(TOPLEV_H) or toplev.h.
2477         (C_TREE_H): Don't include $(TOPLEV_H).
2478         (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h.  Add
2479         bversion.h.
2480         * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
2481         config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
2482         config/t-darwin, config/t-sol2,
2483         config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
2484         Dependencies for above files changed to remove $(TOPLEV_H) or
2485         toplev.h.
2486
2487 2010-11-30  Richard Guenther  <rguenther@suse.de>
2488
2489         PR lto/44986
2490         * gcc.c (main): Use the first input with a compiler as infile
2491         for link spec processing.
2492
2493 2010-11-30  Richard Guenther  <rguenther@suse.de>
2494
2495         PR lto/45949
2496         * cgraphunit.c (ipa_passes): Stop after errors from small IPA passes.
2497
2498 2010-11-30  Mingjie Xing  <mingjie.xing@gmail.com>
2499
2500         * gcc-plugin.h: Include coretypes.h.
2501         * Makefile.in (FUNCTION_H): Add hard-reg-set.h.
2502
2503 2010-11-30  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2504
2505         * ggc-zone.c (ggc_pch_read): Fix conditional compilation.
2506         * ggc-none.c (ggc_internal_alloc_zone_stat)
2507         (ggc_internal_cleared_alloc_zone_stat): New.
2508
2509 2010-11-29  Joakim Tjernlund  <Joakim.Tjernlund@transmode.se>
2510
2511         * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check
2512         TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM.
2513         (rs6000_emit_prologue): Don't set PIC register if
2514         TARGET_SINGLE_PIC_BASE.
2515         * config/rs6000/rs6000.opt (msingle-pic-base): New option.
2516         * doc/invoke.texi (msingle-pic-base): Document.
2517
2518 2010-11-29  H.J. Lu  <hongjiu.lu@intel.com>
2519
2520         PR driver/46712
2521         * exec-tool.in (id): New.
2522         Check and export LT_RCU_$id instead of LT_RCU.
2523
2524 2010-11-29  Zdenek Dvorak  <rakdver@kam.uniff.cz>
2525
2526         PR tree-optimization/46675
2527         * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
2528         in offset calculation.
2529
2530 2010-11-29  Jan Hubicka  <jh@suse.cz>
2531
2532         * collect2.c (main): Do not imply verbose output with
2533         LTO and linker plugin.
2534
2535 2010-11-29  Dodji Seketeli  <dodji@redhat.com>
2536
2537         * dwarf2out.c (print_die): Print the address of the current DIE or
2538         of any DIE referenced by the current one.
2539
2540 2010-11-29  Dodji Seketeli  <dodji@redhat.com>
2541
2542         PR debug/46101
2543         * dwarf2out.c (lookup_type_die_strip_naming_typedef): New function.
2544         (scope_die_for, gen_type_die_for_member): Replace uses of
2545         lookup_type_die with use of lookup_type_die_strip_naming_typedef.
2546
2547 2010-11-29  Iain Sandoe  <iains@gcc.gnu.org>
2548
2549         * config/darwin.c (darwin_mergeable_string_section): Remove blank line.
2550         (darwin_asm_declare_object_name): Correct spelling.
2551         (darwin_output_aligned_bss): Likewise.
2552
2553 2010-11-29  Iain Sandoe  <iains@gcc.gnu.org>
2554             Mike Stump  <mrs@gcc.gnu.org>
2555
2556         PR target/26427
2557         PR target/33120
2558         PR testsuite/35710
2559         * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
2560         (ASM_OUTPUT_LOCAL): Likewise.
2561         * config/darwin-protos.h (darwin_asm_declare_object_name): New.
2562         (darwin_output_aligned_bss): Likewise.
2563         (darwin_asm_output_aligned_decl_local): Likewise.
2564         (darwin_asm_output_aligned_decl_common): Likewise.
2565         (darwin_use_anchors_for_symbol_p): Likewise.
2566         * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
2567         (TARGET_ASM_OUTPUT_ANCHOR): Define.
2568         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
2569         (DARWIN_SECTION_ANCHORS): Set to 1.
2570         * config/darwin.c (emit_aligned_common): New var.
2571         (darwin_init_sections): Check that the Darwin private zero-size section
2572         marker is in range.
2573         (darwin_text_section): Check for zero-sized objects.
2574         (darwin_mergeable_string_section): Likewise.
2575         (darwin_mergeable_constant_section): Likewise.
2576         (machopic_select_section): Adjust to check for zero-sized objects.
2577         Assert that OBJC meta data are non-zero sized.
2578         (darwin_asm_declare_object_name): New.
2579         (darwin_asm_declare_constant_name): Adjust for zero-sized
2580         object sections.
2581         (BYTES_ZFILL): Define.
2582         (darwin_emit_weak_or_comdat): New.
2583         (darwin_emit_local_bss): New.
2584         (darwin_emit_common): New.
2585         (darwin_output_aligned_bss): New.
2586         (darwin_asm_output_aligned_decl_common): New.
2587         (darwin_asm_output_aligned_decl_local): New.
2588         (darwin_file_end): Disable subsections_via_symbols when section
2589         anchoring is active.
2590         (darwin_asm_output_anchor): Re-enable.
2591         (darwin_use_anchors_for_symbol_p): New.
2592         (darwin_override_options): Check for versions that can emit
2593         aligned common.  Update usage of flags to current.
2594         * config/darwin-sections.def: Update comments and flags for
2595         non-anchor sections.  zobj_const_section, zobj_data_section,
2596         zobj_bss_section, zobj_const_data_section: New.
2597         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
2598         (ASM_OUTPUT_ALIGN): Make whitespace output consistent.
2599         (L2_MAX_OFILE_ALIGNMENT): Define.
2600         (ASM_OUTPUT_ALIGNED_BSS): Define.
2601         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
2602         (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
2603         (SECTION_NO_ANCHOR): Define.
2604         (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
2605         (DARWIN_SECTION_ANCHORS): Define with a default of 0.
2606
2607 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
2608
2609         * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
2610         Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>.
2611         (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
2612         Conditionally define.
2613         (GET_ENVIRONMENT): Poison.
2614         * configure.ac: Don't test for mincore.
2615         * configure: Regenerate.
2616         * config.in: Regenerate.
2617         * collect2-aix.c: Don't include <sys/mman.h>.
2618         * collect2.c: Don't include <signal.h>.
2619         (SIGCHLD): Don't define.
2620         (prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
2621         * config/alpha/alpha.c: Include "splay-tree.h" instead of
2622         <splay-tree.h>.
2623         * config/arm/arm.c (arm_target_help): Use getenv instead of
2624         GET_ENVIRONMENT.
2625         * config/avr/driver-avr.c: Don't include <stdlib.h>.
2626         * config/frv/frv.c: Don't include <ctype.h>.
2627         * config/host-darwin.c: Don't include <sys/mman.h>.
2628         * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
2629         (MAP_FAILED): Don't define.
2630         * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
2631         * config/host-solaris.c: Don't include <sys/mman.h>.
2632         * config/i386/cygming.h: Don't include <stdio.h>.
2633         * config/i386/driver-i386.c: Don't include <stdlib.h>.
2634         * config/i386/host-cygwin.c: Don't include <sys/mman.h>.
2635         * config/iq2000/iq2000.c: Don't include <signal.h>.
2636         * config/m32c/m32c-pragma.c: Don't include <stdio.h>.
2637         * config/m68hc11/m68hc11.c: Don't include <stdio.h>.
2638         * config/mep/mep-pragma.c: Don't include <stdio.h>.
2639         * config/microblaze/microblaze.c: Don't include <signal.h>.
2640         * config/mips/mips.c: Don't include <signal.h>.
2641         * config/rs6000/host-darwin.c: Don't include <signal.h>.
2642         * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT.
2643         * defaults.h (GET_ENVIRONMENT): Don't define.
2644         * et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
2645         * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
2646         (SIGCHLD, MAP_FAILED, kill): Don't define.
2647         (process_command): Use getenv instead of GET_ENVIRONMENT.
2648         * genhooks.c: Don't include <string.h>.
2649         * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
2650         <sys/types.h>.
2651         (MAP_FAILED): Don't define.
2652         * ggc-page.c Don't include <sys/mman.h>.
2653         (MAP_ANONYMOUS, MAP_FAILED): Don't define.
2654         * ggc-zone.c: Don't include <sys/mman.h>.
2655         (MAP_ANONYMOUS, MAP_FAILED): Don't define.
2656         * graph.c: Include "config.h" instead of <config.h>.
2657         * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT.
2658         * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h".
2659         (SIGCHLD, kill): Don't define.
2660         * mips-tfile.c: Don't include <signal.h>.
2661         * opts.c: Don't include <signal.h> or <sys/resource.h>.
2662         (print_specific_help): Use getenv instead of GET_ENVIRONMENT.
2663         * passes.c: Don't include <signal.h>, <sys/resource.h> or
2664         <sys/times.h>.
2665         * sparseset.h: Don't include <assert.h>.
2666         * timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
2667         * tlink.c: Don't include "libiberty.h".
2668         * toplev.c: Don't include <signal.h> or <sys/times.h>.
2669         * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
2670         * tree-switch-conversion.c: Don't include <signal.h>.
2671         * vmsdbgout.c: Don't include <errno.h> or <string.h>.
2672
2673 2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2674
2675         * c-parser.c (c_parser_objc_try_catch_statement): Renamed to
2676         c_parser_objc_try_catch_finally_statement for consistency with the
2677         C++ parser.  Parse @catch(...) and pass NULL_TREE to
2678         objc_begin_catch_clause() in that case.  Improved error recovery.
2679         Reorganized code to be almost identical to
2680         cp_parser_objc_try_catch_finally_statement.
2681
2682 2010-11-29  Joern Rennecke  <amylaar@spamcop.net>
2683
2684         PR tree-optimization/46621
2685         * gimple.h: Don't include tm.h or hard-reg-set.h .
2686         * Makefile.in (GIMPLE_H): Remove $(TM_H).
2687
2688         PR bootstrap/44756
2689         * cppbuiltin.c: Include target.h .
2690         (define_builtin_macros_for_type_sizes):
2691         Use targetm.float_words_big_endian.
2692
2693 2010-11-27  Jan Hubicka  <jh@suse.cz>
2694
2695         * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
2696         and output cold_text_section_label.
2697         (dwarf2out_init): Don't do that there.
2698         (dwarf2out_finish): Handle cold section end label only if cold
2699         section was used.
2700
2701 2010-11-27  Eric Botcazou  <ebotcazou@adacore.com>
2702
2703         * tree-nested.c (remap_vla_decls): Fully expand value expressions of
2704         VLA variables.
2705
2706 2010-11-27  Richard Guenther  <rguenther@suse.de>
2707
2708         * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
2709         (gimple_assign_ssa_name_copy_p): Likewise.
2710         (gimple_assign_unary_nop_p): Use is_gimple_assign.
2711         (is_gimple_cast): Remove.
2712         (gimple_assign_single_p): Move ...
2713         * gimple.h (gimple_assign_single_p): ... here.
2714         (is_gimple_cast): Remove.
2715         (gimple_assign_rhs_code): Simplify.
2716         * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
2717         instead of is_gimple_cast.
2718         * ipa-type-escape.c (look_for_casts): Likewise.
2719
2720 2010-11-26  Joseph Myers  <joseph@codesourcery.com>
2721
2722         * doc/options.texi (Enum, EnumValue): Document new record types.
2723         (Enum): Document new option flag.
2724         * opt-functions.awk
2725         * optc-gen.awk: Handle enumerated option arguments.
2726         * opth-gen.awk: Handle enumerated option arguments.
2727         * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
2728         enum_value_to_arg): New.
2729         (decode_cmdline_option): Handle enumerated arguments.
2730         (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
2731         (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
2732         * opts.c (print_filtered_help, print_specific_help): Take
2733         lang_mask arguments.
2734         (print_filtered_help): Handle printing values of enumerated
2735         options.  Print possible arguments for enumerated options.
2736         (print_specific_help): Update call to print_filtered_help.
2737         (common_handle_option): Update calls to print_specific_help.  Use
2738         value rather than arg for OPT_fdiagnostics_show_location_.  Don't
2739         handle OPT_ffp_contract_, OPT_fexcess_precision_,
2740         OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
2741         OPT_fira_region_ here.
2742         * opts.h (enum cl_var_type): Add CLVC_ENUM.
2743         (struct cl_option): Add var_enum.
2744         (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
2745         struct cl_enum, cl_enums, cl_enums_count): New.
2746         (CL_ERR_ENUM_ARG): Define.
2747         (CL_ERR_NEGATIVE): Update value.
2748         (enum_value_to_arg): Declare.
2749         * common.opt (flag_ira_algorithm, flag_ira_region,
2750         flag_fp_contract_mode, flag_excess_precision_cmdline,
2751         default_visibility, flag_tls_default): Remove Variable entries.
2752         (help_enum_printed): New Variable.
2753         (fdiagnostics-show-location=): Use Enum.  Add associated
2754         SourceInclude, Enum and EnumValue entries.
2755         (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
2756         ftls-model=, fvisibility=): Use Enum, Var and Init.  Add
2757         associated Enum and EnumValue entries.
2758
2759 2010-11-26  Joern Rennecke  <amylaar@spamcop.net>
2760
2761         PR target/46623
2762         * config/microblaze/microblaze.c (microblaze_block_move_straight):
2763         Use XALLOCAVEC.
2764         (microblaze_option_override): Don't use C++ style comments.
2765         (save_restore_insns): Remove unused variable base_offset.
2766         (microblaze_expand_prologue): Remove unused variable insn.
2767         (microblaze_secondary_reload): Adjust type to match target.h .
2768         (microblaze_elf_in_small_data_p): Move declarations to start of block.
2769         (microblaze_expand_move): Likewise.
2770         * config/microblaze/microblaze.h (LARGE_INT):
2771         Avoid signed / unsigned comparisons.
2772         (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2773         (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
2774         (ASM_FINISH_DECLARE_OBJECT): Likewise.  Constify name.
2775
2776 2010-11-26  Michael Matz  <matz@suse.de>
2777
2778         * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
2779
2780         * passes.c (init_optimization_passes): Remove superfluous
2781         copy-prop pass.
2782
2783 2010-11-26  Richard Guenther  <rguenther@suse.de>
2784
2785         PR lto/46648
2786         * gimple.c (gtc_visit): Do not return true for members of an
2787         SCC still being processed but the current lattice value of
2788         the member.  Treat SCC members comparison state as lattice,
2789         starting at equal, eventually dropping to unequal.
2790         (gimple_types_compatible_p_1): Likewise.
2791
2792 2010-11-26  Richard Guenther  <rguenther@suse.de>
2793
2794         PR middle-end/46559
2795         * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
2796         for location list processing.
2797
2798 2010-11-26  Richard Guenther  <rguenther@suse.de>
2799
2800         PR lto/46560
2801         * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
2802         flags manually.
2803
2804 2010-11-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2805
2806         * config/s390/s390.c (print_operand_address): Replace assert with
2807         error message.
2808         (print_operand): Replace assertions, gcc_unreachable and
2809         fatal_insn with error messages.
2810
2811 2010-11-26  Richard Guenther  <rguenther@suse.de>
2812
2813         PR tree-optimization/46665
2814         * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
2815
2816 2010-11-26  Ian Bolton  <ian.bolton@arm.com>
2817
2818         * config/arm/arm.c (arm_option_override): enable loop array
2819         prefetching at -O3 for suitable targets, and configure params.
2820         * config/arm/arm-protos.h (struct tune_params): Add fields for
2821         configuring loop array prefetching.
2822
2823 2010-11-26  Christian Borntraeger  <borntraeger@de.ibm.com>
2824
2825         * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
2826
2827 2010-11-26  Richard Guenther  <rguenther@suse.de>
2828
2829         PR tree-optimization/46664
2830         * tree-affine.c (aff_combination_to_tree): Add rest last.
2831
2832 2010-11-26  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
2833
2834         PR target/33637
2835         * configure.ac: Accept extra arguments for AS_FOR_TARGET,
2836         LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
2837         * configure: Regenerated.
2838         * exec-tool.in: Not quoting command, may have extra arguments.
2839
2840 2010-11-26  Richard Guenther  <rguenther@suse.de>
2841
2842         PR tree-optimization/46528
2843         PR debug/46338
2844         * profile.c (branch_prob): Do not split blocks based on locations
2845         from debug statements.
2846
2847 2010-11-26  Jakub Jelinek  <jakub@redhat.com>
2848
2849         PR middle-end/46647
2850         * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
2851         of host_integerp check.  Use TREE_INT_CST_LOW instead of tree_low_cst.
2852
2853         PR bootstrap/45700
2854         * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
2855         build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
2856         (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
2857         build6_loc): Define.
2858         * fold-const.c (protected_set_expr_location_unshare): New inline.
2859         (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
2860         (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
2861         pedantic_omit_one_operand_loc, omit_two_operands_loc,
2862         fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
2863         optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
2864         build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
2865         fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
2866         instead of buildN followed by SET_EXPR_LOCATION or
2867         protected_set_expr_location.
2868         (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
2869         Use buildN_stat_loc instead of buildN_stat followed by
2870         SET_EXPR_LOCATION.
2871
2872 2010-11-26  Basile Starynkevitch  <basile@starynkevitch.net>
2873
2874         * Makefile.in (s-tm-texi): Remove spurous tab.
2875
2876 2010-11-26  Alexandre Oliva  <aoliva@redhat.com>
2877
2878         PR debug/46258
2879         * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
2880         debug stmts.
2881
2882 2010-11-26  Alexandre Oliva  <aoliva@redhat.com>
2883
2884         * toplev.c (finalize): Add no_backend parameter.  Don't finish
2885         passes when preprocessing only.  Adjust...
2886         (do_compile): ... caller.
2887
2888 2010-11-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2889
2890         * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
2891         flag_unsafe_math_optimizations.
2892         (negsf2): Likewise.
2893         Move fnegabs related patterns together.  Only use fmpynfadd instruction
2894         to negate a multiply if !flag_signed_zeros is true.
2895
2896 2010-11-25  Uros Bizjak  <ubizjak@gmail.com>
2897
2898         * gengtype-state.c (read_state_structures): Initialize "previous".
2899
2900 2010-11-25  Basile Starynkevitch  <basile@starynkevitch.net>
2901             Jeremie Salvucci  <jeremie.salvucci@free.fr>
2902
2903         * gengtype-state.c: Add new file.
2904
2905         * gengtype.c (type count): New variable.
2906         (new_structure, find_param_structure, create_pointer)
2907         (create_array): Use it to set state_number in types.
2908         (dump_everything): Improve comment.
2909         (main): Call read_state and write_state. Print type_count.
2910
2911         * gengtype.h (type_lineloc): New function.
2912         (read_state, write_state): New declarations.
2913
2914         * Makefile.in (GENGTYPE_FLAGS): New variable.
2915         (s-gtype): Run gengtype twice and generate gtype.state.
2916         (build/gengtype-state.o): New rule.
2917         (build/gengtype$(build_exeext)): Link gengtype-state.o.
2918         (mostlyclean): Update comment.  Remove gtype.state.
2919
2920 2010-11-25  Jakub Jelinek  <jakub@redhat.com>
2921
2922         PR middle-end/46637
2923         * combine.c (try_combine): When substing i2dest for i2src, pass
2924         1 as last argument even if
2925         i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
2926
2927 2010-11-25  H.J. Lu  <hongjiu.lu@intel.com>
2928
2929         PR middle-end/46647
2930         * builtins.c (target_char_cast): Check INTEGER_CST instead of
2931         host_integerp.  Replace tree_low_cst with TREE_INT_CST_LOW.
2932
2933 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
2934
2935         * target.def (supports_split_stack, except_unwind_info): Take
2936         gcc_options parameters.
2937         * targhooks.c (default_except_unwind_info,
2938         dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
2939         gcc_options parameters.
2940         * targhooks.h (default_except_unwind_info,
2941         dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
2942         prototypes.
2943         * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
2944         TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
2945         Document that hooks must not be modified.
2946         (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
2947         * doc/tm.texi: Regenerate.
2948         * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
2949         &global_options to targetm.except_unwind_info.
2950         * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
2951         dwarf2out_begin_prologue, dwarf2out_frame_init,
2952         dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
2953         &global_options to targetm.except_unwind_info.
2954         * except.c (init_eh, finish_eh_generation,
2955         gate_convert_to_eh_region_ranges,
2956         output_one_function_exception_table): Pass &global_options to
2957         targetm.except_unwind_info.
2958         * expr.c (build_personality_function): Pass &global_options to
2959         targetm.except_unwind_info.
2960         * function.c (expand_function_end): Pass &global_options to
2961         targetm.except_unwind_info.
2962         * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
2963         * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
2964         * opts.c (finish_options): Pass opts to targetm.except_unwind_info
2965         and targetm.supports_split_stack.  Remove assertions about opts
2966         and opts_set.
2967         (common_handle_option): Remove assertions about opts, opts_set and dc.
2968         * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
2969         &global_options to targetm.except_unwind_info.
2970         * tree.c (build_common_builtin_nodes: Pass &global_options to
2971         targetm.except_unwind_info.
2972         * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
2973         (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
2974         thumb1_expand_prologue, thumb1_output_function_prologue,
2975         arm_unwind_emit, arm_output_fn_unwind): Update calls to
2976         arm_except_unwind_info.
2977         * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
2978         parameter.
2979         * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
2980         parameter.
2981         (ia64_output_function_prologue, ia64_add_bundle_selector_before,
2982         ia64_reorg, ia64_asm_unwind_emit): Update calls to
2983         ia64_except_unwind_info.
2984         * config/pa/pa.c (pa_option_override): Pass &global_options to
2985         targetm.except_unwind_info.
2986         * config/picochip/picochip-protos.h (picochip_except_unwind_info):
2987         Remove prototype.
2988
2989 2010-11-25  Kai Tietz  <kai.tietz@onevision.com>
2990
2991         * cgraphunit.c (process_function_and_variable_attributes):
2992         Mark dllexport-ed function/variables as needed.
2993         * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
2994         as externally visible.
2995
2996 2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
2997
2998         PR rtl-optimization/46585
2999         * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
3000         (vinsn_init): Skip computation of dependencies for local NOPs.
3001         (vinsn_delete): Don't try to free regsets for local NOPs.
3002         (setup_nop_and_exit_insns): Change definition of nop_pattern.
3003
3004 2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
3005
3006         PR rtl-optimization/46602
3007         * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
3008         (tidy_control_flow): Here.
3009
3010 2010-11-25  Joern Rennecke  <amylaar@spamcop.net>
3011             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3012
3013         PR bootstrap/45888
3014         * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
3015         Fix target.def pathname in timestamp comparison.
3016
3017 2010-11-24  Richard Henderson  <rth@redhat.com>
3018
3019         * config/ia64/predicates.md (pmpyshr_operand): New.
3020         * config/ia64/ia64.c (ia64_expand_unpack): New.
3021         (ia64_expand_widen_mul_v4hi): New.
3022         (ia64_expand_widen_sum): Update for pattern renames.
3023         (ia64_expand_dot_prod_v8qi): Likewise.
3024         * config/ia64/ia64-protos.h: Update.
3025         * config/ia64/vect.md (vecwider): New mode attribute.
3026         (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
3027         (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
3028         (pmpyshr2, pmpyshr2_u): New.
3029         (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
3030         (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
3031         (mulv2si3): New.
3032         (vec_pack_ssat_v4hi): Rename from pack2_sss.
3033         (vec_pack_usat_v4hi): Rename from *pack2_uss.
3034         (vec_pack_ssat_v2si): Rename from pack4_sss.
3035         (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
3036         vec_select operation.
3037         (vec_interleave_highv8qi): Similarly.
3038         (mux1_alt): Rename from *mux1_alt.
3039         (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
3040         (vec_interleave_lowv4hi): Rename from unpack2_l.
3041         (vec_interleave_highv4hi): Rename from unpack2_h.
3042         (mix2_r): Rename from *mix2_r.
3043         (mix2_l): Similarly.
3044         (vec_extract_evenodd_helper): New.
3045         (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
3046         (vec_interleave_lowv2si): Rename from *unpack4_l.
3047         (vec_interleave_highv2si): Rename from *unpack4_h.
3048         (vec_extract_evenv2si, vec_extract_oddv2si): New.
3049         (vec_interleave_lowv2sf): Rename from fmix_r.
3050         (vec_interleave_highv2sf): Rename from *fmix_l.
3051         (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
3052         (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
3053         (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
3054         (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
3055
3056 2010-11-24  Nathan Froyd  <froydnj@codesourcery.com>
3057
3058         * targhooks.c (default_except_unwind_info): Remove
3059         MUST_USE_SJLJ_EXCEPTIONS case.
3060         * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
3061         * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
3062         * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
3063         * doc/tm.texi: Regenerate.
3064         * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
3065
3066 2010-11-24  Nathan Froyd  <froydnj@codesourcery.com>
3067
3068         * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
3069         __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
3070         * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
3071         * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
3072         * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
3073
3074 2010-11-24  H.J. Lu  <hongjiu.lu@intel.com>
3075
3076         PR target/46519
3077         * config/i386/i386.c (ix86_expand_call): Don't check
3078         TREE_THIS_VOLATILE.
3079
3080 2010-11-24  H.J. Lu  <hongjiu.lu@intel.com>
3081
3082         PR target/46519
3083         * config/i386/i386.c (upper_128bits_state): New.
3084         (block_info_def): Remove upper_128bits_set and done.  Add state,
3085         referenced, count, processed and rescanned.
3086         (check_avx256_stores): Updated.
3087         (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
3088         Call note_stores only if needed.  Set referenced and count.
3089         (move_or_delete_vzeroupper_1): Updated.  Set rescan_vzeroupper_p.
3090         (rescan_move_or_delete_vzeroupper): New.
3091         (move_or_delete_vzeroupper):  Process and rescan all all basic
3092         blocks instead of predecessor blocks of all exit points.
3093         (ix86_option_override_internal): Enable vzeroupper optimization
3094         only for -fexpensive-optimizations and not optimizing for size.
3095         (use_avx256_p): Removed.
3096         (init_cumulative_args): Don't set use_avx256_p.
3097         (ix86_function_arg): Likewise.
3098         (ix86_expand_move): Likewise.
3099         (ix86_expand_vector_move_misalign): Likewise.
3100         (ix86_local_alignment): Likewise.
3101         (ix86_minimum_alignment): Likewise.
3102         (ix86_expand_epilogue): Don't check use_avx256_p when generating
3103         vzeroupper.
3104         (ix86_expand_call): Likewise.
3105
3106         * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
3107         and use_avx256_p.  Add rescan_vzeroupper_p.
3108
3109 2010-11-24  Joseph Myers  <joseph@codesourcery.com>
3110
3111         * toplev.c: Include <signal.h>.
3112
3113 2010-11-24  Richard Guenther  <rguenther@suse.de>
3114
3115         PR lto/43218
3116         * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
3117         conflicting function signatures as non-inlineable.
3118
3119 2010-11-24  Jakub Jelinek  <jakub@redhat.com>
3120
3121         PR rtl-optimization/46614
3122         * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
3123          (deps_analyze_insn): Mark JUMP_INSNs in
3124         last_pending_memory_flush that weren't added through
3125         flush_pending_lists with NON_FLUSH_JUMP_KIND.
3126         (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
3127         on INSN_LIST instead of JUMP_P check on its operand.
3128         * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
3129
3130 2010-11-24  Richard Guenther  <rguenther@suse.de>
3131
3132         * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
3133
3134 2010-11-24  Richard Guenther  <rguenther@suse.de>
3135
3136         PR lto/46606
3137         * lto-streamer-in.c (input_gimple_stmt): When we cannot find
3138         a FIELD_DECL that is type correct issue a warning and fixup
3139         with a VIEW_CONVERT_EXPR.
3140
3141 2010-11-24  Basile Starynkevitch  <basile@starynkevitch.net>
3142
3143         * doc/invoke.texi (Options for Debugging Your Program or GCC):
3144         Explain static numbering of dump files.
3145
3146 2010-11-24  Joseph Myers  <joseph@codesourcery.com>
3147
3148         * common.opt (user_vect_verbosity_level): New Variable entry.
3149         (ftree-vectorizer-verbose=): Mark as UInteger.
3150         * flag-types.h (enum vect_verbosity_levels): Move from enum
3151         verbosity_levels in tree-vectorizer.h.
3152         * opts.c: Don't include tree.h.
3153         (vect_set_verbosity_level): Move from tree-vectorizer.c.  Use
3154         gcc_options parameter; take integer option argument.
3155         (common_handle_option): Update call to vect_set_verbosity_level.
3156         * tree-vectorizer.c (user_vect_verbosity_level): Remove.
3157         (vect_set_verbosity_level): Move to opts.c.
3158         (vect_verbosity_level, vect_print_dump_info): Update for change of
3159         enum name.
3160         * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
3161         (vect_print_dump_info): Update for change of enum name.
3162         * tree.h (vect_set_verbosity_level): Remove.
3163         * Makefile.in (opts.o): Update dependencies.
3164
3165 2010-11-24  Jakub Jelinek  <jakub@redhat.com>
3166
3167         PR middle-end/46629
3168         * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
3169         instead of insn with any_condjump_p.
3170
3171 2010-11-24  Mingjie Xing  <mingjie.xing@gmail.com>
3172
3173         * config/mips/loongson.md: Change the description comment of the file
3174         and update the copyright years.
3175         (define_insn "<u>div<mode>3): Add loongson3a support.
3176         (define_insn "<u>mod<mode>3"): Likewise.
3177         * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
3178         mul<mode>3_mul3_loongson.
3179         (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
3180         (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
3181
3182 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3183
3184         * common.opt (initial_max_fld_align, flag_debug_asm,
3185         flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
3186         flag_print_asm_name, graph_dump_format, help_printed,
3187         help_columns, flag_opts_finished): New Variable entries.
3188         (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
3189         frandom-seed=): Mark deferred.
3190         (fsched-verbose=): Use UInteger and Var.
3191         * flags.h (set_struct_debug_option, flag_print_asm_name,
3192         rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
3193         graph_dump_format): Don't declare here.
3194         * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
3195         * opts-global.c: Include dbgcnt.h and debug.h.
3196         (decode_options): Pass location to finish_options.
3197         (handle_common_deferred_options): Check flag_dump_all_passed.
3198         Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
3199         OPT_frandom_seed and OPT_frandom_seed_.  Don't assert on
3200         OPT_fstack_limit.
3201         * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
3202         (set_struct_debug_option): Add location_t parameter.  Update
3203         recursive call.  Use error_at.
3204         (default_options_optimization): Use error_at.
3205         (finish_options): Add location_t parameter.  Use
3206         opts->x_flag_opts_finished instead of first_time_p.  Use
3207         opts->x_optimize instead of optimize.  Use error_at.  Pass
3208         location to inform.
3209         (print_filtered_help): Use opts->x_help_printed to track what
3210         options have been printed.
3211         (print_specific_help): Use opts->x_help_columns to track number of
3212         columns.
3213         (common_handle_option): Pass locations and gcc_options pointers to
3214         more functions.  Use warning_at instead of fnotice and warning.
3215         Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
3216         OPT_fdebug_prefix_map_.  Use error_at.  Set
3217         opts->x_initial_max_fld_align; don't set maximum_field_alignment.
3218         Don't handle OPT_frandom_seed or OPT_frandom_seed_.  Don't handle
3219         OPT_fsched_verbose_.
3220         (handle_param): Add location_r parameter.  Use error_at.
3221         (set_debug_level): Add location_r parameter.  Use error_at and
3222         warning_at.
3223         (setup_core_dumping): Add diagnostic_context parameter.
3224         (decode_d_option): Add gcc_options, location_t and
3225         diagnostic_context parameters and use them instead of global
3226         state.  Use warning_at.
3227         (enable_warning_as_error): Use error_at.
3228         * opts.h (finish_options): Update prototype.
3229         (set_struct_debug_option): Declare here.
3230         * rtl.h (fix_sched_param): Remove.
3231         * stor-layout.c (initial_max_fld_align): Remove.
3232         * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
3233         graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
3234         (process_options): Set maximum_field_alignment.
3235         * tree.h (initial_max_fld_align) Don't declare here.
3236         * Makefile.in (opts.o, opts-global.o): Update dependencies.
3237
3238 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3239
3240         * flag-types.h (struct visibility_flags): Don't declare here.
3241         * flags.h (strip_off_ending, fast_math_flags_set_p,
3242         fast_math_flags_struct_set_p): Declare here.
3243         (visibility_options): Don't declare here.
3244         * opts-common.c (option_enabled, get_option_state): Move from
3245         opts.c.
3246         * opts-global.c: Include diagnostic.h instead of
3247         diagnostic-core.h.  Include tree.h, langhooks.h, lto-streamer.h
3248         and toplev.h.
3249         (const_char_p, ignored_options, in_fnames, num_in_fnames,
3250         write_langs, complain_wrong_lang, postpone_unknown_option_warning,
3251         print_ignored_options, unknown_option_callback,
3252         post_handling_callback, lang_handle_option, add_input_filename,
3253         read_cmdline_options, initial_lang_mask, init_options_once,
3254         decode_cmdline_options_to_array_default_mask,
3255         set_default_handlers, decode_options): Move from opts.c.
3256         (print_ignored_options): Use warning_at instead of saving and
3257         restoring input_location.
3258         * opts.c: Include <signal.h> and <sys/resource.h>.  Include rtl.h
3259         instead of expr.h.  Don't include langhooks.h, except.h or
3260         lto-streamer.h.  Add more comments on includes.
3261         (strip_off_ending, setup_core_dumping, decode_d_option): Move from
3262         toplev.c.
3263         (visibility_options): Move to c-family/c-common.c.
3264         (const_char_p, ignored_options, in_fnames, num_in_fnames,
3265         write_langs, complain_wrong_lang, postpone_unknown_option_warning,
3266         print_ignored_options, unknown_option_callback,
3267         post_handling_callback, lang_handle_option, add_input_filename,
3268         read_cmdline_options, initial_lang_mask, init_options_once,
3269         decode_cmdline_options_to_array_default_mask,
3270         set_default_handlers, decode_options): Move to opts-global.c.
3271         (target_handle_option, default_options_optimization,
3272         finish_options, common_handle_option): Remove static.
3273         (option_enabled, get_option_state): Move to opts-common.c.
3274         * opts.h (common_handle_option, target_handle_option,
3275         finish_options, default_options_optimization): Declare.
3276         * toplev.c: Don't include <signal.h> or <sys/resource.h>.
3277         (setup_core_dumping, strip_off_ending, decode_d_option): Move to
3278         opts.c.
3279         * toplev.h (strip_off_ending, decode_d_option,
3280         fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
3281         declare here.
3282         * Makefile.in (opts.o, opts-global.o): Update dependencies.
3283
3284 2010-11-23  Dave Korn  <dave.korn.cygwin@gmail.com>
3285
3286         PR driver/42690
3287         * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
3288         options, replace by call of pass-through-libs spec function to process
3289         link_gcc_c_sequence spec.
3290         (lto_libgcc_spec): Delete variable.
3291         (static_specs[]): Remove related entry.
3292         (static_spec_functions[]): Add new entry for pass-through-libs.
3293         (main): Don't generate deleted lto_libgcc_spec.
3294         (pass_through_libs_spec_func): New function to implement the new
3295         pass-through-libs spec function.
3296         * doc/invoke.texi (pass-through-libs): Document new spec function.
3297
3298 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
3299
3300         * doc/options.texi (Warning, Optimization): Document.
3301
3302 2010-11-23  Jan Hubicka  <jh@suse.cz>
3303
3304         * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
3305         (tree_decl_with_vis): Add implicit_section_name_p.
3306         * targhooks.h (default_function_section): Declare.
3307         * target.def (function_section): New hook.
3308         * defaults.h (HOT_TEXT_SECTION_NAME,
3309         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3310         * predict.c (choose_function_section): Remove.
3311         (estimate_bb_frequencies): Do not use choose_function_section.
3312         * coretypes.h (enum node_frequency): Move here from cgraph.h
3313         * cgraph.h (enum node_frequency): Remove.
3314         * varasm.c (initialize_cold_section_name, unlikely_text_section,
3315         unlikely_text_section_p): Remove.
3316         (named_subsection_entry): New structure.
3317         (get_text_section): New function.
3318         (default_function_section): New function.
3319         (function_section_1): Break out from ...; handle profile info.
3320         (function_section): ... here.
3321         (unlikely_text_section): Remove.
3322         (unlikely_text_section_p): Use function_section_1.
3323         (assemble_start_function): Do not initialize cold section.
3324         (default_section_type_flags): Do not special case cold subsection.
3325         (switch_to_section): Likewise.
3326         * output.h (get_text_section): Define.
3327         * config/i386/winnt.c: Do not special case cold section.
3328         * config/darwin-protos.h (darwin_function_section): Declare.
3329         * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
3330         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3331         * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
3332         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3333         (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
3334         * config/ia64/ia64.c (ia64_hpux_function_section): New function.
3335         * config/darwin.c (machopic_select_section): Use
3336         darwin_function_section.
3337         (darwin_function_section): New function.
3338         * config/darwin.h (HOT_TEXT_SECTION_NAME,
3339         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3340         (TARGET_ASM_FUNCTION_SECTION): Define.
3341         * system.h (HOT_TEXT_SECTION_NAME,
3342         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
3343
3344 2010-11-23  Iain Sandoe  <iains@gcc.gnu.org>
3345
3346         * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
3347         LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
3348
3349 2010-11-23  Jakub Jelinek  <jakub@redhat.com>
3350
3351         PR middle-end/46499
3352         * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
3353         following unconditional jumps.
3354
3355 2010-11-23  Richard Guenther  <rguenther@suse.de>
3356
3357         * doc/md.texi (386 constraints): Clarify A constraint documentation.
3358
3359 2010-11-23  Basile Starynkevitch  <basile@starynkevitch.net>
3360             Jeremie Salvucci  <jeremie.salvucci@free.fr>
3361
3362         * gengtype.c (enum typekind, struct options)
3363         (struct nested_ptr_data, struct pair, NUM_PARAM)
3364         (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
3365         Move to gengtype.h.
3366         (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
3367         Remove static, add zero state_number.
3368         (typedefs, structures, param_structs, variables): Remove static.
3369         (create_option): Remove.
3370         (create_string_option, create_type_option, create_nested_option):
3371         New functions.
3372         (create_nested_ptr_option): Use create_nested_option.
3373         (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
3374         new create*option functions.
3375         (process_gc_options): Adjust for discriminated option.
3376         (output_mangled_typename): Handle TYPE_NONE.
3377         (walk_type): Test option kinds.
3378         (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
3379         (write_func_for_structure, write_type, write_local, write_root)
3380         (write_roots, note_def_vec, dump_options): Adjust for
3381         discriminated option.
3382
3383         * gengtype.h (typedefs, structures, param_structs, variables
3384         enum typekind): Move from gengtype.c
3385         (enum option_kind): New discriminating enumeration.
3386         (struct options): Becomes discriminated.
3387         (struct nested_ptr_data): Nove from gengtype.c
3388         (create_string_option, create_type_option, create_nested_option)
3389         (create_nested_ptr_option): New functions
3390         (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
3391         (UNION_OR_STRUCT_P): Move from gengtype.c
3392
3393         * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
3394         discriminated options.
3395
3396 2010-11-23  Richard Guenther  <rguenther@suse.de>
3397
3398         * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
3399         twice.  Avoid re-allocating the ops vector all the time.
3400
3401 2010-11-23  Richard Guenther  <rguenther@suse.de>
3402
3403         * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
3404         is_gimple_min_invariant, group tree code checks to allow
3405         combining them.
3406         (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
3407         of is_gimple_reg.
3408
3409 2010-11-23  Eric Botcazou  <ebotcazou@adacore.com>
3410
3411         * config.gcc (sparc*-*-*): Reorder.
3412
3413 2010-11-23  Basile Starynkevitch  <basile@starynkevitch.net>
3414
3415         * gengtype.c (header_dot_h_frul, source_dot_c_frul):
3416         Remove ENABLE_CHECKING around DBGPRINTF.