OSDN Git Service

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