OSDN Git Service

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