OSDN Git Service

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