OSDN Git Service

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