OSDN Git Service

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