OSDN Git Service

585429c21af8cb99cacbfbc5ecac033d23430fb6
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
2
3         * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
4         Include <signal.h>, <sys/mman.h>, <sys/resource.h> and
5         <sys/times.h>.
6         (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
7         Conditionally define.
8         (GET_ENVIRONMENT): Poison.
9         * configure.ac: Don't test for mincore.
10         * configure: Regenerate.
11         * config.in: Regenerate.
12         * collect2-aix.c: Don't include <sys/mman.h>.
13         * collect2.c: Don't include <signal.h>.
14         (SIGCHLD): Don't define.
15         (prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
16         * config/alpha/alpha.c: Include "splay-tree.h" instead of
17         <splay-tree.h>.
18         * config/arm/arm.c (arm_target_help): Use getenv instead of
19         GET_ENVIRONMENT.
20         * config/avr/driver-avr.c: Don't include <stdlib.h>.
21         * config/frv/frv.c: Don't include <ctype.h>.
22         * config/host-darwin.c: Don't include <sys/mman.h>.
23         * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
24         (MAP_FAILED): Don't define.
25         * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
26         * config/host-solaris.c: Don't include <sys/mman.h>.
27         * config/i386/cygming.h: Don't include <stdio.h>.
28         * config/i386/driver-i386.c: Don't include <stdlib.h>.
29         * config/i386/host-cygwin.c: Don't include <sys/mman.h>.
30         * config/iq2000/iq2000.c: Don't include <signal.h>.
31         * config/m32c/m32c-pragma.c: Don't include <stdio.h>.
32         * config/m68hc11/m68hc11.c: Don't include <stdio.h>.
33         * config/mep/mep-pragma.c: Don't include <stdio.h>.
34         * config/microblaze/microblaze.c: Don't include <signal.h>.
35         * config/mips/mips.c: Don't include <signal.h>.
36         * config/rs6000/host-darwin.c: Don't include <signal.h>.
37         * cppdefault.c (cpp_relocated): Use getenv instead of
38         GET_ENVIRONMENT.
39         * defaults.h (GET_ENVIRONMENT): Don't define.
40         * et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
41         * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
42         (SIGCHLD, MAP_FAILED, kill): Don't define.
43         (process_command): Use getenv instead of GET_ENVIRONMENT.
44         * genhooks.c: Don't include <string.h>.
45         * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
46         <sys/types.h>.
47         (MAP_FAILED): Don't define.
48         * ggc-page.c Don't include <sys/mman.h>.
49         (MAP_ANONYMOUS, MAP_FAILED): Don't define.
50         * ggc-zone.c: Don't include <sys/mman.h>.
51         (MAP_ANONYMOUS, MAP_FAILED): Don't define.
52         * graph.c: Include "config.h" instead of <config.h>.
53         * incpath.c (add_env_var_paths): Use getenv instead of
54         GET_ENVIRONMENT.
55         * lto-wrapper.c: Don't include <errno.h>, <signal.h> or
56         "libiberty.h".
57         (SIGCHLD, kill): Don't define.
58         * mips-tfile.c: Don't include <signal.h>.
59         * opts.c: Don't include <signal.h> or <sys/resource.h>.
60         (print_specific_help): Use getenv instead of GET_ENVIRONMENT.
61         * passes.c: Don't include <signal.h>, <sys/resource.h> or
62         <sys/times.h>.
63         * sparseset.h: Don't include <assert.h>.
64         * timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
65         * tlink.c: Don't include "libiberty.h".
66         * toplev.c: Don't include <signal.h> or <sys/times.h>.
67         * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
68         * tree-switch-conversion.c: Don't include <signal.h>.
69         * vmsdbgout.c: Don't include <errno.h> or <string.h>.
70
71 2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
72
73         * c-parser.c (c_parser_objc_try_catch_statement): Renamed to
74         c_parser_objc_try_catch_finally_statement for consistency with the
75         C++ parser.  Parse @catch(...) and pass NULL_TREE to
76         objc_begin_catch_clause() in that case.  Improved error recovery.
77         Reorganized code to be almost identical to
78         cp_parser_objc_try_catch_finally_statement.
79         
80 2010-11-29  Joern Rennecke  <amylaar@spamcop.net>
81
82         PR tree-optimization/46621
83         * gimple.h: Don't include tm.h or hard-reg-set.h .
84         * Makefile.in (GIMPLE_H): Remove $(TM_H).
85
86         PR bootstrap/44756
87         * cppbuiltin.c: Include target.h .
88         (define_builtin_macros_for_type_sizes):
89         Use targetm.float_words_big_endian.
90
91 2010-11-27  Jan Hubicka  <jh@suse.cz>
92
93         * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
94         and output cold_text_section_label.
95         (dwarf2out_init): Don't do that there.
96         (dwarf2out_finish): Handle cold section end label only if cold
97         section was used.
98
99 2010-11-27  Eric Botcazou  <ebotcazou@adacore.com>
100
101         * tree-nested.c (remap_vla_decls): Fully expand value expressions of
102         VLA variables.
103
104 2010-11-27  Richard Guenther  <rguenther@suse.de>
105
106         * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
107         (gimple_assign_ssa_name_copy_p): Likewise.
108         (gimple_assign_unary_nop_p): Use is_gimple_assign.
109         (is_gimple_cast): Remove.
110         (gimple_assign_single_p): Move ...
111         * gimple.h (gimple_assign_single_p): ... here.
112         (is_gimple_cast): Remove.
113         (gimple_assign_rhs_code): Simplify.
114         * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
115         instead of is_gimple_cast.
116         * ipa-type-escape.c (look_for_casts): Likewise.
117
118 2010-11-26  Joseph Myers  <joseph@codesourcery.com>
119
120         * doc/options.texi (Enum, EnumValue): Document new record types.
121         (Enum): Document new option flag.
122         * opt-functions.awk
123         * optc-gen.awk: Handle enumerated option arguments.
124         * opth-gen.awk: Handle enumerated option arguments.
125         * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
126         enum_value_to_arg): New.
127         (decode_cmdline_option): Handle enumerated arguments.
128         (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
129         (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
130         * opts.c (print_filtered_help, print_specific_help): Take
131         lang_mask arguments.
132         (print_filtered_help): Handle printing values of enumerated
133         options.  Print possible arguments for enumerated options.
134         (print_specific_help): Update call to print_filtered_help.
135         (common_handle_option): Update calls to print_specific_help.  Use
136         value rather than arg for OPT_fdiagnostics_show_location_.  Don't
137         handle OPT_ffp_contract_, OPT_fexcess_precision_,
138         OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
139         OPT_fira_region_ here.
140         * opts.h (enum cl_var_type): Add CLVC_ENUM.
141         (struct cl_option): Add var_enum.
142         (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
143         struct cl_enum, cl_enums, cl_enums_count): New.
144         (CL_ERR_ENUM_ARG): Define.
145         (CL_ERR_NEGATIVE): Update value.
146         (enum_value_to_arg): Declare.
147         * common.opt (flag_ira_algorithm, flag_ira_region,
148         flag_fp_contract_mode, flag_excess_precision_cmdline,
149         default_visibility, flag_tls_default): Remove Variable entries.
150         (help_enum_printed): New Variable.
151         (fdiagnostics-show-location=): Use Enum.  Add associated
152         SourceInclude, Enum and EnumValue entries.
153         (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
154         ftls-model=, fvisibility=): Use Enum, Var and Init.  Add
155         associated Enum and EnumValue entries.
156
157 2010-11-26  Joern Rennecke  <amylaar@spamcop.net>
158
159         PR target/46623
160         * config/microblaze/microblaze.c (microblaze_block_move_straight):
161         Use XALLOCAVEC.
162         (microblaze_option_override): Don't use C++ style comments.
163         (save_restore_insns): Remove unused variable base_offset.
164         (microblaze_expand_prologue): Remove unused variable insn.
165         (microblaze_secondary_reload): Adjust type to match target.h .
166         (microblaze_elf_in_small_data_p): Move declarations to start of block.
167         (microblaze_expand_move): Likewise.
168         * config/microblaze/microblaze.h (LARGE_INT):
169         Avoid signed / unsigned comparisons.
170         (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
171         (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
172         (ASM_FINISH_DECLARE_OBJECT): Likewise.  Constify name.
173
174 2010-11-26  Michael Matz  <matz@suse.de>
175
176         * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
177
178         * passes.c (init_optimization_passes): Remove superfluous
179         copy-prop pass.
180
181 2010-11-26  Richard Guenther  <rguenther@suse.de>
182
183         PR lto/46648
184         * gimple.c (gtc_visit): Do not return true for members of an
185         SCC still being processed but the current lattice value of
186         the member.  Treat SCC members comparison state as lattice,
187         starting at equal, eventually dropping to unequal.
188         (gimple_types_compatible_p_1): Likewise.
189
190 2010-11-26  Richard Guenther  <rguenther@suse.de>
191
192         PR middle-end/46559
193         * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
194         for location list processing.
195
196 2010-11-26  Richard Guenther  <rguenther@suse.de>
197
198         PR lto/46560
199         * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
200         flags manually.
201
202 2010-11-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
203
204         * config/s390/s390.c (print_operand_address): Replace assert with
205         error message.
206         (print_operand): Replace assertions, gcc_unreachable and
207         fatal_insn with error messages.
208
209 2010-11-26  Richard Guenther  <rguenther@suse.de>
210
211         PR tree-optimization/46665
212         * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
213
214 2010-11-26  Ian Bolton  <ian.bolton@arm.com>
215
216         * config/arm/arm.c (arm_option_override): enable loop array
217         prefetching at -O3 for suitable targets, and configure params.
218         * config/arm/arm-protos.h (struct tune_params): Add fields for
219         configuring loop array prefetching.
220
221 2010-11-26  Christian Borntraeger  <borntraeger@de.ibm.com>
222
223         * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
224
225 2010-11-26  Richard Guenther  <rguenther@suse.de>
226
227         PR tree-optimization/46664
228         * tree-affine.c (aff_combination_to_tree): Add rest last.
229
230 2010-11-26  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
231
232         PR target/33637
233         * configure.ac: Accept extra arguments for AS_FOR_TARGET,
234         LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
235         * configure: Regenerated.
236         * exec-tool.in: Not quoting command, may have extra arguments.
237
238 2010-11-26  Richard Guenther  <rguenther@suse.de>
239
240         PR tree-optimization/46528
241         PR debug/46338
242         * profile.c (branch_prob): Do not split blocks based on locations
243         from debug statements.
244
245 2010-11-26  Jakub Jelinek  <jakub@redhat.com>
246
247         PR middle-end/46647
248         * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
249         of host_integerp check.  Use TREE_INT_CST_LOW instead of tree_low_cst.
250
251         PR bootstrap/45700
252         * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
253         build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
254         (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
255         build6_loc): Define.
256         * fold-const.c (protected_set_expr_location_unshare): New inline.
257         (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
258         (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
259         pedantic_omit_one_operand_loc, omit_two_operands_loc,
260         fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
261         optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
262         build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
263         fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
264         instead of buildN followed by SET_EXPR_LOCATION or
265         protected_set_expr_location.
266         (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
267         Use buildN_stat_loc instead of buildN_stat followed by
268         SET_EXPR_LOCATION.
269
270 2010-11-26  Basile Starynkevitch  <basile@starynkevitch.net>
271
272         * Makefile.in (s-tm-texi): Remove spurous tab.
273
274 2010-11-26  Alexandre Oliva  <aoliva@redhat.com>
275
276         PR debug/46258
277         * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
278         debug stmts.
279
280 2010-11-26  Alexandre Oliva  <aoliva@redhat.com>
281
282         * toplev.c (finalize): Add no_backend parameter.  Don't finish
283         passes when preprocessing only.  Adjust...
284         (do_compile): ... caller.
285
286 2010-11-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
287
288         * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
289         flag_unsafe_math_optimizations.
290         (negsf2): Likewise.
291         Move fnegabs related patterns together.  Only use fmpynfadd instruction
292         to negate a multiply if !flag_signed_zeros is true.
293
294 2010-11-25  Uros Bizjak  <ubizjak@gmail.com>
295
296         * gengtype-state.c (read_state_structures): Initialize "previous".
297
298 2010-11-25  Basile Starynkevitch  <basile@starynkevitch.net>
299             Jeremie Salvucci  <jeremie.salvucci@free.fr>
300
301         * gengtype-state.c: Add new file.
302
303         * gengtype.c (type count): New variable.
304         (new_structure, find_param_structure, create_pointer)
305         (create_array): Use it to set state_number in types.
306         (dump_everything): Improve comment.
307         (main): Call read_state and write_state. Print type_count.
308
309         * gengtype.h (type_lineloc): New function.
310         (read_state, write_state): New declarations.
311
312         * Makefile.in (GENGTYPE_FLAGS): New variable.
313         (s-gtype): Run gengtype twice and generate gtype.state.
314         (build/gengtype-state.o): New rule.
315         (build/gengtype$(build_exeext)): Link gengtype-state.o.
316         (mostlyclean): Update comment.  Remove gtype.state.
317
318 2010-11-25  Jakub Jelinek  <jakub@redhat.com>
319
320         PR middle-end/46637
321         * combine.c (try_combine): When substing i2dest for i2src, pass
322         1 as last argument even if
323         i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
324
325 2010-11-25  H.J. Lu  <hongjiu.lu@intel.com>
326
327         PR middle-end/46647
328         * builtins.c (target_char_cast): Check INTEGER_CST instead of
329         host_integerp.  Replace tree_low_cst with TREE_INT_CST_LOW.
330
331 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
332
333         * target.def (supports_split_stack, except_unwind_info): Take
334         gcc_options parameters.
335         * targhooks.c (default_except_unwind_info,
336         dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
337         gcc_options parameters.
338         * targhooks.h (default_except_unwind_info,
339         dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
340         prototypes.
341         * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
342         TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
343         Document that hooks must not be modified.
344         (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
345         * doc/tm.texi: Regenerate.
346         * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
347         &global_options to targetm.except_unwind_info.
348         * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
349         dwarf2out_begin_prologue, dwarf2out_frame_init,
350         dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
351         &global_options to targetm.except_unwind_info.
352         * except.c (init_eh, finish_eh_generation,
353         gate_convert_to_eh_region_ranges,
354         output_one_function_exception_table): Pass &global_options to
355         targetm.except_unwind_info.
356         * expr.c (build_personality_function): Pass &global_options to
357         targetm.except_unwind_info.
358         * function.c (expand_function_end): Pass &global_options to
359         targetm.except_unwind_info.
360         * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
361         * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
362         * opts.c (finish_options): Pass opts to targetm.except_unwind_info
363         and targetm.supports_split_stack.  Remove assertions about opts
364         and opts_set.
365         (common_handle_option): Remove assertions about opts, opts_set and dc.
366         * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
367         &global_options to targetm.except_unwind_info.
368         * tree.c (build_common_builtin_nodes: Pass &global_options to
369         targetm.except_unwind_info.
370         * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
371         (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
372         thumb1_expand_prologue, thumb1_output_function_prologue,
373         arm_unwind_emit, arm_output_fn_unwind): Update calls to
374         arm_except_unwind_info.
375         * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
376         parameter.
377         * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
378         parameter.
379         (ia64_output_function_prologue, ia64_add_bundle_selector_before,
380         ia64_reorg, ia64_asm_unwind_emit): Update calls to
381         ia64_except_unwind_info.
382         * config/pa/pa.c (pa_option_override): Pass &global_options to
383         targetm.except_unwind_info.
384         * config/picochip/picochip-protos.h (picochip_except_unwind_info):
385         Remove prototype.
386
387 2010-11-25  Kai Tietz  <kai.tietz@onevision.com>
388
389         * cgraphunit.c (process_function_and_variable_attributes):
390         Mark dllexport-ed function/variables as needed.
391         * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
392         as externally visible.
393
394 2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
395
396         PR rtl-optimization/46585
397         * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
398         (vinsn_init): Skip computation of dependencies for local NOPs.
399         (vinsn_delete): Don't try to free regsets for local NOPs.
400         (setup_nop_and_exit_insns): Change definition of nop_pattern.
401
402 2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
403
404         PR rtl-optimization/46602
405         * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
406         (tidy_control_flow): Here.
407
408 2010-11-25  Joern Rennecke  <amylaar@spamcop.net>
409             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
410
411         PR bootstrap/45888
412         * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
413         Fix target.def pathname in timestamp comparison.
414
415 2010-11-24  Richard Henderson  <rth@redhat.com>
416
417         * config/ia64/predicates.md (pmpyshr_operand): New.
418         * config/ia64/ia64.c (ia64_expand_unpack): New.
419         (ia64_expand_widen_mul_v4hi): New.
420         (ia64_expand_widen_sum): Update for pattern renames.
421         (ia64_expand_dot_prod_v8qi): Likewise.
422         * config/ia64/ia64-protos.h: Update.
423         * config/ia64/vect.md (vecwider): New mode attribute.
424         (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
425         (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
426         (pmpyshr2, pmpyshr2_u): New.
427         (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
428         (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
429         (mulv2si3): New.
430         (vec_pack_ssat_v4hi): Rename from pack2_sss.
431         (vec_pack_usat_v4hi): Rename from *pack2_uss.
432         (vec_pack_ssat_v2si): Rename from pack4_sss.
433         (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
434         vec_select operation.
435         (vec_interleave_highv8qi): Similarly.
436         (mux1_alt): Rename from *mux1_alt.
437         (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
438         (vec_interleave_lowv4hi): Rename from unpack2_l.
439         (vec_interleave_highv4hi): Rename from unpack2_h.
440         (mix2_r): Rename from *mix2_r.
441         (mix2_l): Similarly.
442         (vec_extract_evenodd_helper): New.
443         (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
444         (vec_interleave_lowv2si): Rename from *unpack4_l.
445         (vec_interleave_highv2si): Rename from *unpack4_h.
446         (vec_extract_evenv2si, vec_extract_oddv2si): New.
447         (vec_interleave_lowv2sf): Rename from fmix_r.
448         (vec_interleave_highv2sf): Rename from *fmix_l.
449         (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
450         (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
451         (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
452         (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
453
454 2010-11-24  Nathan Froyd  <froydnj@codesourcery.com>
455
456         * targhooks.c (default_except_unwind_info): Remove
457         MUST_USE_SJLJ_EXCEPTIONS case.
458         * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
459         * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
460         * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
461         * doc/tm.texi: Regenerate.
462         * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
463
464 2010-11-24  Nathan Froyd  <froydnj@codesourcery.com>
465
466         * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
467         __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
468         * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
469         * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
470         * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
471
472 2010-11-24  H.J. Lu  <hongjiu.lu@intel.com>
473
474         PR target/46519
475         * config/i386/i386.c (ix86_expand_call): Don't check
476         TREE_THIS_VOLATILE.
477
478 2010-11-24  H.J. Lu  <hongjiu.lu@intel.com>
479
480         PR target/46519
481         * config/i386/i386.c (upper_128bits_state): New.
482         (block_info_def): Remove upper_128bits_set and done.  Add state,
483         referenced, count, processed and rescanned.
484         (check_avx256_stores): Updated.
485         (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
486         Call note_stores only if needed.  Set referenced and count.
487         (move_or_delete_vzeroupper_1): Updated.  Set rescan_vzeroupper_p.
488         (rescan_move_or_delete_vzeroupper): New.
489         (move_or_delete_vzeroupper):  Process and rescan all all basic
490         blocks instead of predecessor blocks of all exit points.
491         (ix86_option_override_internal): Enable vzeroupper optimization
492         only for -fexpensive-optimizations and not optimizing for size.
493         (use_avx256_p): Removed.
494         (init_cumulative_args): Don't set use_avx256_p.
495         (ix86_function_arg): Likewise.
496         (ix86_expand_move): Likewise.
497         (ix86_expand_vector_move_misalign): Likewise.
498         (ix86_local_alignment): Likewise.
499         (ix86_minimum_alignment): Likewise.
500         (ix86_expand_epilogue): Don't check use_avx256_p when generating
501         vzeroupper.
502         (ix86_expand_call): Likewise.
503
504         * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
505         and use_avx256_p.  Add rescan_vzeroupper_p.
506
507 2010-11-24  Joseph Myers  <joseph@codesourcery.com>
508
509         * toplev.c: Include <signal.h>.
510
511 2010-11-24  Richard Guenther  <rguenther@suse.de>
512
513         PR lto/43218
514         * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
515         conflicting function signatures as non-inlineable.
516
517 2010-11-24  Jakub Jelinek  <jakub@redhat.com>
518
519         PR rtl-optimization/46614
520         * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
521          (deps_analyze_insn): Mark JUMP_INSNs in
522         last_pending_memory_flush that weren't added through
523         flush_pending_lists with NON_FLUSH_JUMP_KIND.
524         (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
525         on INSN_LIST instead of JUMP_P check on its operand.
526         * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
527
528 2010-11-24  Richard Guenther  <rguenther@suse.de>
529
530         * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
531
532 2010-11-24  Richard Guenther  <rguenther@suse.de>
533
534         PR lto/46606
535         * lto-streamer-in.c (input_gimple_stmt): When we cannot find
536         a FIELD_DECL that is type correct issue a warning and fixup
537         with a VIEW_CONVERT_EXPR.
538
539 2010-11-24  Basile Starynkevitch  <basile@starynkevitch.net>
540
541         * doc/invoke.texi (Options for Debugging Your Program or GCC):
542         Explain static numbering of dump files.
543
544 2010-11-24  Joseph Myers  <joseph@codesourcery.com>
545
546         * common.opt (user_vect_verbosity_level): New Variable entry.
547         (ftree-vectorizer-verbose=): Mark as UInteger.
548         * flag-types.h (enum vect_verbosity_levels): Move from enum
549         verbosity_levels in tree-vectorizer.h.
550         * opts.c: Don't include tree.h.
551         (vect_set_verbosity_level): Move from tree-vectorizer.c.  Use
552         gcc_options parameter; take integer option argument.
553         (common_handle_option): Update call to vect_set_verbosity_level.
554         * tree-vectorizer.c (user_vect_verbosity_level): Remove.
555         (vect_set_verbosity_level): Move to opts.c.
556         (vect_verbosity_level, vect_print_dump_info): Update for change of
557         enum name.
558         * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
559         (vect_print_dump_info): Update for change of enum name.
560         * tree.h (vect_set_verbosity_level): Remove.
561         * Makefile.in (opts.o): Update dependencies.
562
563 2010-11-24  Jakub Jelinek  <jakub@redhat.com>
564
565         PR middle-end/46629
566         * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
567         instead of insn with any_condjump_p.
568
569 2010-11-24  Mingjie Xing  <mingjie.xing@gmail.com>
570
571         * config/mips/loongson.md: Change the description comment of the file
572         and update the copyright years.
573         (define_insn "<u>div<mode>3): Add loongson3a support.
574         (define_insn "<u>mod<mode>3"): Likewise.
575         * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
576         mul<mode>3_mul3_loongson.
577         (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
578         (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
579
580 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
581
582         * common.opt (initial_max_fld_align, flag_debug_asm,
583         flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
584         flag_print_asm_name, graph_dump_format, help_printed,
585         help_columns, flag_opts_finished): New Variable entries.
586         (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
587         frandom-seed=): Mark deferred.
588         (fsched-verbose=): Use UInteger and Var.
589         * flags.h (set_struct_debug_option, flag_print_asm_name,
590         rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
591         graph_dump_format): Don't declare here.
592         * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
593         * opts-global.c: Include dbgcnt.h and debug.h.
594         (decode_options): Pass location to finish_options.
595         (handle_common_deferred_options): Check flag_dump_all_passed.
596         Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
597         OPT_frandom_seed and OPT_frandom_seed_.  Don't assert on
598         OPT_fstack_limit.
599         * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
600         (set_struct_debug_option): Add location_t parameter.  Update
601         recursive call.  Use error_at.
602         (default_options_optimization): Use error_at.
603         (finish_options): Add location_t parameter.  Use
604         opts->x_flag_opts_finished instead of first_time_p.  Use
605         opts->x_optimize instead of optimize.  Use error_at.  Pass
606         location to inform.
607         (print_filtered_help): Use opts->x_help_printed to track what
608         options have been printed.
609         (print_specific_help): Use opts->x_help_columns to track number of
610         columns.
611         (common_handle_option): Pass locations and gcc_options pointers to
612         more functions.  Use warning_at instead of fnotice and warning.
613         Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
614         OPT_fdebug_prefix_map_.  Use error_at.  Set
615         opts->x_initial_max_fld_align; don't set maximum_field_alignment.
616         Don't handle OPT_frandom_seed or OPT_frandom_seed_.  Don't handle
617         OPT_fsched_verbose_.
618         (handle_param): Add location_r parameter.  Use error_at.
619         (set_debug_level): Add location_r parameter.  Use error_at and
620         warning_at.
621         (setup_core_dumping): Add diagnostic_context parameter.
622         (decode_d_option): Add gcc_options, location_t and
623         diagnostic_context parameters and use them instead of global
624         state.  Use warning_at.
625         (enable_warning_as_error): Use error_at.
626         * opts.h (finish_options): Update prototype.
627         (set_struct_debug_option): Declare here.
628         * rtl.h (fix_sched_param): Remove.
629         * stor-layout.c (initial_max_fld_align): Remove.
630         * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
631         graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
632         (process_options): Set maximum_field_alignment.
633         * tree.h (initial_max_fld_align) Don't declare here.
634         * Makefile.in (opts.o, opts-global.o): Update dependencies.
635
636 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
637
638         * flag-types.h (struct visibility_flags): Don't declare here.
639         * flags.h (strip_off_ending, fast_math_flags_set_p,
640         fast_math_flags_struct_set_p): Declare here.
641         (visibility_options): Don't declare here.
642         * opts-common.c (option_enabled, get_option_state): Move from
643         opts.c.
644         * opts-global.c: Include diagnostic.h instead of
645         diagnostic-core.h.  Include tree.h, langhooks.h, lto-streamer.h
646         and toplev.h.
647         (const_char_p, ignored_options, in_fnames, num_in_fnames,
648         write_langs, complain_wrong_lang, postpone_unknown_option_warning,
649         print_ignored_options, unknown_option_callback,
650         post_handling_callback, lang_handle_option, add_input_filename,
651         read_cmdline_options, initial_lang_mask, init_options_once,
652         decode_cmdline_options_to_array_default_mask,
653         set_default_handlers, decode_options): Move from opts.c.
654         (print_ignored_options): Use warning_at instead of saving and
655         restoring input_location.
656         * opts.c: Include <signal.h> and <sys/resource.h>.  Include rtl.h
657         instead of expr.h.  Don't include langhooks.h, except.h or
658         lto-streamer.h.  Add more comments on includes.
659         (strip_off_ending, setup_core_dumping, decode_d_option): Move from
660         toplev.c.
661         (visibility_options): Move to c-family/c-common.c.
662         (const_char_p, ignored_options, in_fnames, num_in_fnames,
663         write_langs, complain_wrong_lang, postpone_unknown_option_warning,
664         print_ignored_options, unknown_option_callback,
665         post_handling_callback, lang_handle_option, add_input_filename,
666         read_cmdline_options, initial_lang_mask, init_options_once,
667         decode_cmdline_options_to_array_default_mask,
668         set_default_handlers, decode_options): Move to opts-global.c.
669         (target_handle_option, default_options_optimization,
670         finish_options, common_handle_option): Remove static.
671         (option_enabled, get_option_state): Move to opts-common.c.
672         * opts.h (common_handle_option, target_handle_option,
673         finish_options, default_options_optimization): Declare.
674         * toplev.c: Don't include <signal.h> or <sys/resource.h>.
675         (setup_core_dumping, strip_off_ending, decode_d_option): Move to
676         opts.c.
677         * toplev.h (strip_off_ending, decode_d_option,
678         fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
679         declare here.
680         * Makefile.in (opts.o, opts-global.o): Update dependencies.
681
682 2010-11-23  Dave Korn  <dave.korn.cygwin@gmail.com>
683
684         PR driver/42690
685         * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
686         options, replace by call of pass-through-libs spec function to process
687         link_gcc_c_sequence spec.
688         (lto_libgcc_spec): Delete variable.
689         (static_specs[]): Remove related entry.
690         (static_spec_functions[]): Add new entry for pass-through-libs.
691         (main): Don't generate deleted lto_libgcc_spec.
692         (pass_through_libs_spec_func): New function to implement the new
693         pass-through-libs spec function.
694         * doc/invoke.texi (pass-through-libs): Document new spec function.
695
696 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
697
698         * doc/options.texi (Warning, Optimization): Document.
699
700 2010-11-23  Jan Hubicka  <jh@suse.cz>
701
702         * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
703         (tree_decl_with_vis): Add implicit_section_name_p.
704         * targhooks.h (default_function_section): Declare.
705         * target.def (function_section): New hook.
706         * defaults.h (HOT_TEXT_SECTION_NAME,
707         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
708         * predict.c (choose_function_section): Remove.
709         (estimate_bb_frequencies): Do not use choose_function_section.
710         * coretypes.h (enum node_frequency): Move here from cgraph.h
711         * cgraph.h (enum node_frequency): Remove.
712         * varasm.c (initialize_cold_section_name, unlikely_text_section,
713         unlikely_text_section_p): Remove.
714         (named_subsection_entry): New structure.
715         (get_text_section): New function.
716         (default_function_section): New function.
717         (function_section_1): Break out from ...; handle profile info.
718         (function_section): ... here.
719         (unlikely_text_section): Remove.
720         (unlikely_text_section_p): Use function_section_1.
721         (assemble_start_function): Do not initialize cold section.
722         (default_section_type_flags): Do not special case cold subsection.
723         (switch_to_section): Likewise.
724         * output.h (get_text_section): Define.
725         * config/i386/winnt.c: Do not special case cold section.
726         * config/darwin-protos.h (darwin_function_section): Declare.
727         * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
728         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
729         * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
730         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
731         (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
732         * config/ia64/ia64.c (ia64_hpux_function_section): New function.
733         * config/darwin.c (machopic_select_section): Use
734         darwin_function_section.
735         (darwin_function_section): New function.
736         * config/darwin.h (HOT_TEXT_SECTION_NAME,
737         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
738         (TARGET_ASM_FUNCTION_SECTION): Define.
739         * system.h (HOT_TEXT_SECTION_NAME,
740         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
741
742 2010-11-23  Iain Sandoe  <iains@gcc.gnu.org>
743
744         * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
745         LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
746
747 2010-11-23  Jakub Jelinek  <jakub@redhat.com>
748
749         PR middle-end/46499
750         * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
751         following unconditional jumps.
752
753 2010-11-23  Richard Guenther  <rguenther@suse.de>
754
755         * doc/md.texi (386 constraints): Clarify A constraint documentation.
756
757 2010-11-23  Basile Starynkevitch  <basile@starynkevitch.net>
758             Jeremie Salvucci  <jeremie.salvucci@free.fr>
759
760         * gengtype.c (enum typekind, struct options)
761         (struct nested_ptr_data, struct pair, NUM_PARAM)
762         (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
763         Move to gengtype.h.
764         (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
765         Remove static, add zero state_number.
766         (typedefs, structures, param_structs, variables): Remove static.
767         (create_option): Remove.
768         (create_string_option, create_type_option, create_nested_option):
769         New functions.
770         (create_nested_ptr_option): Use create_nested_option.
771         (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
772         new create*option functions.
773         (process_gc_options): Adjust for discriminated option.
774         (output_mangled_typename): Handle TYPE_NONE.
775         (walk_type): Test option kinds.
776         (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
777         (write_func_for_structure, write_type, write_local, write_root)
778         (write_roots, note_def_vec, dump_options): Adjust for
779         discriminated option.
780
781         * gengtype.h (typedefs, structures, param_structs, variables
782         enum typekind): Move from gengtype.c
783         (enum option_kind): New discriminating enumeration.
784         (struct options): Becomes discriminated.
785         (struct nested_ptr_data): Nove from gengtype.c
786         (create_string_option, create_type_option, create_nested_option)
787         (create_nested_ptr_option): New functions
788         (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
789         (UNION_OR_STRUCT_P): Move from gengtype.c
790
791         * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
792         discriminated options.
793
794 2010-11-23  Richard Guenther  <rguenther@suse.de>
795
796         * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
797         twice.  Avoid re-allocating the ops vector all the time.
798
799 2010-11-23  Richard Guenther  <rguenther@suse.de>
800
801         * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
802         is_gimple_min_invariant, group tree code checks to allow
803         combining them.
804         (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
805         of is_gimple_reg.
806
807 2010-11-23  Eric Botcazou  <ebotcazou@adacore.com>
808
809         * config.gcc (sparc*-*-*): Reorder.
810
811 2010-11-23  Basile Starynkevitch  <basile@starynkevitch.net>
812
813         * gengtype.c (header_dot_h_frul, source_dot_c_frul):
814         Remove ENABLE_CHECKING around DBGPRINTF.
815
816 2010-11-22  Joseph Myers  <joseph@codesourcery.com>
817
818         * common.opt (exit_after_options, write_symbols, debug_info_level,
819         use_gnu_debug_info_extensions): New Variable entries.
820         (fprofile-dir=): Use Var.
821         * flag-types.h (enum debug_info_level): Rename to enum
822         debug_info_levels.
823         * flags.h (write_symbols, debug_info_level,
824         use_gnu_debug_info_extensions): Remove declarations.
825         * opts.c (exit_after_options, write_symbols, debug_info_level): Remove.
826         (set_struct_debug_option): Make static variables const.
827         (use_gnu_debug_info_extensions): Remove.
828         (set_debug_level, print_filtered_help, print_specific_help,
829         fast_math_flags_set_p): Take gcc_options parameters and use them
830         in place of global variables.
831         (print_filtered_help): Make new_help non-static.
832         (print_specific_help): Update call to print_filtered_help.
833         (common_handle_option): Update calls to print_specific_help.  Use
834         gcc_options structure for more settings.  Make --help table
835         const.  Don't handle OPT_fprofile_dir_ here.  Update calls to
836         set_debug_level.
837         * toplev.c (profile_data_prefix): Remove.
838         * toplev.h (profile_data_prefix, exit_after_options): Remove
839         declarations.
840         (fast_math_flags_set_p): Update prototype.
841         * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
842         Update call to fast_math_flags_set_p.
843
844 2010-11-22  Richard Henderson  <rth@redhat.com>
845
846         PR target/46434
847         * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p;
848         return the address register extracted.
849         (crx_decompose_address): Update the extracted address register.
850
851 2010-11-22  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
852
853         PR driver/43335
854         * gcc.c (main): Don't crash when lto-wrapper program is not found.
855
856 2010-11-22  Joern Rennecke  <amylaar@spamcop.net>
857
858         PR target/46608
859         * config/picochip/picochip.c (picochip_secondary_reload): Make static.
860         * config/picochip/picochip-protos.h: Don't include "target.h" .
861         (picochip_secondary_reload): Don't declare.
862
863         PR target/46613
864         * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare.
865         * config/m32c/m32c.c (m32c_conditional_register_usage): No longer
866         static.
867
868 2010-11-22  H.J. Lu  <hongjiu.lu@intel.com>
869
870         PR bootstrap/46609
871         * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING.
872         (source_dot_c_frul): Likewise.
873
874 2010-11-22  Basile Starynkevitch  <basile@starynkevitch.net>
875
876         * gimple-pretty-print.c (dump_bb_header): Add check for cfun.
877
878 2010-11-22  Paolo Bonzini  <bonzini@gnu.org>
879
880         PR bootstrap/44970
881         * Makefile.in (fwprop.o) Add sparseset.h.
882         * fwprop.c: Include sparseset.h
883         (struct find_occurrence_data, find_occurrence_callback,
884         find_occurrence): Remove.
885         (active_defs, active_defs_check, register_active_defs,
886         update_df_init, update_uses): New.
887         (update_df): Rewrite.
888         (try_fwprop_subst, forward_propagate_asm): Add calls to
889         update_df_init and update_df.
890         (fwprop_init): Allocate active_defs and active_defs_check.
891         (fwprop_done): Free them.
892         (fwprop, fwprop_addr): Adjust comments.
893         * df.h (df_uses_create): Declare.
894         * df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
895         (df_ref_create): Return result of df_ref_create_structure directly.
896         (df_ref_create_structure): Call df_install_ref_incremental when
897         no collection_rec is passed.
898         (df_ref_record): Do not create multiword hard reg info when no
899         collection_rec is passed.
900         (df_uses_create): New.
901
902 2010-11-21  Uros Bizjak  <ubizjak@gmail.com>
903
904         PR middle-end/43057
905         * fold-const.c (pedantic_non_lvalue_loc): Unshare x before
906         setting location.
907
908 2010-11-22  Richard Guenther  <rguenther@suse.de>
909
910         * gimple-fold.c (maybe_fold_reference): When canonicalizing
911         MEM_REFs, preserve volatileness.
912         * cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL
913         addresses.
914
915 2010-11-22  Richard Guenther  <rguenther@suse.de>
916
917         * tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks.
918
919 2010-11-22  Alexander Monakov  <amonakov@ispras.ru>
920
921         PR rtl-optimization/45652
922         * alias.c (get_reg_base_value): New.
923         * rtl.h (get_reg_base_value): Add prototype.
924         * sel-sched.c (init_regs_for_mode): Use it.  Don't use registers with
925         non-null REG_BASE_VALUE for renaming.
926
927 2010-11-22  Jeremie Salvucci  <jeremie.salvucci@free.fr>
928             Basile Starynkevitch  <basile@starynkevitch.net>
929
930         * gengtype.c: Include xregex.h and obstack.h
931         Added comments about role of get_output_file_with_visibility and
932         our regexpr machinery.
933         (frul_actionrout_t, struct file_rule_st): New.
934         (hader_dot_h_frul, source_dot_c_frul): New functions.
935         (NULL_REGEX,  NULL_FRULACT): New.
936         (files_rules): New.
937         (matching_file_name_substitute): New function.
938         (get_output_file_with_visibility): Updated comments and rewritten
939         to use the new files_rules machinery.
940
941         * Makefile.in (XREGEX_H): Added variable.
942         (build/gengtype.o): Added dependencies for xregex.h and obstack.h
943
944 2010-11-21  Nathan Froyd  <froydnj@codesourcery.com>
945
946         * system.h (FUNCTION_ARG_BOUNDARY): Really poison.
947
948 2010-11-21  Nathan Froyd  <froydnj@codesourcery.com>
949
950         * target.def (conditional_register_usage): Define.
951         * reginfo.c (init_reg_sets_1): Call
952         targetm.conditional_register_usage.
953         * system.h (CONDITIONAL_REGISTER_USAGE): Poison.
954         * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
955         for making it a hook.
956         * doc/tm.texi: Regenerate.
957         * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
958         * config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
959         New function.
960         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
961         * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
962         * config/arc/arc.c (arc_conditional_register_usage): ...here.
963         New function.
964         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
965         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
966         * config/arm/arm.c (arm_conditional_register_usage): ...here.
967         New function.
968         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
969         * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
970         * config/bfin/bfin-protos.h (conditional_register_usage): Delete.
971         * config/bfin/bfin.c (conditional_register_usage): Move code into...
972         (bfin_conditional_register_usage): ...here.  New function.
973         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
974         * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
975         * config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
976         * config/cris/cris.c (cris_conditional_register_usage): Make static.
977         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
978         * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
979         * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
980         * config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
981         * config/frv/frv.c (frv_conditional_register_usage): Make static.
982         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
983         * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
984         * config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
985         New function.
986         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
987         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
988         * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
989         * config/i386/i386.c (ix86_conditional_register_usage): Make static.
990         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
991         * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
992         * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
993         * config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
994         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
995         * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
996         * config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
997         New function.
998         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
999         * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
1000         * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
1001         Delete.
1002         * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
1003         static.
1004         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1005         * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
1006         * config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
1007         * config/mep/mep.c (mep_conditional_register_usage): Make static.
1008         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1009         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
1010         * config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
1011         * config/mips/mips.c (mips_conditional_register_usage): Make static.
1012         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1013         * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
1014         * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
1015         * config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
1016         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1017         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1018         * config/mn10300/mn10300.c (mn10300_conditional_register_usage):
1019         ...here.  New function.
1020         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1021         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1022         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
1023         * config/pa/pa.c (pa_conditional_register_usage): ...here.
1024         New function.
1025         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1026         * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1027         * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
1028         New function.
1029         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1030         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
1031         * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
1032         Delete.
1033         * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
1034         static.
1035         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1036         * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
1037         * config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
1038         * config/rx/rx.c (rx_conditional_register_usage): Make static.
1039         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1040         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
1041         * config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
1042         * config/s390/s390.c (s390_conditional_register_usage): Make static.
1043         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1044         * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1045         * config/score/score.c (score_conditional_register_usage): ...here.
1046         New function.
1047         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1048         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1049         * config/sh/sh.c (sh_conditional_register_usage): ...here.
1050         New function.
1051         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1052         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1053         * config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
1054         New function.
1055         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1056         * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
1057         * config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
1058         * config/spu/spu.c (spu_conditional_register_usage): Make static.
1059         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1060         * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
1061         * config/v850/v850.c (v850_conditional_register_usage): ...here.
1062         New function.
1063         (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
1064
1065 2010-11-21  Jan Hubicka  <jh@suse.cz>
1066             Dominique d'Humieres <dominiq@lps.ens.ft>
1067
1068         PR target/46510
1069         * tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
1070         finalize external decls.
1071
1072 2010-11-21  Joseph Myers  <joseph@codesourcery.com>
1073
1074         * system.h (strerror): Poison.
1075
1076 2010-11-21  Richard Henderson  <rth@redhat.com>
1077
1078         * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
1079         for infq/huge_valq.
1080
1081 2010-11-21  Richard Henderson  <rth@redhat.com>
1082
1083         PR rtl-optimization/46571
1084         * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
1085         (compute_hash_table_work): Use NONDEBUG_INSN_P.
1086
1087 2010-11-21  Paul Koning  <ni1d@arrl.net>
1088
1089         * config/mips/pdp11.md (negsi2): Fix wrong code.
1090
1091 2010-11-21  Paul Koning  <ni1d@arrl.net>
1092
1093         * config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
1094         * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
1095
1096 2010-11-21  Eric Botcazou  <ebotcazou@adacore.com>
1097
1098         * config/mips/mips.c (machine_function): Rename load_label_length to
1099         load_label_num_insns.
1100         (mips_load_label_length): Rename to...
1101         (mips_load_label_num_insns): ...this.  Adjust to first renaming.
1102         (mips_adjust_insn_length): Adjust to second renaming.  Fix thinko.
1103
1104 2010-11-21  Uros Bizjak  <ubizjak@gmail.com>
1105
1106         PR target/46533
1107         * config/alpha/predicates.md (direct_call_operand): Return false
1108         for !TARGET_SMALL_TEXT targets.
1109
1110 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
1111
1112         * doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
1113         HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
1114         (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
1115         * doc/tm.texi: Regenerate.
1116         * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
1117         HANDLE_PRAGMA_WEAK): Poison.
1118         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
1119         * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1120         * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
1121         * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
1122         * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1123         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1124         * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1125         * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
1126         (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1127         * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
1128         * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1129         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
1130         * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1131         * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1132         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
1133         (HANDLE_PRAGMA_WEAK): Don't undefine.
1134         * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1135         * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
1136         * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1137         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
1138         * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
1139         (HANDLE_PRAGMA_WEAK): Don't undefine.
1140         * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1141         * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
1142         (HANDLE_PRAGMA_PACK): Don't undefine.
1143         * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
1144         * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1145         * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1146         * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1147         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
1148         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1149         (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1150         * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
1151         * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
1152         (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1153         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
1154         * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1155         * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1156         * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
1157         * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1158         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
1159         * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
1160
1161 2010-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1162
1163         PR target/31100
1164         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
1165         * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
1166         * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
1167
1168 2010-11-20  Jan Hubicka  <jh@suse.cz>
1169
1170         * cgraph.c (ld_plugin_symbol_resolution_names): New.
1171         (dump_cgraph_node): Dump resolution.
1172         * cgraph.h (ld_plugin_symbol_resolution_names): Declare.
1173         (cgraph_comdat_can_be_unshared_p): Dclare.
1174         * lto-streamer-out.c (produce_symtab): Use
1175         cgraph_comdat_can_be_unshared_p.
1176         * ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
1177         (cgraph_comdat_can_be_unshared_p): New function based on logic
1178         in cgraph_externally_visible_p.
1179         (cgraph_externally_visible_p): Use it.
1180         (varpool_externally_visible_p): Virtual tables can be unshared.
1181         * varpool.c (dump_varpool_node): Dump resolution.
1182
1183 2010-11-20  Jan Hubicka  <jh@suse.cz>
1184
1185         * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
1186
1187 2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1188
1189         PR other/46202
1190         * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
1191         (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
1192         shell quoting.
1193         (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
1194         (install-strip): New target.
1195         (STRIPPROG): New variable, exported if STRIP is set.
1196         * doc/install.texi (Final install): Minor markup and code style
1197         fixes.  Document install-strip target.
1198
1199 2010-11-20  Paul Koning  <ni1d@arrl.net>
1200
1201         * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
1202         pdp11_regno_reg_class): New functions.
1203         * config/pdp11/pdp11.md (define_constants): Add register numbers.
1204         * config/pdp11/pdp11.c (pdp11_regno_reg_class,
1205         pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
1206         functions.
1207         * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
1208         frame pointer and argument pointer pseudo-registers.
1209         (ARG_POINTER_REGNUM): Define.
1210         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
1211         argument pointer.
1212         (FIRST_PARM_OFFSET): Update for argument pointer.
1213         (INITIAL_FRAME_POINTER_OFFSET): Delete.
1214         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
1215         (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
1216         frame pointer and argument pointer.
1217
1218 2010-11-20  Jakub Jelinek  <jakub@redhat.com>
1219
1220         PR debug/46561
1221         * tree-parloops.c (try_create_redunction_list): Ignore debug stmts
1222         when looking for immediate uses.
1223
1224         PR tree-optimization/45830
1225         * stmt.c (expand_switch_using_bit_tests_p): New function.
1226         (expand_case): Use it.
1227         * tree.h (expand_switch_using_bit_tests_p): New prototype.
1228         * tree-switch-conversion.c (struct switch_conv_info): Add
1229         bit_test_uniq, bit_test_count and bit_test_bb fields.
1230         (check_range): Fix a comment.
1231         (check_process_case): Compute bit_test_uniq and bit_test_count.
1232         (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
1233         allocation.
1234         (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
1235         (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
1236         (array_value_type): New function.
1237         (build_one_array): Use it, if it returned different type,
1238         fold_convert all constructor fields and convert back to the
1239         wider type in the generated code.
1240         (process_switch): Initialize bit_test_uniq, bit_test_count and
1241         bit_test_bb fields.  Don't optimize if expand_switch_using_bit_tests_p
1242         returned true.
1243
1244 2010-11-19  Michael Matz  <matz@suse.de>
1245
1246         PR tree-optimization/46077
1247         * tree-chrec.c (eq_evolutions_p): Accept some expressions.
1248
1249 2010-11-19  Anatoly Sokolov  <aesok@post.ru>
1250
1251         * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1252         * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
1253         function.
1254         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1255
1256 2010-11-19  Uros Bizjak  <ubizjak@gmail.com>
1257
1258         * mode-switching.c (optimize_mode_switching): Use
1259         FOR_BB_INSNS instead of open-coded loop.
1260         * cfgrtl.c (redirect_branch_edge): Ditto.
1261
1262 2010-11-19  Joern Rennecke  <amylaar@spamcop.net>
1263
1264         PR target/46436
1265         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
1266         to accomodate 32 bit HOST_WIDE_INT.
1267         (m68hc11_emit_logical): Remove unused variable insn.
1268         (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
1269         this_insn_uses_iy before use.
1270
1271         PR target/46434
1272         * config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
1273
1274 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1275
1276         PR c/46547
1277         * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
1278         * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
1279
1280 2010-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1281
1282         * doc/extend.texi (Function attributes): Document PowerPC target
1283         attributes that are supported.
1284         (Pragmas): Document that PowerPC now supports target pragmas.
1285
1286         * doc/options.texi (TargetVariable): Document TargetVariable,
1287         HeaderInclude, and SourceInclude.
1288
1289         * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
1290         mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
1291         -ffp-contract=off.
1292
1293         * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
1294         SourceInclude directives.  Fix a cut+paste error with target save
1295         enum variables.  Sort enums in the structures after ints and
1296         before shorts.
1297         * opth-gen.awk: Ditto.
1298
1299         * configure.ac: Add support for HeaderInclude and SourceInclude option
1300         directives to add the appropriate files to the dependency lists.
1301         * configure: Regenerate.
1302         * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
1303         (OPTIONS_C_EXTRA): New variable for SourceInclude.
1304         (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
1305         (options.o): Add $(OPTIONS_C_EXTRA) dependency.
1306         (gcc-options.o): Ditto.
1307         * opt-include.awk: New awk script to handle HeaderInclude and
1308         TargetInclude.
1309
1310         * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
1311         gets saved in the target options.
1312         * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
1313         * config/rs6000/sysv4.opt (-mbit-align): Ditto.
1314         (-mprototype): Ditto.
1315         (-mbit-word): ditto.
1316         (-mregnames): Ditto.
1317         (-msecure-plt): Ditto.
1318         (-mbss-plt): Ditto.
1319         * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
1320         (-mpowerpc-gfxopt): Ditto.
1321         (-mmfcrf): Ditto.
1322         (-mpopcntb): Ditto.
1323         (-mfprnd): Ditto.
1324         (-mcmpb): Ditto.
1325         (-mmmfpgpr): Ditto.
1326         (-maltivec): Ditto.
1327         (-mhard-dfp): Ditto.
1328         (-mmulhw): Ditto.
1329         (-mdlmzb): Ditto.
1330         (-mmultiple): Ditto.
1331         (-mstring): Ditto.
1332         (-mpopcntd): Ditto.
1333         (-mfriz): Ditto.
1334         (-mvsx): Ditto.
1335         (-mno-update): Ditto.
1336         (-mavoid-indexed-addresses): Ditto.
1337         (-mtls-markers): Ditto.
1338         (-msched-epilog): Ditto.
1339         (-msched-prolog): Ditto.
1340         (-maix-struct-return): Ditto.
1341         (-msvr4-struct-return): Ditto.
1342         (-mxl-compat): Ditto.
1343         (-mrecip-precision): Ditto.
1344         (-mfp-in-toc): Ditto.
1345         (-msum-in-toc): Ditto.
1346         (-mvrsave): Ditto.
1347         (-mblock-move-inline-limit=): Ditto.
1348         (-misel): Ditto.
1349         (-mpaired): Ditto.
1350         (-mlongcall): Ditto.
1351         (-mgen-cell-microcode): Ditto.
1352         (-mwarn-cell-microcode): Ditto.
1353         (-mwarn-altivec-long): Ditto.
1354         (-mprioritize-restricted-insns=): Ditto.
1355         (-msingle-float): Ditto.
1356         (-mdouble-float): Ditto.
1357         (-msimple-fpu): Ditto.
1358         (-mxilinx-fpu): Ditto.
1359         * config/rs6000/aix64.opt (-mpe): Ditto.
1360
1361         * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
1362         (rs6000_cpu): Move variable to be a target variable.  Rename
1363         cmodel to rs6000_current_cmodel because of macro conflict.  Merge
1364         -mdebug=<xxx> variables into a single int.
1365         (rs6000_always_hint): Ditto.
1366         (rs6000_sched_groups): Ditto.
1367         (rs6000_align_branch_targets): Ditto.
1368         (rs6000_sched_costly_dep): Ditto.
1369         (rs6000_sched_insert_nops): Ditto.
1370         (rs6000_long_double_type_size): Ditto.
1371         (rs6000_ieeequad): Ditto.
1372         (rs6000_altivec_abi): Ditto.
1373         (rs6000_spe): Ditto.
1374         (rs6000_spe_abi): Ditto.
1375         (rs6000_float_gprs): Ditto.
1376         (rs6000_darwin64_abi): Ditto.
1377         (can_override_loop_align): Ditto.
1378         (rs6000_sdata): Ditto.
1379         (rs6000_tls_size): Ditto.
1380         (rs6000_current_abi): Ditto.
1381         (rs6000_traceback): Ditto.
1382         (rs6000_alignment_flags): Ditto.
1383         (rs6000_current_cmodel): Ditto.
1384         (rs6000_recip_control): Ditto.
1385         (rs6000_cpu_index): Ditto.
1386         (rs6000_tune_index): Ditto.
1387         (rs6000_debug): Ditto.
1388         (rs6000_target_flags_explict): Ditto.
1389
1390         * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
1391         declaration.
1392
1393         * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
1394         cmodel.  Change all uses.
1395
1396         * config/rs6000/rs6000.c (rs6000_always_hint): Move to
1397         rs6000.opt.  Combine -mdebug=<xxx> variables into a single int.
1398         Rename cmodel to rs6000_current_cmodel.
1399         (rs6000_sched_groups): Ditto.
1400         (rs6000_align_branch_targets): Ditto.
1401         (rs6000_sched_costly_dep): Ditto.
1402         (rs6000_sched_insert_nops): Ditto.
1403         (rs6000_long_double_type_size): Ditto.
1404         (rs6000_ieeequad): Ditto.
1405         (rs6000_altivec_abi): Ditto.
1406         (rs6000_spe): Ditto.
1407         (rs6000_spe_abi): Ditto.
1408         (rs6000_float_gprs): Ditto.
1409         (rs6000_darwin64_abi): Ditto.
1410         (can_override_loop_align): Ditto.
1411         (rs6000_sdata): Ditto.
1412         (rs6000_tls_size): Ditto.
1413         (rs6000_current_abi): Ditto.
1414         (rs6000_traceback): Ditto.
1415         (rs6000_alignment_flags): Ditto.
1416         (rs6000_current_cmodel): Ditto.
1417         (rs6000_recip_control): Ditto.
1418         (rs6000_cpu_index): Ditto.
1419         (rs6000_tune_index): Ditto.
1420         (rs6000_debug): Ditto.
1421         (rs6000_target_flags_explict): Ditto.
1422         (rs6000_sched_insert_nops_str): Make static.
1423         (rs6000_sched_costly_dep_str): Ditto.
1424         (rs6000_recip_name): Ditto.
1425         (rs6000_abi_name): Ditto.
1426         (rs6000_sdata_name): Ditto.
1427         (enum rs6000_traceback_name): Move to rs6000-opts.h.
1428         (rs6000_parse_tls_size_option): Delete.
1429         (rs6000_valid_attribute_p): New function for target attributes and
1430         pragmas.
1431         (rs6000_function_specific_save): Ditto.
1432         (rs6000_function_specific_restore): Ditto.
1433         (rs6000_function_specific_print): Ditto.
1434         (rs6000_can_inline_p): Ditto.
1435         (rs6000_set_current_function): Ditto.
1436         (rs6000_inner_target_options): Ditto.
1437         (rs6000_debug_target_options): Ditto.
1438         (rs6000_pragma_target_parse): Ditto.
1439         (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
1440         attributes and pragmas.
1441         (TARGET_OPTION_SAVE): Ditto.
1442         (TARGET_OPTION_RESTORE): Ditto.
1443         (TARGET_OPTION_PRINT): Ditto.
1444         (TARGET_CAN_INLINE_P): Ditto.
1445         (TARGET_SET_CURRENT_FUNCTION): Ditto.
1446         (POWER_MASKS): Move to file level scope from the
1447         rs6000_option_override_internal function.
1448         (POWERPC_MASKS): Ditto.
1449         (ISA_*_MASKS): Ditto.
1450         (struct rs6000_ptt): Ditto.
1451         (processor_target_table): Ditto.
1452         (rs6000_cpu_name_lookup): Map cpu name to an index in
1453         processor_target_table.
1454         (rs6000_debug_reg_global): Print more information on processor
1455         options for -mdebug=reg.
1456         (rs6000_init_hard_regno_mode_ok): Add support for target
1457         attributes and pragmas.  Merge all -mdebug=<xxx> fields into one.
1458         Allow -mdebug=val1,val2.  Rename cmodel variable.
1459         (rs6000_option_override_internal): Ditto.
1460         (rs6000_option_override): Ditto.
1461         (rs6000_handle_option): Ditto.
1462         (rs6000_conditional_register_usage): Add debug trace message.
1463         (struct rs6000_opt_mask): New for target attribute/pragma support.
1464         (rs6000_opt_masks): Ditto.
1465         (struct rs6000_opt_var): Ditto.
1466         (rs6000_opt_vars): Ditto.
1467         (rs6000_previous_function): Ditto.
1468
1469         * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
1470         wasn't already included.
1471         (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
1472         (enum processor_type): Ditto.
1473         (rs6000_cpu): Ditto.
1474         (enum fpu_type_t): Ditto.
1475         (fpu_type): Ditto.
1476         (enum rs6000_dependence_cost): Ditto.
1477         (enum rs6000_nop_insertion): Ditto.
1478         (enum group_termination): Ditto.
1479         (rs6000_long_double_type_size): Ditto.
1480         (rs6000_ieeequad): Ditto.
1481         (rs6000_altivec_abi): Ditto.
1482         (rs6000_spe_abi): Ditto.
1483         (rs6000_spe): Ditto.
1484         (rs6000_float_gprs): Ditto.
1485         (rs6000_alignment_flags): Ditto.
1486         (rs6000_sched_insert_nops): Ditto.
1487         (enum rs6000_vector): Ditto.
1488         (enum rs6000_abi): Ditto.
1489         (rs6000_current_opt): Ditto.
1490         (rs6000_debug_*): Delete.
1491         (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
1492         (TARGET_DEBUG*): Ditto.
1493
1494         * config/rs6000/rs6000-opts.h: New header file to define the enums
1495         that are used in target variables that are now defined in rs6000.opt.
1496
1497         * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
1498         rs6000-opts.h.
1499         (rs6000_sdata): Ditto.
1500         (rs6000_abi_name): Delete.
1501         (rs6000_sdata_name): Ditto.
1502         (rs6000_tls_size_string): Ditto.
1503
1504 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1505
1506         * common.opt (debug_struct_ordinary, debug_struct_generic): New
1507         Variable entries.
1508         * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
1509         should_emit_struct_debug): Move from opts.c.
1510         * flag-types.h (enum debug_struct_file): Move from opts.c.
1511         * flags.h (should_emit_struct_debug): Remove.
1512         (base_of_path): Declare.
1513         (set_struct_debug_option): Add gcc_options parameter.
1514         * optc-gen.awk, opth-gen.awk: Handle array variables.
1515         * opts.c (enum debug_struct_file, debug_struct_ordinary,
1516         debug_struct_generic): Remove.
1517         (set_struct_debug_option): Add gcc_options parameter.
1518         (base_of_path): Remove static.
1519         (main_input_basename, main_input_baselength, matches_main_base,
1520         dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
1521         Remove.
1522         * toplev.c (main_input_basename, main_input_baselength): Define
1523         here.
1524         * toplev.h (main_input_basename, main_input_baselength): Declare
1525         here.
1526
1527 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1528
1529         * common.opt (flag_instrument_functions_exclude_functions,
1530         flag_instrument_functions_exclude_files): New Variable definitions.
1531         * flags.h (flag_instrument_functions_exclude_p): Don't declare.
1532         * gimplify.c (char_p): Declare type and vectors.
1533         (flag_instrument_functions_exclude_p): Moved from opts.c.  Make static.
1534         * opts.c (flag_instrument_functions_exclude_functions,
1535         flag_instrument_functions_exclude_files): Remove.
1536         (add_comma_separated_to_vector): Take void **.
1537         (flag_instrument_functions_exclude_p): Move to gimplify.c.
1538         (common_handle_option): Use options structure for
1539         -finstrument-functions-exclude- options.
1540
1541 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
1542
1543         * doc/options.texi (Var): Document effects of Defer.
1544         (Defer): Document.
1545         * opt-functions.awk (var_type, var_set): Handle deferred options.
1546         * opts-common.c (set_option): Handle CLVC_DEFER.
1547         * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
1548         fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
1549         fstack-limit-symbol=): Mark as deferred.
1550         * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
1551         plugin.h.
1552         (print_filtered_help): Don't report state of CLVC_DEFER options.
1553         (common_handle_option): Move code for OPT_fcall_used_,
1554         OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
1555         OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
1556         OPT_fstack_limit_symbol_ to opts-global.c.
1557         (option_enabled, get_option_state): Handle CLVC_DEFER.
1558         * opts.h: Include vec.h.
1559         (enum cl_var_type): Add CLVC_DEFER.
1560         (cl_deferred_option): Define type and vectors.
1561         (handle_common_deferred_options): Declare.
1562         * opts-global.c: New.
1563         * toplev.c (toplev_main): Call handle_common_deferred_options
1564         * Makefile.in (OPTS_H): Include $(VEC_H).
1565         (OBJS-common): Include opts-global.o.
1566         (opts.o): Update dependencies.
1567         (opts-global.o): Add dependencies.
1568
1569 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
1570
1571         * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
1572         to objc_declare_protocols.
1573
1574 2010-11-19  Richard Guenther  <rguenther@suse.de>
1575
1576         PR lto/45789
1577         * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
1578         IDENTIFIERs do not stream TREE_TYPE.
1579         * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
1580
1581 2010-11-19  Christian Borntraeger  <borntraeger@de.ibm.com>
1582
1583         * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
1584
1585 2010-11-19  Jakub Jelinek  <jakub@redhat.com>
1586
1587         PR target/45870
1588         * dwarf2out.c (const_ok_for_output_1): Don't complain about
1589         non-delegitimized TLS UNSPECs.
1590
1591 2010-11-18  Jack Howarth  <howarth@bromo.med.uc.edu>
1592             Ian Lance Taylor  <iant@google.com>
1593
1594         * config/darwin-c.c (darwin_additional_format_types): Export.
1595
1596 2010-11-18  Paul Koning  <ni1d@arrl.net>
1597
1598         * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
1599         pointer.
1600
1601 2010-11-18  Paul Koning  <ni1d@arrl.net>
1602
1603         * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
1604         * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
1605         * config/pdp11/pdp11.opt (-mabshi): Delete.
1606
1607 2010-11-19  Mingjie Xing  <mingjie.xing@gmail.com>
1608
1609         * resource.h (struct resources): Fix typo in the comment.
1610
1611 2010-11-19  Uros Bizjak  <ubizjak@gmail.com>
1612
1613         PR target/46546
1614         * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
1615
1616 2010-11-18  Richard Henderson  <rth@redhat.com>
1617
1618         PR middle-end/46515
1619         * function.c (maybe_copy_prologue_epilogue_insn): Rename from
1620         maybe_copy_epilogue_insn; handle prologue insns as well.
1621         * rtl.h, cfglayout.c: Update for rename.
1622         * recog.c (peep2_attempt): Copy prologue/epilogue data for
1623         RTX_FRAME_RELATED_P insns.
1624
1625 2010-11-18  Jakub Jelinek  <jakub@redhat.com>
1626
1627         PR middle-end/46534
1628         * builtins.c (fold_builtin_printf): Don't copy and modify string
1629         before build_string_literal, instead modify what
1630         build_string_literal returned.
1631
1632 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
1633
1634         PR c/33193
1635         * c-typeck.c (build_unary_op): Call build_real_imag_expr for
1636         REALPART_EXPR and IMAGPART_EXPR.
1637
1638 2010-11-18  Richard Guenther  <rguenther@suse.de>
1639
1640         PR tree-optimization/46172
1641         * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
1642         function.
1643         (slpeel_tree_peel_loop_to_edge): Call it.
1644
1645 2010-11-18  Jeff Law  <law@redhat.com>
1646
1647         PR middle-end-optimization/46297
1648         * postreload.c (reload_combine_note_store): Deal with embedded
1649         side effects in MEM expressions.
1650
1651 2010-11-18  Richard Guenther  <rguenther@suse.de>
1652
1653         PR lto/45089
1654         * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
1655         when checking is not enabled.
1656
1657 2010-11-18  Richard Guenther  <rguenther@suse.de>
1658
1659         PR lto/46525
1660         * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
1661         type leaders.
1662         (gimple_register_canonical_type): Also cache the canoncial type
1663         for non type leaders.
1664
1665 2010-11-18  Richard Guenther  <rguenther@suse.de>
1666
1667         * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
1668
1669 2010-11-18  Alexander Monakov  <amonakov@ispras.ru>
1670
1671         PR middle-end/46518
1672         * sel-sched-ir.c (init_expr): Use the correct type for
1673         target_available.
1674         * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
1675
1676 2010-11-17  Joakim Tjernlund  <Joakim.Tjernlund@transmode.se>
1677
1678         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
1679         as well as -mrelocatable at the same time.
1680
1681 2010-11-17  Quentin Neill  <quentin.neill.gnu@gmail.com>
1682
1683         PR target/46422
1684         * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
1685         Call the clz builtin.
1686
1687 2010-11-17  Dinar Temirbulatov <dtemirbulatov@gmail.com>
1688             Steve Ellcey  <sje@cup.hp.com>
1689
1690         PR middle-end/31490
1691         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
1692         if section attribute used.
1693
1694 2010-11-17  Jan Hubicka  <jh@suse.cz>
1695
1696         * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
1697         expand errno setting variant when optimizing for size.
1698
1699 2010-11-17  Eric Botcazou  <ebotcazou@adacore.com>
1700
1701         * postreload.c (reload_combine): Call control_flow_insn_p only once.
1702         Reverse backward loop.  Fix formatting issues.
1703
1704 2010-11-17  Paolo Bonzini  <bonzini@gnu.org>
1705
1706         * c-parser.c (c_token_is_qualifier,
1707         c_parser_next_token_is_qualifier): New.
1708         (c_parser_declaration_or_fndef, c_parser_struct_declaration):
1709         Improve error message on specs->tagdef_seen_p.
1710         (c_parser_struct_or_union_specifier): Improve error recovery.
1711         (c_parser_declspecs): Move exit condition on C_ID_ID early.
1712         Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
1713         using c_parser_next_token_is_qualifier; extend it to cover
1714         a ctsk_tagdef typespec and !typespec_ok in general.
1715
1716 2010-11-17  Richard Guenther  <rguenther@suse.de>
1717
1718         * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
1719         (gimple_mod_pow2_value_transform): Likewise.
1720         (gimple_mod_subtract_transform): Likewise.
1721
1722 2010-11-17  Richard Guenther  <rguenther@suse.de>
1723
1724         PR lto/46504
1725         * gimple.c (gimple_register_canonical_type): Make sure to only
1726         make type leaders canonical types.
1727
1728 2010-11-17  Michael Matz  <matz@suse.de>
1729
1730         * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
1731         TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
1732         TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
1733         TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
1734         * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
1735         (pass_build_ssa): ... but here.
1736         * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
1737         * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
1738         * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
1739         * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
1740         * predict.c (rebuild_frequencies): Ditto.
1741         * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
1742         * emit-rtl.c (verify_rtl_sharing): Ditto.
1743         * tree-cfgcleanup.c (repair_loop_structures): Ditto.
1744         * tree-ssa-live.c (remove_unused_locals): Ditto.
1745         * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
1746         * tree-ssa.c (pass_early_warn_uninitialized,
1747         execute_update_addresses_taken, pass_update_address_taken): Ditto.
1748         * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
1749         pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
1750         * passes.c (pass_postreload, execute_todo): Ditto.
1751         * tree-ssanames.c (pass_release_ssa_names): Ditto.
1752
1753 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
1754
1755         * doc/invoke.texi (-dy): Remove.
1756         * langhooks-def.h (lhd_do_nothing_i): Don't declare.
1757         (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
1758         * langhooks.c (lhd_do_nothing_i): Remove.
1759         * langhooks.h (lang_hooks.parse_file): Take no arguments.
1760         * toplev.c (set_yydebug): Remove.
1761         (compile_file): Update call to lang_hooks.parse_file.
1762         (decode_d_option): Don't handle -dy.
1763
1764 2010-11-17  Jakub Jelinek  <jakub@redhat.com>
1765
1766         PR rtl-optimization/46440
1767         * combine.c (update_cfg_for_uncondjump): When changing
1768         an indirect jump into unconditional jump, remove BARRIERs
1769         from bb's footer.
1770
1771 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
1772
1773         * opts.c (target_handle_option): Do not assert that loc ==
1774         UNKNOWN_LOCATION.
1775
1776 2010-11-17  Jakub Jelinek  <jakub@redhat.com>
1777             Richard Guenther  <rguenther@suse.de>
1778
1779         PR middle-end/45838
1780         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
1781         call_may_clobber_ref_p_1): Return true for __sync_* and some
1782         OpenMP builtins that act as threading barriers.
1783
1784 2010-11-17  Richard Guenther  <rguenther@suse.de>
1785
1786         PR tree-optimization/46498
1787         * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
1788
1789 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
1790
1791         * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
1792         (xtensa_function_arg_boundary): ...this.
1793         * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
1794         thinko in declaration.
1795         (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
1796         number of parameters to picochip_function_arg_boundary.
1797         (picochip_arg_advance): Likewise.
1798
1799 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
1800
1801         PR target/46512
1802         * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
1803         under check for type.
1804
1805 2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1806
1807         * ifcvt.c (dead_or_predicable): Fix typo.
1808
1809 2010-11-16  Richard Henderson  <rth@redhat.com>
1810
1811         * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
1812         * config/s390/s390.opt (mfused-madd): Remove.
1813         * config/s390/s390.c (s390_rtx_costs): Handle FMA.
1814         (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
1815         * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
1816         (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
1817
1818 2010-11-16  Richard Henderson  <rth@redhat.com>
1819
1820         * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
1821         * config/rs6000/rs6000.opt (mfused-madd): Remove.
1822         * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
1823         (*altivec_vmaddfp_1): Remove.
1824         (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
1825         (altivec_mulv4sf3): Expand to FMA directly.
1826         (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
1827         (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
1828         * config/rs6000/paired.md (paired_madds0): Use FMA.
1829         (paired_madds1): Likewise.
1830         (*paired_madd): Rename from paired_madd; use FMA.
1831         (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
1832         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
1833         consider TARGET_FUSED_MADD wrt rs6000_recip_control.
1834         (bdesc_3arg): Update CODE_FOR_* for pattern renames.
1835         (rs6000_emit_madd): Use fma_optab.
1836         (rs6000_emit_msub): Use fms_optab.
1837         (rs6000_emit_nmsub): Expand the FMA pattern directly.
1838         * config/rs6000/rs6000.md (FMA_F): New mode iterator.
1839         (*fmasf4_fpr): Rename from fmasf4_fpr.
1840         (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
1841         (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
1842         (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
1843         (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
1844         (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
1845         (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
1846         (*fmadf4_fpr): Rename from fmadf4_fpr.
1847         (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
1848         (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
1849         (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
1850         (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
1851         (fmasf4, fmadf4): Macroize into...
1852         (fma<FMA_F>4): ... here.
1853         (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
1854         (nfma<FMA_F>4, nfms<FMA_F>4): New.
1855         * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
1856         TARGET_FUSED_MADD.
1857         * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
1858         (*vsx_fmadd<mode>4_1): Remove.
1859         (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
1860         (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
1861         (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
1862         (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
1863         (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
1864         (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
1865         (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
1866
1867 2010-11-16  Richard Henderson  <rth@redhat.com>
1868
1869         * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
1870         (fmasf4, fnmadf4, fnmasf4): Likewise.
1871         (unnamed plus+mult insns and splitters): Delete.
1872
1873 2010-11-16  Richard Henderson  <rth@redhat.com>
1874
1875         * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
1876         (fnma<VSF>4): Rename from fnms_<VSF>.
1877         (fms<VSF>4): Rename from fms_<VSF>.
1878         (fma<VDF>4): Rename from fma_<VDF>.
1879         (fms<VDF>4): Rename from fms_<VDF>.
1880         (nfma<VDF>4): Rename from fnma_<VDF>.
1881         (nfms<VDF>4): Rename from fnms_<VDF>.
1882         (fnma<VDF>4, fnms<VDF>4): New expanders.
1883         (floatunsdisf2): Update for the renames.
1884         (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
1885         * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
1886
1887 2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1888
1889         PR rtl-optimization/46490
1890         * combine.c (expand_compound_operation): Fix thinko.
1891
1892 2010-11-16  Richard Henderson  <rth@redhat.com>
1893
1894         PR target/46470
1895         * recog.c (peep2_attempt): Convert frame-related info when possible.
1896         (peep2_fill_buffer): Allow frame-related insns into the buffer.
1897         (peephole2_optimize): Allow peep2_attempt to fail.
1898
1899 2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1900
1901         PR rtl-optimization/46315
1902         * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
1903         * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
1904         extracted from...
1905         * dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
1906         (remove_reg_equal_equiv_notes_for_defs): ...this.
1907         (delete_unmarked_insns): Adjust to above renaming.
1908         * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
1909         referring to registers set in the insns being moved, if any.
1910
1911         * df-core.c (df_ref_dump): New function extracted from...
1912         (df_refs_chain_dump): ...here.  Call it.
1913         (df_regs_chain_dump): Likewise.
1914         * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
1915         * df-scan.c (df_scan_start_dump): Likewise.  Fix long line.
1916
1917 2010-11-16  Andreas Schwab  <schwab@linux-m68k.org>
1918
1919         PR rtl-optimization/46395
1920         * postreload.c (reload_combine): Invalidate register use
1921         information on all control flow insns.
1922
1923         * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
1924         LABEL_REF in UNSPEC operand.
1925
1926 2010-11-16  Jan Hubicka  <jh@suse.cz>
1927
1928         * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
1929         when !flag_toplevel_reorder do not remove unless variable is
1930         COMDAT or ARTIFICIAL.
1931         * ipa.c (varpool_can_remove_if_no_refs): ... here.
1932         (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
1933         * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
1934         * varpool.c (decide_is_variable_needed): Do not handle visibility
1935         issues.
1936         (varpool_finalize_decl): Likewise.
1937         (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
1938         update outdated comment on DECL_RTL_SET_P check.
1939
1940 2010-11-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1941
1942         * config/sol2.h (NM_FLAGS): Define.
1943         * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
1944         * doc/tm.texi: Update.
1945
1946 2010-11-16  Nick Clifton  <nickc@redhat.com>
1947
1948         * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
1949         (msubsf4): Rename to fmssf4, and use fma.
1950         (nmaddsf4): Rename to fnmasf4 and use fma.
1951         (nmsubsf4): Rename to fnmssf4 and use fma.
1952
1953 2010-11-16  Joern Rennecke  <amylaar@spamcop.net>
1954
1955         PR target/44762
1956         * config/score/score3.c (score3_return_in_memory): Constify arguments.
1957         (score3_in_small_data_p, score3_function_value): Likewise.
1958         (score3_trampoline_init): Use LCT_NORMAL.
1959         (score3_print_operand): Initialize code as UNKNOWN.
1960         * config/score/predicates.md (score_load_multiple_operation):
1961         Remove unused variable.
1962         (score_store_multiple_operation): Likewise.
1963         * config/score/score7.c (score7_return_in_memory): Constify arguments.
1964         (score7_in_small_data_p, score7_function_value): Likewise.
1965         (score7_trampoline_init): Use LCT_NORMAL.
1966         (score7_print_operand): Initialize code as UNKNOWN.
1967         * config/score/score3.h (score3_return_in_memory): Update prototype.
1968         (score3_in_small_data_p, score3_function_value): Likewise.
1969         * config/score/score-protos.h (score_function_value): Likewise.
1970         * config/score/score7.h (score7_return_in_memory): Update prototype.
1971         (score7_in_small_data_p, score7_function_value): Likewise.
1972         * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
1973         (score_return_in_memory, score_pass_by_reference): Constify arguments.
1974         (score_output_mi_thunk, score_function_prologue): Don't return a value.
1975         (score_function_epilogue, score_in_small_data_p): Likewise.
1976         (score_option_override, score_asm_trampoline_template): Likewise.
1977         (score_trampoline_init, score_print_operand): Likewise.
1978         (score_print_operand_address, score_prologue): Likewise.
1979         (score_epilogue, score_call, score_call_value): Likewise.
1980         (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
1981         (score_function_arg_advance): Likewise. Make static.
1982         (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
1983         (score_function_arg, score_legitimate_address_p): Make static.
1984         (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
1985         * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
1986         * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
1987         Allow (W) == HOST_BITS_PER_WIDE_INT.
1988
1989         PR java/46386
1990         * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
1991         * config/t-pnt16-warn (java/constants.o-warn): Likewise.
1992
1993 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
1994
1995         * config/arc/arc.c: Delete pasto.
1996         * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
1997
1998 2010-11-16  Anatoly Sokolov  <aesok@post.ru>
1999
2000         * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
2001         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2002         * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
2003         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2004         (mn10300_preferred_reload_class,
2005         mn10300_preferred_output_reload_class): New functions.
2006
2007 2010-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2008
2009         * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
2010         (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
2011         (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
2012         (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
2013
2014 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
2015
2016         * builtins.c (std_gimplify_va_arg_expr): Use
2017         targetm.calls.function_arg_boundary.
2018         * function.c (assign_parms, locate_and_pad_parm): Likewise.
2019         * calls.c (struct arg_data): Update comment.
2020         * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
2021         * target.def (function_arg_boundary): Define.
2022         * targhooks.h (default_function_arg_boundary): Declare.
2023         * targhooks.c (default_function_arg_boundary): Define.
2024         * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
2025         TARGET_FUNCTION_ARG_BOUNDARY.
2026         (FUNCTION_ARG_BOUNDARY): Delete.
2027         (TARGET_FUNCTION_ARG_BOUNDARY): New.
2028         * doc/tm.texi: Regenerate.
2029         * system.h (FUNCTION_ARG_BOUNDARY): Poison.
2030         * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
2031         * config/arc/arc.c (arc_function_arg_boundary): Define.
2032         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2033         * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
2034         * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
2035         * config/arm/arm.c (arm_needs_doubleword_align): Make static.
2036         (arm_function_arg_boundary): Define.
2037         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2038         * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
2039         * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
2040         * config/frv/frv.c (frv_function_arg_boundary): Make static.
2041         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2042         * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
2043         * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
2044         * config/i386/i386.c (ix86_function_arg_boundary): Make static.
2045         (ix86_compat_function_arg_boundary): Take and return unsigned int.
2046         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2047         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
2048         * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
2049         * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
2050         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2051         * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
2052         * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
2053         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2054         * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
2055         * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
2056         * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
2057         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2058         * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
2059         * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
2060         * config/mips/mips.c (mips_function_arg_boundary): Make static.
2061         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2062         * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
2063         * config/pa/pa.c (pa_function_arg_boundary): Define.
2064         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2065         * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
2066         * config/picochip/picochip-protos.h
2067         (picochip_get_function_arg_boundary): Delete.
2068         * config/picochip/picochip.c (picochip_get_function_arg_boundary):
2069         Rename to...
2070         (picochip_function_arg_boundary): ...this.  Make static.
2071         (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
2072         (picochip_arg_advance): Adjust.
2073         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2074         * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
2075         * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
2076         * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
2077         (rs6000_function_arg_boundary): ...this.  Make static.
2078         (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
2079         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2080         * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
2081         * config/rx/rx.c (rx_function_arg_boundary): Define.
2082         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2083         * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
2084         * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
2085         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2086         * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
2087         * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
2088         * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
2089         (xtensa_function_arg_boundary): ...this.  Make static.
2090         (TARGET_FUNCTION_ARG_BOUNDARY): Define.
2091
2092 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
2093
2094         * expr.c (alignment_for_piecewise_move): New function.
2095         (widest_int_mode_for_size): New function.
2096         (move_by_pieces, move_by_pieces_ninsns): Call them.
2097         (can_store_by_pieces, store_by_pieces_1): Likewise.
2098
2099 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
2100
2101         * gcc.c (char_p): Define.  Define a VEC of it.
2102         (n_linker_options, n_assembler_options, n_preprocessor_options):
2103         Delete.
2104         (linker_options, assembler_options, preprocessor_options): Convert
2105         to a VEC.
2106         (add_preprocessor_option): Adjust.
2107         (add_assembler_option): Adjust.
2108         (add_linker_option): Adjust.
2109         (do_specs_vec): New function.
2110         (do_spec_1): Call it.  Adjust for new types.
2111
2112 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
2113
2114         * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
2115         (sreal.o, statistics.o, stringpool.o): Likewise.
2116
2117 2010-11-16  Richard Guenther  <rguenther@suse.de>
2118
2119         PR tree-optimization/44545
2120         * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
2121         statements are not reassociatable.
2122         (reassociate_bb): Likewise.
2123
2124 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
2125
2126         * bitmap.c: Delete unnecessary includes.
2127         * ebitmap.c: Likewise.
2128         * et-forest.c: Likewise.
2129         * sreal.c: Likewise.
2130         * statistics.c: Likewise.
2131         * stringpool.c: Likewise.
2132         * double-int.c: Add comment for inclusion of tm.h.
2133
2134 2010-11-16  Richard Guenther  <rguenther@suse.de>
2135
2136         * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
2137         (visit_nary_op): ... this.
2138         (visit_binary_op): Remove.
2139         (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
2140
2141 2010-11-16  Richard Guenther  <rguenther@suse.de>
2142
2143         PR middle-end/45172
2144         * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
2145
2146 2010-11-16  Nick Clifton  <nickc@redhat.com>
2147
2148         * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
2149         record is packed.
2150
2151 2010-11-15  Richard Henderson  <rth@redhat.com>
2152
2153         * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
2154         WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
2155         DOT_PROD_EXPR.
2156
2157 2010-11-15  Richard Henderson  <rth@redhat.com>
2158
2159         * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
2160         from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively.  Use
2161         fma rtx_code.
2162
2163 2010-11-15  Richard Henderson  <rth@redhat.com>
2164
2165         * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
2166         and *mulsubsf4 respectively.  Use fma rtx_code.
2167
2168 2010-11-15  Joseph Myers  <joseph@codesourcery.com>
2169
2170         * gcc.c: Include "vec.h".
2171         (argbuf): Make into a VEC.
2172         (argbuf_length, argbuf_index): Remove.
2173         (alloc_args, clear_args, store_arg, execute, insert_wrapper,
2174         do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
2175         compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
2176         * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
2177         (gcc.o): Depend on $(VEC_H).
2178
2179 2010-11-15  Richard Henderson  <rth@redhat.com>
2180
2181         * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
2182         via FMA if unsafe math.
2183         (insert_var_expansion_initialization): Handle FMA.
2184         (combine_var_copies_in_loop_exit): Likewise.
2185
2186 2010-11-15  Richard Henderson  <rth@redhat.com>
2187
2188         * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
2189         * config/ia64/ia64.opt: Remove mfused-madd.
2190         * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
2191         * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
2192         * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
2193         * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
2194         * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
2195         * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
2196         (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
2197         (fmav2sf4): Rename from fpma; use FMA code.
2198         (fmsv2sf4): Rename from fpms; use FMA code.
2199         (fnmav2sf4): Rename from *fpnma; use FMA code.
2200         * config/ia64/ia64.md (MODE_SDF): New iterator.
2201         (suffix): New mode attribute.
2202         (*maddsf4, *msubsf4, *nmaddsf4): Remove.
2203         (fmssf4): Rename from *fmssf4.
2204         (fnmasf4): Rename from *nfmasf4.
2205         (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
2206         (*nmadddf4, *nmadddf4_truncsf): Remove.
2207         (fmsdf4): Rename from *fmsdf4.
2208         (fnmadf4): Rename from *nfmadf4.
2209         (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
2210         (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
2211         (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
2212         (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
2213         (fmsxf4): Rename from *fmsxf4.
2214         (fnmaxf4): Rename from *nfmaxf4.
2215         (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
2216         (*fnmaxf_trunc_<MODE_SDF>): New.
2217
2218 2010-11-15  Jakub Jelinek  <jakub@redhat.com>
2219
2220         PR tree-optimization/46461
2221         * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
2222         a gimple val.
2223
2224 2010-11-15  Ian Lance Taylor  <iant@google.com>
2225
2226         * godump.c: New file.
2227         * common.opt (fdump-go-spec=): New option.
2228         * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
2229         (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
2230         (TYPE_SYMTAB_IS_DIE): Define.
2231         (struct tree_type): Change GTY for symtab field to use
2232         TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
2233         to pick the union field.
2234         * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
2235         (dump_go_spec_init): Declare.
2236         * toplev.c (process_options): Handle flag_dump_go_spec.
2237         * debug.c: Include "tree.h".
2238         (do_nothing_debug_hooks): Set tree_type_symtab_field.
2239         * dwarf2out.c (dwarf2_debug_hooks): Likewise.
2240         * dbxout.c (dbx_debug_hooks): Likewise.
2241         (xcoff_debug_hooks): Likewise.
2242         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
2243         * sdbout.c (sdb_debug_hooks): Likewise.  Do not define if
2244         SDB_DEBUGGING_INFO is not defined.
2245         * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
2246         (Overall Options): Document -fdump-go-spec.
2247         * Makefile.in (OBJS-common): Add godump.o.
2248         (debug.o): Add dependency on $(TREE_H).
2249         (godump.o): New target.
2250         (GTFILES): Add $(srcdir)/godump.c.
2251
2252 2010-11-15  Jakub Jelinek  <jakub@redhat.com>
2253
2254         PR debug/46095
2255         * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
2256         marking r11 set RTX_FRAME_RELATED_P if offset is too large for
2257         style < 0, add REG_FRAME_RELATED_EXPR.
2258
2259         PR debug/46387
2260         * rtl.h (vt_equate_reg_base_value): New prototype.
2261         * alias.c (vt_equate_reg_base_value): New function.
2262         * var-tracking.c (vt_init_cfa_base): Use it.
2263
2264 2010-11-15  Jan Hubicka  <jh@suse.cz>
2265             Diego Novillo  <dnovillo@google.com>
2266
2267         PR lto/41528
2268         * doc/lto.texi: Add.
2269         * doc/gccint.texi: Add reference to lto.texi.
2270         * doc/invoke.texi: Update user documentation for LTO.
2271         Move internal flags to lto.texi
2272
2273 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2274
2275         * c-typeck.c (build_unary_op): Use
2276         objc_build_incr_expr_for_property_ref to build the pre/post
2277         increment/decrement of an Objective-C property ref, and skip the
2278         lvalue_or_else check in that case.
2279
2280 2010-11-15  Martin Jambor  <mjambor@suse.cz>
2281
2282         PR tree-optimization/46349
2283         * tree-sra.c (contains_bitfld_comp_ref_p): New function.
2284         (contains_vce_or_bfcref_p): Likewise.
2285         (sra_modify_assign): Use them.
2286
2287 2010-11-15  Richard Guenther  <rguenther@suse.de>
2288
2289         PR tree-optimization/46467
2290         * tree-ssa-structalias.c (do_structure_copy): Properly treat
2291         variables without subvars.
2292
2293 2010-11-15  Hariharan Sandanagobalane  <hariharan@picochip.com>
2294
2295         * config/picochip/picochip.c (file header): Picochip name change.
2296         * config/picochip/picochip.md (file header): Likewise.
2297         * config/picochip/predicates.md (file header): Likewise.
2298         * config/picochip/dfa_space.md (file header): Likewise.
2299         * config/picochip/dfa_speed.md (file header): Likewise.
2300         * config/picochip/picochip.h(file header): Likewise.
2301         * config/picochip/constraints.md (file header): Likewise.
2302         * config/picochip/picochip-protos.h (file header): Likewise.
2303         * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
2304         * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
2305         * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
2306         * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
2307         * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
2308         * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
2309         * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
2310         * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
2311         * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
2312         * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
2313         * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
2314         * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
2315         * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
2316         * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
2317
2318 2010-11-15  Richard Guenther  <rguenther@suse.de>
2319
2320         PR bootstrap/46474
2321         * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
2322
2323 2010-11-15  Nick Clifton  <nickc@redhat.com>
2324
2325         * config/stormy16/stormy16.c (direct_return): Do not generate a
2326         direct return for interrupt handlers.
2327
2328 2010-11-15  Joern Rennecke  <amylaar@spamcop.net>
2329
2330         * Makefile.in (tm.texi): Replace with rule for:
2331         ($(srcdir)/doc/tm.texi).
2332         (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
2333         $(srcdir)/doc/tm.texi .
2334         (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
2335         tm.texi .
2336
2337         PR target/46427
2338         * config/m32r/m32r.c: Remove unused variables frame_size and insn.
2339
2340         PR bootstrap/45444
2341         * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
2342         (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
2343
2344         PR target/46432
2345         * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
2346
2347 2010-11-15  Richard Guenther  <rguenther@suse.de>
2348
2349         PR lto/44150
2350         * lto-opts.c (lto_write_options): Write -fexceptions even if
2351         not set by the user.
2352
2353 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
2354
2355         PR c/46462
2356         * c-decl.c (declspecs_add_type): Make variables with error types
2357         integers.
2358         * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
2359         do not start a declaration before an Objective-C foreach.
2360         (c_parser_declaration_or_fndef): Improve recovery after unknown
2361         type name.
2362         (c_parser_for_statement): Hoist entrance of "foreach context"
2363         before ifs, add corresponding reset where it was missing.  Do
2364         not set objc_could_be_foreach_context for C.
2365
2366 2010-11-14  Eric Botcazou  <ebotcazou@adacore.com>
2367
2368         PR tree-optimization/45722
2369         * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
2370         this is a reference to a component.
2371         * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
2372         (ipa_note_param_call): Adjust comment.
2373
2374 2010-11-14  Richard Sandiford  <rdsandiford@googlemail.com>
2375
2376         * config/mips/mips.c (machine_function): Remove
2377         initialized_mips16_gp_pseudo_p.
2378         (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
2379         detect whether a pseudo has already been created.  Unconditionally
2380         create a new one if not.
2381         (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
2382         expanding to rtl.  Create a new pseudo otherwise, if allowed.
2383
2384 2010-11-13  Richard Earnshaw  <rearnsha@arm.com>
2385
2386         PR target/43440
2387         * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
2388         * tm.texi: Regenerated.
2389         * output.h (decode_reg_name_and_count): Declare.
2390         * varasm.c (decode_reg_name_and_count): New function.
2391         (decode_reg_name): Reimplement using decode_reg_name_and_count.
2392         * reginfo.c (fix_register): Use decode_reg_name_and_count and
2393         iterate over all regs used.
2394         * stmt.c (expand_asm_operands): Likewise.
2395         * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
2396         (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
2397         multiple machine registers.
2398
2399 2010-11-13  Eric Botcazou  <ebotcazou@adacore.com>
2400
2401         * stor-layout.c (place_union_field): Do not put location information
2402         on offset expressions.
2403         (place_field): Likewise.
2404         (finalize_record_size): Likewise on size expressions.
2405         (finalize_type_size): Likewise.
2406         (layout_type): Likewise.
2407
2408 2010-11-13  Alexandre Oliva  <aoliva@redhat.com>
2409
2410         PR debug/42889
2411         * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
2412         * df-core.c (df_set_bb_dirty_nonrl): Remove.
2413         * df.h (df_set_bb_dirty_nonlr): Likewise.
2414
2415 2010-11-13  Uros Bizjak  <ubizjak@gmail.com>
2416
2417         * config/mips/mips.md (call_internal): Pass curr_insn to
2418         mips_split_call.
2419         (call_internal_direct): Ditto.
2420         (call_value_internal): Ditto.
2421         (call_value_internal_direct): Ditto.
2422         (call_value_multiple_internal): Ditto.
2423         * config/mips/mips.c (mips_split_call): Do not copy
2424         CALL_INSN_FUNCTION_USAGE here.
2425
2426 2010-11-13  Mingming Sun  <mingm.sun@gmail.com>
2427
2428         * doc/invoke.texi (MIPS Options): Add loongson3a processor.
2429         * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
2430         (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
2431         * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
2432         (TUNE_LOONGSON_3A): Define.
2433         (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
2434         (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
2435         * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
2436         (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
2437         (mips_rtx_cost_data): Add Loongson-3A.
2438
2439 2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
2440
2441         * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
2442         switches.
2443
2444 2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
2445
2446         * dwarf2out.c (macinfo_entry): New struct.
2447         (output_comp_unit): Emit the section start label here and flag that we
2448         will emit an info section.
2449         (dwarf2out_start_source_file): Save data in a macinfo entry rather than
2450         emitting directly.
2451         (dwarf2out_end_source_file): Likewise.
2452         (dwarf2out_define): Likewise.
2453         (dwarf2out_undef): Likewise.
2454         (output_macinfo): New.
2455         (dwarf2out_init): Do not emit debug section switches here, allocate a
2456         vec for macinfo, when required.
2457         (dwarf2out_finish): First switch to debug_abbrev_section here.
2458         debug_line_section,  debug_macinfo_section, Likewise.
2459         Check that the pubtypes table has at least one unpruned entry before
2460         trying to emit it.
2461
2462 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
2463
2464         PR c/20385
2465         * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
2466         (c_parser_next_tokens_start_declaration): ... this.  Handle 2nd
2467         token lookahead.
2468         (c_parser_compound_statement_nostart, c_parser_label,
2469         c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
2470         (c_parser_declaration_or_fndef): Detect the case now matched by
2471         c_parser_next_tokens_start_declaration, give error and correct it.
2472
2473 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
2474
2475         * c-tree.h (enum c_typespec_kind): Add ctsk_none.
2476         (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
2477         with typespec_kind.
2478         * c-decl.c (build_null_declspecs): Initialize typespec_kind.
2479         (shadow_tag_warned, check_compound_literal_type): Adjust
2480         uses of tag_defined_p.
2481         (declspecs_add_type): Set typespec_kind.
2482         * c-parser.c (c_parser_declaration_or_fndef,
2483         c_parser_declspecs, c_parser_struct_declaration,
2484         c_parser_parameter_declaration, c_parser_type_name,
2485         c_parser_objc_diagnose_bad_element_prefix): Adjust uses
2486         of type_seen_p.
2487         * c-typeck.c (c_cast_expr): Use typespec_kind instead of
2488         tag_defined_p, pass ctsk_firstref through.
2489
2490 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
2491
2492         * c-format.c (enum format_specifier_kind, kind_descriptions): New.
2493         (struct format_wanted_type): Replace field "name" with "kind", add
2494         "format_start" and "format_length".
2495         (check_format_info_main): Fill in new fields.  Fill in
2496         FORMAT_WANTED_TYPES even for missing arguments.  Move checks
2497         after the final NUL outside the while loop.  Do not include
2498         width and precision modifiers in the format_start/format_length
2499         of the main format.
2500         (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
2501         arguments.  Compute WANTED_TYPE first so that format_type_warning
2502         can be called for missing arguments.  Adjust calls to
2503         format_type_warning.
2504         (format_type_warning): Fetch as much information as possible
2505         from format_wanted_type.  Adjust printing now that every
2506         warning has a "descr", as well as for missing argument warnings
2507         and to include % sign for format specifiers.
2508
2509 2010-11-12  Alexander Monakov  <amonakov@ispras.ru>
2510
2511         PR rtl-optimization/46204
2512         * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
2513         Update all callers.  Do not recompute topological order.  Adjust
2514         fallthrough edges following a degenerate conditional jump.
2515
2516 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2517
2518         * opts-common.c (control_warning_option): New.
2519         * opts.c (set_default_handlers): New.
2520         (decode_options): Use set_default_handlers and
2521         control_warning_option.
2522         (common_handle_option): Update call to enable_warning_as_error.
2523         (enable_warning_as_error): Take gcc_options parameters.  Use
2524         control_warning_option.
2525         * opts.h (set_default_handlers, control_warning_option): Declare.
2526
2527 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
2528
2529         * Makefile.in (OPTS_H): Define.
2530         (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
2531         c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
2532         cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
2533         opts-common.o, toplev.o, passes.o, matrix-reorg.o,
2534         ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
2535         * gcc.c (driver_handle_option): Take location_t parameter.
2536         (process_command, do_self_spec): Update calls to
2537         read_cmdline_option.
2538         * langhooks-def.h (lhd_handle_option): Take location_t parameter.
2539         * langhooks.c (lhd_handle_option): Take location_t parameter.
2540         * langhooks.h (handle_option): Take location_t parameter.
2541         * lto-opts.c (lto_reissue_options): Update call to set_option.
2542         * opts-common.c (handle_option): Make static.  Take location_t
2543         parameter and pass it to other functions.
2544         (handle_generated_option): Take location_t parameter and pass it
2545         to other functions.
2546         (read_cmdline_option): Take location_t parameter and pass it to
2547         other functions.  Use warning_at and error_at.
2548         (set_option): Take location_t parameter and pass it to other
2549         functions.
2550         * opts.c (common_handle_option): Take location_t parameter and
2551         pass it to other functions.
2552         (enable_warning_as_error): Make static.  Take location_t parameter
2553         and pass it to other functions.
2554         (lang_handle_option): Take location_t parameter and pass it to
2555         other functions.
2556         (target_handle_option): Take location_t parameter.
2557         (read_cmdline_options, maybe_default_option,
2558         maybe_default_options, default_options_optimization,
2559         decode_options): Take location_t parameter and pass it to other
2560         functions.
2561         * opts.h: Include input.h.
2562         (struct cl_option_handler_func, decode_options, set_option,
2563         handle_generated_option, read_cmdline_option): Take location_t
2564         parameters.
2565         (handle_option, enable_warning_as_error): Remove.
2566         * toplev.c (toplev_main): Update call to decode_options.
2567
2568 2010-11-12  Tobias Grosser  <grosser@fim.uni-passau.de>
2569
2570         * graphite-cloog-util.c (oppose_constraint,
2571         cloog_matrix_to_ppl_constraint,
2572         new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
2573         CLooG isl uses unsigned integers.  This triggered a warning.
2574
2575 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
2576
2577         PR target/46438
2578         * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
2579         (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
2580         (xtensa_function_arg_1): De-constify cum.
2581         (xtensa_expand_prologue): Use add_reg_note.
2582
2583         PR target/46435
2584         * config/cris/cris.c (saved_regs_mentioned): Delete.
2585         (cris_reload_address_legitimized): Cast itype to enum reload_type.
2586         Remove unused variable op0p.
2587         (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
2588         (cris_emit_movem_store): Use add_reg_note.
2589
2590         PR bootstrap/46456
2591         * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
2592
2593 2010-11-12  Eric Botcazou  <ebotcazou@adacore.com>
2594
2595         * function.c (expand_function_end): Set the locator of the prologue on
2596         the stack checking insns.
2597
2598 2010-11-12  Richard Henderson  <rth@redhat.com>
2599
2600         * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
2601         * config/xtensa/xtensa.opt (mfused-madd): Remove.
2602         * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
2603         MASK_FUSED_MADD.
2604         * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
2605         (fnmasf4): Rename from mulsubsf3; use fma.
2606
2607 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
2608             Richard Henderson  <rth@redhat.com>
2609
2610         PR target/46428
2611         * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
2612         * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
2613         comparison.
2614
2615 2010-11-12  Pat Haugen  <pthaugen@us.ibm.com>
2616
2617         * opts-common.c (decode_cmdline_option): Initialize separate_args.
2618
2619 2010-11-12  Jan Hubicka  <jh@suse.cz>
2620
2621         * doc/invoke.texi (early-inlining-insns): Update default.
2622         * params.def (early-inlining-insns): Default to 10.
2623
2624 2010-11-12  Olivier Hainque  <hainque@adacore.com>
2625
2626         * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
2627
2628 2010-11-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2629
2630         * config/mips/iris6.h [!IRIX_USING_GNU_LD]
2631         (SUPPORTS_INIT_PRIORITY): Define.
2632
2633 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
2634
2635         PR target/46430
2636         * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
2637         * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
2638         (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
2639         (avr_device_to_devicelib): Likewise.
2640         * config/avr/avr.md (zero_extendqihi2): Put variable declarations
2641         into block.
2642         (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
2643         (zero_extendhidi2, zero_extendsidi2): Likewise.
2644         * config/avr/avr.c (avr_num_arg_regs): Constify type.
2645         (avr_return_addr_rtx): De-constify tem.
2646         (avr_rotate_bytes): Move declarations to start of block.
2647         Don't use variable length array.  Put nested if/else into block.
2648
2649         PR rtl-optimization/46433
2650         * var-tracking.c: Include tm_p.h .
2651
2652         PR bootstrap/44756
2653         PR build/44767
2654         * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
2655         should be unsigned.
2656         (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
2657         * doc/tm.texi: Regenerate.
2658
2659         PR target/46412
2660         * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
2661         * config/bfin/bfin.c: Include sel-sched.h .
2662         (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
2663         (expand_interrupt_handler_prologue): Remove unused variable insn.
2664         (bfin_load_pic_reg): Likewise.
2665         (bfin_rtx_costs): Make code / outer_code variables of type
2666         enum rtx_code, copied from re-named parameters.
2667         (bfin_local_alignment): Change align argument and return type
2668         to unsigned.
2669         (bfin_adjust_cost): Remove unused variable insn_type.
2670         Declare variables at start of block.
2671         (struct loop_info): Rename to...
2672         (struct loop_info_d).
2673         (workaround_rts_anomaly): Change type of icode to int.
2674         (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
2675         with int-typed variable.
2676         (note_np_check_stores): Likewise.
2677         (trapping_loads_p): Remove unused variable pat.
2678         (bfin_expand_binop_builtin): Use expand_normal.
2679         (bfin_expand_unop_builtin): Likewise.
2680         (bfin_expand_builtin): Likewise.  Set tmode before use.
2681
2682         PR middle-end/44769
2683         * final.c (split_double): Don't use BITS_PER_WORD directly in
2684         shift count.
2685
2686         PR target/46431
2687         * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
2688         assignment.
2689
2690         PR target/46450
2691         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
2692         Use add_reg_note.
2693         (xstormy16_function_arg): Dereference cum.
2694         (xstormy16_expand_builtin): Use expand_normal.
2695         Change type of omode to enum machine_mode.
2696         (combine_bnp): Rename and to and_insn.
2697
2698         PR target/46437
2699         * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
2700         localreg.
2701
2702 2010-11-12  Eric Botcazou  <ebotcazou@adacore.com>
2703
2704         PR debug/46375
2705         * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
2706
2707 2010-11-11  Rodrigo Rivas Costa  <rodrigorivascosta@gmail.com>
2708
2709         PR lto/46376
2710         * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
2711
2712 2010-11-11  Nathan Froyd  <froydnj@codesourcery.com>
2713
2714         PR c/44782
2715         * common.opt (fmax-errors=): New option.
2716         * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
2717         * diagnostic.h (struct diagnostic_context): Add max_errors field.
2718         * diagnostic.c (diagnostic_initialize): Initialize it.
2719         (diagnostic_action_after_output): Exit if more than max_errors
2720         have been output.
2721         * doc/invoke.texi (Warning Options): Add -fmax-errors.
2722         (-fmax-errors): Document.
2723
2724 2010-11-11  Richard Henderson  <rth@redhat.com>
2725
2726         * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
2727
2728 2010-11-11  Richard Henderson  <rth@redhat.com>
2729
2730         * config/fused-madd.opt: New file.
2731         * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
2732         * config/i386/i386.c (ix86_extra_costs): Handle FMA.
2733         (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
2734         * config/i386/i386.opt (mfused-madd): Remove.
2735         * config/i386/sse.md (split_fma): Remove.
2736         (split_fms, split_fnma, split_fnms): Remove.
2737
2738 2010-11-12  Jakub Jelinek  <jakub@redhat.com>
2739
2740         PR target/46088
2741         * config/i386/i386.md (*ashl<mode>3_cconly,
2742         *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
2743         change nonimmediate_operand predicate to register_operand.
2744
2745 2010-11-11  Paolo Bonzini  <bonzini@gnu.org>
2746
2747         * Makefile.in (gengtype-lex.c): Include bconfig.h first.
2748
2749 2010-11-11  Jan Hubicka  <jh@suse.cz>
2750
2751         * opts.c (finish_options): Do not error on -flto-partition alone.
2752
2753         * doc/invoke.texi (-fwhopr): Merge into -flto section.
2754         (-flto-partition): Document none.
2755         * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
2756         * lto-wrapper.c: Update comment.
2757         (run_gcc): Update LTO option parsing.
2758         * opts.c (finish_options): add support -flto-partition=none
2759         (common_handle_option): Remove fwhopr.
2760         * common.opt: Turn fwhopr into flto.
2761         * collect2.c (main): Update option handling.
2762         * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
2763         * ipa-split.c (execute_split_functions): Remove flag_whopr.
2764         * ipa.c (function_and_variable_visibility): Remove flag_whopr.
2765         * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
2766         * varpool.c (decide_is_variable_needed): Remove flag_whopr.
2767
2768 2010-11-11  Jan Hubicka  <jh@suse.cz>
2769
2770         PR tree-optimize/40436
2771         * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
2772         (eliminated_by_inlining_prob): ... this one; return 50% probability
2773         for SRA.
2774         (estimate_function_body_sizes): Update use of
2775         eliminated_by_inlining_prob; estimate static function size
2776         for 2 instructions.
2777
2778 2010-11-11  Joern Rennecke  <amylaar@spamcop.net>
2779
2780         PR target/44749
2781         * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
2782         declare.  Change type of argument four to type int.
2783         (mep_secondary_input_reload_class): Returns enum reg_class.
2784         (mep_secondary_output_reload_class): Likewise.
2785         (mep_function_value): Change types of arguments to cont_tree.
2786         * config/mep/mep.c (mep_legitimize_reload_address): Change type of
2787         argument four to type int.
2788         (mep_secondary_input_reload_class): Returns enum reg_class.
2789         (mep_secondary_output_reload_class): Likewise.
2790         (mep_function_value): Change types of arguments to cont_tree.
2791         * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
2792         mep_regno_reg_class to enum reg_class.
2793
2794 2010-11-11  Richard Henderson  <rth@redhat.com>
2795
2796         * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
2797         that the target has the exact fma operation that we matched.
2798
2799 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
2800
2801         * reginfo.c (fix_register): Avoid inserting English word in
2802         diagnostic sentence.  Use %qs for quoting and %'.
2803
2804 2010-11-11  H.J. Lu  <hongjiu.lu@intel.com>
2805
2806         * config/i386/driver-i386.c (host_detect_local_cpu): Support
2807         Intel processor family 6, model 0x2c.
2808
2809 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
2810
2811         * opts.c (warning_as_error_callback,
2812         register_warning_as_error_callback): Remove.
2813         (enable_warning_as_error): Don't use warning_as_error_callback.
2814         * opts.h (register_warning_as_error_callback): Remove.
2815
2816 2010-11-11  Richard Henderson  <rth@redhat.com>
2817
2818         * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
2819         in between the MULT and the PLUS/MINUS.
2820
2821 2010-11-11  Jakub Jelinek  <jakub@redhat.com>
2822
2823         PR middle-end/46388
2824         * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
2825         BLKmode mode for it.
2826         (expand_expr_real_1): Similarly for op0.
2827
2828 2010-11-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2829
2830         * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
2831         Document optional target selector.
2832
2833 2010-11-11  Dave Korn  <dave.korn.cygwin@gmail.com>
2834
2835         * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
2836         assembling high and low parts of size if not using 32-bit HWINT; else
2837         use DECL_SIZE_UNITS, not DECL_SIZE.
2838
2839 2010-11-11  Martin Jambor  <mjambor@suse.cz>
2840
2841         PR tree-optimization/46383
2842         * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
2843         offsets.
2844         (compute_complex_ancestor_jump_func): Likewise.
2845         * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
2846
2847 2010-11-11  Jakub Jelinek  <jakub@redhat.com>
2848
2849         PR debug/46150
2850         * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
2851         true if expr1->hash != expr2->hash.
2852
2853 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
2854
2855         * cfgloop.c (verify_loop_structure): Use %' in diagnostics.  Start
2856         diagnostics with lowercase letters.
2857         * cgraphunit.c (verify_cgraph_node): Start diagnostics with
2858         lowercase letters.
2859         * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
2860         diagnostic.
2861         * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
2862         * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
2863         lowercase letters.
2864         * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
2865         Remove trailing ' ' from diagnostic.
2866         * config/avr/avr.c (print_operand_address): Start diagnostic with
2867         a lowercase letter and remove trailing '.'.
2868         * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
2869         * config/bfin/bfin.c (bfin_option_override): Start diagnostics
2870         with lowercase letters.  Use %' in diagnostics.  Remove trailing
2871         '.' from diagnostics.
2872         (bfin_handle_longcall_attribute): Use %' in diagnostic.
2873         * config/cris/cris.c (cris_split_movdx,
2874         cris_expand_pic_call_address): Start diagnostics with lowercase
2875         letters.
2876         (cris_asm_output_label_ref): Use %' in diagnostic.
2877         * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
2878         letter.
2879         * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
2880         lowercase letter.
2881         * config/darwin-c.c (version_as_macro): Start diagnostic with a
2882         lowercase letter.
2883         * config/darwin-driver.c (darwin_default_min_version): Use %' in
2884         diagnostic.
2885         * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
2886         diagnostic.
2887         * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
2888         * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
2889         diagnostics.
2890         * config/i386/i386.c (ix86_option_override_internal): Write
2891         diagnostic as a single sentence without trailing '.'.  Use %' in
2892         diagnostics.
2893         (ix86_function_sseregparm, classify_argument): Start diagnostics
2894         with lowercase letters.
2895         (ix86_expand_prologue): Use %' in diagnostic.
2896         * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
2897         diagnostic.
2898         * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
2899         lowercase letter.
2900         * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
2901         diagnostic.
2902         * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
2903         * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
2904         '`' in help text.
2905         * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
2906         lowercase letter.
2907         * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
2908         lowercase letters.
2909         * config/microblaze/microblaze.c (microblaze_handle_option):
2910         Remove trailing '.' from diagnostic.
2911         (print_operand): Start diagnostic with a lowercase letter.
2912         * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
2913         lowercase letters.  Avoid '`' in diagnostics.
2914         * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
2915         lowercase letters.  Avoid '`' in diagnostics.
2916         * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
2917         lowercase letters.  Avoid '`' in diagnostics.
2918         * config/picochip/picochip.c (picochip_option_override,
2919         picochip_emit_save_register, picochip_function_arg,
2920         picochip_output_label, picochip_output_internal_label,
2921         picochip_asm_output_opcode, picochip_output_cbranch,
2922         picochip_output_compare, picochip_output_branch,
2923         picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
2924         diagnostics. Start diagnostics with lowercase letters.  Use %' in
2925         diagnostics.
2926         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
2927         "SPE" capitalization.  Start diagnostic with a lowercase letter.
2928         (rs6000_handle_option): Start diagnostics with lowercase letters.
2929         (def_builtin): Remove trailing '.' from diagnostic.
2930         (rs6000_savres_routine_name): Start diagnostic with a lowercase
2931         letter.
2932         * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
2933         diagnostic.
2934         * config/rx/rx.c (rx_handle_option): Start diagnostic with a
2935         lowercase letter.
2936         * config/s390/s390.c (s390_option_override) Start diagnostics with
2937         lowercase letters.  Use %' in diagnostic.
2938         * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
2939         lowercase letters.
2940         * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
2941         diagnostic.
2942         * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
2943         diagnostic.
2944         * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
2945         diagnostic.
2946         * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
2947         * config/spu/spu.c (spu_option_override): Start diagnostics with
2948         lowercase letters.  Use %qs for quoting in diagnostics.
2949         (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
2950         Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
2951         * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
2952         from diagnostic.
2953         * convert.c (convert_to_integer, convert_to_vector): Use %' in
2954         diagnostics.
2955         * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
2956         letter and use "cannot" spelling.
2957         * expmed.c (extract_fixed_bit_field): Start diagnostic with
2958         lowercase letter and format as a single sentence without '.'.
2959         * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
2960         Use %' in diagnostics.
2961         * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
2962         Use %' in diagnostics.
2963         * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
2964         Use %' in diagnostics.
2965         * graph.c (clean_graph_dump_file): Use %' in diagnostic.
2966         * graphite-poly.c (graphite_read_scop_file): Start diagnostics
2967         with lowercase letters and remove tailing '.' and '\n'.
2968         * lto-cgraph.c (input_profile_summary): Start diagnostic with
2969         lowercase letter and remove trailing '.'.
2970         (input_cgraph): Start diagnostics with lowercase letters and
2971         remove trailing '\n'.
2972         * opts.c (finish_options, common_handle_option): Start diagnostics
2973         with lowercase letters and remove trailing '.'.  Fix typo in
2974         diagnostic.
2975         * passes.c (position_pass): Start diagnostic with lowercase letter.
2976         * plugin.c (add_new_plugin, parse_plugin_arg_opt,
2977         register_callback, try_init_one_plugin): Start diagnostics with
2978         lowercase letters.
2979         * reload1.c (spill_failure): Use %' in diagnostic.
2980         (gen_reload): Start diagnostic with a lowercase letter.
2981         * stor-layout.c (place_field): Start diagnostic with a lowercase
2982         letter.
2983         * toplev.c (open_auxiliary_file): Use %' in diagnostic.
2984         * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
2985         verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
2986         Start diagnostics with lowercase letters, remove trailing '.' and
2987         use %' in diagnostics.
2988         * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
2989         (verify_ssa): Don't split diagnostic across two error calls.
2990         Spell out "number" and use %' in diagnostic.
2991         * value-prof.c (visit_hist, check_counter): Start diagnostics with
2992         lowercase letters.
2993
2994 2010-11-10  Uros Bizjak  <ubizjak@gmail.com>
2995
2996         PR middle-end/46419
2997         * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
2998         (_mm_cvtpu16_ps): Ditto.
2999
3000 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3001
3002         * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
3003         warn_larger_than, larger_than_size, warn_frame_larger_than,
3004         frame_larger_than_size, flag_gen_aux_info, flag_shlib,
3005         default_visibility, flag_tls_default): New Variable declarations.
3006         (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
3007         falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
3008         (v): Declare as Common and document here.
3009         * flags.h (default_visibility, flag_generate_lto,
3010         warn_larger_than, larger_than_size, warn_frame_larger_than,
3011         frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
3012         flag_shlib, flag_excess_precision_cmdline): Remove.
3013         (set_Wstrict_aliasing): Update prototype.
3014         * gcc.c (verbose_flag): Remove.
3015         (driver_handle_option): Add diagnostic_context parameter.  Don't
3016         handle OPT_v explicitly here.  Set verbose_flag to 1 rather than
3017         incrementing it.
3018         * opts-common.c (handle_option): Pass dc to handler.
3019         * opts.c (warn_larger_than, larger_than_size,
3020         warn_frame_larger_than, frame_larger_than_size,
3021         default_visibility): Remove.
3022         (common_handle_option): Add diagnostic_context parameter.
3023         (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
3024         gcc_options parameters.
3025         (lang_handle_option, target_handle_option, read_cmdline_options,
3026         decode_options): Add diagnostic_context parameters.
3027         (finish_options): Access option state through opts pointer where
3028         possible.
3029         (common_handle_option): Access option state through opts pointer
3030         where possible.  Do not set local static variable verbose.  Do not
3031         explicitly handle OPT_v, OPT_Wstrict_aliasing_,
3032         OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
3033         OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
3034         OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
3035         OPT_fwhopr_.  Do not explicitly set .opt file variables for
3036         OPT_aux_info or OPT_pedantic_errors.  Use dc for diagnostic context.
3037         (set_Wstrict_aliasing): Add gcc_options parameter.
3038         * opts.h (struct cl_option_handler_func): Add diagnostic_context
3039         parameter to handler.
3040         (decode_options): Add diagnostic_context parameter.
3041         * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
3042         asm_file_name, flag_generate_lto, flag_gen_aux_info,
3043         aux_info_file_name, flag_shlib, flag_tls_default,
3044         flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
3045         (toplev_main): Pass global_dc to decode_options.
3046         * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
3047         aux_info_file_name, asm_file_name): Remove.
3048         * tree.h (flag_tls_default): Remove.
3049
3050 2010-11-10  Eric Botcazou  <ebotcazou@adacore.com>
3051
3052         PR target/45986
3053         * config/sparc/sparc.c (sparc_delegitimize_address): New function.
3054         (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
3055
3056 2010-11-10  Quentin Neill  <quentin.neill.gnu@gmail.com>
3057
3058         * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
3059         (x86_64-*-*): Likewise.
3060         * config/i386/cpuid.h: Define TBM bit.
3061         * config/i386/driver-i386.c (host_detect_local_cpu): Define
3062         and set has_tbm.
3063         * config/i386/i386-c.c (ix86_target_macros_internal): Check
3064         isa_flag for TBM.
3065         * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
3066         (OPTION_MASK_ISA_TBM_UNSET): New.
3067         (ix86_handle_option): Handle -mtbm.
3068         (isa_opts): Add -mtbm.
3069         (enum pta_flags): Add PTA_TBM.
3070         (ix86_option_override_internal): Add TBM support.
3071         (ix86_valid_target_attribute_inner_p): Handle -mtbm.
3072         (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
3073         (IX86_BUILTIN_BEXTRI64): Likewise.
3074         (bdesc_args): Add TBM intrinsics.
3075         (ix86_expand_builtin): Add TBM specific case.
3076         * config/i386/i386.h (TARGET_TBM): New for TBM.
3077         * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
3078         (tbm_bextri_<mode>): Likewise.
3079         (*tbm_blcfill_<mode>): Likewise.
3080         (*tbm_blci_<mode>): Likewise.
3081         (*tbm_blcic_<mode>): Likewise.
3082         (*tbm_blcmsk_<mode>): Likewise.
3083         (*tbm_blcs_<mode>): Likewise.
3084         (*tbm_blsfill_<mode>): Likewise.
3085         (*tbm_blsic_<mode>): Likewise.
3086         (*tbm_t1mskc_<mode>): Likewise.
3087         (*tbm_tzmsk_<mode>): Likewise.
3088         * config/i386/i386.opt: Add -mtbm.
3089         * config/i386/tbmintrin.h (__bextri_u32): New.
3090         (__blcfill_u32): Likewise.
3091         (__blci_u32): Likewise.
3092         (__blcic_u32): Likewise.
3093         (__blcmsk_u32): Likewise.
3094         (__blcs_u32): Likewise.
3095         (__blsfill_u32): Likewise.
3096         (__blsic_u32): Likewise.
3097         (__t1mskc_u32): Likewise.
3098         (__tzmsk_u32): Likewise.
3099         (__bextri_u64): Likewise.
3100         (__blcfill_u64): Likewise.
3101         (__blci_u64): Likewise.
3102         (__blcic_u64): Likewise.
3103         (__blcmsk_u64): Likewise.
3104         (__blcs_u64): Likewise.
3105         (__blsfill_u64): Likewise.
3106         (__blsic_u64): Likewise.
3107         (__t1mskc_u64): Likewise.
3108         (__tzmsk_u64): Likewise.
3109         * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
3110         * doc/invoke.texi: Document -mtbm.
3111         * doc/extend.texi: Document TBM built-in functions.
3112
3113 2010-11-10  Quentin Neill  <quentin.neill.gnu@gmail.com>
3114
3115         * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
3116         (x86_64-*-*): Likewise.
3117         * config/i386/cpuid.h: Define BMI bit.
3118         * config/i386/driver-i386.c (host_detect_local_cpu): Define
3119         and set has_bmi.
3120         * config/i386/i386-c.c (ix86_target_macros_internal): Check
3121         isa_flag for BMI.
3122         * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
3123         (OPTION_MASK_ISA_BMI_UNSET): New.
3124         (ix86_handle_option): Handle -mbmi.
3125         (isa_opts): Add -mbmi.
3126         (enum pta_flags): Add PTA_BMI.
3127         (ix86_option_override_internal): Add BMI support.
3128         (ix86_valid_target_attribute_inner_p): Handle -mbmi.
3129         (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
3130         (IX86_BUILTIN_BEXTR64): Likewise.
3131         (IX86_BUILTIN_CTZS): Likewise.
3132         (bdesc_args): Add BMI intrinsics.
3133         (ix86_expand_args_builtin): Add BMI specific cases.
3134         * config/i386/i386.h (TARGET_BMI): New for BMI.
3135         (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
3136         (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
3137         * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
3138         (UNSPEC_TZCNT): Likewise.
3139         (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
3140         (bmi_andn_<mode>): New for BMI.
3141         (bmi_bextr_<mode>): Likewise.
3142         (bmi_blsi_<mode>): Likewise.
3143         (bmi_blsmsk_<mode>): Likewise.
3144         (bmi_blsr_<mode>): Likewise.
3145         * config/i386/i386.opt: Add -mbmi.
3146         * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
3147         * config/i386/bmiintrin.h (__lzcnt_u16): New.
3148         (__tzcnt_u16): Likewise.
3149         (__andn_u32): Likewise.
3150         (__bextr_u32): Likewise.
3151         (__blsi_u32): Likewise.
3152         (__blsmsk_u32): Likewise.
3153         (__blsr_u32): Likewise.
3154         (__lzcnt_u32): Likewise.
3155         (__tzcnt_u32): Likewise.
3156         (__andn_u64): Likewise.
3157         (__bextr_u64): Likewise.
3158         (__blsi_u64): Likewise.
3159         (__blsmsk_u64): Likewise.
3160         (__blsr_u64): Likewise.
3161         (__lzcnt_u64): Likewise.
3162         (__tzcnt_u64): Likewise.
3163         * doc/invoke.texi: Document -mbmi and -mno-bmi.
3164         * doc/extend.texi: Document BMI built-in functions.
3165
3166 2010-11-10  Jan Hubicka  <jh@suse.cz>
3167
3168         PR tree-optimize/46228
3169         * doc/invoke.texi (comdat-sharing-probability): Document.
3170         * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
3171         * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
3172
3173 2010-11-10  Jan Hubicka  <jh@suse.cz>
3174
3175         PR tree-optimize/46228
3176         * cgraph.c (cgraph_propagate_frequency): Fix typo.
3177
3178 2010-11-10  H.J. Lu  <hongjiu.lu@intel.com>
3179
3180         PR tree-optimization/46414
3181         * tree-inline.c (estimate_move_cost): Check preferred vector
3182         mode for vector type.
3183
3184 2010-11-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3185
3186         * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
3187
3188 2010-11-10  Sebastian Pop  <sebastian.pop@amd.com>
3189
3190         PR tree-optimization/45971
3191         * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
3192         for phi nodes analyzable by scev.
3193
3194 2010-11-10  Richard Guenther  <rguenther@suse.de>
3195
3196         PR tree-optimization/44964
3197         * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
3198
3199 2010-11-10  Martin Jambor  <mjambor@suse.cz>
3200
3201         PR tree-optimization/46351
3202         PR tree-optimization/46377
3203         * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
3204         aggregate bit-fields.
3205
3206 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
3207
3208         * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
3209         * doc/tm.texi: Regenerate.
3210         * opts-common.c (tm.h): Don't include.
3211         (target_option_translations): Remove.
3212         (decode_cmdline_options_to_array): Don't handle translating options.
3213         * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
3214         * config/darwin-driver.c: Don't condition includes on
3215         CROSS_DIRECTORY_STRUCTURE.
3216         (darwin_default_min_version): Make static.
3217         (darwin_driver_init): New.  Call darwin_default_min_version if not
3218         CROSS_DIRECTORY_STRUCTURE.
3219         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
3220         (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
3221         (ASM_SPEC): Add %{static}.
3222         (darwin_default_min_version): Don't declare.
3223         (darwin_driver_init): Declare.
3224         (GCC_DRIVER_HOST_INITIALIZATION): Define to call
3225         darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
3226         * config/darwin.opt (all_load, allowable_client,
3227         arch_errors_fatal, bind_at_load, bundle, bundle_loader,
3228         dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
3229         exported_symbols_list, filelist, findirect-virtual-calls,
3230         flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
3231         framework, fterminated-vtables, gfull, gused, image_base, init,
3232         install_name, multi_module, multiply_defined,
3233         multiply_defined_unused, no_dead_strip_inits_and_terms,
3234         seg_addr_table, seg_addr_table_filename, segaddr,
3235         segs_read_only_addr, segs_read_write_addr, single_module,
3236         umbrella, unexported_symbols_list, weak_reference_mismatches,
3237         Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
3238         Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
3239         Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
3240         Zno_dead_strip_inits_and_terms, Zsingle_module): New.
3241         * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
3242         (ASM_SPEC): Add %{static}.
3243         (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
3244         * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
3245         (DRIVER_SELF_SPECS): Handle options formerly in
3246         TARGET_OPTION_TRANSLATE_TABLE.
3247         * config/mep/mep.opt (mfar): New.
3248         * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
3249         (DRIVER_SELF_SPECS): Define.  Handle options formerly in
3250         TARGET_OPTION_TRANSLATE_TABLE.
3251         * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
3252         (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
3253         * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
3254         ffix-and-continue, findirect-data): New.
3255         * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
3256         * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
3257         (mnofpu): Define mask and use Report here.
3258
3259 2010-11-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3260
3261         * config/s390/s390.c (s390_emit_prologue): Report the stack
3262         size if -fstack-usage is used.
3263
3264 2010-11-10  Richard Guenther  <rguenther@suse.de>
3265
3266         PR tree-optimization/46398
3267         * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
3268
3269 2010-11-10  Joern Rennecke  <amylaar@spamcop.net>
3270
3271         PR target/44760
3272         * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
3273         (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
3274         GP_REG_OR_PSEUDO_STRICT_P.
3275         * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
3276         unexpected alternative.
3277         (*movsf_internal): Likewise.
3278         (indirect_jump): Replace call to non-existant function with call to
3279         internal_error.
3280         (tablejump): Likewise.
3281         * config/iq2000/iq2000.c: Include df.h .
3282         (iq2000_function_arg_advance): Use CONST_CAST2.
3283         (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
3284         (iq2000_can_eliminate): Call leaf_function_p instead of testing for
3285         a non-zero function address.
3286         (iq2000_initial_elimination_offset): Add gcc_unreachable for
3287         unexpected value of FROM.
3288         (symbolic_expression_p): Delete.
3289         (iq2000_function_value): Constify func.
3290         (expand_one_builtin): Use expand_normal.
3291         (iq2000_print_operand): Don't print VALUE if calculating it failed.
3292
3293         PR rtl-optimization/44764
3294         * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
3295
3296         PR target/46407
3297         * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
3298         * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
3299         with ATTRIBUTE_UNUSED.
3300         (valid_psw_flag): Constify parameter which.
3301         (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
3302
3303         PR target/46415
3304         * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
3305         (mmix_dbx_register_number): Likewise.
3306         * config/mmix/mmix.c: Include df.h .
3307         (mmix_local_alignment): Change argument basic_align and return type
3308         to unsigned.
3309         (mmix_dbx_register_number): Change argument and return type to
3310         unsigned.
3311         (mmix_expand_prologue): Use add_reg_note.
3312
3313         PR target/46417
3314         * config/spu/spu.c (spu_expand_insv): Remove unused variables.
3315         (spu_split_store): Use aform.
3316         (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
3317
3318 2010-11-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3319
3320         PR/46268
3321         * doc/gty.texi (GTY Options): Clarify that variable_size produces
3322         allocators taking size in bytes, compare with length option.  Add
3323         size calculation example.
3324         (Invoking the garbage collector): Ensure that sentences are
3325         followed by two spaces.  Describe that pointer fields must be
3326         initialized at ggc_collect call.
3327         (Troubleshooting): New section.
3328
3329 2010-11-09  Jan Hubicka  <jh@suse.cz>
3330
3331         PR tree-optimization/40436
3332         * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
3333         * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
3334         normal instructions; be sure bultin is not implemented in this file;
3335         compute non-zero return cost.
3336         (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
3337         * tree-inline.h (eni_weights_d): Add return cost.
3338
3339 2010-11-09  Joseph Myers  <joseph@codesourcery.com>
3340
3341         * c-parser.c (c_parser_struct_declaration): Handle declaration
3342         specifiers followed by CPP_CLOSE_BRACE.
3343
3344 2010-11-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
3345
3346         * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
3347         split occurs before reload, and we allocate memory at the time of
3348         the split, not during expansion.  Add attributes.
3349         (floatsi<mode>2_lfiwax_mem): Ditto.
3350         (floatunssi<mode>2_lfiwzx): Ditto.
3351         (floatunssi<mode>2_lfiwzx_mem): Ditto.
3352         (floatsidf2): Ditto.
3353         (floatunssisf2): Ditto.
3354         (floatunssidf2): Ditto.
3355         (fix_trunc<mode>si2): Ditto.
3356         (fix_trunc<mode>si2_stfiwx): Ditto.
3357         (fix_trunc<mode>si2_internal): Ditto.
3358         (fix_trunc<mode>si2): Ditto.
3359         (fix_trunc<mode>di2): Ditto.
3360         (fixuns_trunc<mode>si2_stfiwx): Ditto.
3361         (floatsisf2): Ditto.
3362         (floatdidf2_mem): Ditto.
3363         (floatunsdidf2_mem): Ditto.
3364         (floatunsdidf2): Ditto.
3365         (floatdisf2_internal1): Ditto.
3366         (floatdisf2_mem): Ditto.
3367         (floatunsdisf2_mem): Ditto.
3368         (floatsi<mode>2_lfiwax_mem2): Delete.
3369         (floatunssi<mode>2_lfiwzx_mem2): Ditto.
3370         (fix_trunc<mode>si2_mem): Ditto.
3371         (fixuns_trunc<mode>si2_mem): Ditto.
3372         (round32<mode>2_fprs): New combiner insn to combine (double)(int)
3373         type operations to reduce copying the values to multiple memory slots.
3374         (roundu32<mode>2_fprs): Ditto.
3375
3376         * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
3377         PRE_INC, PRE_DEC, PRE_MODIFY.
3378         (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
3379
3380         * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
3381         Delete prototype.
3382
3383 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
3384
3385         PR target/43808
3386         * cfgexpand.c (partition_stack_vars): Call
3387         update_alias_info_with_stack_vars unconditionally.
3388         (update_alias_info_with_stack_vars): Allow unused
3389         unreferenced vars when not optimizing.
3390
3391 2010-11-09  Sebastian Pop  <sebastian.pop@amd.com>
3392
3393         PR tree-optimization/46036
3394         * tree-if-conv.c (predicate_bbs): Call unshare_expr before
3395         add_to_dst_predicate_list.
3396
3397 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
3398
3399         PR debug/46171
3400         * df-problems.c (struct dead_debug_use, struct dead_debug): Move
3401         earlier.
3402         (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
3403         argument, call dead_debug_reset when adding REG_UNUSED note.
3404         (dead_debug_reset): New function.
3405         (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
3406         df_create_unused_note callers.
3407
3408 2010-11-09  Anatoly Sokolov  <aesok@post.ru>
3409
3410         * config/fr30/fr30.c: Include "df.h".
3411
3412 2010-11-09  Richard Guenther  <rguenther@suse.de>
3413
3414         PR tree-optimization/46355
3415         * tree-loop-distribution.c (tree_loop_distribution): Do not
3416         distribute loops without a single exit.
3417
3418 2010-11-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3419
3420         PR rtl-optimization/46237
3421         * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
3422         saved hard regs if they might get partially clobbered.
3423
3424 2010-11-09  Paul Koning  <ni1d@arrl.net>
3425
3426         * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
3427
3428 2010-11-09  Richard Guenther  <rguenther@suse.de>
3429
3430         PR tree-optimization/46177
3431         * tree-loop-distribution.c (prop_phis): Remove.
3432         (generate_builtin): Re-use the old loop exit edge to avoid
3433         needing to update PHI nodes.
3434
3435 2010-11-09  Joern Rennecke  <amylaar@spamcop.net>
3436
3437         * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
3438         type of args_size to unsigned HOST_WIDE_INT.
3439
3440         PR target/44755
3441         * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
3442         * config/t-pnt16-warn: New file.
3443         * config/picochip/picochip.c (picochip_emit_stack_allocate):
3444         Use add_reg_note.
3445         (picochip_emit_save_register): Likewise.
3446         (picochip_emit_restore_register): Remove variable insn.
3447         (picochip_legitimize_address): Don't use C++ style comments.
3448         (picochip_legitimize_reload_address): Likewise.
3449         (reorder_var_tracking_notes): Remove variable vliw_start.
3450         (picochip_reorg): Cast first arguemnt to emit_note_after to
3451         enum insn_note.
3452         (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
3453         (picochip_expand_builtin_3op): Likewise.
3454         (picochip_expand_builtin_2opvoid): Likewise.
3455         (picochip_expand_array_get, picochip_expand_array_put): Likewise.
3456         (picochip_expand_array_testport): Likewise.
3457         (picochip_init_builtins): Remove unused variables.
3458         * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
3459         to unsigned long, and output it as such.
3460         (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
3461         * config/picochip/picochip.md (movhicc): Remove nonsense statement.
3462         (schedType): Cast result of picochip_schedule_type to
3463         enum attr_schedType.
3464
3465         PR target/44759
3466         * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
3467         conditional to type of S.
3468         (mn10300_function_arg): Remove unused variable align.
3469         (mn10300_arg_partial_bytes): Likewise.
3470         * config/mn10300/mn10300.md (attribute cpu): Cast value to
3471         enum attr_cpu.
3472
3473 2010-11-09  H.J. Lu  <hongjiu.lu@intel.com>
3474
3475         PR bootstrap/46392
3476         * gengtype-parse.c (type): Call get_input_file_name to get file name.
3477
3478 2010-11-09  Eric Botcazou  <ebotcazou@adacore.com>
3479
3480         * tree.h (contains_placeholder_p): Fix comment.
3481         (type_contains_placeholder_p): Adjust comment.
3482         * tree.c (contains_placeholder_p): Fix comment.
3483         (type_contains_placeholder_1): Do not recurse on pointed-to types and
3484         adjust comment.
3485         (type_contains_placeholder_p): Add comment.
3486
3487 2010-11-09  Paul Koning  <ni1d@arrl.net>
3488
3489         * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
3490         output of byte values.
3491
3492 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
3493
3494         PR middle-end/46360
3495         * tree-ssa-propagate.c (update_call_from_tree): Fix for use
3496         not in SSA mode.
3497
3498 2010-11-09  Richard Guenther  <rguenther@suse.de>
3499
3500         PR middle-end/46221
3501         * varasm.c (compute_visible_aliases): New function.
3502         (remove_unreachable_alias_pairs): Aliases make a target available
3503         even though we reclaimed the cgraph node.
3504         (finish_aliases_1): Likewise.
3505         * Makefile.in (varasm.o): Add pointer-set.h dependency.
3506
3507 2010-11-09  Nick Clifton  <nickc@redhat.com>
3508
3509         * config/mn10300/mn10300-modes.def: New file.
3510
3511 2010-11-09  Basile Starynkevitch  <basile@starynkevitch.net>
3512             Jeremie Salvucci  <jeremie.salvucci@free.fr>
3513
3514         * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
3515         (plugin_files, get_file_basename, get_file_realbasename)
3516         (get_file_langdir, error_at_line, gt_files, this_file)
3517         (system_h_file, read_input_list, create_field_all)
3518         (get_file_srcdir_relative_path, get_file_basename)
3519         (get_file_langdir, get_file_gtfilename)
3520         (get_output_file_with_visibility, get_output_file_name)
3521         (struct flist, put_mangled_filename, walk_type)
3522         (put_mangled_filename, finish_root_table, write_roots): Use
3523         input_file-s.
3524         (lang_dir_names, num_lang_dirs): Remove static.
3525         (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
3526         (main): Use input_file-s.
3527
3528         * gengtype.h: (struct input_file_st, input_file): New type.
3529         (struct fileloc): Use it.
3530         (gt_files, num_gt_files, this_file, system_h_file)
3531         (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
3532         (get_input_file_name): New function.
3533         (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
3534         use input_file.
3535         (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
3536         (get_output_file_name): Ditto.
3537
3538         * gengtype-lex.l (yybegin): Use input_file.
3539
3540         * gengtype-parse.c (parse_error): Use input_file.
3541
3542 2010-11-08  Xinliang David Li  <davidxl@google.com>
3543
3544         PR tree-optimization/46316
3545         * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
3546         * double-int.h (double_int_mul_with_sign): New function.
3547         * double-int.c (double_int_mul_with_sign): New function.
3548
3549 2010-11-08  Paul Koning  <ni1d@arrl.net>
3550
3551         * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
3552
3553 2010-11-08  Paul Koning  <ni1d@arrl.net>
3554
3555         * config/pdp11/pdp11.md (negsi2): Fix wrong code.
3556
3557 2010-11-08  Paul Koning  <ni1d@arrl.net>
3558
3559         * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
3560         to 8 bits.
3561
3562 2010-11-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
3563
3564         PR target/46378
3565         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3566         turn on ISA 2.04 rounding instructions for power5.
3567
3568         * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
3569         not ISA 2.02.
3570
3571         PR target/45585
3572         * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
3573         in FPR registers.
3574         (movdi_low_st): Ditto.
3575
3576 2010-11-08  Joern Rennecke  <amylaar@spamcop.net>
3577             Richard Henderson  <rth@redhat.com>
3578
3579         PR target/44758
3580         * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
3581         (attribute acc_group): Cast value to enum attr_acc_group.
3582         (*movdi_nodouble+6): Use gen_int_mode.
3583         * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
3584         if RTX_CODE is defined or not.
3585         * config/frv/frv.c (enum frv_io_type): New enum, broken out of
3586         struct frv_io.
3587         (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
3588         (frv_frame_access, frv_expand_prologue): Remove unused variables.
3589         (frv_expand_block_clear): Likewise.
3590         (frv_trampoline_init): Use LCT_NORMAL.
3591         (struct frv_packet_group): New struct, broken out of type of
3592         frv_packet.
3593         (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
3594         use cast in loop counter increment.
3595         (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
3596         assigning to io->type.
3597         (bdesc_set): Use rtx_code UNKNOWN in initializer.
3598         (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
3599         (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
3600         (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
3601         (frv_read_argument): Use expand_normal.
3602
3603         PR target/44757
3604         * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
3605         lm32_legitimate_constant_p.
3606         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
3607         * config/lm32/lm32.c (gen_int_relational): Make new block for
3608         LE / LT / LEU / LTU case.  Declare variables at start of block.
3609         (lm32_block_move_inline): Use XALLOCAVEC.
3610
3611 2010-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3612
3613         * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
3614
3615 2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>
3616
3617         * gengtype (get_output_file_for_structure): Ensure type is union
3618         or struct.
3619         (write_splay_tree_allocator_def): Use
3620         get_output_file_with_visibility.
3621
3622 2010-11-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3623
3624         * config/s390/s390.c (s390_handle_arch_option): Set type and flags
3625         to defined values in case of an error.
3626         (s390_option_override): Skip further processing if the -march
3627         parameter wasn't recognized.
3628
3629 2010-11-08  Joern Rennecke  <amylaar@spamcop.net>
3630
3631         * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
3632         assert that REG is a hard register number before using it as an index.
3633
3634         PR bootstrap/46358
3635         * config/i386/i386.c (ix86_expand_split_stack_prologue):
3636         Avoid warnings when HOST_WIDE_INT is 32 bit.
3637
3638 2010-11-08  Eric Botcazou  <ebotcazou@adacore.com>
3639
3640         PR target/46208
3641         * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
3642         (sparc_promote_prototypes): Likewise.
3643         (sparc_promote_function_mode): Promote in 32-bit mode as well.
3644         (sparc_return_in_memory): Remove superfluous parentheses.
3645         (sparc_struct_value_rtx): Fix long lines.
3646         (sparc_function_value_1): Promote in 32-bit mode as well.
3647
3648 2010-11-08  Andrey Belevantsev  <abel@ispras.ru>
3649
3650         PR rtl-optimization/45352
3651         * sel-sched.c (find_best_expr): Do not set pneed_stall when
3652         the variable_issue hook is not implemented.
3653         (fill_insns): Remove dead variable stall_iterations.
3654         (init_seqno_1): Force EBB start for resetting sched cycles on any
3655         successor blocks of the rescheduled region.
3656         (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
3657         (reset_sched_cycles_in_current_ebb): Add debug printing.
3658         New variable issued_insns.  Advance state when we have issued
3659         issue_rate insns.
3660
3661 2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>
3662
3663         * gengtype (main): Get here's position using POS_HERE macro for
3664         do*typedef calls.
3665
3666 2010-11-07  Ian Lance Taylor  <iant@google.com>
3667
3668         PR target/46089
3669         * config/i386/i386.c (split_stack_fn_large): New static variable.
3670         (ix86_expand_split_stack_prologue): Handle large model.
3671
3672 2010-11-07  Andreas Schwab  <schwab@linux-m68k.org>
3673
3674         * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
3675         all possible addressing modes.
3676
3677 2010-11-07  Uros Bizjak  <ubizjak@gmail.com>
3678
3679         PR tree-optimization/46346
3680         * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
3681
3682 2010-11-07  Richard Sandiford  <rdsandiford@googlemail.com>
3683
3684         * config/mips/mips.c: Revert previous patch.
3685         * config/mips/mips.md: Likewise.
3686
3687 2010-11-07  Richard Sandiford  <rdsandiford@googlemail.com>
3688
3689         * config/mips/mips.c (mips_rtx_costs): Handle FMA.
3690         * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
3691         (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
3692         (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
3693         (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
3694         to use FMA.
3695         (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
3696         (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
3697         (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
3698         (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
3699
3700 2010-11-06  Simon Martin  <simartin@users.sourceforge.net>
3701
3702         PR c/43384
3703         * c-decl.c (lookup_label): Labels can only be referenced in a
3704         function's scope.
3705         (store_parm_decls_oldstyle): Skip erroneous parameters.
3706
3707 2010-11-06  Anatoly Sokolov  <aesok@post.ru>
3708
3709         * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
3710         LIBCALL_VALUE): Remove macros.
3711         * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3712         TARGET_FUNCTION_VALUE_REGNO_P): Define.
3713         (fr30_function_value_regno_p, fr30_function_value,
3714         fr30_libcall_value): New functions.
3715
3716 2010-11-06  Joern Rennecke  <amylaar@spamcop.net>
3717
3718         PR middle-end/46314
3719         * target.def (generate_internal_label): New asm_out hook.
3720         * output.h (default_generate_internal_label): Declare.
3721         * varasm.c (default_generate_internal_label): Define.
3722
3723 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
3724
3725         PR target/44981
3726         * doc/extend.tex (format): Document NSString extension.
3727         (format_arg): Likewise.
3728         (Darwin Format Checks): New section.
3729         * doc/tm.texi: Document string object hooks (generated).
3730         * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
3731         (TARGET_STRING_OBJECT_REF_TYPE_P): New.
3732         (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
3733         * target.def (objc_construct_string_object): Rename, amend
3734         documentation.
3735         (string_object_ref_type_p): New hook.
3736         (check_string_object_format_arg): New hook.
3737         * c-parser.c (c_parser_attributes): Allow objective-c class names as
3738         attribute identifiers.
3739         * config/darwin-c.c (darwin_cfstring_ref_p): New.
3740         (darwin_check_cfstring_format_arg): New.
3741         (darwin_additional_format_types): New.
3742         * config/darwin-protos.h (darwin_cfstring_ref_p) New.
3743         (darwin_check_cfstring_format_arg): New.
3744         * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
3745         (TARGET_STRING_OBJECT_REF_TYPE_P): New.
3746         (TARGET_N_FORMAT_TYPES): New.
3747         (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
3748
3749 2010-11-06  Eric Botcazou  <ebotcazou@adacore.com>
3750             Pascal Obry  <obry@adacore.com>
3751
3752         * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine.  Use 33
3753         in 64-bit mode and 17 otherwise.
3754
3755 2010-11-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3756
3757         PR debug/45939
3758         * var-tracking.c (emit_note_insn_var_location): Make sure that
3759         call related var location notes come before the normal ones.
3760
3761 2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>
3762
3763         PR target/46326
3764         * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
3765         in the last change.
3766
3767 2010-11-05  Ian Lance Taylor  <iant@google.com>
3768
3769         * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
3770
3771 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
3772
3773         PR c/44772
3774         * c-decl.c (warn_cxx_compat_finish_struct): Don't call
3775         pointer_set_contains if DECL_NAME is NULL.
3776
3777 2010-11-05  Ian Lance Taylor  <iant@google.com>
3778
3779         PR target/46084
3780         * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
3781         request enough additional space for alignment, and force alignment.
3782
3783 2010-11-05  Kai Tietz  <kai.tietz@onevision.com>
3784
3785         * config/i386/i386.c (legitimate_pic_address_disp_p):
3786         Handle UNSPEC_PCREL.
3787         (ix86_legitimate_address_p): Likewise.
3788         (legitimize_pic_address): Likewise.
3789         (output_pic_addr_const): Likewise.
3790         (ix86_delegitimize_address): Likewise.
3791         (ix86_find_base_term): Likewise.
3792         (memory_address_length): Likewise.
3793         (x86_output_mi_thunk): Handle special case x64
3794         for non local binding.
3795         * config/i386/i386.md (UNSPEC_PCREL): New.
3796         * config/i386/winnt.c (i386_pe_binds_local_p):
3797         Allow weak symbol for x64 windows with non-local binding.
3798
3799 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
3800
3801         PR target/45670
3802         * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
3803         instead of EXPAND_NORMAL for base expansion.
3804
3805 2010-11-05  Uros Bizjak  <ubizjak@gmail.com>
3806
3807         * config.gcc: Support --with-fpmath=avx for x86.
3808         * config/i386/avxmath.h: New.
3809         * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
3810
3811 2010-11-05  Ian Lance Taylor  <iant@google.com>
3812
3813         * tree.h (struct tree_type): Don't use descbits in GTY annotation.
3814         * gengtype.c (walk_type): Don't recognize descbits option.
3815
3816 2010-11-05  Joseph Myers  <joseph@codesourcery.com>
3817
3818         * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
3819         WORD_SWITCH_TAKES_ARG): Remove.
3820         * doc/options.texi (Args): Document.
3821         * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
3822         * doc/tm.texi: Regenerate.
3823         * opt-functions.awk (switch_flags): Handle Args.
3824         * opts-common.c: Update comment on tm.h include.
3825         (decode_cmdline_option): Handle options with multiple arguments.
3826         Don't check WORD_SWITCH_TAKES_ARG for unknown options.
3827         * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
3828         (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
3829         CL_COMMON): Update values.
3830         * system.h (WORD_SWITCH_TAKES_ARG): Poison.
3831         * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
3832         * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
3833         sectobjectsymbols, sectorder, segcreate, segprot): New.
3834
3835 2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>
3836             Uros Bizjak  <ubizjak@gmail.com>
3837
3838         * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
3839         256bit AVX register is used.
3840         (ix86_expand_vector_move_misalign): Likewise.
3841         (ix86_expand_vector_move): Replace use_avx256_p with
3842         VALID_AVX256_REG_MODE.
3843
3844 2010-11-05  Joern Rennecke  <amylaar@spamcop.net>
3845
3846          PR target/44750
3847         * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
3848         change.  Set $@-warn.o to -Wno-error.
3849
3850         PR bootstrap/44756
3851         * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
3852         comparing it to a signed value.
3853
3854         PR middle-end/44766
3855         * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
3856         PR bootstrap/44770
3857         * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
3858         to i.
3859
3860         PR target/44754
3861         * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
3862         (m32c_function_arg).  Add comma between arguments two and three.
3863         (m32c_promote_prototypes): Remove declaration.
3864         (current_function_special_page_vector): Likewise.
3865         (m32c_regno_reg_class): Change return type to enum reg_class.
3866         (m32c_pushm_popm): Use add_reg_note.
3867         (m32c_push_rounding): Change return type to unsigned int.
3868         (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
3869         enum reload_type.
3870         (m32c_insert_attributes): Constify variable name.
3871         (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
3872         (m32c_prepare_shift): Remove variable lref.
3873         (m32c_expand_movcc): Remove variable cmp.
3874         (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
3875         (m32c_compare_redundant): Remove variable op2.
3876         * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
3877         (m32c_pragma_memregs): Assign the number to target_memregs.
3878         (m32c_pragma_address): Remove variable var_str.
3879         * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
3880         enum reg_class.
3881         (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
3882         * config/m32c/bitops.md (andsi3): Add default case to switch.
3883         (iorsi3, xorsi3): Likewise.
3884         * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
3885         * config/m32c/jump.md (call, call_value): Likewise.
3886         * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
3887         (m32c_regno_reg_class): Likewise.
3888         (current_function_special_page_vector): Declare.
3889
3890 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
3891
3892         * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
3893
3894         PR tree-optimization/46099
3895         * tree-parloops.c (take_address_of): Add GSI argument.  Return NULL
3896         if it is NULL and uid wasn't found in the hash table.  Just fold the
3897         result if it is NULL otherwise.  Insert other potentially needed
3898         stmts right before current stmt instead of on the entry edge.
3899         (struct elv_data): Add gsi and reset fields.
3900         (eliminate_local_variables_1): Adjust caller.  If take_address_of
3901         failed for debug stmt, set dta->reset and return.
3902         (eliminate_local_variables_stmt): Change STMT argument for GSI,
3903         pass GSI through to the callback, handle resetting of debug stmts.
3904         (eliminate_local_variables): Adjust caller.  Process debug stmts
3905         in second phase.
3906
3907         PR middle-end/43690
3908         * gimplify.c (gimplify_asm_expr): If a "m" input is a
3909         {pre,post}{in,de}crement, fail.
3910
3911         PR debug/46307
3912         * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
3913         * tree-pretty-print.c (dump_generic_node): Likewise.
3914         (op_code_prio): Likewise.
3915         * cfgexpand.c (expand_debug_expr): Likewise.
3916
3917 2010-11-04  Paul Koning  <ni1d@arrl.net>
3918
3919         * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
3920         constraints.
3921
3922 2010-11-04  Chao-ying Fu  <fu@mips.com>
3923
3924         * configure.ac: Test assembler support for DSP Rev1 mult.
3925         * configure: Regenerate.
3926         * config.in: Regenerate.
3927         * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
3928         * config/mips/mips.c (CODE_FOR_mips_mult): New define.
3929         (CODE_FOR_mips_multu): New define.
3930         (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
3931         dspr2_32 to dsp_32.
3932         (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
3933         Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
3934         * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
3935         New define_expand patterns.
3936         * config/mips/constraints.md (ka): Update the constraint to test
3937         ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
3938         * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
3939         mips_multu): Delete.
3940         * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
3941         Change target constraint to "ka".
3942         Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
3943         (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
3944         Emit the accumulator destination when ISA_HAS_DSP_MULT.
3945         (<u>msubsidi4): Add comments.  Test ISA_HAS_DSP.
3946         Emit the accumulator destination when ISA_HAS_DSP_MULT.
3947         (<u>maddsidi4): Likewise.
3948         * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
3949         msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
3950
3951 2010-11-04  Paul Koning  <ni1d@arrl.net>
3952
3953         * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
3954
3955 2010-11-04  Paul Koning  <ni1d@arrl.net>
3956
3957         * doc/invoke.texi (PDP-11 Options): Delete -msplit, -m