OSDN Git Service

PR debug/42889
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-11-13  Alexandre Oliva  <aoliva@redhat.com>
2
3         PR debug/42889
4         * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
5         * df-core.c (df_set_bb_dirty_nonrl): Remove.
6         * df.h (df_set_bb_dirty_nonlr): Likewise.
7
8 2010-11-13  Uros Bizjak  <ubizjak@gmail.com>
9
10         * config/mips/mips.md (call_internal): Pass curr_insn to
11         mips_split_call.
12         (call_internal_direct): Ditto.
13         (call_value_internal): Ditto.
14         (call_value_internal_direct): Ditto.
15         (call_value_multiple_internal): Ditto.
16         * config/mips/mips.c (mips_split_call): Do not copy
17         CALL_INSN_FUNCTION_USAGE here.
18
19 2010-11-13  Mingming Sun  <mingm.sun@gmail.com>
20
21         * doc/invoke.texi (MIPS Options): Add loongson3a processor.
22         * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
23         (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
24         * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
25         (TUNE_LOONGSON_3A): Define.
26         (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
27         (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
28         * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
29         (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
30         (mips_rtx_cost_data): Add Loongson-3A.
31
32 2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
33
34         * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
35         switches.
36
37 2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
38
39         * dwarf2out.c (macinfo_entry): New struct.
40         (output_comp_unit): Emit the section start label here and flag that we
41         will emit an info section.
42         (dwarf2out_start_source_file): Save data in a macinfo entry rather than
43         emitting directly.
44         (dwarf2out_end_source_file): Likewise.
45         (dwarf2out_define): Likewise.
46         (dwarf2out_undef): Likewise.
47         (output_macinfo): New.
48         (dwarf2out_init): Do not emit debug section switches here, allocate a
49         vec for macinfo, when required.
50         (dwarf2out_finish): First switch to debug_abbrev_section here.
51         debug_line_section,  debug_macinfo_section, Likewise.  
52         Check that the pubtypes table has at least one unpruned entry before
53         trying to emit it.
54
55 2010-10-30  Paolo Bonzini  <bonzini@gnu.org>
56
57         PR c/20385
58         * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
59         (c_parser_next_tokens_start_declaration): ... this.  Handle 2nd
60         token lookahead.
61         (c_parser_compound_statement_nostart, c_parser_label,
62         c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
63         (c_parser_declaration_or_fndef): Detect the case now matched by
64         c_parser_next_tokens_start_declaration, give error and correct it.
65
66 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
67
68         * c-tree.h (enum c_typespec_kind): Add ctsk_none.
69         (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
70         with typespec_kind.
71         * c-decl.c (build_null_declspecs): Initialize typespec_kind.
72         (shadow_tag_warned, check_compound_literal_type): Adjust
73         uses of tag_defined_p.
74         (declspecs_add_type): Set typespec_kind.
75         * c-parser.c (c_parser_declaration_or_fndef,
76         c_parser_declspecs, c_parser_struct_declaration,
77         c_parser_parameter_declaration, c_parser_type_name,
78         c_parser_objc_diagnose_bad_element_prefix): Adjust uses
79         of type_seen_p.
80         * c-typeck.c (c_cast_expr): Use typespec_kind instead of
81         tag_defined_p, pass ctsk_firstref through.
82
83 2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
84
85         * c-format.c (enum format_specifier_kind, kind_descriptions): New.
86         (struct format_wanted_type): Replace field "name" with "kind", add
87         "format_start" and "format_length".
88         (check_format_info_main): Fill in new fields.  Fill in
89         FORMAT_WANTED_TYPES even for missing arguments.  Move checks
90         after the final NUL outside the while loop.  Do not include
91         width and precision modifiers in the format_start/format_length
92         of the main format.
93         (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
94         arguments.  Compute WANTED_TYPE first so that format_type_warning
95         can be called for missing arguments.  Adjust calls to
96         format_type_warning.
97         (format_type_warning): Fetch as much information as possible
98         from format_wanted_type.  Adjust printing now that every
99         warning has a "descr", as well as for missing argument warnings
100         and to include % sign for format specifiers.
101
102 2010-11-12  Alexander Monakov  <amonakov@ispras.ru>
103
104         PR rtl-optimization/46204
105         * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
106         Update all callers.  Do not recompute topological order.  Adjust
107         fallthrough edges following a degenerate conditional jump.
108
109 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
110
111         * opts-common.c (control_warning_option): New.
112         * opts.c (set_default_handlers): New.
113         (decode_options): Use set_default_handlers and
114         control_warning_option.
115         (common_handle_option): Update call to enable_warning_as_error.
116         (enable_warning_as_error): Take gcc_options parameters.  Use
117         control_warning_option.
118         * opts.h (set_default_handlers, control_warning_option): Declare.
119
120 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
121
122         * Makefile.in (OPTS_H): Define.
123         (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
124         c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
125         cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
126         opts-common.o, toplev.o, passes.o, matrix-reorg.o,
127         ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
128         * gcc.c (driver_handle_option): Take location_t parameter.
129         (process_command, do_self_spec): Update calls to
130         read_cmdline_option.
131         * langhooks-def.h (lhd_handle_option): Take location_t parameter.
132         * langhooks.c (lhd_handle_option): Take location_t parameter.
133         * langhooks.h (handle_option): Take location_t parameter.
134         * lto-opts.c (lto_reissue_options): Update call to set_option.
135         * opts-common.c (handle_option): Make static.  Take location_t
136         parameter and pass it to other functions.
137         (handle_generated_option): Take location_t parameter and pass it
138         to other functions.
139         (read_cmdline_option): Take location_t parameter and pass it to
140         other functions.  Use warning_at and error_at.
141         (set_option): Take location_t parameter and pass it to other
142         functions.
143         * opts.c (common_handle_option): Take location_t parameter and
144         pass it to other functions.
145         (enable_warning_as_error): Make static.  Take location_t parameter
146         and pass it to other functions.
147         (lang_handle_option): Take location_t parameter and pass it to
148         other functions.
149         (target_handle_option): Take location_t parameter.
150         (read_cmdline_options, maybe_default_option,
151         maybe_default_options, default_options_optimization,
152         decode_options): Take location_t parameter and pass it to other
153         functions.
154         * opts.h: Include input.h.
155         (struct cl_option_handler_func, decode_options, set_option,
156         handle_generated_option, read_cmdline_option): Take location_t
157         parameters.
158         (handle_option, enable_warning_as_error): Remove.
159         * toplev.c (toplev_main): Update call to decode_options.
160
161 2010-11-12  Tobias Grosser  <grosser@fim.uni-passau.de>
162
163         * graphite-cloog-util.c (oppose_constraint,
164         cloog_matrix_to_ppl_constraint,
165         new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
166         CLooG isl uses unsigned integers.  This triggered a warning.
167
168 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
169
170         PR target/46438
171         * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
172         (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
173         (xtensa_function_arg_1): De-constify cum.
174         (xtensa_expand_prologue): Use add_reg_note.
175
176         PR target/46435
177         * config/cris/cris.c (saved_regs_mentioned): Delete.
178         (cris_reload_address_legitimized): Cast itype to enum reload_type.
179         Remove unused variable op0p.
180         (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
181         (cris_emit_movem_store): Use add_reg_note.
182
183         PR bootstrap/46456
184         * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
185
186 2010-11-12  Eric Botcazou  <ebotcazou@adacore.com>
187
188         * function.c (expand_function_end): Set the locator of the prologue on
189         the stack checking insns.
190
191 2010-11-12  Richard Henderson  <rth@redhat.com>
192
193         * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
194         * config/xtensa/xtensa.opt (mfused-madd): Remove.
195         * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
196         MASK_FUSED_MADD.
197         * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
198         (fnmasf4): Rename from mulsubsf3; use fma.
199
200 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
201             Richard Henderson  <rth@redhat.com>
202
203         PR target/46428
204         * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
205         * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
206         comparison.
207
208 2010-11-12  Pat Haugen  <pthaugen@us.ibm.com>
209
210         * opts-common.c (decode_cmdline_option): Initialize separate_args.
211
212 2010-11-12  Jan Hubicka  <jh@suse.cz>
213
214         * doc/invoke.texi (early-inlining-insns): Update default.
215         * params.def (early-inlining-insns): Default to 10.
216
217 2010-11-12  Olivier Hainque  <hainque@adacore.com>
218
219         * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
220
221 2010-11-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
222
223         * config/mips/iris6.h [!IRIX_USING_GNU_LD]
224         (SUPPORTS_INIT_PRIORITY): Define.
225
226 2010-11-12  Joern Rennecke  <amylaar@spamcop.net>
227
228         PR target/46430
229         * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
230         * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
231         (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
232         (avr_device_to_devicelib): Likewise.
233         * config/avr/avr.md (zero_extendqihi2): Put variable declarations
234         into block.
235         (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
236         (zero_extendhidi2, zero_extendsidi2): Likewise.
237         * config/avr/avr.c (avr_num_arg_regs): Constify type.
238         (avr_return_addr_rtx): De-constify tem.
239         (avr_rotate_bytes): Move declarations to start of block.
240         Don't use variable length array.
241         Put nested if/else into block.
242
243         PR rtl-optimization/46433
244         * var-tracking.c: Include tm_p.h .
245
246         PR bootstrap/44756
247         PR build/44767
248         * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
249         should be unsigned.
250         (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
251         * doc/tm.texi: Regenerate.
252
253         PR target/46412
254         * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
255         * config/bfin/bfin.c: Include sel-sched.h .
256         (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
257         (expand_interrupt_handler_prologue): Remove unused variable insn.
258         (bfin_load_pic_reg): Likewise.
259         (bfin_rtx_costs): Make code / outer_code variables of type
260         enum rtx_code, copied from re-named parameters.
261         (bfin_local_alignment): Change align argument and return type
262         to unsigned.
263         (bfin_adjust_cost): Remove unused variable insn_type.
264         Declare variables at start of block.
265         (struct loop_info): Rename to...
266         (struct loop_info_d).
267         (workaround_rts_anomaly): Change type of icode to int.
268         (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
269         with int-typed variable.
270         (note_np_check_stores): Likewise.
271         (trapping_loads_p): Remove unused variable pat.
272         (bfin_expand_binop_builtin): Use expand_normal.
273         (bfin_expand_unop_builtin): Likewise.
274         (bfin_expand_builtin): Likewise.
275         Set tmode before use.
276
277         PR middle-end/44769
278         * final.c (split_double): Don't use BITS_PER_WORD directly in
279         shift count.
280
281         PR target/46431
282         * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
283         assignment.
284
285         PR target/46450
286         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
287         Use add_reg_note.
288         (xstormy16_function_arg): Dereference cum.
289         (xstormy16_expand_builtin): Use expand_normal.
290         Change type of omode to enum machine_mode.
291         (combine_bnp): Rename and to and_insn.
292
293         PR target/46437
294         * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
295         localreg.
296
297 2010-11-12  Eric Botcazou  <ebotcazou@adacore.com>
298
299         PR debug/46375
300         * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
301
302 2010-11-11  Rodrigo Rivas Costa  <rodrigorivascosta@gmail.com>
303
304         PR lto/46376
305         * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
306
307 2010-11-11  Nathan Froyd  <froydnj@codesourcery.com>
308
309         PR c/44782
310         * common.opt (fmax-errors=): New option.
311         * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
312         * diagnostic.h (struct diagnostic_context): Add max_errors field.
313         * diagnostic.c (diagnostic_initialize): Initialize it.
314         (diagnostic_action_after_output): Exit if more than max_errors
315         have been output.
316         * doc/invoke.texi (Warning Options): Add -fmax-errors.
317         (-fmax-errors): Document.
318
319 2010-11-11  Richard Henderson  <rth@redhat.com>
320
321         * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
322
323 2010-11-11  Richard Henderson  <rth@redhat.com>
324
325         * config/fused-madd.opt: New file.
326         * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
327         * config/i386/i386.c (ix86_extra_costs): Handle FMA.
328         (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
329         * config/i386/i386.opt (mfused-madd): Remove.
330         * config/i386/sse.md (split_fma): Remove.
331         (split_fms, split_fnma, split_fnms): Remove.
332
333 2010-11-12  Jakub Jelinek  <jakub@redhat.com>
334
335         PR target/46088
336         * config/i386/i386.md (*ashl<mode>3_cconly,
337         *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
338         change nonimmediate_operand predicate to register_operand.
339
340 2010-11-11  Paolo Bonzini  <bonzini@gnu.org>
341
342         * Makefile.in (gengtype-lex.c): Include bconfig.h first.
343
344 2010-11-11  Jan Hubicka  <jh@suse.cz>
345
346         * opts.c (finish_options): Do not error on -flto-partition alone.
347
348         * doc/invoke.texi (-fwhopr): Merge into -flto section.
349         (-flto-partition): Document none.
350         * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
351         * lto-wrapper.c: Update comment.
352         (run_gcc): Update LTO option parsing.
353         * opts.c (finish_options): add support -flto-partition=none
354         (common_handle_option): Remove fwhopr.
355         * common.opt: Turn fwhopr into flto.
356         * collect2.c (main): Update option handling.
357         * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
358         * ipa-split.c (execute_split_functions): Remove flag_whopr.
359         * ipa.c (function_and_variable_visibility): Remove flag_whopr.
360         * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
361         * varpool.c (decide_is_variable_needed): Remove flag_whopr.
362
363 2010-11-11  Jan Hubicka  <jh@suse.cz>
364
365         PR tree-optimize/40436
366         * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
367         (eliminated_by_inlining_prob): ... this one; return 50% probability for
368         SRA.
369         (estimate_function_body_sizes): Update use of eliminated_by_inlining_prob;
370         estimate static function size for 2 instructions.
371
372 2010-11-11  Joern Rennecke  <amylaar@spamcop.net>
373
374         PR target/44749
375         * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
376         declare.  Change type of argument four to type int.
377         (mep_secondary_input_reload_class): Returns enum reg_class.
378         (mep_secondary_output_reload_class): Likewise.
379         (mep_function_value): Change types of arguments to cont_tree.
380         * config/mep/mep.c (mep_legitimize_reload_address): Change type of
381         argument four to type int.
382         (mep_secondary_input_reload_class): Returns enum reg_class.
383         (mep_secondary_output_reload_class): Likewise.
384         (mep_function_value): Change types of arguments to cont_tree.
385         * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
386         mep_regno_reg_class to enum reg_class.
387
388 2010-11-11  Richard Henderson  <rth@redhat.com>
389
390         * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
391         that the target has the exact fma operation that we matched.
392
393 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
394
395         * reginfo.c (fix_register): Avoid inserting English word in
396         diagnostic sentence.  Use %qs for quoting and %'.
397
398 2010-11-11  H.J. Lu  <hongjiu.lu@intel.com>
399
400         * config/i386/driver-i386.c (host_detect_local_cpu): Support
401         Intel processor family 6, model 0x2c.
402
403 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
404
405         * opts.c (warning_as_error_callback,
406         register_warning_as_error_callback): Remove.
407         (enable_warning_as_error): Don't use warning_as_error_callback.
408         * opts.h (register_warning_as_error_callback): Remove.
409
410 2010-11-11  Richard Henderson  <rth@redhat.com>
411
412         * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
413         in between the MULT and the PLUS/MINUS.
414
415 2010-11-11  Jakub Jelinek  <jakub@redhat.com>
416
417         PR middle-end/46388
418         * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
419         BLKmode mode for it.
420         (expand_expr_real_1): Similarly for op0.
421
422 2010-11-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
423
424         * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
425         Document optional target selector.
426
427 2010-11-11  Dave Korn  <dave.korn.cygwin@gmail.com>
428
429         * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
430         assembling high and low parts of size if not using 32-bit HWINT; else
431         use DECL_SIZE_UNITS, not DECL_SIZE.
432
433 2010-11-11  Martin Jambor  <mjambor@suse.cz>
434
435         PR tree-optimization/46383
436         * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
437         offsets.
438         (compute_complex_ancestor_jump_func): Likewise.
439         * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
440
441 2010-11-11  Jakub Jelinek  <jakub@redhat.com>
442
443         PR debug/46150
444         * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
445         true if expr1->hash != expr2->hash.
446
447 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
448
449         * cfgloop.c (verify_loop_structure): Use %' in diagnostics.  Start
450         diagnostics with lowercase letters.
451         * cgraphunit.c (verify_cgraph_node): Start diagnostics with
452         lowercase letters.
453         * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
454         diagnostic.
455         * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
456         * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
457         lowercase letters.
458         * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
459         Remove trailing ' ' from diagnostic.
460         * config/avr/avr.c (print_operand_address): Start diagnostic with
461         a lowercase letter and remove trailing '.'.
462         * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
463         * config/bfin/bfin.c (bfin_option_override): Start diagnostics
464         with lowercase letters.  Use %' in diagnostics.  Remove trailing
465         '.' from diagnostics.
466         (bfin_handle_longcall_attribute): Use %' in diagnostic.
467         * config/cris/cris.c (cris_split_movdx,
468         cris_expand_pic_call_address): Start diagnostics with lowercase
469         letters.
470         (cris_asm_output_label_ref): Use %' in diagnostic.
471         * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
472         letter.
473         * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
474         lowercase letter.
475         * config/darwin-c.c (version_as_macro): Start diagnostic with a
476         lowercase letter.
477         * config/darwin-driver.c (darwin_default_min_version): Use %' in
478         diagnostic.
479         * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
480         diagnostic.
481         * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
482         * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
483         diagnostics.
484         * config/i386/i386.c (ix86_option_override_internal): Write
485         diagnostic as a single sentence without trailing '.'.  Use %' in
486         diagnostics.
487         (ix86_function_sseregparm, classify_argument): Start diagnostics
488         with lowercase letters.
489         (ix86_expand_prologue): Use %' in diagnostic.
490         * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
491         diagnostic.
492         * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
493         lowercase letter.
494         * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
495         diagnostic.
496         * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
497         * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
498         '`' in help text.
499         * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
500         lowercase letter.
501         * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
502         lowercase letters.
503         * config/microblaze/microblaze.c (microblaze_handle_option):
504         Remove trailing '.' from diagnostic.
505         (print_operand): Start diagnostic with a lowercase letter.
506         * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
507         lowercase letters.  Avoid '`' in diagnostics.
508         * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
509         lowercase letters.  Avoid '`' in diagnostics.
510         * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
511         lowercase letters.  Avoid '`' in diagnostics.
512         * config/picochip/picochip.c (picochip_option_override,
513         picochip_emit_save_register, picochip_function_arg,
514         picochip_output_label, picochip_output_internal_label,
515         picochip_asm_output_opcode, picochip_output_cbranch,
516         picochip_output_compare, picochip_output_branch,
517         picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
518         diagnostics. Start diagnostics with lowercase letters.  Use %' in
519         diagnostics.
520         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
521         "SPE" capitalization.  Start diagnostic with a lowercase letter.
522         (rs6000_handle_option): Start diagnostics with lowercase letters.
523         (def_builtin): Remove trailing '.' from diagnostic.
524         (rs6000_savres_routine_name): Start diagnostic with a lowercase
525         letter.
526         * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
527         diagnostic.
528         * config/rx/rx.c (rx_handle_option): Start diagnostic with a
529         lowercase letter.
530         * config/s390/s390.c (s390_option_override) Start diagnostics with
531         lowercase letters.  Use %' in diagnostic.
532         * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
533         lowercase letters.
534         * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
535         diagnostic.
536         * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
537         diagnostic.
538         * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
539         diagnostic.
540         * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
541         * config/spu/spu.c (spu_option_override): Start diagnostics with
542         lowercase letters.  Use %qs for quoting in diagnostics.
543         (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
544         Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
545         * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
546         from diagnostic.
547         * convert.c (convert_to_integer, convert_to_vector): Use %' in
548         diagnostics.
549         * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
550         letter and use "cannot" spelling.
551         * expmed.c (extract_fixed_bit_field): Start diagnostic with
552         lowercase letter and format as a single sentence without '.'.
553         * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
554         Use %' in diagnostics.
555         * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
556         Use %' in diagnostics.
557         * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
558         Use %' in diagnostics.
559         * graph.c (clean_graph_dump_file): Use %' in diagnostic.
560         * graphite-poly.c (graphite_read_scop_file): Start diagnostics
561         with lowercase letters and remove tailing '.' and '\n'.
562         * lto-cgraph.c (input_profile_summary): Start diagnostic with
563         lowercase letter and remove trailing '.'.
564         (input_cgraph): Start diagnostics with lowercase letters and
565         remove trailing '\n'.
566         * opts.c (finish_options, common_handle_option): Start diagnostics
567         with lowercase letters and remove trailing '.'.  Fix typo in
568         diagnostic.
569         * passes.c (position_pass): Start diagnostic with lowercase
570         letter. 
571         * plugin.c (add_new_plugin, parse_plugin_arg_opt,
572         register_callback, try_init_one_plugin): Start diagnostics with
573         lowercase letters.
574         * reload1.c (spill_failure): Use %' in diagnostic.
575         (gen_reload): Start diagnostic with a lowercase letter.
576         * stor-layout.c (place_field): Start diagnostic with a lowercase
577         letter.
578         * toplev.c (open_auxiliary_file): Use %' in diagnostic.
579         * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
580         verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
581         Start diagnostics with lowercase letters, remove trailing '.' and
582         use %' in diagnostics.
583         * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
584         (verify_ssa): Don't split diagnostic across two error calls.
585         Spell out "number" and use %' in diagnostic.
586         * value-prof.c (visit_hist, check_counter): Start diagnostics with
587         lowercase letters.
588
589 2010-11-10  Uros Bizjak  <ubizjak@gmail.com>
590
591         PR middle-end/46419
592         * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
593         (_mm_cvtpu16_ps): Ditto.
594
595 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
596
597         * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
598         warn_larger_than, larger_than_size, warn_frame_larger_than,
599         frame_larger_than_size, flag_gen_aux_info, flag_shlib,
600         default_visibility, flag_tls_default): New Variable declarations.
601         (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
602         falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
603         (v): Declare as Common and document here.
604         * flags.h (default_visibility, flag_generate_lto,
605         warn_larger_than, larger_than_size, warn_frame_larger_than,
606         frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
607         flag_shlib, flag_excess_precision_cmdline): Remove.
608         (set_Wstrict_aliasing): Update prototype.
609         * gcc.c (verbose_flag): Remove.
610         (driver_handle_option): Add diagnostic_context parameter.  Don't
611         handle OPT_v explicitly here.  Set verbose_flag to 1 rather than
612         incrementing it.
613         * opts-common.c (handle_option): Pass dc to handler.
614         * opts.c (warn_larger_than, larger_than_size,
615         warn_frame_larger_than, frame_larger_than_size,
616         default_visibility): Remove.
617         (common_handle_option): Add diagnostic_context parameter.
618         (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
619         gcc_options parameters.
620         (lang_handle_option, target_handle_option, read_cmdline_options,
621         decode_options): Add diagnostic_context parameters.
622         (finish_options): Access option state through opts pointer where
623         possible.
624         (common_handle_option): Access option state through opts pointer
625         where possible.  Do not set local static variable verbose.  Do not
626         explicitly handle OPT_v, OPT_Wstrict_aliasing_,
627         OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
628         OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
629         OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
630         OPT_fwhopr_.  Do not explicitly set .opt file variables for
631         OPT_aux_info or OPT_pedantic_errors.  Use dc for diagnostic context.
632         (set_Wstrict_aliasing): Add gcc_options parameter.
633         * opts.h (struct cl_option_handler_func): Add diagnostic_context
634         parameter to handler.
635         (decode_options): Add diagnostic_context parameter.
636         * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
637         asm_file_name, flag_generate_lto, flag_gen_aux_info,
638         aux_info_file_name, flag_shlib, flag_tls_default,
639         flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
640         (toplev_main): Pass global_dc to decode_options.
641         * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
642         aux_info_file_name, asm_file_name): Remove.
643         * tree.h (flag_tls_default): Remove.
644
645 2010-11-10  Eric Botcazou  <ebotcazou@adacore.com>
646
647         * config/sparc/sparc.c (sparc_delegitimize_address): New function.
648         (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
649
650 2010-11-10  Quentin Neill  <quentin.neill.gnu@gmail.com>
651
652         * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
653         (x86_64-*-*): Likewise.
654         * config/i386/cpuid.h: Define TBM bit.
655         * config/i386/driver-i386.c (host_detect_local_cpu): Define
656         and set has_tbm.
657         * config/i386/i386-c.c (ix86_target_macros_internal): Check
658         isa_flag for TBM.
659         * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
660         (OPTION_MASK_ISA_TBM_UNSET): New.
661         (ix86_handle_option): Handle -mtbm.
662         (isa_opts): Add -mtbm.
663         (enum pta_flags): Add PTA_TBM.
664         (ix86_option_override_internal): Add TBM support.
665         (ix86_valid_target_attribute_inner_p): Handle -mtbm.
666         (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
667         (IX86_BUILTIN_BEXTRI64): Likewise.
668         (bdesc_args): Add TBM intrinsics.
669         (ix86_expand_builtin): Add TBM specific case.
670         * config/i386/i386.h (TARGET_TBM): New for TBM.
671         * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
672         (tbm_bextri_<mode>): Likewise.
673         (*tbm_blcfill_<mode>): Likewise.
674         (*tbm_blci_<mode>): Likewise.
675         (*tbm_blcic_<mode>): Likewise.
676         (*tbm_blcmsk_<mode>): Likewise.
677         (*tbm_blcs_<mode>): Likewise.
678         (*tbm_blsfill_<mode>): Likewise.
679         (*tbm_blsic_<mode>): Likewise.
680         (*tbm_t1mskc_<mode>): Likewise.
681         (*tbm_tzmsk_<mode>): Likewise.
682         * config/i386/i386.opt: Add -mtbm.
683         * config/i386/tbmintrin.h (__bextri_u32): New.
684         (__blcfill_u32): Likewise.
685         (__blci_u32): Likewise.
686         (__blcic_u32): Likewise.
687         (__blcmsk_u32): Likewise.
688         (__blcs_u32): Likewise.
689         (__blsfill_u32): Likewise.
690         (__blsic_u32): Likewise.
691         (__t1mskc_u32): Likewise.
692         (__tzmsk_u32): Likewise.
693         (__bextri_u64): Likewise.
694         (__blcfill_u64): Likewise.
695         (__blci_u64): Likewise.
696         (__blcic_u64): Likewise.
697         (__blcmsk_u64): Likewise.
698         (__blcs_u64): Likewise.
699         (__blsfill_u64): Likewise.
700         (__blsic_u64): Likewise.
701         (__t1mskc_u64): Likewise.
702         (__tzmsk_u64): Likewise.
703         * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
704         * doc/invoke.texi: Document -mtbm.
705         * doc/extend.texi: Document TBM built-in functions.
706
707 2010-11-10  Quentin Neill  <quentin.neill.gnu@gmail.com>
708
709         * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
710         (x86_64-*-*): Likewise.
711         * config/i386/cpuid.h: Define BMI bit.
712         * config/i386/driver-i386.c (host_detect_local_cpu): Define
713         and set has_bmi.
714         * config/i386/i386-c.c (ix86_target_macros_internal): Check
715         isa_flag for BMI.
716         * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
717         (OPTION_MASK_ISA_BMI_UNSET): New.
718         (ix86_handle_option): Handle -mbmi.
719         (isa_opts): Add -mbmi.
720         (enum pta_flags): Add PTA_BMI.
721         (ix86_option_override_internal): Add BMI support.
722         (ix86_valid_target_attribute_inner_p): Handle -mbmi.
723         (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
724         (IX86_BUILTIN_BEXTR64): Likewise.
725         (IX86_BUILTIN_CTZS): Likewise.
726         (bdesc_args): Add BMI intrinsics.
727         (ix86_expand_args_builtin): Add BMI specific cases.
728         * config/i386/i386.h (TARGET_BMI): New for BMI.
729         (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
730         (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
731         * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
732         (UNSPEC_TZCNT): Likewise.
733         (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
734         (bmi_andn_<mode>): New for BMI.
735         (bmi_bextr_<mode>): Likewise.
736         (bmi_blsi_<mode>): Likewise.
737         (bmi_blsmsk_<mode>): Likewise.
738         (bmi_blsr_<mode>): Likewise.
739         * config/i386/i386.opt: Add -mbmi.
740         * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
741         * config/i386/bmiintrin.h (__lzcnt_u16): New.
742         (__tzcnt_u16): Likewise.
743         (__andn_u32): Likewise.
744         (__bextr_u32): Likewise.
745         (__blsi_u32): Likewise.
746         (__blsmsk_u32): Likewise.
747         (__blsr_u32): Likewise.
748         (__lzcnt_u32): Likewise.
749         (__tzcnt_u32): Likewise.
750         (__andn_u64): Likewise.
751         (__bextr_u64): Likewise.
752         (__blsi_u64): Likewise.
753         (__blsmsk_u64): Likewise.
754         (__blsr_u64): Likewise.
755         (__lzcnt_u64): Likewise.
756         (__tzcnt_u64): Likewise.
757         * doc/invoke.texi: Document -mbmi and -mno-bmi.
758         * doc/extend.texi: Document BMI built-in functions.
759
760 2010-11-10  Jan Hubicka  <jh@suse.cz>
761
762         PR tree-optimize/46228
763         * doc/invoke.texi (comdat-sharing-probability): Document.
764         * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
765         * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
766
767 2010-11-10  Jan Hubicka  <jh@suse.cz>
768
769         PR tree-optimize/46228
770         * cgraph.c (cgraph_propagate_frequency): Fix typo.
771
772 2010-11-10  H.J. Lu  <hongjiu.lu@intel.com>
773
774         PR tree-optimization/46414
775         * tree-inline.c (estimate_move_cost): Check preferred vector
776         mode for vector type.
777
778 2010-11-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
779
780         * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
781
782 2010-11-10  Sebastian Pop  <sebastian.pop@amd.com>
783
784         PR tree-optimization/45971
785         * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
786         for phi nodes analyzable by scev.
787
788 2010-11-10  Richard Guenther  <rguenther@suse.de>
789
790         PR tree-optimization/44964
791         * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
792
793 2010-11-10  Martin Jambor  <mjambor@suse.cz>
794
795         PR tree-optimization/46351
796         PR tree-optimization/46377
797         * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
798         aggregate bit-fields.
799
800 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
801
802         * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
803         * doc/tm.texi: Regenerate.
804         * opts-common.c (tm.h): Don't include.
805         (target_option_translations): Remove.
806         (decode_cmdline_options_to_array): Don't handle translating options.
807         * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
808         * config/darwin-driver.c: Don't condition includes on
809         CROSS_DIRECTORY_STRUCTURE.
810         (darwin_default_min_version): Make static.
811         (darwin_driver_init): New.  Call darwin_default_min_version if not
812         CROSS_DIRECTORY_STRUCTURE.
813         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
814         (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
815         (ASM_SPEC): Add %{static}.
816         (darwin_default_min_version): Don't declare.
817         (darwin_driver_init): Declare.
818         (GCC_DRIVER_HOST_INITIALIZATION): Define to call
819         darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
820         * config/darwin.opt (all_load, allowable_client,
821         arch_errors_fatal, bind_at_load, bundle, bundle_loader,
822         dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
823         exported_symbols_list, filelist, findirect-virtual-calls,
824         flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
825         framework, fterminated-vtables, gfull, gused, image_base, init,
826         install_name, multi_module, multiply_defined,
827         multiply_defined_unused, no_dead_strip_inits_and_terms,
828         seg_addr_table, seg_addr_table_filename, segaddr,
829         segs_read_only_addr, segs_read_write_addr, single_module,
830         umbrella, unexported_symbols_list, weak_reference_mismatches,
831         Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
832         Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
833         Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
834         Zno_dead_strip_inits_and_terms, Zsingle_module): New.
835         * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
836         (ASM_SPEC): Add %{static}.
837         (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
838         * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
839         (DRIVER_SELF_SPECS): Handle options formerly in
840         TARGET_OPTION_TRANSLATE_TABLE.
841         * config/mep/mep.opt (mfar): New.
842         * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
843         (DRIVER_SELF_SPECS): Define.  Handle options formerly in
844         TARGET_OPTION_TRANSLATE_TABLE.
845         * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
846         (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
847         * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
848         ffix-and-continue, findirect-data): New.
849         * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
850         * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
851         (mnofpu): Define mask and use Report here.
852
853 2010-11-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
854
855         * config/s390/s390.c (s390_emit_prologue): Report the stack
856         size if -fstack-usage is used.
857
858 2010-11-10  Richard Guenther  <rguenther@suse.de>
859
860         PR tree-optimization/46398
861         * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
862
863 2010-11-10  Joern Rennecke  <amylaar@spamcop.net>
864
865         PR target/44760
866         * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
867         (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
868         GP_REG_OR_PSEUDO_STRICT_P.
869         * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
870         unexpected alternative.
871         (*movsf_internal): Likewise.
872         (indirect_jump): Replace call to non-existant function with call to
873         internal_error.
874         (tablejump): Likewise.
875         * config/iq2000/iq2000.c: Include df.h .
876         (iq2000_function_arg_advance): Use CONST_CAST2.
877         (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
878         (iq2000_can_eliminate): Call leaf_function_p instead of testing for
879         a non-zero function address.
880         (iq2000_initial_elimination_offset): Add gcc_unreachable for
881         unexpected value of FROM.
882         (symbolic_expression_p): Delete.
883         (iq2000_function_value): Constify func.
884         (expand_one_builtin): Use expand_normal.
885         (iq2000_print_operand): Don't print VALUE if calculating it failed.
886
887         PR rtl-optimization/44764
888         * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
889
890         PR target/46407
891         * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
892         * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
893         with ATTRIBUTE_UNUSED.
894         (valid_psw_flag): Constify parameter which.
895         (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
896
897         PR target/46415
898         * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
899         (mmix_dbx_register_number): Likewise.
900         * config/mmix/mmix.c: Include df.h .
901         (mmix_local_alignment): Change argument basic_align and return type
902         to unsigned.
903         (mmix_dbx_register_number): Change argument and return type to
904         unsigned.
905         (mmix_expand_prologue): Use add_reg_note.
906
907         PR target/46417
908         * config/spu/spu.c (spu_expand_insv): Remove unused variables.
909         (spu_split_store): Use aform.
910         (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
911
912 2010-11-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
913
914         PR/46268
915         * doc/gty.texi (GTY Options): Clarify that variable_size produces
916         allocators taking size in bytes, compare with length option.  Add
917         size calculation example.
918         (Invoking the garbage collector): Ensure that sentences are
919         followed by two spaces.  Describe that pointer fields must be
920         initialized at ggc_collect call.
921         (Troubleshooting): New section.
922
923 2010-11-09  Jan Hubicka  <jh@suse.cz>
924
925         PR tree-optimization/40436
926         * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
927         * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
928         normal instructions; be sure bultin is not implemented in this file;
929         compute non-zero return cost.
930         (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
931         * tree-inline.h (eni_weights_d): Add return cost.
932
933 2010-11-09  Joseph Myers  <joseph@codesourcery.com>
934
935         * c-parser.c (c_parser_struct_declaration): Handle declaration
936         specifiers followed by CPP_CLOSE_BRACE.
937
938 2010-11-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
939
940         * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
941         split occurs before reload, and we allocate memory at the time of
942         the split, not during expansion.  Add attributes.
943         (floatsi<mode>2_lfiwax_mem): Ditto.
944         (floatunssi<mode>2_lfiwzx): Ditto.
945         (floatunssi<mode>2_lfiwzx_mem): Ditto.
946         (floatsidf2): Ditto.
947         (floatunssisf2): Ditto.
948         (floatunssidf2): Ditto.
949         (fix_trunc<mode>si2): Ditto.
950         (fix_trunc<mode>si2_stfiwx): Ditto.
951         (fix_trunc<mode>si2_internal): Ditto.
952         (fix_trunc<mode>si2): Ditto.
953         (fix_trunc<mode>di2): Ditto.
954         (fixuns_trunc<mode>si2_stfiwx): Ditto.
955         (floatsisf2): Ditto.
956         (floatdidf2_mem): Ditto.
957         (floatunsdidf2_mem): Ditto.
958         (floatunsdidf2): Ditto.
959         (floatdisf2_internal1): Ditto.
960         (floatdisf2_mem): Ditto.
961         (floatunsdisf2_mem): Ditto.
962         (floatsi<mode>2_lfiwax_mem2): Delete.
963         (floatunssi<mode>2_lfiwzx_mem2): Ditto.
964         (fix_trunc<mode>si2_mem): Ditto.
965         (fixuns_trunc<mode>si2_mem): Ditto.
966         (round32<mode>2_fprs): New combiner insn to combine (double)(int)
967         type operations to reduce copying the values to multiple memory slots.
968         (roundu32<mode>2_fprs): Ditto.
969
970         * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
971         PRE_INC, PRE_DEC, PRE_MODIFY.
972         (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
973
974         * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
975         Delete prototype.
976
977 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
978
979         PR target/43808
980         * cfgexpand.c (partition_stack_vars): Call
981         update_alias_info_with_stack_vars unconditionally.
982         (update_alias_info_with_stack_vars): Allow unused
983         unreferenced vars when not optimizing.
984
985 2010-11-09  Sebastian Pop  <sebastian.pop@amd.com>
986
987         PR tree-optimization/46036
988         * tree-if-conv.c (predicate_bbs): Call unshare_expr before
989         add_to_dst_predicate_list.
990
991 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
992
993         PR debug/46171
994         * df-problems.c (struct dead_debug_use, struct dead_debug): Move
995         earlier.
996         (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
997         argument, call dead_debug_reset when adding REG_UNUSED note.
998         (dead_debug_reset): New function.
999         (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
1000         df_create_unused_note callers.
1001
1002 2010-11-09  Anatoly Sokolov  <aesok@post.ru>
1003
1004         * config/fr30/fr30.c: Include "df.h".
1005
1006 2010-11-09  Richard Guenther  <rguenther@suse.de>
1007
1008         PR tree-optimization/46355
1009         * tree-loop-distribution.c (tree_loop_distribution): Do not
1010         distribute loops without a single exit.
1011
1012 2010-11-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1013
1014         PR rtl-optimization/46237
1015         * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
1016         saved hard regs if they might get partially clobbered.
1017
1018 2010-11-09  Paul Koning  <ni1d@arrl.net>
1019
1020         * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
1021
1022 2010-11-09  Richard Guenther  <rguenther@suse.de>
1023
1024         PR tree-optimization/46177
1025         * tree-loop-distribution.c (prop_phis): Remove.
1026         (generate_builtin): Re-use the old loop exit edge to avoid
1027         needing to update PHI nodes.
1028
1029 2010-11-09  Joern Rennecke  <amylaar@spamcop.net>
1030
1031         * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
1032         type of args_size to unsigned HOST_WIDE_INT.
1033
1034         PR target/44755
1035         * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
1036         * config/t-pnt16-warn: New file.
1037         * config/picochip/picochip.c (picochip_emit_stack_allocate):
1038         Use add_reg_note.
1039         (picochip_emit_save_register): Likewise.
1040         (picochip_emit_restore_register): Remove variable insn.
1041         (picochip_legitimize_address): Don't use C++ style comments.
1042         (picochip_legitimize_reload_address): Likewise.
1043         (reorder_var_tracking_notes): Remove variable vliw_start.
1044         (picochip_reorg): Cast first arguemnt to emit_note_after to
1045         enum insn_note.
1046         (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
1047         (picochip_expand_builtin_3op): Likewise.
1048         (picochip_expand_builtin_2opvoid): Likewise.
1049         (picochip_expand_array_get, picochip_expand_array_put): Likewise.
1050         (picochip_expand_array_testport): Likewise.
1051         (picochip_init_builtins): Remove unused variables.
1052         * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
1053         to unsigned long, and output it as such.
1054         (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
1055         * config/picochip/picochip.md (movhicc): Remove nonsense statement.
1056         (schedType): Cast result of picochip_schedule_type to
1057         enum attr_schedType.
1058
1059         PR target/44759
1060         * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
1061         conditional to type of S.
1062         (mn10300_function_arg): Remove unused variable align.
1063         (mn10300_arg_partial_bytes): Likewise.
1064         * config/mn10300/mn10300.md (attribute cpu): Cast value to
1065         enum attr_cpu.
1066
1067 2010-11-09  H.J. Lu  <hongjiu.lu@intel.com>
1068
1069         PR bootstrap/46392
1070         * gengtype-parse.c (type): Call get_input_file_name to get file name.
1071
1072 2010-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1073
1074         * tree.h (contains_placeholder_p): Fix comment.
1075         (type_contains_placeholder_p): Adjust comment.
1076         * tree.c (contains_placeholder_p): Fix comment.
1077         (type_contains_placeholder_1): Do not recurse on pointed-to types and
1078         adjust comment.
1079         (type_contains_placeholder_p): Add comment.
1080
1081 2010-11-09  Paul Koning  <ni1d@arrl.net>
1082
1083         * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
1084         output of byte values.
1085
1086 2010-11-09  Jakub Jelinek  <jakub@redhat.com>
1087
1088         PR middle-end/46360
1089         * tree-ssa-propagate.c (update_call_from_tree): Fix for use
1090         not in SSA mode.
1091
1092 2010-11-09  Richard Guenther  <rguenther@suse.de>
1093
1094         PR middle-end/46221
1095         * varasm.c (compute_visible_aliases): New function.
1096         (remove_unreachable_alias_pairs): Aliases make a target available
1097         even though we reclaimed the cgraph node.
1098         (finish_aliases_1): Likewise.
1099         * Makefile.in (varasm.o): Add pointer-set.h dependency.
1100
1101 2010-11-09  Nick Clifton  <nickc@redhat.com>
1102
1103         * config/mn10300/mn10300-modes.def: New file.
1104
1105 2010-11-09  Basile Starynkevitch  <basile@starynkevitch.net>
1106             Jeremie Salvucci  <jeremie.salvucci@free.fr>
1107
1108         * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
1109         (plugin_files, get_file_basename, get_file_realbasename)
1110         (get_file_langdir, error_at_line, gt_files, this_file)
1111         (system_h_file, read_input_list, create_field_all)
1112         (get_file_srcdir_relative_path, get_file_basename)
1113         (get_file_langdir, get_file_gtfilename)
1114         (get_output_file_with_visibility, get_output_file_name)
1115         (struct flist, put_mangled_filename, walk_type)
1116         (put_mangled_filename, finish_root_table, write_roots): Use
1117         input_file-s.
1118         (lang_dir_names, num_lang_dirs): Remove static.
1119         (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
1120         (main): Use input_file-s.
1121
1122         * gengtype.h: (struct input_file_st, input_file): New type.
1123         (struct fileloc): Use it.
1124         (gt_files, num_gt_files, this_file, system_h_file)
1125         (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
1126         (get_input_file_name): New function.
1127         (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
1128         use input_file.
1129         (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
1130         (get_output_file_name): Ditto.
1131
1132         * gengtype-lex.l (yybegin): Use input_file.
1133
1134         * gengtype-parse.c (parse_error): Use input_file.
1135
1136 2010-11-08  Xinliang David Li  <davidxl@google.com>
1137
1138         PR tree-optimization/46316
1139         * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
1140         * double-int.h (double_int_mul_with_sign): New function.
1141         * double-int.c (double_int_mul_with_sign): New function.
1142
1143 2010-11-08  Paul Koning  <ni1d@arrl.net>
1144
1145         * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
1146
1147 2010-11-08  Paul Koning  <ni1d@arrl.net>
1148
1149         * config/pdp11/pdp11.md (negsi2): Fix wrong code.
1150
1151 2010-11-08  Paul Koning  <ni1d@arrl.net>
1152
1153         * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
1154         to 8 bits.
1155
1156 2010-11-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1157
1158         PR target/46378
1159         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1160         turn on ISA 2.04 rounding instructions for power5.
1161
1162         * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
1163         not ISA 2.02.
1164
1165         PR target/45585
1166         * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
1167         in FPR registers.
1168         (movdi_low_st): Ditto.
1169
1170 2010-11-08  Joern Rennecke  <amylaar@spamcop.net>
1171             Richard Henderson  <rth@redhat.com>
1172
1173         PR target/44758
1174         * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
1175         (attribute acc_group): Cast value to enum attr_acc_group.
1176         (*movdi_nodouble+6): Use gen_int_mode.
1177         * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
1178         if RTX_CODE is defined or not.
1179         * config/frv/frv.c (enum frv_io_type): New enum, broken out of
1180         struct frv_io.
1181         (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
1182         (frv_frame_access, frv_expand_prologue): Remove unused variables.
1183         (frv_expand_block_clear): Likewise.
1184         (frv_trampoline_init): Use LCT_NORMAL.
1185         (struct frv_packet_group): New struct, broken out of type of
1186         frv_packet.
1187         (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
1188         use cast in loop counter increment.
1189         (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
1190         assigning to io->type.
1191         (bdesc_set): Use rtx_code UNKNOWN in initializer.
1192         (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
1193         (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
1194         (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
1195         (frv_read_argument): Use expand_normal.
1196
1197         PR target/44757
1198         * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
1199         lm32_legitimate_constant_p.
1200         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
1201         * config/lm32/lm32.c (gen_int_relational): Make new block for
1202         LE / LT / LEU / LTU case.  Declare variables at start of block.
1203         (lm32_block_move_inline): Use XALLOCAVEC.
1204
1205 2010-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1206
1207         * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
1208
1209 2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>
1210
1211         * gengtype (get_output_file_for_structure): Ensure type is union
1212         or struct.
1213         (write_splay_tree_allocator_def): Use
1214         get_output_file_with_visibility.
1215
1216 2010-11-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1217
1218         * config/s390/s390.c (s390_handle_arch_option): Set type and flags
1219         to defined values in case of an error.
1220         (s390_option_override): Skip further processing if the -march
1221         parameter wasn't recognized.
1222
1223 2010-11-08  Joern Rennecke  <amylaar@spamcop.net>
1224
1225         * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
1226         assert that REG is a hard register number before using it as an index.
1227
1228         PR bootstrap/46358
1229         * config/i386/i386.c (ix86_expand_split_stack_prologue):
1230         Avoid warnings when HOST_WIDE_INT is 32 bit.
1231
1232 2010-11-08  Eric Botcazou  <ebotcazou@adacore.com>
1233
1234         PR target/46208
1235         * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
1236         (sparc_promote_prototypes): Likewise.
1237         (sparc_promote_function_mode): Promote in 32-bit mode as well.
1238         (sparc_return_in_memory): Remove superfluous parentheses.
1239         (sparc_struct_value_rtx): Fix long lines.
1240         (sparc_function_value_1): Promote in 32-bit mode as well.
1241
1242 2010-11-08  Andrey Belevantsev  <abel@ispras.ru>
1243
1244         PR rtl-optimization/45352
1245         * sel-sched.c (find_best_expr): Do not set pneed_stall when
1246         the variable_issue hook is not implemented.
1247         (fill_insns): Remove dead variable stall_iterations.
1248         (init_seqno_1): Force EBB start for resetting sched cycles on any
1249         successor blocks of the rescheduled region.
1250         (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
1251         (reset_sched_cycles_in_current_ebb): Add debug printing.
1252         New variable issued_insns.  Advance state when we have issued
1253         issue_rate insns.
1254
1255 2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>
1256
1257         * gengtype (main): Get here's position using POS_HERE macro for
1258         do*typedef calls.
1259
1260 2010-11-07  Ian Lance Taylor  <iant@google.com>
1261
1262         PR target/46089
1263         * config/i386/i386.c (split_stack_fn_large): New static variable.
1264         (ix86_expand_split_stack_prologue): Handle large model.
1265
1266 2010-11-07  Andreas Schwab  <schwab@linux-m68k.org>
1267
1268         * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
1269         all possible addressing modes.
1270
1271 2010-11-07  Uros Bizjak  <ubizjak@gmail.com>
1272
1273         PR tree-optimization/46346
1274         * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
1275
1276 2010-11-07  Richard Sandiford  <rdsandiford@googlemail.com>
1277
1278         * config/mips/mips.c: Revert previous patch.
1279         * config/mips/mips.md: Likewise.
1280
1281 2010-11-07  Richard Sandiford  <rdsandiford@googlemail.com>
1282
1283         * config/mips/mips.c (mips_rtx_costs): Handle FMA.
1284         * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
1285         (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
1286         (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
1287         (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
1288         to use FMA.
1289         (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
1290         (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
1291         (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
1292         (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
1293
1294 2010-11-06  Simon Martin  <simartin@users.sourceforge.net>
1295
1296         PR c/43384
1297         * c-decl.c (lookup_label): Labels can only be referenced in a
1298         function's scope.
1299         (store_parm_decls_oldstyle): Skip erroneous parameters.
1300
1301 2010-11-06  Anatoly Sokolov  <aesok@post.ru>
1302
1303         * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
1304         LIBCALL_VALUE): Remove macros.
1305         * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1306         TARGET_FUNCTION_VALUE_REGNO_P): Define.
1307         (fr30_function_value_regno_p, fr30_function_value,
1308         fr30_libcall_value): New functions.
1309
1310 2010-11-06  Joern Rennecke  <amylaar@spamcop.net>
1311
1312         PR middle-end/46314
1313         * target.def (generate_internal_label): New asm_out hook.
1314         * output.h (default_generate_internal_label): Declare.
1315         * varasm.c (default_generate_internal_label): Define.
1316
1317 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
1318
1319         PR target/44981
1320         * doc/extend.tex (format): Document NSString extension.
1321         (format_arg): Likewise.
1322         (Darwin Format Checks): New section.
1323         * doc/tm.texi: Document string object hooks (generated).
1324         * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
1325         (TARGET_STRING_OBJECT_REF_TYPE_P): New.
1326         (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
1327         * target.def (objc_construct_string_object): Rename, amend
1328         documentation.
1329         (string_object_ref_type_p): New hook.
1330         (check_string_object_format_arg): New hook.
1331         * c-parser.c (c_parser_attributes): Allow objective-c class names as
1332         attribute identifiers.
1333         * config/darwin-c.c (darwin_cfstring_ref_p): New.
1334         (darwin_check_cfstring_format_arg): New.
1335         (darwin_additional_format_types): New.
1336         * config/darwin-protos.h (darwin_cfstring_ref_p) New.
1337         (darwin_check_cfstring_format_arg): New.
1338         * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
1339         (TARGET_STRING_OBJECT_REF_TYPE_P): New.
1340         (TARGET_N_FORMAT_TYPES): New.
1341         (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
1342
1343 2010-11-06  Eric Botcazou  <ebotcazou@adacore.com>
1344             Pascal Obry  <obry@adacore.com>
1345
1346         * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine.  Use 33
1347         in 64-bit mode and 17 otherwise.
1348
1349 2010-11-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1350
1351         PR debug/45939
1352         * var-tracking.c (emit_note_insn_var_location): Make sure that
1353         call related var location notes come before the normal ones.
1354
1355 2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>
1356
1357         PR target/46326
1358         * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
1359         in the last change.
1360
1361 2010-11-05  Ian Lance Taylor  <iant@google.com>
1362
1363         * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
1364
1365 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
1366
1367         PR c/44772
1368         * c-decl.c (warn_cxx_compat_finish_struct): Don't call
1369         pointer_set_contains if DECL_NAME is NULL.
1370
1371 2010-11-05  Ian Lance Taylor  <iant@google.com>
1372
1373         PR target/46084
1374         * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
1375         request enough additional space for alignment, and force alignment.
1376
1377 2010-11-05  Kai Tietz  <kai.tietz@onevision.com>
1378
1379         * config/i386/i386.c (legitimate_pic_address_disp_p):
1380         Handle UNSPEC_PCREL.
1381         (ix86_legitimate_address_p): Likewise.
1382         (legitimize_pic_address): Likewise.
1383         (output_pic_addr_const): Likewise.
1384         (ix86_delegitimize_address): Likewise.
1385         (ix86_find_base_term): Likewise.
1386         (memory_address_length): Likewise.
1387         (x86_output_mi_thunk): Handle special case x64
1388         for non local binding.
1389         * config/i386/i386.md (UNSPEC_PCREL): New.
1390         * config/i386/winnt.c (i386_pe_binds_local_p):
1391         Allow weak symbol for x64 windows with non-local binding.
1392
1393 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
1394
1395         PR target/45670
1396         * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
1397         instead of EXPAND_NORMAL for base expansion.
1398
1399 2010-11-05  Uros Bizjak  <ubizjak@gmail.com>
1400
1401         * config.gcc: Support --with-fpmath=avx for x86.
1402         * config/i386/avxmath.h: New.
1403         * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
1404
1405 2010-11-05  Ian Lance Taylor  <iant@google.com>
1406
1407         * tree.h (struct tree_type): Don't use descbits in GTY annotation.
1408         * gengtype.c (walk_type): Don't recognize descbits option.
1409
1410 2010-11-05  Joseph Myers  <joseph@codesourcery.com>
1411
1412         * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
1413         WORD_SWITCH_TAKES_ARG): Remove.
1414         * doc/options.texi (Args): Document.
1415         * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
1416         * doc/tm.texi: Regenerate.
1417         * opt-functions.awk (switch_flags): Handle Args.
1418         * opts-common.c: Update comment on tm.h include.
1419         (decode_cmdline_option): Handle options with multiple arguments.
1420         Don't check WORD_SWITCH_TAKES_ARG for unknown options.
1421         * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
1422         (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
1423         CL_COMMON): Update values.
1424         * system.h (WORD_SWITCH_TAKES_ARG): Poison.
1425         * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
1426         * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
1427         sectobjectsymbols, sectorder, segcreate, segprot): New.
1428
1429 2010-11-05  H.J. Lu  <hongjiu.lu@intel.com>
1430             Uros Bizjak  <ubizjak@gmail.com>
1431
1432         * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
1433         256bit AVX register is used.
1434         (ix86_expand_vector_move_misalign): Likewise.
1435         (ix86_expand_vector_move): Replace use_avx256_p with
1436         VALID_AVX256_REG_MODE.
1437
1438 2010-11-05  Joern Rennecke  <amylaar@spamcop.net>
1439
1440          PR target/44750
1441         * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
1442         change.  Set $@-warn.o to -Wno-error.
1443
1444         PR bootstrap/44756
1445         * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
1446         comparing it to a signed value.
1447
1448         PR middle-end/44766
1449         * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
1450         PR bootstrap/44770
1451         * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
1452         to i.
1453
1454         PR target/44754
1455         * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
1456         (m32c_function_arg).  Add comma between arguments two and three.
1457         (m32c_promote_prototypes): Remove declaration.
1458         (current_function_special_page_vector): Likewise.
1459         (m32c_regno_reg_class): Change return type to enum reg_class.
1460         (m32c_pushm_popm): Use add_reg_note.
1461         (m32c_push_rounding): Change return type to unsigned int.
1462         (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
1463         enum reload_type.
1464         (m32c_insert_attributes): Constify variable name.
1465         (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
1466         (m32c_prepare_shift): Remove variable lref.
1467         (m32c_expand_movcc): Remove variable cmp.
1468         (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
1469         (m32c_compare_redundant): Remove variable op2.
1470         * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
1471         (m32c_pragma_memregs): Assign the number to target_memregs.
1472         (m32c_pragma_address): Remove variable var_str.
1473         * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
1474         enum reg_class.
1475         (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
1476         * config/m32c/bitops.md (andsi3): Add default case to switch.
1477         (iorsi3, xorsi3): Likewise.
1478         * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
1479         * config/m32c/jump.md (call, call_value): Likewise.
1480         * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
1481         (m32c_regno_reg_class): Likewise.
1482         (current_function_special_page_vector): Declare.
1483
1484 2010-11-05  Jakub Jelinek  <jakub@redhat.com>
1485
1486         * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
1487
1488         PR tree-optimization/46099
1489         * tree-parloops.c (take_address_of): Add GSI argument.  Return NULL
1490         if it is NULL and uid wasn't found in the hash table.  Just fold the
1491         result if it is NULL otherwise.  Insert other potentially needed
1492         stmts right before current stmt instead of on the entry edge.
1493         (struct elv_data): Add gsi and reset fields.
1494         (eliminate_local_variables_1): Adjust caller.  If take_address_of
1495         failed for debug stmt, set dta->reset and return.
1496         (eliminate_local_variables_stmt): Change STMT argument for GSI,
1497         pass GSI through to the callback, handle resetting of debug stmts.
1498         (eliminate_local_variables): Adjust caller.  Process debug stmts
1499         in second phase.
1500
1501         PR middle-end/43690
1502         * gimplify.c (gimplify_asm_expr): If a "m" input is a
1503         {pre,post}{in,de}crement, fail.
1504
1505         PR debug/46307
1506         * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
1507         * tree-pretty-print.c (dump_generic_node): Likewise.
1508         (op_code_prio): Likewise.
1509         * cfgexpand.c (expand_debug_expr): Likewise.
1510
1511 2010-11-04  Paul Koning  <ni1d@arrl.net>
1512
1513         * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
1514         constraints.
1515
1516 2010-11-04  Chao-ying Fu  <fu@mips.com>
1517
1518         * configure.ac: Test assembler support for DSP Rev1 mult.
1519         * configure: Regenerate.
1520         * config.in: Regenerate.
1521         * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
1522         * config/mips/mips.c (CODE_FOR_mips_mult): New define.
1523         (CODE_FOR_mips_multu): New define.
1524         (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
1525         dspr2_32 to dsp_32.
1526         (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
1527         Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
1528         * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
1529         New define_expand patterns.
1530         * config/mips/constraints.md (ka): Update the constraint to test
1531         ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
1532         * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
1533         mips_multu): Delete.
1534         * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
1535         Change target constraint to "ka".
1536         Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
1537         (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
1538         Emit the accumulator destination when ISA_HAS_DSP_MULT.
1539         (<u>msubsidi4): Add comments.  Test ISA_HAS_DSP.
1540         Emit the accumulator destination when ISA_HAS_DSP_MULT.
1541         (<u>maddsidi4): Likewise.
1542         * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
1543         msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
1544
1545 2010-11-04  Paul Koning  <ni1d@arrl.net>
1546
1547         * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
1548
1549 2010-11-04  Paul Koning  <ni1d@arrl.net>
1550
1551         * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
1552
1553 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
1554
1555         Fixed using the Objective-C 2.0 dot-syntax with class names.
1556         * c-parser.c (c_parser_next_token_starts_declspecs): In
1557         Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
1558         (c_parser_next_token_starts_declaration): Same.
1559         (c_parser_postfix_expression): Parse the Objective-C 2.0
1560         dot-syntax with a class name.
1561
1562 2010-11-04  Pat Haugen  <pthaugen@us.ibm.com>
1563
1564         * final.c (compute_alignments): Compute/free loop info all the time.
1565         * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
1566         * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
1567         * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
1568         * config/rs6000/rs6000.c (cfgloop.h): Include.
1569         (can_override_loop_align): New.
1570         (rs6000_option_override_internal): Set it.
1571         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
1572         (rs6000_loop_align): New function.
1573         (rs6000_loop_align_max_skip): Likewise.
1574
1575 2010-11-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1576
1577         PR driver/45703
1578         * collect2.c (main): Print --help output to stdout.  Do not
1579         exit right away, so ld --help is appended.  Add empty lines
1580         to separate output suitably.
1581
1582 2010-11-04  Jakub Jelinek  <jakub@redhat.com>
1583
1584         PR tree-optimization/46233
1585         * ipa-pure-const.c (local_pure_const): Do noreturn discovery
1586         after calling analyze_function, not before.
1587
1588         PR target/46234
1589         * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
1590         instead of build_va_arg_indirect_ref.
1591         * config/spu/spu.c (spu_va_start): Likewise.
1592         * config/s390/s390.c (s390_va_start): Likewise.
1593
1594 2010-11-03  Uros Bizjak  <ubizjak@gmail.com>
1595
1596         PR middle-end/46292
1597         * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
1598         if the innermode is not vector mode, determine the mode of a subreg
1599         by using mode_for_size of inner_size.
1600
1601 2010-11-04  Richard Guenther  <rguenther@suse.de>
1602
1603         PR rtl-optimization/46183
1604         * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
1605         (execute_rtl_pre): Likewise.
1606         (execute_rtl_hoist): Likewise.
1607
1608 2010-11-04  Richard Guenther  <rguenther@suse.de>
1609
1610         PR tree-optimization/46068
1611         * ipa-split.c (consider_split): Remove gcc_unreachable.
1612
1613 2010-11-04  Richard Guenther  <rguenther@suse.de>
1614
1615         * tree-nested.c (build_addr): Use build_fold_addr_expr.
1616
1617 2010-11-04  Richard Guenther  <rguenther@suse.de>
1618
1619         PR tree-optimization/45991
1620         * gimplify.c (force_gimple_operand_1): Use the provded test
1621         function in the initial test.
1622
1623 2010-11-04  Jeff Law  <law@redhat.com>
1624
1625         * ira.c (validate_equiv_mem): Remove code to avoid invalidation
1626         of readonly memory equivalances for const/pure calls.
1627
1628 2010-11-04  Richard Guenther  <rguenther@suse.de>
1629
1630         PR tree-optimization/45733
1631         * tree-vect-stmts.c (reverse_vec_elements): Honor the
1632         permute builtins function return type.
1633
1634 2010-11-04  Joern Rennecke  <amylaar@spamcop.net>
1635
1636         PR middle-end/44765
1637         * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
1638         as an index, check it is not INVALID_REGNUM.
1639
1640         PR bootstrap/44756
1641         * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
1642         unsignedp.
1643         * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
1644
1645         PR bootstrap/44756
1646         * function.c (thread_prologue_and_epilogue_insns): Add
1647         ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
1648
1649         PR bootstrap/44756
1650         * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
1651
1652         PR target/44750
1653         * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
1654         (pdp11_preferred_reload_class): Rename class to rclass.
1655         (pdp11_preferred_output_reload_class): Likewise.
1656         * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
1657         ALL_COMPILERFLAGS .
1658         (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
1659
1660         PR bootstrap/44756
1661         * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
1662         iteration variables to enum machine_mode.
1663
1664         PR target/44751
1665         * config/h8300/h8300.c: Include df.h.
1666         (push, pop): Use add_reg_note.
1667         (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
1668         (compute_a_shift_cc): Likewise.
1669         (expand_a_shift): Argument code has type enum rtx_code.
1670         (struct shift_insn): Member cc_valid has type enum attr_cc.
1671         (struct shift_info) <cc_inline, cc_special>: Likewise.
1672         enum attr_cc.
1673         * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
1674         (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
1675
1676 2010-11-04  Ira Rosen  <irar@il.ibm.com>
1677
1678         PR tree-optimization/46213
1679         * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
1680         MINUS_EXPR only if the first operand is reduction operand.
1681
1682 2010-11-04  Richard Guenther  <rguenther@suse.de>
1683             Richard Henderson  <rth@redhat.com>
1684
1685         * tree.def (FMA_EXPR): New tree code.
1686         * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
1687         * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
1688         * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
1689         * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
1690         * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
1691         * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
1692         (execute_optimize_widening_mul): Call it.  Reorganize to allow
1693         dead stmt removal.  Move TODO flags ...
1694         (pass_optimize_widening_mul): ... here.
1695         * flag-types.h (enum fp_contract_mode): New enum.
1696         * common.opt (flag_fp_contract_mode): New variable.
1697         (-ffp-contract): New option.
1698         * opts.c (common_handle_option): Handle it.
1699         * doc/invoke.texi (-ffp-contract): Document.
1700         * tree.h (fold_fma): Declare.
1701         * builtins.c (fold_fma): New function.
1702         (fold_builtin_fma): Likewise.
1703         (fold_builtin_3): Call it for fma.
1704         * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
1705         * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
1706         * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
1707         New expanders.
1708         * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
1709         named patterns.
1710         * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
1711         * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
1712         (fms_optab, fnma_optab, fnms_optab): New defines.
1713         * gimplify.c (gimplify_expr): Handle binary truth expressions
1714         explicitly.  Handle FMA_EXPR.
1715         * tree-vect-stmts.c (vectorizable_operation): Handle ternary
1716         operations.
1717
1718 2010-11-04  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
1719             Richard Guenther  <rguenther@suse.de>
1720
1721         * passes.c (init_optimization_passes): Move veclower after SSA.
1722         * tree-vect-generic.c (uniform_vector_p): New function.
1723         (expand_vector_operations_1): Handle conversion.
1724         (pass_lower_vector): Update SSA form.
1725
1726 2010-11-04  Iain Sandoe  <iains@gcc.gnu.org>
1727
1728         * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
1729         plugin capabilities.
1730         * configure: Regenerate.
1731
1732 2010-11-03  Xinliang David Li  <davidxl@google.com>
1733
1734         PR target/46200
1735         * tree-ssa-loop-ivopts.c (get_computation_cost_at):
1736         Adjust cbase if the use stmt is after iv update.
1737
1738 2010-11-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1739
1740         * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
1741
1742 2010-11-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1743
1744         * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
1745         comment.  Pass true to the last argument of output_stack_adjust.
1746
1747 2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
1748
1749         PR target/46295
1750         * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
1751         if 256bit AVX register is used.
1752
1753 2010-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
1754
1755         * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
1756         xsmindp/xsmaxdp on VSX for single precision min/max.
1757         * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
1758         (vsx_sminsf3): Ditto.
1759
1760 2010-11-03  Eric Botcazou  <ebotcazou@adacore.com>
1761
1762         * combine.c (try_combine): Fix formatting issues, improve comments and
1763         fix a pasto.
1764
1765 2010-11-03  Eric Botcazou  <ebotcazou@adacore.com>
1766
1767         * tree-tailcall.c (find_tail_calls): Convert the operands to the type
1768         of the result before building binary expressions.
1769
1770 2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
1771
1772         PR rtl-optimization/45865
1773         * Makefile.in (df-problems.o): Revert revision 164552.
1774         * basic-block.h (enum bb_flags): Likewise.
1775         * cfgcleanup.c (block_was_dirty): Likewise.
1776         (try_forward_edges): Likewise.
1777         (try_crossjump_bb): Likewise.
1778         (try_head_merge_bb): Likewise.
1779         (try_optimize_cfg): Likewise.
1780         (cleanup_cfg): Likewise.
1781         * df-core.c (df_set_bb_dirty): Likewise.
1782         * df-problems.c: Likewise.
1783         (df_simulate_find_uses): Likewise.
1784         (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
1785         (find_memory, find_memory_store): Likewise.
1786         (can_move_insns_across): Likewise.
1787         * df.h (can_move_insns_across): Likewise.
1788         * ifcvt.c (find_memory): Likewise.
1789         (dead_or_predicable): Likewise.
1790
1791 2010-11-03  Richard Guenther  <rguenther@suse.de>
1792
1793         PR middle-end/46288
1794         * predict.c (strip_predict_hints): Simply DCE builtin expect if
1795         the result is unused.
1796
1797 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
1798
1799         PR tree-optimization/46009
1800         * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
1801         cond_if_else_store_replacement if bb1 and bb2 have the same
1802         single successor.
1803         (cond_store_replacement): Use gimple_assign_single_p, don't
1804         check if rhs is SSA_NAME or invariant.  Call release_defs for
1805         assign.
1806         (cond_if_else_store_replacement): New function.
1807
1808 2010-11-03  Richard Guenther  <rguenther@suse.de>
1809
1810         * opts.c (finish_options): Properly check for all WHOPR
1811         flags before complaining about -flto-partition.
1812
1813 2010-11-04  Alan Modra  <amodra@gmail.com>
1814
1815         * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
1816         (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
1817         TARGET_SECURE_PLT.
1818         * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
1819         * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
1820         on input, "r" on output.
1821
1822 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
1823
1824         Implemented -fobjc-std=objc1 flag.
1825         * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
1826         option.
1827         * doc/standards.texi (Standards): Updated the section on
1828         Objective-C; mention support for Objective-C 2.0 features and the
1829         new -fstd-objc=objc1 flag to disable them.
1830
1831 2010-11-03  Richard Guenther  <rguenther@suse.de>
1832
1833         PR middle-end/46241
1834         * dwarf2out.c (scope_die_for): Properly detect global scope.
1835
1836 2010-11-03  Richard Guenther  <rguenther@suse.de>
1837
1838         PR tree-optimization/46190
1839         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
1840         Properly compute peel iterations.
1841
1842 2010-11-03  Richard Guenther  <rguenther@suse.de>
1843
1844         PR tree-optimization/46286
1845         * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
1846         re-allocated vector data.
1847
1848 2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
1849
1850         PR target/46285
1851         * config/i386/i386.c (ix86_expand_call): Conditionally decorate
1852         calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
1853         is completed.
1854
1855 2010-11-03  Richard Guenther  <rguenther@suse.de>
1856
1857         PR tree-optimization/46217
1858         * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
1859         flag matches.
1860         (execute_update_addresses_taken): Likewise.
1861
1862 2010-11-03  Joern Rennecke  <joern.rennecke@embecosm.com>
1863
1864         PR bootstrap/44335
1865         * targhooks.c (targhook_words_big_endian): New function.
1866         (targhook_float_words_big_endian): Likewise.
1867         * targhooks.h (targhook_words_big_endian): Declare.
1868         (targhook_float_words_big_endian): Likewise.
1869         * target.def (words_big_endian, float_words_big_endian): New hooks.
1870
1871 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
1872
1873         PR tree-optimization/46165
1874         * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
1875         a normal call into noreturn call.
1876
1877 2010-11-03  Richard Guenther  <rguenther@suse.de>
1878
1879         PR middle-end/46251
1880         * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
1881         not INDIRECT_REFs.
1882
1883 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
1884
1885         PR tree-optimization/46107
1886         * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
1887         if cfg_hook_duplicate_loop_to_header_edge failed.
1888
1889 2010-11-03  Ian Lance Taylor  <iant@google.com>
1890
1891         PR lto/46273
1892         * config.gcc: Don't set lto_binary_reader.
1893         * doc/install.texi (Prerequisites): Remove libelf paragraphs.
1894         (Configuration): Mention --disable-lto.  Remove --with-libelf
1895         paragraph.
1896
1897 2010-11-03  Jakub Jelinek  <jakub@redhat.com>
1898
1899         PR debug/46252
1900         * reload1.c (delete_dead_insn): Use prev_active_insn instead of
1901         prev_real_insn.
1902         * gcse.c (insert_insn_end_basic_block): Likewise.
1903
1904         PR rtl-optimization/46034
1905         PR rtl-optimization/46212
1906         PR rtl-optimization/46248
1907         * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
1908         and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
1909         before i0dest -> i0src substitution and pass 1 instead of 0 as last
1910         argument to subst on i2pat.
1911
1912 2010-11-02  Ian Lance Taylor  <iant@google.com>
1913
1914         * configure.ac: Use AC_SYS_LARGEFILE.
1915         * configure: Rebuild.
1916         * config.in: Rebuild.
1917
1918 2010-11-02  Nathan Froyd  <froydnj@codesourcery.com>
1919
1920         * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
1921         fold_convert.
1922         * c-typeck.c (build_function_call_vec): Likewise.
1923         * cfgexpand.c (expand_debug_expr): Likewise.
1924         * cgraphunit.c (assemble_thunk): Likewise.
1925         * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
1926         * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
1927         (fold_binary_loc, fold_ternary_loc): Likewise.
1928         * gimple-fold.c (get_symbol_constant_value): Likewise.
1929         * gimple-low.c (lower_builtin_setjmp): Likewise.
1930         * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
1931         * gimplify.c (gimplify_init_constructor): Likewise.
1932         * lambda.h (build_linear_expr): Likewise.
1933         * omp-low.c (omp_reduction_init): Likewise.
1934         * tree-inline.c (remap_ssa_name): Likewise.
1935         * tree-object-size.c (compute_object_sizes): Likewise.
1936         * tree-sra.c (init_subtree_with_zero): Likewise.
1937         (sra_ipa_modify_assign): Likewise.
1938         * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
1939         * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
1940         (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
1941         (undistribute_ops_list): Likewise.
1942         * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
1943         * tree-vect-stmts.c (vectorizable_call): Likewise.
1944         * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
1945         (build_zero_cst): Handle more cases directly.  Update comment.
1946
1947 2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
1948
1949         * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
1950         * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
1951
1952         * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
1953         and call ix86_split_call_vzeroupper instead of
1954         ix86_split_call_pop_vzeroupper.
1955         (*call_pop_1_vzeroupper): Likewise.
1956         (*sibcall_pop_1_vzeroupper): Likewise.
1957         (*call_value_pop_0_vzeroupper): Likewise.
1958         (*call_value_pop_1_vzeroupper): Likewise.
1959         (*sibcall_value_pop_1_vzeroupper): Likewise.
1960
1961 2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
1962
1963         * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
1964
1965 2010-11-02  Eric Botcazou  <ebotcazou@adacore.com>
1966
1967         * basic-block.h (insert_insn_end_bb_new): Delete.
1968         * cfgrtl.c (insert_insn_end_bb_new): Likewise.
1969
1970 2010-11-02  Uros Bizjak  <ubizjak@gmail.com>
1971             H.J. Lu  <hongjiu.lu@intel.com>
1972
1973         * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
1974         (ix86_split_call_pop_vzeroupper): Likewise.
1975
1976         * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
1977         (ix86_expand_call): Conditionally decorate calls with
1978         UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
1979         (ix86_split_call_vzeroupper): New.
1980         (ix86_split_call_pop_vzeroupper): Likewise.
1981
1982         * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
1983         (*call_pop_0_vzeroupper): New insn_and_split pattern.
1984         (*call_pop_1_vzeroupper): Likewise.
1985         (*sibcall_pop_1_vzeroupper): Likewise.
1986         (*call_0_vzeroupper): Likewise.
1987         (*call_1_vzeroupper): Likewise.
1988         (*sibcall_1_vzeroupper): Likewise.
1989         (*call_1_rex64_vzeroupper): Likewise.
1990         (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
1991         (*call_1_rex64_large_vzeroupper): Likewise.
1992         (*sibcall_1_rex64_vzeroupper): Likewise.
1993         (*call_value_pop_0_vzeroupper): Likewise.
1994         (*call_value_pop_1_vzeroupper): Likewise.
1995         (*sibcall_value_pop_1_vzeroupper): Likewise.
1996         (*call_value_0_vzeroupper): Likewise.
1997         (*call_value_0_rex64_vzeroupper): Likewise.
1998         (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
1999         (*call_value_1_vzeroupper): Likewise.
2000         (*sibcall_value_1_vzeroupper): Likewise.
2001         (*call_value_1_rex64_vzeroupper): Likewise.
2002         (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
2003         (*call_value_1_rex64_large_vzeroupper): Likewise.
2004         (*sibcall_value_1_rex64_vzeroupper): Likewise.
2005
2006 2010-11-02  Ian Lance Taylor  <iant@google.com>
2007
2008         PR lto/46273
2009         * config.gcc: Revert last patch: set lto_binary_reader.
2010
2011 2010-11-02  Richard Guenther  <rguenther@suse.de>
2012
2013         PR tree-optimization/46149
2014         * tree-ssa-structalias.c (get_constraint_for_1): Properly handle
2015         non-indirect MEM_REF variants.
2016
2017 2010-11-02  Richard Guenther  <rguenther@suse.de>
2018
2019         PR tree-optimization/46216
2020         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
2021         Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
2022
2023 2010-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2024
2025         * configure.ac (*-*-irix6*): Disable set_have_as_tls.
2026         (*-*-osf*): Likewise.
2027         * configure: Regenerate.
2028
2029 2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
2030
2031         * config/i386/driver-i386.c (host_detect_local_cpu): Updated
2032         for Intel Core 2 and Core i7.
2033
2034 2010-11-02  Maxim Kuvyrkov  <maxim@codesourcery.com>
2035
2036         Model decoder of Core 2/i7 for multipass scheduling.
2037
2038         * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
2039         New type to hold target-specific data for multipass scheduling.
2040         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
2041         * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
2042         Core 2/i7.
2043         (core2i7_secondary_decoder_max_insn_size,)
2044         (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
2045         New static variables.
2046         ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
2047         ([_]ix86_first_cycle_multipass_data): New static variable.
2048         (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
2049         Implement targetm.sched hooks.
2050         (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
2051         of ...
2052         (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
2053         Implement new targetm.sched hooks.
2054         (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
2055         targetm.sched hook to install multipass scheduling hooks on demand.
2056
2057         * doc/tm.texi.in: Document new targetm.sched hooks.
2058         * doc/tm.texi: Regenerate.
2059
2060         * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
2061         (first_cycle_multipass_data_t): New typedef.
2062         (struct choice_entry: target_data): New field.
2063         (max_issue): Add first_cycle_insn_p parameter.  Call new target hooks
2064         to allow target model restrictions not represented in DFA.
2065         (choose_ready, schedule_block): Update.
2066         (sched_extend_ready_list, sched_finish_ready_list): Call new target
2067         hooks to initialize target-specific data for multipass scheduling.
2068         * sched-int.h (max_issue): Update declaration.
2069         * sel-sched.c (choose_best_insn): Update.
2070         * target.def (first_cycle_multipass_{begin, issue, backtrack},)
2071         (first_cycle_multipass_{init, fini}): Define and document new
2072         targetm.sched hooks.
2073
2074 2010-11-02  Richard Guenther  <rguenther@suse.de>
2075
2076         PR tree-optimization/46184
2077         * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
2078         input vector type from the reduction operand as well.
2079
2080 2010-11-02  Richard Guenther  <rguenther@suse.de>
2081
2082         PR tree-optimization/46177
2083         * tree-loop-distribution.c (prop_phis): Use
2084         mark_virtual_phi_result_for_renaming.
2085
2086 2010-11-02  Martin Jambor  <mjambor@suse.cz>
2087
2088         PR middle-end/46120
2089         * tree.c (get_binfo_at_offset): Bail out on artificial
2090         fields.  Identify primary bases according to their offsets.
2091
2092 2010-11-02  Martin Jambor  <mjambor@suse.cz>
2093
2094         PR tree-optimization/45875
2095         * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
2096         (gimple_get_relevant_ref_binfo): Detect primary bases according to
2097         their field offset.
2098
2099 2010-11-02  Ian Lance Taylor  <iant@google.com>
2100
2101         * doc/install.texi (Configuration): Note in two places that Java
2102         is not enabled by default.
2103
2104 2010-11-02  Ian Lance Taylor  <iant@google.com>
2105
2106         * doc/install.texi (Prerequisites): Remove libelf paragraphs.
2107         (Configuration): Mention --disable-lto.  Remove --with-libelf
2108         paragraph.
2109
2110 2010-11-02  Ian Lance Taylor  <iant@google.com>
2111
2112         * configure.ac: Remove elf_getshdrstrndx test.  Don't substitute
2113         LTO_BINARY_READER or LTO_USE_LIBELF.  Remove LIBELFLIBS and
2114         LIBELFINC.  Remove HAVE_libelf.
2115         * config.gcc: Don't set lto_binary_reader.
2116         * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
2117         (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
2118         (LIBS): Remove $(LIBELFLIBS).
2119         (INCLUDES): Remove $(LIBELFINC).
2120         * configure: Rebuild.
2121         * config.in: Rebuild.
2122
2123 2010-11-02  Nathan Froyd  <froydnj@codesourcery.com>
2124
2125         * config/microblaze/microblaze-protos.h (function_arg): Delete.
2126         (function_arg_advance): Delete.
2127         * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
2128         (FUNCTION_ARG): Delete.
2129         * config/microblaze/microblaze.c (function_arg_advance): Rename to...
2130         (microblaze_function_arg_advance): ...this.  Make static.  Take a
2131         const_tree and a bool.
2132         (function-arg): Rename to...
2133         (microblaze_function_arg): ...this.  Make static.  Take a const_tree
2134         and a bool.
2135         (microblaze_expand_prologue): Call targetm.calls.function_arg and
2136         targetm.calls.function_arg_advance.
2137         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2138
2139 2010-11-02  Iain Sandoe  <iains@gcc.gnu.org>
2140
2141         Merge from FSF "apple/trunk" branch.
2142
2143         * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
2144         * config/darwin.opt: .. to here.
2145         (matt-stubs): New option.
2146         * config/i386/darwin.opt: Delete.
2147         * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
2148         (MACHO_DYNAMIC_NO_PIC_P): New.
2149         (MACHOPIC_INDIRECT): New.
2150         (MACHOPIC_PURE): New.
2151         * config/i386/darwin.h (DARWIN_X86) Define to 1.
2152         (MACHOPIC_ATT_STUB): New.
2153         (CC1_SPEC): Do not remove mdynamic-no-pic.
2154         Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
2155         UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
2156         (FUNCTION_PROFILER): Correct over-length line.
2157         (SUBTARGET_OVERRIDE_OPTIONS): New.
2158         (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
2159         * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
2160         (legitimate_constant_p): Handle mdynamic-no-pic.
2161         (ix86_legitimate_address_p): Likewise.
2162         (ix86_legitimize_address): Likewise.
2163         (ix86_expand_move): Likewise.
2164         (machopic_output_stub): Update for ATT-style stubs and
2165         mdynamic-no-pic.
2166         * config/darwin-protos.h (machopic_symbol_defined_p): New.
2167         * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
2168         TARGET_DYNAMIC_NO_PIC: Remove.
2169         Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
2170         UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
2171         * config/rs6000/rs6000.c (darwin_rs6000_override_options):
2172         Remove handling of mdynamic-no-pic.
2173         * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
2174         Define if required.
2175         (machopic_symbol_defined_p): Do not try to use current_function_decl
2176         when generating _get_pc thunks within stubs.
2177         (machopic_indirect_data_reference): Rework for direct conditionals
2178         rather than #ifdefs, add x86 mdynamic-no-pic
2179         (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
2180         defined value.
2181         (darwin_override_options): Handle mdynamic-no-pic here.
2182         * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
2183         (machopic_lazy_symbol_ptr3_section): New.
2184         (machopic_picsymbol_stub2_section): New.
2185         (machopic_picsymbol_stub3_section): New.
2186         * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
2187         (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
2188         (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
2189         Moved common definition from x86 and rs6000.
2190         (MACHO_DYNAMIC_NO_PIC_P): Override value.
2191         (MACHOPIC_INDIRECT): Likewise.
2192         (MACHOPIC_PURE): Likewise.
2193         * config.gcc (x86-darwin-*): Remove darwin.opt.
2194
2195 2010-11-02  Jakub Jelinek  <jakub@redhat.com>
2196
2197         PR debug/46255
2198         * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
2199         instead of gsi_last_bb.
2200
2201 2010-11-02  Bernd Schmidt  <bernds@codesourcery.com>
2202             Maxim Kuvyrkov  <maxim@codesourcery.com>
2203
2204         * config/i386/i386.c (cpu_names): Add "corei7".
2205         * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
2206
2207 2010-11-02  Bernd Schmidt  <bernds@codesourcery.com>
2208             Maxim Kuvyrkov  <maxim@codesourcery.com>
2209
2210         Tune alignment for Intel Core i7
2211
2212         * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
2213         (enum processor_type): Update comment.  Add entries for Core i7.
2214         * config/i386-c.c (ix86_target_macros_internal): Update.
2215         * config/i386.c (m_COREI7{_32,_64}): New macros.
2216         (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
2217         (processor_target_table): Tune alignment for Core i7.
2218         (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
2219
2220         * doc/invoke.texi: Document "corei7" option value.
2221
2222 2010-11-02  Bernd Schmidt  <bernds@codesourcery.com>
2223             Maxim Kuvyrkov  <maxim@codesourcery.com>
2224             H.J. Lu  <hjl.tools@gmail.com>
2225
2226         Basic support for Intel Core i7
2227
2228         * i386.c (ix86_option_override_internal): Add entry for corei7, use
2229         generic tuning.  Use generic32 when compiling for 32-bit ABI.
2230
2231 2010-11-02  Iain Sandoe  <iains@gcc.gnu.org>
2232
2233         * config/darwin.c (darwin_asm_named_section): Check for __DWARF
2234         sections and call darwin_asm_dwarf_section() to handle them.
2235         (darwin_asm_dwarf_section): New.
2236         (darwin_file_start): Remove code emitting dwarf section symbols.
2237
2238 2010-11-02  Chung-Lin Tang  <cltang@codesourcery.com>
2239
2240         * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
2241         explicitly disable stack protection when building libgcc.
2242         (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
2243
2244 2010-11-01  Jason Merrill  <jason@redhat.com>
2245
2246         * fold-const.c (fold_indirect_ref_1): Handle folding
2247         POINTER_PLUS_EXPR to ARRAY_REF.
2248
2249 2010-11-01  Kaz Kojima  <kkojima@gcc.gnu.org>
2250
2251         * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2252         (sh_delegitimize_address): New function.
2253
2254 2010-11-01  Joseph Myers  <joseph@codesourcery.com>
2255
2256         * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
2257         * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
2258         (CC1_SPEC): Don't handle -target.
2259         * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
2260         options.
2261         * config/darwin.opt (Zallowable_client, Zbundle_loader,
2262         Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
2263         Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
2264         Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
2265         Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
2266         Zweak_reference_mismatches, client_name, compatibility_version,
2267         current_version, dylinker_install_name, pagezero_size,
2268         read_only_relocs, seg1addr, segs_read_only_addr,
2269         segs_read_write_addr, sub_library, sub_umbrella): New.
2270         * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
2271         * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
2272         * config/freebsd.opt: New.
2273         * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
2274         * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
2275         * config/rpath.opt: New.
2276         * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
2277         (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
2278         Use rpath.opt.
2279
2280 2010-11-01  Joseph Myers  <joseph@codesourcery.com>
2281
2282         * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
2283         * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
2284         (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
2285         * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
2286         (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
2287         Document that options in .opt files do not need to be included.
2288         * doc/tm.texi: Regenerate.
2289         * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
2290         * opts-common.c: Update comment on tm.h include.
2291         (decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
2292         * system.h (SWITCH_TAKES_ARG): Poison.
2293         * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
2294         * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
2295         in darwin.opt.
2296         (LINK_COMMAND_SPEC_A): Don't include %{x}.
2297         * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
2298         * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
2299         * config/freebsd.h (SWITCH_TAKES_ARG): Remove.
2300         * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
2301         * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
2302         * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
2303         * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
2304         * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
2305         * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
2306         * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
2307         * config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
2308         * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
2309         * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
2310         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
2311         * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
2312         * config/openbsd.h (SWITCH_TAKES_ARG): Remove.
2313         * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
2314         * config/score/score.h (SWITCH_TAKES_ARG): Remove.
2315         * config/sol2.h (SWITCH_TAKES_ARG): Remove.
2316         * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
2317         * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
2318         * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
2319         * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
2320
2321 2010-11-01  Paul Koning  <ni1d@arrl.net>
2322
2323         * config/pdp11/pdp11.md: Use iterators.
2324         (addqi3, subqi3, iorsi3, xorsi3): Delete.
2325
2326 2010-11-01  Steve Ellcey  <sje@cup.hp.com>
2327
2328         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
2329         GCC_INSN_FLAGS_H.
2330         * libgcov.c (__gcov_indirect_call_profiler): Set
2331         VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
2332         defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
2333
2334 2010-11-01  Nathan Froyd  <froydnj@codesourcery.com>
2335
2336         PR tree-optimization/46259
2337
2338         Revert:
2339         2010-10-30  Nathan Froyd  <froydnj@codesourcery.com>
2340         * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
2341         build_vector_from_val.
2342
2343 2010-11-01  DJ Delorie  <dj@redhat.com>
2344
2345         * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
2346         as well as an assertion.
2347
2348 2010-11-01  Paul Koning  <ni1d@arrl.net>
2349
2350         * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
2351         complex modes in memory.
2352
2353 2010-11-01  Nathan Froyd  <froydnj@codesourcery.com>
2354
2355         * tree.c (build_vector_from_val): Use useless_type_conversion_p.
2356
2357 2010-11-01  Jakub Jelinek  <jakub@redhat.com>
2358
2359         PR target/45250
2360         * var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
2361         (cfa_base_offset): New variable.
2362         (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
2363         (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
2364         is NULL.
2365         (vt_init_cfa_base): Initialize cfa_base_offset.
2366
2367 2010-11-01  Alan Modra  <amodra@gmail.com>
2368
2369         PR target/46030
2370         * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
2371         and savres_strategy.
2372         (stack_info): New file scope var.
2373         (rs6000_init_machine_status): Init stack_info.
2374         (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
2375         SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
2376         SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
2377         (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
2378         SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
2379         REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this.  Update all refs.
2380         (rs6000_savres_strategy): Rewrite.
2381         (rs6000_stack_info): Use "stack_info" in place of local "info".
2382         Return cached stack info when reload_completed unless ENABLE_CHECKING
2383         in which case confirm newly calculated stack info matches old info.
2384         Delay calculation of lr_save_p, set it for out of line gp save/restore
2385         as well as fp.  Call rs6000_savres_strategy from here..
2386         (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
2387         (rs6000_output_function_prologue): Use info->savres_strategy to
2388         determine whether fp save/restore externs need to be emitted.
2389
2390 2010-10-31  Jason Merrill  <jason@redhat.com>
2391
2392         * tree.h (EXPR_LOC_OR_HERE): New macro.
2393         * builtins.c (c_strlen): Use it.
2394         * c-decl.c (build_enumerator): Likewise.
2395         * gimplify.c (internal_get_tmp_var): Likewise.
2396         (shortcut_cond_expr): Likewise.
2397         (gimplify_one_sizepos): Likewise.
2398
2399 2010-10-31  Richard Henderson  <rth@redhat.com>
2400
2401         * config/i386/cygming.h (TARGET_SEH): New.
2402         (MAX_STACK_ALIGNMENT): New.  Disable alignment for SEH.
2403         (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
2404         TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
2405         (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
2406         (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
2407         (ASM_DECLARE_FUNCTION_SIZE): New.
2408         * config/i386/i386-protos.h: Update.
2409         * config/i386/i386.c (ix86_option_override_internal): Enable
2410         flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
2411         restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
2412         (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
2413         (ix86_compute_frame_layout): For SEH, disable
2414         use_fast_prologue_epilogue, move frame pointer to the end of
2415         the frame.  Initialize hfp_save_offset.
2416         (ix86_expand_prologue): Honor hfp_save_offset.  Emit blockage
2417         at end of prologue for SEH.
2418         (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
2419         emit blockage at beginning of epilogue.
2420         (ix86_expand_binary_operator): After reload, emit LEA if needed.
2421         (ix86_output_call_insn): New.
2422         * config/i386/i386.h (TARGET_SEH): New.
2423         (struct machine_function): Add member seh.
2424         * config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
2425         * config/i386/winnt.c (struct seh_frame_state): New.
2426         (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
2427         seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
2428         seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
2429         i386_pe_start_function, i386_pe_end_function): New.
2430
2431         * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
2432         as CFA_STORE in rules 12 and 13.
2433
2434 2010-10-31  Uros Bizjak  <ubizjak@gmail.com>
2435
2436         PR tree-optimization/46142
2437         * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
2438         accommodate third function argument.
2439
2440 2010-10-30  Nathan Froyd  <froydnj@codesourcery.com>
2441
2442         * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
2443
2444 2010-10-30  Nathan Froyd  <froydnj@codesourcery.com>
2445
2446         * fold-const.c (build_zero_vector): Use build_vector_from_val.
2447         * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
2448         (get_initial_def_for_reduction): Likewise.
2449         * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
2450         * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
2451         * tree.c (build_one_cst): Likewise.
2452         (build_vector_from_val): Use types_compatible_p for assert.
2453
2454 2010-10-30  Nathan Froyd  <froydnj@codesourcery.com>
2455
2456         * emit-rtl.c (mark_used_flags): New function.
2457         (set_used_flags, reset_used_flags): Call it.
2458
2459 2010-10-30  Uros Bizjak  <ubizjak@gmail.com>
2460
2461         PR middle-end/44569
2462         * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
2463         determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
2464
2465 2010-10-30  H.J. Lu  <hongjiu.lu@intel.com>
2466
2467         PR target/46195
2468         * config/i386/i386.c (contains_aligned_value_p): Renamed to ...
2469         (ix86_compat_aligned_value_p): This.
2470         (ix86_old_function_arg_boundary): Renamed to ...
2471         (ix86_compat_function_arg_boundary): This.  Updated.
2472         (ix86_contains_aligned_value_p): New.
2473         (ix86_function_arg_boundary): Align long double parameters on
2474         stack to 4byte in 32bit.
2475
2476 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2477
2478         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2479         * c-parser.c (c_parser_objc_at_property_declaration): Removed
2480         parsing of RID_COPIES and RID_IVAR.  Updated call to
2481         objc_add_property_declaration.
2482         * c-typecheck.c (build_component_ref): Call
2483         objc_maybe_build_component_ref instead of objc_build_setter_call.
2484         Use objc_is_property_ref to improve Objective-C checks.
2485         (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
2486         of objc_build_getter_call.
2487
2488 2010-10-29  Paul Koning  <ni1d@arrl.net>
2489
2490         * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
2491         REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
2492         REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
2493         (REG_OK_STRICT): Move description.
2494
2495 2010-10-29  Paul Koning  <ni1d@arrl.net>
2496
2497         * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
2498
2499 2010-10-29  Paul Koning  <ni1d@arrl.net>
2500
2501         * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
2502
2503 2010-10-29  Paul Koning  <ni1d@arrl.net>
2504
2505         PR/41822
2506         * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
2507
2508 2010-10-29  Richard Henderson  <rth@redhat.com>
2509
2510         PR rtl-opt/46226
2511         * stmt.c (expand_asm_operands): Call do_pending_stack_adjust
2512         for asm goto.
2513
2514 2010-10-29  Paul Koning  <ni1d@arrl.net>
2515
2516         * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
2517         register to register move.
2518
2519 2010-10-29  Paul Koning  <ni1d@arrl.net>
2520
2521         * config/pdp11/pdp11.c (print_operand_address): Correct handling
2522         of integer constant addresses, delete vax-only logic.
2523
2524 2010-10-11  Hariharan Sandanagobalane  <hariharan@picochip.com>
2525
2526         * config/picochip/picochip.c (picochip_is_short_branch): Simplify
2527         a conditional expression.
2528
2529 2010-10-29  Paul Koning  <ni1d@arrl.net>
2530
2531         * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
2532         instruction encoding.
2533
2534 2010-10-29  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
2535             Andrew Pinski  <pinskia@gmail.com>
2536
2537         * tree.h (build_vector_from_val): Declare.
2538         * tree.c (build_vector_from_val): New function.
2539         * c-typeck.c (build_binary_op): Handle vector shifting.
2540         * doc/extend.texi: Description of the vector shifting operation.
2541
2542 2010-10-29  Paul Koning  <pkoning@equallogic.com>
2543
2544         * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
2545         pdp11_secondary_memory_needed): Declare.
2546         * config/pdp11/predicates.md (float_operand): New predicate.
2547         * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
2548         (cbranchdf4, movdf): Change predicate.
2549         (movsf): Handle FPU register case.
2550         (truncdfsf2, extendsfdf2): Add FPU register case.
2551         * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
2552         TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
2553         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2554         (pdp11_register_move_cost): Update cost matrix.
2555         (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
2556         pdp11_preferred_output_reload_class, pdp11_secondary_reload,
2557         pdp11_secondary_memory_needed): New function.
2558         (pdp11_return_in_memory): Add other float types.
2559         * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
2560         (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
2561         (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
2562         REGISTER_MOVE_COST): Delete.
2563         (BASE_RETURN_VALUE_REG): Add other float types.
2564
2565 2010-10-29  Nick Clifton  <nickc@redhat.com>
2566
2567         * doc/invoke.texi: Document -mam34 and -mtune options.
2568         * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
2569         (mn10300_tune_cpu): New variable.
2570         (mn10300_handle_option): Handle -mam34 and -mtune options.
2571         (mn10300_option_override): Convert tune string into tune cpu variable.
2572         (mn10300_legitimate_constant_p): Delete unused local variable.
2573         (is_load_insn): New function.
2574         (is_store_insn): New function.
2575         (mn10300_adjust_schedule_cost): New function.
2576         (TARGET_SCHED_ADJUST_COST): Define.
2577         * config/mn10300/mn10300.opt (mam34): New option.
2578         (mtune): New option.
2579         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
2580         (enum processor_type): Add AM34.
2581         (TARGET_AM34): Define.
2582         * config/mn10300/mn10300.md (attr cpu): Add am34.
2583         Add pipeline description.
2584         (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
2585         Remove unneeded alternatives.  Add timing attribute.
2586         (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
2587         mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
2588         mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
2589         mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
2590         mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
2591         bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
2592         bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
2593         float_conditional_branch, jump, indirect_jump, tablejump,
2594         call_internal, call_value_internal, zero_extendqisi2_am33,
2595         zero_extendqisi2_mn10300, zero_extendhisi2_am33,
2596         zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
2597         extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
2598         mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
2599         mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
2600         addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
2601         fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
2602         return_internal_regs, store_movm, return, call_next_insn):
2603         Add timing attribute.
2604         (am33_subsi3): Add missing clobber of CC_REG.
2605         (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
2606         (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
2607         subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
2608         extendqisi2): Fix predicates.
2609         (call_internal, call_internal_value): Separate alternatives.
2610         * config/mn10300/t-mn10300: Add AM34 multilib.
2611
2612 2010-10-29  Paolo Bonzini  <bonzini@gnu.org>
2613
2614         * config/sh/sh.c (sh_promote_function_mode): Use
2615         default_promote_function_mode if !sh_promote_prototypes.
2616
2617 2010-10-28  Paolo Bonzini  <bonzini@gnu.org>
2618
2619         * recog.c (split_all_insns): Remove dead code.
2620
2621 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2622
2623         * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2624
2625 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2626
2627         * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
2628         (FUNCTION_ARG_ADVANCE): Delete.
2629         * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
2630         functions.
2631         (cris_function_incoming_arg, cris_function_arg_advance): New functions.
2632         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2633         (TARGET_FUNCTION_ARG_ADVANCE): Define.
2634
2635 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2636
2637         * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
2638         * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2639         * config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
2640         Take a const_tree and a bool.
2641         (mcore_function_arg_advance): New function.
2642         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2643
2644 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2645
2646         * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
2647         * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2648         * config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
2649         Take a const_tree and a bool.
2650         (mcore_function_arg_advance): New function.
2651         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2652
2653 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2654
2655         * config/h8300/h8300-protos.h (function_arg): Delete.
2656         * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2657         * config/h8300/h8300.c (function_arg): Rename to...
2658         (h8300_function_arg): ...this.  Make static.  Take a const_tree and
2659         a bool.
2660         (h8300_function_arg_advance): New function.
2661         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2662
2663 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2664
2665         * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
2666         to...
2667         * config/arc/arc.c (arc_function_arg): ...here and...
2668         (arc_function_arg_advance): ...here.  New functions.
2669         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2670
2671 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2672
2673         * config/crx/crx-protos.h (crx_function_arg): Delete.
2674         (crx_function_arg_advance): Delete.
2675         * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2676         * config/crx/crx.c (crx_function_arg): Make static.  Take a
2677         const_tree and a bool.
2678         (crx_function_arg_advance): Make static.  Take a const_tree and a bool.
2679         (enough_regs_for_param): Take a const_tree.
2680         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2681
2682 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2683
2684         * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
2685         (m68hc11_function_arg_advance): Delete.
2686         * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
2687         (FUNCTION_ARG_ADVANCE): Delete.
2688         * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
2689         Take a const_tree and a bool.
2690         (m68hc11_function_arg_advance): Likewise.
2691         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2692
2693 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2694
2695         * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
2696         (xstormy16_function_arg_advance): Delete.
2697         * config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
2698         (FUNCTION_ARG_ADVANCE): Delete.
2699         * config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
2700         Take a const_tree and a bool.
2701         (xstormy16_function_arg_advance): Likewise.  Return void, updating
2702         the CUM parameter instead.
2703         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2704
2705 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2706
2707         * config/moxie/moxie-protos.h (moxie_function_arg): Delete.
2708         * config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2709         (MOXIE_FUNCTION_ARG_SIZE): Move to...
2710         * config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
2711         (moxie_function_arg): Make static.  Take a const_tree and a bool.
2712         (moxie_function_arg_advance): New function.
2713         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2714
2715 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2716
2717         * config/mn10300/mn10300-protos.h (function_arg): Delete.
2718         * config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
2719         (FUNCTION_ARG_ADVANCE): Delete.
2720         * config/mn10300/mn10300.c (function_arg): Rename to...
2721         (mn10300_function_arg): ...this.  Make static.  Take a const_tree
2722         and a bool.
2723         (mn10300_function_arg_advance): New function.
2724         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2725
2726 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2727
2728         * config/iq2000/iq2000-protos.h (function_arg): Delete.
2729         (function_arg_advance): Delete.
2730         * config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2731         * config/iq2000/iq2000.c (function_arg): Rename to...
2732         (iq2000_function_arg): ...this.  Make static.  Take a const_tree and
2733         a bool.
2734         (function_arg_advance): Rename to...
2735         (iq2000_function_arg_advance): ...this.  Make static.  Take a
2736         const_tree and a bool.
2737         (iq2000_expand_prologue): Call iq2000_function_arg_advance and
2738         iq2000_function_arg.
2739         (iq2000_pass_by_reference): Call iq2000_function_arg).
2740         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2741
2742 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2743
2744         * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
2745         * config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2746         * config/fr30/fr30.c (fr30_num_arg_regs): Make static.  Take a
2747         const_tree.
2748         (fr30_function_arg): New function.
2749         (fr30_function_arg_advance): New function.
2750         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
2751
2752 2010-10-28  Nathan Froyd  <froydnj@codesourcery.com>
2753
2754         * config/frv/frv-protos.h (frv_function_arg): Delete.
2755         (frv_function_arg_advance): Delete.
2756         * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
2757         * config/frv/frv.c (frv_function_arg): Rename to...
2758         (frv_function_arg_1): Make static.  Take const_tree and bool arguments.
2759         (frv_function_arg, frv_function_incoming_arg): New functions.
2760         (frv_function_arg_advance): Make static.  Take a const_tree and a bool.
2761         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2762         (TARGET_FUNCTION_ARG_ADVANCE): Define.
2763
2764 2010-10-28  Uros Bizjak  <ubizjak@gmail.com>
2765
2766         PR target/46153
2767         * config/i386/sse.md (sse_movhlps_exp): Use destination
2768         returned from ix86_fixup_binary_operands to expand insn.
2769         (sse_movlhps_exp): Ditto.
2770         (sse_loadhps_exp): Ditto.
2771         (sse_loadlps_exp): Ditto.
2772         (sse2_loadhpd_exp): Ditto.
2773         (sse2_loadlpd_exp): Ditto.
2774
2775 2010-10-28  Andrew Stubbs  <ams@codesourcery.com>
2776
2777         * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
2778         constants in thumb2.
2779
2780 2010-10-28  Eric Botcazou  <ebotcazou@adacore.com>
2781
2782         * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
2783         arithmetics in masking operations.
2784         (contains_muldiv): Likewise.
2785         (try_combine): Likewise.
2786         (find_split_point): Likewise.
2787         (combine_simplify_rtx): Likewise.
2788         (simplify_if_then_else): Likewise.
2789         (simplify_set): Likewise.
2790         (expand_compound_operation): Likewise.
2791         (expand_field_assignment): Likewise.
2792         (make_extraction): Likewise.
2793         (extract_left_shift): Likewise.
2794         (make_compound_operation): Likewise.
2795         (force_to_mode): Likewise.
2796         (make_field_assignment): Likewise.
2797         (reg_nonzero_bits_for_combine): Likewise.
2798         (simplify_shift_const_1): Likewise.
2799         (simplify_comparison): Likewise.
2800
2801 2010-10-27  Nathan Froyd  <froydnj@codesourcery.com>
2802
2803         * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
2804         (ia64_function_arg_advance): Delete.
2805         * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
2806         (FUNCTION_ARG_ADVANCE): Delete.
2807         * config/ia64/ia64.c (ia64_function_arg): Rename to...
2808         (ia64_function_arg_1): ...this.  Make static.  Take const_tree and
2809         bool arguments.
2810         (ia64_function_arg, ia64_function_incoming_arg): New functions.
2811         (ia64_function_arg_advance): Make static.  Take a const_tree and
2812         a bool.
2813         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
2814         (TARGET_FUNCTION_ARG_ADVANCE): Define.
2815
2816 2010-10-27  Steve Ellcey  <sje@cup.hp.com>
2817
2818         * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
2819         (TARGET_GET_RAW_ARG_MODE): New.
2820         * doc/tm.texi: Regenerate.
2821         * target.def (get_raw_result_mode): New.
2822         (get_raw_arg_mode): New.
2823         * targhooks.c (default_get_reg_raw_mode): New.
2824         * targhooks.h (default_get_reg_raw_mode): New.
2825         * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
2826         (apply_result_size): Ditto.
2827         * config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
2828         (TARGET_GET_RAW_RESULT_MODE): Define.
2829         (TARGET_GET_RAW_ARG_MODE): Ditto.
2830
2831 2010-10-27  Eric Botcazou  <ebotcazou@adacore.com>
2832
2833         * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
2834         for newer Solaris 10 release.
2835         (sparc_fallback_frame_state): Likewise.
2836
2837 2010-10-27  Jason Merrill  <jason@redhat.com>
2838
2839         * gimplify.c (gimplify_decl_expr): Handle anonymous artificial
2840         variables sooner.
2841
2842 2010-10-27  Jie Zhang  <jie@codesourcery.com>
2843             Maxim Kuvyrkov  <maxim@codesourcery.com>
2844
2845         * haifa-sched.c (ISSUE_POINTS): Remove.
2846         (max_issue): Don't issue more than issue_rate instructions.
2847
2848 2010-10-27  Ian Lance Taylor  <iant@google.com>
2849
2850         PR target/46197
2851         * config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
2852         (split_stack_return): Replace UNSPEC_STACK_CHECK with
2853         UNSPECV_SPLIT_STACK_RETURN.
2854
2855 2010-10-27  H.J. Lu  <hongjiu.lu@intel.com>
2856
2857         * config/i386/i386-protos.h (init_cumulative_args): Add an int.
2858
2859         * config/i386/i386.c (block_info): New.
2860         (BLOCK_INFO): Likewise.
2861         (call_avx256_state): Likewise.
2862         (check_avx256_stores): Likewise.
2863         (move_or_delete_vzeroupper_2): Likewise.
2864         (move_or_delete_vzeroupper_1): Likewise.
2865         (move_or_delete_vzeroupper): Likewise.
2866         (use_avx256_p): Likewise.
2867         (function_pass_avx256_p): Likewise.
2868         (flag_opts): Add -mvzeroupper.
2869         (ix86_option_override_internal): Turn on MASK_VZEROUPPER by
2870         default for TARGET_AVX.  Turn off MASK_VZEROUPPER if TARGET_AVX
2871         is disabled.
2872         (ix86_function_ok_for_sibcall): Disable sibcall if we need to
2873         generate vzeroupper.
2874         (init_cumulative_args): Add an int to indicate caller.  Set
2875         use_avx256_p, callee_return_avx256_p and caller_use_avx256_p
2876         based on return type.
2877         (ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and
2878         caller_pass_avx256_p based on argument type.
2879         (ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register
2880         is used, but not returned by caller.
2881         (ix86_expand_call): Emit vzeroupper if 256bit AVX register is used.
2882         (ix86_local_alignment): Set use_avx256_p if 256bit AVX register
2883         is used.
2884         (ix86_minimum_alignment): Likewise.
2885         (ix86_expand_special_args_builtin): Set target to
2886         GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper.
2887         (ix86_reorg): Run the vzeroupper optimization if needed.
2888
2889         * config/i386/i386.h (ix86_args): Add caller.
2890         (INIT_CUMULATIVE_ARGS): Updated.
2891         (machine_function): Add use_vzeroupper_p, use_avx256_p,
2892         caller_pass_avx256_p, caller_return_avx256_p,
2893         callee_pass_avx256_p and callee_return_avx256_p.
2894
2895         * config/i386/i386.opt (-mvzeroupper): New.
2896
2897         * config/i386/predicates.md (vzeroupper_operation): Removed.
2898
2899         * config/i386/sse.md (avx_vzeroupper): Removed.
2900         (*avx_vzeroupper): Removed.
2901         (avx_vzeroupper): New.
2902
2903         * doc/invoke.texi: Document -mvzeroupper.
2904
2905 2010-10-27  Eric Botcazou  <ebotcazou@adacore.com>
2906
2907         * config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
2908         * config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
2909         * config/i386/t-mingw-w64 (SHLIB_LC): Likewise.
2910
2911 2010-10-27  Eric Botcazou  <ebotcazou@adacore.com>
2912             Olivier Hainque  <hainque@adacore.com>
2913
2914         * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
2915         of EBP.  Do not restore reg #9.  Remove +1 adjustment to EIP and set
2916         fs->signal_frame instead.
2917
2918 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2919
2920         * c-parser.c (cp_parser_objc_at_property_declaration): Removed
2921         parsing of RID_COPIES and RID_IVAR.
2922
2923 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2924
2925         * c-parser.c (c_parser_objc_at_property_declaration): Recognize
2926         RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
2927         Do not use objc_set_property_attr, but use local variables
2928         instead.  Detect repeated usage of setter, getter and ivar
2929         attributes.  Improved error processing when a setter name does not
2930         end in ':'.  Do not check for CPP_CLOSE_PAREN after we determined
2931         that the token is a keyword.  Updated call to
2932         objc_add_property_declaration.
2933
2934 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
2935
2936         * c-parser.c (c_parser_objc_at_property): Renamed to
2937         c_parser_objc_at_property_declaration.  Updated calls to
2938         objc_add_property_variable, now objc_add_property_declaration.
2939         Code rewritten to be much more robust in recovering from syntax
2940         errors.  Added comments.
2941         (c_parser_objc_property_attrlist): Removed.
2942         (c_parser_external_declaration): Updated calls to
2943         c_parser_objc_at_property, now
2944         c_parser_objc_at_property_declaration.
2945         (c_parser_objc_methodprotolist): Same change.
2946
2947 2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>
2948
2949         * config/i386/i386.md (split_stack_return): Put back unspec_volatile.
2950
2951 2010-10-26  Jan Hubicka  <jh@suse.cz>
2952
2953         * ipa.c (process_references): Enqueue all referenced nodes;
2954         mark as reachable only non-external nodes.
2955         (cgraph_remove_unreachable_nodes): All referenced nodes should
2956         be enqueued; remove bogues node->needed check.
2957
2958 2010-10-26  Jan Hubicka  <jh@suse.cz>
2959
2960         * cgraphbuild.c (build_cgraph_edges): Use ipa-reference
2961         to represent OMP.
2962
2963 2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>
2964
2965         * config/i386/i386.md (split_stack_return): Replace
2966         unspec_volatile with unspec.
2967
2968 2010-10-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2969
2970         * doc/install.texi: Fix typo in --with-sysroot description.
2971
2972 2010-10-26  Jan Hubicka  <jh@suse.cz>
2973
2974         * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
2975         Use info provided by linker plugin.
2976
2977 2010-10-26  Jason Merrill  <jason@redhat.com>
2978
2979         * varasm.c (constructor_static_from_elts_p): Don't require a
2980         CONSTRUCTOR to have elements to be suitable for static
2981         initialization.  Allow ARRAY_TYPE as well.
2982
2983 2010-10-26  Jan Hubicka  <jh@suse.cz>
2984
2985         PR middle-end/45736
2986         * cgraph.c (cgraph_set_readonly_flag): Rename to...
2987         (cgraph_set_const_flags) ... this one; get also looping argument;
2988         clear constructor/destructor flags.
2989         (cgraph_set_pure_flag): Likewise.
2990         (cgraph_set_looping_const_or_pure_flag): Remove.
2991         (cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
2992         to optimize away static ctors/dtors; it does not work on inline clones;
2993         external functions can always be rmeoved.
2994         (cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on
2995         inline clones; in LTO external functions always can go.
2996         (cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
2997         (cgraph_mark_address_taken_node): Assert that we are not taking
2998         address of inline clone.
2999         (cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
3000         external functions.
3001         * ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with
3002         address taken.
3003         (ipcp_initialize_node_lattices): Only local functions can be
3004         handled without cloning.
3005         * cgraph.h (cgraph_set_readonly_flag,
3006         cgraph_set_looping_const_or_pure_flag): Remove.
3007         (cgraph_set_const_flag): Declare.
3008         (cgraph_set_pure_flag): Update.
3009         * ipa-pure-const (propagate_pure_const, local_pure_const): Update
3010         flags setting code.
3011         * ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not
3012         look at inline clones; fix handling of external definitions.
3013         (cgraph_postorder): Do not look at inline clones in the first pass.
3014         (function_and_variable_visibility): Drop constructors/destructor
3015         flags at pure and const functions.
3016         * tree-profile.c (tree_profiling): Update.
3017         * ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
3018         address taken; external functions do not account to whole program size.
3019         (cgraph_decide_inlining): Likewise; do not try to inline
3020         functions already inlined.
3021
3022 2010-10-26  Jie Zhang  <jie@codesourcery.com>
3023
3024         * doc/invoke.texi: Improve documentation of
3025         -fstrict-volatile-bitfields.
3026
3027 2010-10-26  Ira Rosen  <irar@il.ibm.com>
3028
3029         PR tree-optimization/46167
3030         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
3031         is basic block for the statement.
3032
3033 2010-10-26  Paul Koning  <ni1d@arrl.net>
3034
3035         * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
3036         current definition of struct_real_format.
3037
3038 2010-10-26  H.J. Lu  <hongjiu.lu@intel.com>
3039
3040         PR target/44948
3041         * config/i386/i386.c (ix86_old_function_arg_boundary): New.
3042         (ix86_function_arg_boundary): Always align parameters on stack
3043         in 64bit and align parameters with alignment >= 16byte on stack
3044         in 32bit.  Warn alignment change.
3045
3046 2010-10-26  Ian Lance Taylor  <iant@google.com>
3047
3048         PR middle-end/45687
3049         * ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
3050         offset.
3051
3052 2010-10-25  Rodrigo Rivas Costa  <rodrigorivascosta@gmail.com>
3053
3054         Implement opaque-enum-specifiesr for C++0x
3055         * tree.h (ENUM_IS_OPAQUE): New.
3056         * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
3057
3058 2010-10-26  Jie Zhang  <jie@codesourcery.com>
3059
3060         * stor-layout.c (layout_decl): Use the field's type to
3061         determine the mode and keep DECL_BIT_FIELD for a volatile bit-field.
3062         * config/arm/arm.c (arm_override_options): Default to
3063         -fstrict-volatile-bitfields.
3064
3065 2010-10-25  Paul Koning  <ni1d@arrl.net>
3066
3067         * config/pdp11/pdp11.md: Add define_constants for register
3068         numbers, branch offset limits.
3069         * config/pdp11/pdp11.c: Use named constants instead of numbers.
3070         * config/pdp11.pdp11.h: Ditto.
3071
3072 2010-10-25  Eric Botcazou  <ebotcazou@adacore.com>
3073
3074         * configure.ac: Use $cpu_type instead of $target to define the nop.
3075         * configure: Regenerate.
3076
3077 2010-10-25  Jie Zhang  <jie@codesourcery.com>
3078
3079         * combine.c (try_combine): If insns need to be kept around, check that
3080         they can be copied in the merged instruction.
3081
3082 2010-10-24  Eric Botcazou  <ebotcazou@adacore.com>
3083
3084         * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
3085         has been modified.
3086         (convert_regs_2): Likewise.  Adjust calls to convert_regs_1.
3087         (convert_regs): Adjust calls to convert_regs_2.  Clean up the CFG if
3088         it has been modified.
3089
3090 2010-10-24  Eric Botcazou  <ebotcazou@adacore.com>
3091
3092         * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
3093
3094 2010-10-24  Paul Koning  <ni1d@arrl.net>
3095
3096         * config/pdp11/pdp11.md: Change length attribute to be in bytes.
3097         * config/pdp11/pdp11.c (output_jump): Ditto.
3098
3099 2010-10-24  Ian Lance Taylor  <iant@google.com>
3100
3101         * config/i386/i386.c (ix86_va_start): Remove extraneous blank line.
3102
3103 2010-10-24  Eric Botcazou  <ebotcazou@adacore.com>
3104
3105         * cfglayout.c (fixup_reorder_chain): When ensuring that there is at
3106         least one insn with a locus corresponding to an edge's goto_locus,
3107         disregard non-fallthru edges to the exit block and merge the blocks
3108         created for the same goto_locus.
3109
3110 2010-10-23  Joseph Myers  <joseph@codesourcery.com>
3111
3112         * gcc.c (n_switches_alloc_debug_check): New.
3113         (set_option_handlers): New.
3114         (process_command): Use set_option_handlers.
3115         (do_self_spec): Pass spec-generated options through option handlers.
3116         (main): Also save and restore n_switches_alloc when swapping
3117         switch arrays.
3118
3119 2010-10-23  Richard Henderson  <rth@redhat.com>
3120
3121         PR target/46144
3122         * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
3123         (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
3124         Honor matching operands when splitting to XOR.
3125
3126 2010-10-23  Ian Lance Taylor  <iant@google.com>
3127
3128         * tree-vrp.c (extract_range_from_binary_expr): If
3129         flag_non_call_exceptions don't eliminate division by zero.
3130         * simplify-rtx.c (simplify_binary_operation_1): Likewise.
3131
3132 2010-10-23  Nathan Froyd  <froydnj@codesourcery.com>
3133
3134         * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
3135         __BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
3136         __ORDER_PDP_ENDIAN__.
3137         * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3138         (struct DWstruct): Define based on __BYTE_ORDER__.
3139         * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3140         (struct INTstruct): Define based on __BYTE_ORDER__.
3141         * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3142         (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
3143         * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
3144         * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3145         * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3146         * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3147         * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3148         * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3149         * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3150         * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3151         * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3152         * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3153         * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3154         * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3155         * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3156         * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3157         * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3158         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3159         * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
3160         * doc/tm.texi: Regenerate.
3161         * doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
3162         (__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
3163
3164 2010-10-23  Jie Zhang  <jie@codesourcery.com>
3165
3166         PR rtl-optimization/37360
3167         * config/mips/mips.c (cached_can_issue_more): New local variable.
3168         (mips_sched_reorder_1): New.
3169         (mips_sched_reorder): Use mips_sched_reorder_1.
3170         (mips_sched_reorder2): New.
3171         (mips_variable_issue): Set cached_can_issue_more.
3172         (TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
3173         instead of mips_sched_reorder.
3174
3175         Revert:
3176         2008-09-09  Andrey Belevantsev  <abel@ispras.ru>
3177         PR rtl-optimization/37360
3178         * haifa-sched.c (max_issue): Do not assert that we never issue more
3179         insns than issue_rate.  Add comment.
3180
3181 2010-10-22  Eric Botcazou  <ebotcazou@adacore.com>
3182
3183         * gimplify.c (gimplify_variable_sized_compare): Preserve the source
3184         location info of the expression.
3185
3186 2010-10-22  DJ Delorie  <dj@redhat.com>
3187
3188         * doc/extend.texi (Named Address Spaces): Document the M32C named
3189         address space.
3190
3191         * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
3192         __far address space.
3193         * config/m32c/m32c.h (ADDR_SPACE_FAR): New.  Add support for
3194         "__far" address space for R8C and M16C processor variants.
3195         * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
3196         (far_addr_space_p): New.
3197         (encode_pattern_1): Add sign and zero extend support.
3198         (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
3199         (m32c_extra_constraint_p2): Add SF constraint.
3200         (m32c_legitimate_address_p): Support __far addresses.
3201         (m32c_addr_space_pointer_mode): New.
3202         (m32c_addr_space_address_mode): New.
3203         (m32c_addr_space_legitimate_address_p): New.
3204         (m32c_addr_space_legitimize_address): New.
3205         (m32c_addr_space_subset_p): New.
3206         (m32c_addr_space_convert): New.
3207         (conversions): Add __far operand patterns.
3208         (m32c_prepare_move): Force constants into registers for __far moves.
3209         (m32c_split_move): __far moves are always split.
3210         * config/m32c/addsub.md (addsi3_1): Support SImode symbols.
3211         * config/m32c/mov.md (mov<mode>_far_op1): New.
3212         (mov<mode>_far_op2): New.
3213         (movqi_op): Add __far (SF) support.
3214         (movhi_op): Likewise.
3215         (movsi_splittable): Split A1A0 also.
3216
3217 2010-10-22  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
3218             Andrew Pinski  <pinskia@gmail.com>
3219
3220         * c-typeck.c (build_array_ref): Handle subscripting of vectors.
3221         * doc/extend.texi: New paragraph
3222
3223 2010-10-22  Paul Koning  <ni1d@arrl.net>
3224
3225         * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
3226
3227 2010-10-22  DJ Delorie  <dj@redhat.com>
3228
3229         * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
3230
3231 2010-10-22  Paul Koning  <ni1d@arrl.net>
3232
3233         * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
3234
3235 2010-10-22  Richard Henderson  <rth@redhat.com>
3236
3237         * config/i386/i386.c (ix86_builtin_vectorized_function): Add
3238         cases for __builtin_fma and __builtin_fmaf.
3239
3240 2010-10-22  Richard Henderson  <rth@redhat.com>
3241
3242         * config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce
3243         NEG+USE for vectors as well.
3244         * config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern
3245         and splitter.
3246
3247 2010-10-22  Joseph Myers  <joseph@codesourcery.com>
3248
3249         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
3250         SWITCH_CURTAILS_COMPILATION): Remove.
3251         * doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove documentation.
3252         * doc/tm.texi: Regenerate.
3253         * system.h (SWITCH_CURTAILS_COMPILATION): Poison.
3254
3255 2010-10-22  Changpeng Fang  <changpeng.fang@amd.com>
3256
3257         * config/i386/bdver1.md: New file.
3258         * config/i386/i386.md (include "bdver1.md"): Invoke the
3259         pipeline description for bdver1.
3260         (x86_sahf_1): Add "bdver1_decode" attribute.
3261         (*cmpfp_i_mixed): Likewise.
3262         (*cmpfp_i_sse): Likewise.
3263         (*cmpfp_i_i387): Likewise.
3264         (*cmpfp_iu_mixed): Likewise.
3265         (*cmpfp_iu_sse): Likewise.
3266         (*cmpfp_iu_387): Likewise.
3267         (*swap<mode>,*swap<mode>_1): Likewise.
3268         (fixuns_trunc<mode>hi2): Likewise.
3269         (fix_trunc<mode>si_sse): Likewise.
3270         (x86_fnstcw_1): Likewise.
3271         (x86_fldcw_1): Likewise.
3272         (*floatsi<mode>2_vector_mixed_with_temp): Likewise.
3273         (*floatsi<mode>2_vector_mixed): Likewise.
3274         (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
3275         (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
3276         (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
3277         (*floatsi<mode>2_vector_sse_with_temp): Likewise.
3278         (*floatsi<mode>2_vector_sse): Likewise.
3279         (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
3280         (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
3281         (*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
3282         (*mul<mode>3_1): Likewise.
3283         (*mulsi3_1_zext): Likewise.
3284         (*mulhi3_1): Likewise.
3285         (*mulqi3_1): Likewise.
3286         (*<u>mul<mode><dwi>3_1): Likewise.
3287         (*<u>mulqihi3_1): Likewise.
3288         (*<s>muldi3_highpart_1): Likewise.
3289         (*<s>mulsi3_highpart_1): Likewise.
3290         (*<s>mulsi3_highpart_zext): Likewise.
3291         (x86_64_shld): Likewise.
3292         (x86_shld): Likewise.
3293         (x86_64_shrd): Likewise.
3294         (x86_shrd): Likewise.
3295         (sqrtxf2): Likewise.
3296         (sqrt_extend<mode>xf2_i387): Likewise.
3297         (*sqrt<mode>2_sse): Likewise.
3298         * config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
3299         (sse_cvtsi2ssq): Likewise.
3300         (sse_cvtss2si): Likewise.
3301         (sse_cvtss2si_2): Likewise.
3302         (sse_cvtss2siq): Likewise.
3303         (sse_cvtss2siq_2): Likewise.
3304         (sse_cvttss2si): Likewise.
3305         (sse_cvttss2siq): Likewise.
3306         (sse2_cvtpi2pd): Likewise.
3307         (sse2_cvttpd2pi): Likewise.
3308         (sse2_cvtsi2sd): Likewise.
3309         (sse2_cvtsi2sdq): Likewise.
3310         (sse2_cvtsd2si): Likewise.
3311         (sse2_cvtsd2si_2): Likewise.
3312         (sse2_cvtsd2siq): Likewise.
3313         (sse2_cvtsd2siq_2): Likewise.
3314         (sse2_cvttsd2si): Likewise.
3315         (sse2_cvttsd2siq): Likewise.
3316         (*sse2_cvtpd2dq): Likewise.
3317         (*sse2_cvttpd2dq): Likewise.
3318         (sse2_cvtsd2ss): Likewise.
3319         (sse2_cvtss2sd): Likewise.
3320         (*sse2_cvtpd2ps): Likewise.
3321         (sse2_cvtps2pd): Likewise.
3322
3323 2010-10-22  Richard Guenther  <rguenther@suse.de>
3324
3325         PR middle-end/46137
3326         * gimple-fold.c (gimplify_and_update_call_from_tree): Properly
3327         remove the virtual operands if they are not needed.
3328
3329 2010-10-22  Changpeng Fang  <changpeng.fang@amd.com>
3330
3331         * config/i386/i386.c (processor_costs bdver1_cost): Update
3332         insn costs and architectural parameters for bdver1.
3333
3334 2010-10-22  Richard Guenther  <rguenther@suse.de>
3335
3336         * gimple.h (gimple_register_canonical_type): Declare.
3337         * gimple.c (gimple_canonical_types): New global hashtable.
3338         (struct gimple_type_leader_entry_s): New type.
3339         (gimple_type_leader): New global cache.
3340         (gimple_lookup_type_leader): New function.
3341         (gtc_visit): Query the proper cache.
3342         (gimple_types_compatible_p): Likewise.
3343         (gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
3344         (gimple_canonical_type_eq): New function.
3345         (gimple_register_canonical_type): Likewise.
3346         (print_gimple_types_stats): Adjust for gimple_canonical_types.
3347         (free_gimple_type_tables): Likewise.  Free gimple_type_leader.
3348         * tree-ssa.c (useless_type_conversion_p): Do not dispatch to
3349         gimple_types_compatible_p for LTO.
3350
3351 2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
3352
3353         PR target/46098
3354         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
3355         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
3356         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
3357         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
3358         (<sse>_movu<ssemodesuffix>): New expander.
3359         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
3360         (avx_movdqu<avxmodesuffix>): New expander.
3361         (*sse2_movdqu): Rename from sse2_movdqu.
3362         (sse2_movdqu): New expander.
3363
3364 2010-10-22  Richard Guenther  <rguenther@suse.de>
3365
3366         PR tree-optimization/45720
3367         * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
3368         Handle negative step.
3369         (vect_enhance_data_refs_alignment): Likewise.
3370         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
3371         (vect_create_cond_for_align_checks): Likewise.
3372         (vect_create_cond_for_alias_checks): Likewise.
3373
3374 2010-10-22  Ira Rosen  <irar@il.ibm.com>
3375
3376         PR tree-optimization/46126
3377         * tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
3378         vectorizable_shift in case of basic block vectorization.
3379
3380 2010-10-22  Joseph Myers  <joseph@codesourcery.com>
3381
3382         * target.h (enum opt_levels, struct default_options): New.
3383         * target.def (handle_ofast): Remove hook.
3384         (target_option.optimization): Change to
3385         target_option.optimization_table.
3386         * doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
3387         TARGET_OPTION_OPTIMIZATION_TABLE.
3388         (CAN_DEBUG_WITHOUT_FP): Remove.
3389         * doc/tm.texi: Regenerate.
3390         * opts.c (maybe_default_option, maybe_default_options,
3391         default_options_table): New.
3392         (default_options_optimization): Take extra parameters.  Don't
3393         assert that global_options and global_options_set are in use.  Use
3394         maybe_default_options.
3395         (decode_options): Pass extra parameters to
3396         default_options_optimization.
3397         * common.opt (falign-loops): Use value 0 with Var.
3398         (frerun-cse-after-loop, ftree-ter): Remove Init.
3399         * system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
3400         TARGET_OPTION_OPTIMIZATION): Remove.
3401         * targhooks.c (empty_optimization_table): New.
3402         * targhooks.h (empty_optimization_table): Declare.
3403         * toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
3404         * config/alpha/alpha.c (alpha_option_optimization_table,
3405         TARGET_OPTION_OPTIMIZATION_TABLE): New.
3406         * config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
3407         * config/arm/arm.c (arm_option_optimization: Change to
3408         arm_option_optimization_table.
3409         (TARGET_OPTION_OPTIMIZATION): Change to
3410         TARGET_OPTION_OPTIMIZATION_TABLE.
3411         * config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
3412         * config/avr/avr.c (avr_option_optimization_table,
3413         TARGET_OPTION_OPTIMIZATION_TABLE): New.
3414         * config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
3415         * config/cris/cris.c (cris_option_optimization): Change to
3416         cris_option_optimization_table.
3417         (TARGET_OPTION_OPTIMIZATION): Change to
3418         TARGET_OPTION_OPTIMIZATION_TABLE.
3419         * config/crx/crx.c (crx_option_optimization): Change to