OSDN Git Service

2011-02-28 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
2
3         PR debug/28047
4         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
5         (lookup_filename): Likewise.
6         * final.c (remap_debug_filename): Use filename_ncmp instead of
7         strncmp.
8
9 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
10             Jakub Jelinek  <jakub@redhat.com>
11
12         PR middle-end/47893
13         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
14         (assign_stack_local_1): Change last argument type to int.
15         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
16         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
17         don't record padding space into frame_space_list nor
18         use those areas.
19         (assign_stack_local): Adjust caller.
20         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
21         of assign_stack_local, pass 0 as last argument.
22         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
23         callers.
24
25 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
26
27         PR debug/47283
28         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
29         Use target address_mode and pointer_mode hooks instead of hardcoded
30         Pmode and ptr_mode.  Handle some simple cases of extending if
31         POINTERS_EXTEND_UNSIGNED < 0.
32         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
33         Call convert_debug_memory_address.
34         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
35         convert_debug_memory_address.
36
37         PR middle-end/46790
38         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
39         * configure: Regenerated.
40         * config.in: Regenerated.
41         * varasm.c (default_function_section): Return NULL
42         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit
43         section name.
44
45 2011-02-28  Martin Jambor  <mjambor@suse.cz>
46
47         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
48         the description to match the printed values.
49
50 2011-02-28  Richard Guenther  <rguenther@suse.de>
51
52         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
53         of the copied scope tree.
54
55 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56
57         * doc/extend.texi (Function Attributes): Avoid deeply (and
58         wrongly) nested tables.
59
60 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
61
62         PR middle-end/47903
63         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
64         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
65         r isn't op0 nor op1.
66
67 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
68
69         * config/avr/avr.md: Remove magic comment for emacs.
70
71 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
72
73         PR target/45261
74         * config/avr/avr.c (avr_option_override): Use error on bad options.
75         (avr_help): New function.
76         (TARGET_HELP): Define.
77
78 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
79
80         PR target/42240
81         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
82         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
83
84 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
85
86         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
87         (ARM Options): Ditto.
88         (i386 and x86-64 Options): Ditto.
89         (RX Options): Ditto.
90         (SPARC Options): Ditto.
91
92 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
93
94         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
95         FreeBSD 6 and later.  Generally use cpu generic.
96
97 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
98  
99         * doc/cpp.texi: Update copyright years.
100
101 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
102
103         PR target/46898
104         * config/lm32/lm32.md (ashrsi3): Added needed variable.
105
106 2011-02-25  Jon Beniston  <jon@beniston.com>
107
108         PR target/46898
109         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
110         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
111         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
112         (lm32_block_move_inline): Add type cast to remove warning.
113         (lm32_expand_prologue): Generate fp in a way compatible with
114         dwarf2out.
115         (gen_int_relational): Move declarations to start of function.
116
117 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
118
119         PR tree-optimization/45470
120         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
121         can throw internally only.
122         * tree-vect-stmts.c (vectorizable_call): Likewise.
123
124 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
125
126         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
127         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
128         * config/stormy16/stormy16-protos.h
129         (xstormy16_preferred_reload_class): Remove.
130         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
131         static. Change 'rclass' argument and return type to reg_class_t.
132         (TARGET_PREFERRED_RELOAD_CLASS,
133         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
134
135 2011-02-24  Richard Guenther  <rguenther@suse.de>
136
137         * lto-streamer-in.c (input_bb): Do not find referenced vars
138         in debug statements.
139
140 2011-02-23  Jason Merrill  <jason@redhat.com>
141
142         * common.opt (fabi-version): Document v5 and v6.
143
144 2011-02-23  Richard Guenther  <rguenther@suse.de>
145
146         PR tree-optimization/47849
147         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
148
149 2011-02-23  Jie Zhang  <jie@codesourcery.com>
150
151         * opts-common.c (decode_cmdline_option): Print empty string
152         argument as "" in decoded->orig_option_with_args_text.
153         * gcc.c (execute): Print empty string argument as ""
154         in the verbose output.
155         (do_spec_1): Keep empty string argument.
156
157 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
158
159         * config.gcc: Declare score-* and crx-* obsolete.
160
161 2011-02-23  Jie Zhang  <jie@codesourcery.com>
162
163         PR rtl-optimization/47763
164         * web.c (web_main): Ignore naked clobber when replacing register.
165
166 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
167
168         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
169         Remove.
170
171 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
172
173         PR doc/47848
174         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
175
176 2011-02-22  Mike Stump  <mikestump@comcast.net>
177
178         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
179         assembler.
180         * configure: Regenerate.
181
182 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
183
184         PR rtl-optimization/46002
185         * ira-color.c (update_copy_costs): Change class intersection
186         test to reg_class_contents[] test of 'hard_regno'.
187
188 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
189
190         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
191         than Driver option.
192         * config/hpux11.opt (mt): Likewise.
193         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
194         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
195         * config/vax/elf.opt (mno-asm-pic): Likewise.
196         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
197
198 2011-02-21  Mike Stump  <mikestump@comcast.net>
199
200         PR target/47822
201         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
202         tree so we can get save the type.
203         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
204         for CFString instead of trying to use past the end of the builtins.
205         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
206         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
207         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
208         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
209         Rename to darwin_builtin_cfstring.
210         (darwin_init_cfstring_builtins): Return the built type.
211
212 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
213
214         PR target/47840
215         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
216         (_mm256_insert_epi64): Use _mm_insert_epi64.
217
218 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
219
220         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
221         * config/stormy16/stormy16-protos.h
222         (xstormy16_mode_dependent_address_p): Remove.
223         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
224         Make static. Change return type to bool. Change argument type to
225         const_rtx. Remove dead code.
226         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
227
228 2011-02-21  Richard Guenther  <rguenther@suse.de>
229
230         PR lto/47820
231         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
232         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
233         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
234         TUs context.
235         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
236         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
237
238 2011-02-20  Richard Guenther  <rguenther@suse.de>
239
240         PR lto/47822
241         * tree.c (free_lang_data_in_decl): Clean builtins from
242         the TU decl BLOCK_VARS.
243
244 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
245
246         PR debug/47620
247         PR debug/47630
248         * haifa-sched.c (fix_tick_ready): Skip tick computation
249         for debug insns.
250
251 2011-02-19  Richard Guenther  <rguenther@suse.de>
252
253         PR lto/47647
254         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
255         Remove lazy BLOCK_VARS streaming.
256         (lto_input_ts_block_tree_pointers): Likewise.
257         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
258
259 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
260
261         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
262
263 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
264
265         * config/i386/biarch32.h, config/i386/mach.h,
266         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
267
268 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
269
270         PR target/47800
271         * config/i386/i386.md (peephole2 for shift and plus): Use
272         operands[1] original mode in the first insn.
273
274 2011-02-18  Mike Stump  <mikestump@comcast.net>
275
276         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
277
278 2011-02-18  Jan Hubicka  <jh@suse.cz>
279
280         PR middle-end/47788
281         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
282         to zero when the function is not inlinable at all.
283
284 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
285
286         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
287         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
288         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
289         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
290         * config/pa/t-pa64: Likewise.
291         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
292
293 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
294
295         PR driver/47787
296         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
297
298 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
299
300         PR target/47792
301         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
302
303 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
304
305         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
306         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
307         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
308         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
309         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
310         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
311         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
312         m32r_load_postinc_p, m32r_store_preinc_predec_p,
313         m32r_legitimate_address_p): New functions.
314         * config/m32r/constraints.md (constraint "S"): Don't use
315         STORE_PREINC_PREDEC_P.
316         (constraint "U"): Don't use LOAD_POSTINC_P.
317
318 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
319
320         PR rtl-optimization/46178
321         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
322         compute ira_hard_regno_cover_class[].
323
324 2011-02-18  Richard Guenther  <rguenther@suse.de>
325
326         PR lto/47798
327         * lto-streamer.h (lto_global_var_decls): Declare.
328         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
329         statics for global var processing.
330
331 2011-02-18  Richard Guenther  <rguenther@suse.de>
332
333         PR tree-optimization/47737
334         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
335         edge dominance check.
336
337 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
338
339         PR debug/47780
340         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
341         avoid invalid rtx sharing.
342
343 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
344
345         * doc/cpp.texi (Obsolete Features): Add background on the
346         origin of assertions.
347
348 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
349
350         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
351         objc_abi == 2.
352         * config/darwin.c (output_objc_section_asm_op): Added support for
353         ABI v1 and v2.
354         (is_objc_metadata): New.
355         (darwin_objc2_section): New.
356         (darwin_objc1_section): New.
357         (machopic_select_section): Added support for ABI v1 and v2.
358         (darwin_emit_objc_zeroed): New.
359         (darwin_output_aligned_bss): Detect objc metadata and treat it
360         appropriately.
361         (darwin_asm_output_aligned_decl_common): Same.
362         (darwin_asm_output_aligned_decl_local): Same.
363         * config/darwin-sections.def: Updated for ABI v1 and v2.
364         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
365         compiling Objective-C code for the NeXT runtime, default to using
366         ABI version 0 for 32-bit, and version 2 for 64-bit.
367
368 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
369
370         * common.opt (optimize_fast): New Variable.
371         * opts.c (default_options_optimization): Use opts->x_optimize_fast
372         instead of local variable ofast.
373
374 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
375
376         * doc/invoke.texi (fobjc-abi-version): Documented.
377         (fobjc-nilcheck): Documented.
378         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
379         version.
380
381 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
382
383         PR driver/47390
384         * common.opt (export-dynamic): New Driver option.
385         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
386
387 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
388
389         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
390
391 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
392             Jan Hubicka  <jh@suse.cz>
393
394         PR debug/47106
395         PR debug/47402
396         * cfgexpand.c (account_used_vars_for_block): Remove.
397         (estimated_stack_frame_size): Use referenced vars.
398         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
399         that were referenced in the original function.  Test src_fn
400         rather than cfun.  Drop redundant get_var_ann.
401         (setup_one_parameter): Drop redundant get_var_ann.
402         (declare_return_variable): Likewise.
403         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
404         (copy_arguments_for_versioning): Drop redundant get_var_ann.
405         * ipa-inline.c (compute_inline_parameters): Do not compute
406         disregard_inline_limits here.
407         (compute_inlinable_for_current, pass_inlinable): New.
408         (pass_inline_parameters): Require PROP_referenced_vars.
409         * cgraphunit.c (cgraph_process_new_functions): Don't run
410         compute_inline_parameters explicitly unless function is in SSA form.
411         (cgraph_analyze_function): Set .disregard_inline_limits.
412         * tree-sra.c (convert_callers): Compute inliner parameters
413         only for functions already in SSA form.
414
415 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
416
417         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
418         -mlittle-endian-data.
419
420 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
421
422         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
423         -mno-fpu, not -fpu and -no-fpu.
424         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
425         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
426
427 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
428
429         PR target/43653
430         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
431         input reload with PLUS RTX.
432
433 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
434
435         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
436         of InverseVar(MDMX).
437
438 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
439
440         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
441         --m4-340.
442
443 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
444
445         * config/mn10300/mn10300.opt (mno-crt0): New.
446
447 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
448
449         * config/m68k/uclinux.opt (static-libc): New Driver option.
450
451 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
452
453         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
454
455 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
456
457         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
458         %{muser-extend-enabled}.
459
460 2011-02-16  Richard Guenther  <rguenther@suse.de>
461
462         PR tree-optimization/47738
463         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
464         the TODO from tree_predictive_commoning.
465
466 2011-02-15  Jeff Law  <law@redhat.com>
467
468         Revert
469         2011-01-25  Jeff Law  <law@redhat.com>
470
471         PR rtl-optimization/37273
472         * ira-costs.c (scan_one_insn): Detect constants living in memory and
473         handle them like argument loads from stack slots.  Do not double
474         count memory for memory constants and argument loads from stack slots.
475
476 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
477
478         PR middle-end/47725
479         * combine.c (cant_combine_insn_p): Revert the last change.
480
481 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
482
483         PR target/47755
484         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
485         mode for vector constants.  Remove code that checks for TImode.
486
487 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
488
489         PR debug/47106
490         PR debug/47402
491         * cgraph.h (compute_inline_parameters): Return void.
492         * ipa-inline.c (compute_inline_parameters): Adjust.
493
494 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
495
496         PR debug/47106
497         PR debug/47402
498         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
499         rather than decl.
500         * cfgexpand.c (estimated_stack_frame_size): Likewise.
501         * ipa-inline.c (compute_inline_parameters): Adjust.
502
503 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
504
505         PR debug/47106
506         PR debug/47402
507         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
508         Adjust all users.  Pass FN to...
509         * tree-flow-inline.h (first_referenced_var): ... this.  Add
510         fn argument.
511         * ipa-struct-reorg.c: Adjust.
512         * tree-dfa.c: Adjust.
513         * tree-into-ssa.c: Adjust.
514         * tree-sra.c: Adjust.
515         * tree-ssa-alias.c: Adjust.
516         * tree-ssa-live.c: Adjust.
517         * tree-ssa.c: Adjust.
518         * tree-ssanames.c: Adjust.
519         * tree-tailcall.c: Adjust.
520
521 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
522
523         PR debug/47106
524         PR debug/47402
525         * tree-flow.h (referenced_var_lookup): Add fn parameter.
526         Adjust all callers.
527         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
528         * tree-flow-inline.h: Adjust.
529         * gimple-pretty-print.c: Adjust.
530         * tree-into-ssa.c: Adjust.
531         * tree-ssa.c: Adjust.
532         * cfgexpand.c: Adjust.
533
534 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
535
536         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
537         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
538         (EXTRA_CONSTRAINT): Delete.
539         * config/iq2000/constraints.md: New file.
540         * config/iq2000/iq2000.md: Include it.
541         (define_insn ""): Delete.
542         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
543         unsupported constraint letters from patterns.
544         (call_value, call_value_internal1): Likewise.
545         (call_value_multiple_internal1): Likewise.
546
547 2011-02-15  Nick Clifton  <nickc@redhat.com>
548
549         * config/mn10300/mn10300.c: Include tm-constrs.h.
550         (struct liw_data): New data structure describing an LIW candidate
551         instruction.
552         (extract_bundle): Use struct liw_data.  Allow small integer
553         operands for some instructions.
554         (check_liw_constraints): Use struct liw_data.  Remove swapped
555         parameter.  Add comments describing the checks.  Fix bug when
556         assigning the source of liw1 to the source of liw2.
557         (liw_candidate): Delete.  Code moved into extract_bundle.
558         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
559         before swapping.
560         * config/mn10300/predicates.md (liw_operand): New predicate.
561         Allows registers and small integer constants.
562         * config/mn10300/constraints.md (O): New constraint.  Accetps
563         integers in the range -8 to +7 inclusive.
564         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
565         for moving a small integer into a register.  Give this alternative
566         LIW attributes.
567         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
568         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
569         using the J,K,L and M constraints,
570         (liw): Remove SI mode on second operands to allow for HI and QI
571         mode values.
572         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
573         instruction.
574
575 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
576
577         PR middle-end/47725
578         * combine.c (cant_combine_insn_p): Check zero/sign extended
579         hard registers.
580
581 2011-02-15  Richard Guenther  <rguenther@suse.de>
582
583         PR tree-optimization/47743
584         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
585         for a non-type-compatible VN lookup bail out.
586
587 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
588
589         * config/fr30/constraints.md: New file.
590         * config/fr30/fr30.md: Include it.
591         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
592         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
593         (EXTRA_CONSTRAINT): Delete.
594
595 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
596
597         * config/frv/constraints.md: New file.
598         * config/frv/predicates.md: Include it.
599         * config/frv/frv.c (reg_class_from_letter): Delete.
600         (frv_option_override): Don't initialize it.
601         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
602         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
603         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
604         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
605         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
606         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
607         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
608         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
609         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
610         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
611         (REG_CLASS_FROM_CONSTRAINT): Delete.
612
613 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
614
615         PR middle-end/47581
616         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
617         if frame size is 0 in a leaf function.
618
619 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
620
621         PR pch/14940
622         * config/alpha/host-osf.c: New file.
623         * config/alpha/x-osf: New file.
624         * config.host (alpha*-dec-osf*): Use it.
625
626 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
627
628         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
629         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
630         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
631         (rx_mode_dependent_address_p): ...this. Make static. Change argument
632         type to const_rtx.
633         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
634
635 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
636
637         * config/stormy16/constraints.md: New file.
638         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
639         Use satisfies_constraint_Q and satisfies_constraint_R.
640         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
641         Delete.
642         (xstormy16_legitiamte_address_p): Declare.
643         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
644         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
645         (EXTRA_CONSTRAINT): Delete.
646         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
647         Un-staticize.
648         (xstormy16_extra_constraint_p): Delete.
649
650 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
651
652         PR tree-optimization/46494
653         * loop-unroll.c (split_edge_and_insert): Adjust comment.
654         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
655         (pass_rtl_loop_done): Add TODO_verify_flow.
656         * fwprop.c (pass_rtl_fwprop): Likewise.
657         * modulo-sched.c (pass_sms): Likewise.
658         * tree-ssa-dom.c (pass_dominator): Likewise.
659         * tree-ssa-loop-ch.c (pass_ch): Likewise.
660         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
661         (pass_tree_loop_done): Likewise.
662         * tree-ssa-pre.c (execute_pre): Likewise.
663         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
664         * tree-ssa-sink.c (pass_sink_code): Likewise.
665         * tree-vrp.c (pass_vrp): Likewise.
666
667 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
668
669         * config/v850/constraints.md: New file.
670         * config/v850/v850.md: Include it.
671         * config/v850/predicates.md (reg_or_0_operand): Use
672         satisfies_constraint_G.
673         (special_symbolref_operand): Use satisfies_constraint_K.
674         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
675         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
676         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
677         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
678         (EXTRA_CONSTRAINT): Delete.
679         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
680         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
681         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
682
683 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
684
685         PR target/47696
686         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
687         description.
688
689 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
690
691         * config/mcore/constraints.md: New file.
692         * config/mcore/mcore.md: Include it.
693         * config/mcore/mcore.c (reg_class_from_letter): Delete.
694         * config/mcore/mcore.h (reg_class_from_letter): Delete.
695         (REG_CLASS_FROM_LETTER): Delete.
696         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
697         insn_const_int_ok_for_constraint.
698         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
699         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
700         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
701         (EXTRA_CONSTRAINT): Delete.
702
703 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
704
705         PR ada/41929
706         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
707         (IS_SIGHANDLER): Define.
708         (sparc64_is_sighandler): New function, split off from
709         sparc64_fallback_frame_state.
710         (sparc_is_sighandler): New function, split off from
711         sparc_fallback_frame_state.
712         (sparc64_fallback_frame_state): Merge with ...
713         (sparc_fallback_frame_state): ... this into ...
714         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
715         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
716         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
717         stack instead of hardcoded offsets.
718
719 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
720
721         * go/gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
722
723 2011-02-14  Andriy Gapon  <avg@freebsd.org>
724
725         PR target/45808
726         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
727
728 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
729
730         * configure: Regenerate.
731
732 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
733
734         PR driver/45731
735         * gcc.c (asm_options): Correct spec matching --target-help.
736
737 2011-02-12  Martin Jambor  <mjambor@suse.cz>
738
739         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
740         to gimple call error.
741
742 2011-02-12  Mike Stump  <mikestump@comcast.net>
743
744         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
745         comments in backslash regions.
746
747 2011-02-12  Mike Stump  <mikestump@comcast.net>
748             Jakub Jelinek  <jakub@redhat.com>
749             Iain Sandoe  <iains@gcc.gnu.org>
750
751         PR target/47324
752         * dwarf2out.c (output_cfa_loc): When required, apply the
753         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
754         (output_loc_sequence): Likewise.
755         (output_loc_operands_raw): Likewise.
756         (output_loc_sequence_raw): Likewise.
757         (output_cfa_loc): Likewise.
758         (output_loc_list): Suppress register number adjustment when
759         calling output_loc_sequence()
760         (output_die): Likewise.
761
762 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
763
764         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
765         Remove macros.
766         * config/xtensa/xtensa.c (xtensa_register_move_cost,
767         xtensa_memory_move_cost): New functions.
768         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
769
770 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
771
772         PR lto/47225
773         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
774         in the current directory.
775         * configure: Rebuilt.
776
777 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
778
779         * config/darwin.c (darwin_override_options): Add a hunk missed
780         from the commit of r168571.  Trim comment line lengths and
781         correct indents of the preceding block.
782
783 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
784
785         * gcc.c (driver_handle_option): Concatenate the argument to -F with
786         the switch.
787
788 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
789
790         * common.opt (nostartfiles): New Driver option.
791
792 2011-02-11  Xinliang David Li  <davidxl@google.com>
793
794         PR tree-optimization/47707
795         * tree-chrec.c (convert_affine_scev): Keep type precision.
796
797 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
798
799         PR tree-optimization/47420
800         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
801
802 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
803
804         PR rtl-optimization/47614
805         * rtl.h (check_for_inc_dec): Declare.
806         * dse.c (check_for_inc_dec): Externalize...
807         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
808         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
809
810 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
811
812         PR driver/47678
813         * gcc.c (main): Do not compile inputs if there were errors in
814         option handling.
815         * opts-common.c (read_cmdline_option): Check for wrong language
816         after other error checks.
817
818 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
819
820         * cgraph.c: Fix comment typos.
821         * cgraph.h: Likewise.
822         * cgraphunit.c: Likewise.
823         * ipa-cp.c: Likewise.
824         * ipa-inline.c: Likewise.
825         * ipa-prop.c: Likewise.
826         * ipa-pure-const.c: Likewise.
827         * ipa-ref.c: Likewise.
828         * ipa-reference.c: Likewise.
829
830 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
831
832         PR debug/47684
833         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
834
835 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
836
837         PR testsuite/47400
838         * doc/sourcebuild.texi (Require Support): Document
839         dg-require-ascii-locale.
840
841 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
842
843         * doc/lto.texi (Write summary): Fix missing parentheses.
844
845 2011-02-10  DJ Delorie  <dj@redhat.com>
846
847         * config/m32c/m32c.c (m32c_option_override): Disable
848         -fcombine-stack-adjustments until flag value tracking and compare
849         optimization can be rewritten.
850
851 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
852
853         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
854         PROCESSOR_POWER7.
855         (PROCESSOR_DEFAULT64): Likewise.
856
857 2011-02-10  Richard Henderson  <rth@redhat.com>
858
859         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
860         change from 2011-02-03.
861         * config/rx/rx.c (flags_from_code): Likewise.
862         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
863         is valid, n/pz otherwise.
864         (rx_select_cc_mode): Return CCmode if Y is not zero.
865
866 2011-02-10  Richard Guenther  <rguenther@suse.de>
867
868         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
869
870 2011-02-10  Richard Guenther  <rguenther@suse.de>
871
872         PR tree-optimization/47677
873         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
874
875 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
876
877         PR target/47665
878         * combine.c (make_compound_operation): Only change shifts into
879         multiplication for SCALAR_INT_MODE_P.
880
881 2011-02-10  Jie Zhang  <jie@codesourcery.com>
882
883         PR testsuite/47622
884         Revert
885         2011-02-05  Jie Zhang  <jie@codesourcery.com>
886         PR debug/42631
887         * web.c (entry_register): Don't clobber the number of the
888         first uninitialized reference in used[].
889
890 2011-02-09  Richard Guenther  <rguenther@suse.de>
891
892         PR tree-optimization/47664
893         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
894         all edges again.
895
896 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
897
898         PR target/46481
899         PR target/47032
900         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
901         PROCESSOR_POWER7.
902         (PROCESSOR_DEFAULT64): Same.
903         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
904
905 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
906
907         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
908
909 2011-02-09  Martin Jambor  <mjambor@suse.cz>
910
911         PR middle-end/45505
912         * tree-sra.c (struct access): New flags grp_scalar_read and
913         grp_scalar_write.  Changed description of assignment read and write
914         flags.
915         (dump_access): Dump new flags, reorder all of them.
916         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
917         to detect multiple scalar reads.
918         (analyze_access_subtree): Use the new scalar read write flags instead
919         of the old flags.  Adjusted comments.
920
921 2011-02-08  DJ Delorie  <dj@redhat.com>
922
923         PR target/47548
924         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
925         patterns.
926
927 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
928
929         * config/m68k/uclinux.opt: New.
930         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
931
932 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
933
934         * config/cris/elf.opt (sim): New Driver option.
935
936 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
937
938         * config/xtensa/elf.opt: New.
939         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
940
941 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
942
943         * config/vax/elf.opt: New.
944         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
945
946 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
947
948         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
949
950 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
951
952         * config/gnu-user.opt: New.
953         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
954         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
955         *-*-uclinux*): Use gnu-user.opt.
956
957 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
958
959         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
960         * config/i386/gnu.h (CPP_SPEC): Likewise.
961
962 2011-02-08  Ian Lance Taylor  <iant@google.com>
963
964         * common.opt (fcx-limited-range): Add SetByCombined flag.
965         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
966         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
967         (fassociative-math, freciprocal-math): Likewise.
968         (funsafe-math-optimizations): Likewise.
969         * opth-gen.awk: Handle SetByCombined.
970         * optc-gen.awk: Likewise.
971         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
972         (set_unsafe_math_optimizations_flags): Likewise.
973         * doc/options.texi (Option properties): Document SetByCombined.
974
975 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
976
977         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
978         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
979         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
980         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
981         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
982
983 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
984
985         PR tree-optimization/46834
986         PR tree-optimization/46994
987         PR tree-optimization/46995
988         * graphite-sese-to-poly.c (used_outside_reduction): New.
989         (detect_commutative_reduction): Call used_outside_reduction.
990         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
991         translate_scalar_reduction_to_array only when at least one
992         loop-phi/close-phi tuple has been detected.
993
994 2011-02-08  Richard Guenther  <rguenther@suse.de>
995
996         PR middle-end/47639
997         * tree-vect-generic.c (expand_vector_operations_1): Update
998         stmts here ...
999         (expand_vector_operations): ... not here.  Cleanup EH info
1000         and the CFG if required.
1001
1002 2011-02-08  Richard Guenther  <rguenther@suse.de>
1003
1004         PR tree-optimization/47641
1005         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
1006         require type compatibility.
1007
1008 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1009
1010         * gimple-low.c (lower_function_body): Don't remove the location of
1011         the return statement here.
1012         (lower_gimple_return): Do it here instead but only if the return
1013         statement is actually used twice.
1014
1015 2011-02-08  Richard Guenther  <rguenther@suse.de>
1016
1017         PR tree-optimization/47632
1018         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
1019         unused up_to_stmt parameter, return whether cfg-cleanup is
1020         necessary, remove EH info properly.
1021         (forward_propagate_into_gimple_cond): Adjust caller.
1022         (forward_propagate_into_cond): Likewise.
1023         (forward_propagate_comparison): Likewise.
1024         (tree_ssa_forward_propagate_single_use_vars): Make
1025         forward_propagate_comparison case similar to the two others.
1026
1027 2011-02-08  Nick Clifton  <nickc@redhat.com>
1028
1029         * config/mn10300/mn10300.opt (mliw): New command line option.
1030         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
1031         (liw_bundling): New automaton.
1032         (liw): New attribute.
1033         (liw_op): New attribute.
1034         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
1035         (movsi_internal): Add LIW attributes.
1036         (andsi3): Likewise.
1037         (iorsi3): Likewise.
1038         (xorsi3): Likewise.
1039         (addsi3): Separate register and immediate alternatives.
1040         Add LIW attributes.
1041         (subsi3): Likewise.
1042         (cmpsi): Likewise.
1043         (aslsi3): Likewise.
1044         (lshrsi3): Likewise.
1045         (ashrsi3): Likewise.
1046         (liw): New pattern.
1047         * config/mn10300/mn10300.c (liw_op_names): New
1048         (mn10300_print_operand): Handle 'W' operand descriptor.
1049         (extract_bundle): New function.
1050         (check_liw_constraints): New function.
1051         (liw_candidate): New function.
1052         (mn10300_bundle_liw): New function.
1053         (mn10300_reorg): New function.
1054         (TARGET_MACHINE_DEPENDENT_REORG): Define.
1055         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
1056         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
1057         __LIW__ or __NO_LIW__.
1058         * doc/invoke.texi: Describe the -mliw command line option.
1059
1060 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1061
1062         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
1063         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1064         pthread_mutex_unlock): Remove.
1065         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
1066         * config/pa/t-pa64: Likewise.
1067         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
1068         shared libc if not linking against libpthread.
1069         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1070
1071 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
1072
1073         PR target/47558
1074         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
1075         on 10.6 and later to ensure that we always use the unwinder from
1076         the system.  Only add -no_compact_unwind when tarteting darwin
1077         10.6 or later.
1078
1079 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
1080
1081         PR target/46997
1082         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
1083         (vec_interleave_lowv2sf): Ditto.
1084         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
1085         (vec_extract_oddv2sf): Ditto.
1086
1087 2011-02-07  Mike Stump  <mikestump@comcast.net>
1088
1089         PR target/42333
1090         Add __ieee_divdc3 entry point.
1091         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
1092         entry point.
1093         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
1094         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
1095         * config/darwin.c (darwin_rename_builtins): Add.
1096         * config/darwin-protos.h (darwin_rename_builtins): Add.
1097
1098 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
1099
1100         PR target/47636
1101         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
1102         for the condition.
1103
1104 2011-02-07  Mike Stump  <mikestump@comcast.net>
1105
1106         * config/darwin.opt (mmacosx-version-min): Update default OS version.
1107
1108 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
1109
1110         PR target/47534
1111         * config/avr/libgcc.S (exit): Move .endfunc
1112
1113 2011-02-07  Richard Guenther  <rguenther@suse.de>
1114
1115         PR tree-optimization/47615
1116         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
1117         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
1118         (run_scc_vn): Initialize it.
1119         (visit_reference_op_load): Use it.
1120         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
1121
1122 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1123
1124         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
1125         DImode trapping arithmetic libfuncs.
1126
1127 2011-02-07  Richard Guenther  <rguenther@suse.de>
1128
1129         PR tree-optimization/47621
1130         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
1131         two duplicates ...
1132         (execute_update_addresses_taken): ... here.  Make it more
1133         conservative in what we accept.
1134
1135 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
1136
1137         * config/sparc/freebsd.h (ASM_SPEC): Define.
1138         * config/sparc/vxworks.h (ASM_SPEC): Define.
1139
1140 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
1141
1142         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1143
1144 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
1145
1146         * doc/invoke.texi: Remove reference to compiler internals from
1147         user documentation.
1148
1149         * reg-notes.def: Remove REG_VALUE_PROFILE.
1150         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
1151
1152 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
1153
1154         PR middle-end/47610
1155         * varasm.c (default_section_type_flags): If decl is NULL,
1156         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
1157
1158 2011-02-05  Jie Zhang  <jie@codesourcery.com>
1159
1160         PR debug/42631
1161         * web.c (entry_register): Don't clobber the number of the
1162         first uninitialized reference in used[].
1163
1164 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
1165
1166         PR tree-optimization/46194
1167         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
1168         (build_classic_dist_vector_1): Do not represent classic distance
1169         vectors when the access functions are variating in different loops.
1170
1171 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1172
1173         * config/mips/iris6.opt: New.
1174         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
1175
1176 2011-02-04  Richard Henderson  <rth@redhat.com>
1177             Steve Ellcey  <sje@cup.hp.com>
1178
1179         PR target/46997
1180         * config/ia64/predicates.md (mux1_brcst_element): New.
1181         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
1182         * config/ia64/ia64.c (ia64_unpack_assemble): New.
1183         (ia64_unpack_sign): New.
1184         (ia64_expand_unpack): Rewrite using new routines.
1185         (ia64_expand_widen_sum): Ditto.
1186         (ia64_expand_dot_prod_v8qi): Ditto.
1187         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
1188         routines, add endian check.
1189         (pmpy2_even): Rename from pmpy2_r, add endian check.
1190         (pmpy2_odd): Rename from pmpy2_l, add endian check.
1191         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
1192         (vec_widen_smult_hi_v4hi): Ditto.
1193         (vec_widen_umult_lo_v4hi): Ditto.
1194         (vec_widen_umult_hi_v4hi): Ditto.
1195         (mulv2si3): Change endian checks.
1196         (sdot_prodv4hi): Rewrite with new calls.
1197         (udot_prodv4hi): New.
1198         (vec_pack_ssat_v4hi): Add endian check.
1199         (vec_pack_usat_v4hi): Ditto.
1200         (vec_pack_ssat_v2si): Ditto.
1201         (max1_even): Rename from max1_r, add endian check.
1202         (max1_odd): Rename from max1_l, add endian check.
1203         (*mux1_rev): Format change.
1204         (*mux1_mix): Ditto.
1205         (*mux1_shuf): Ditto.
1206         (*mux1_alt): Ditto.
1207         (*mux1_brcst_v8qi): Use new predicate.
1208         (vec_extract_evenv8qi): Remove endian check.
1209         (vec_extract_oddv8qi): Ditto.
1210         (vec_interleave_lowv4hi): Format change.
1211         (vec_interleave_highv4hi): Ditto.
1212         (mix2_even): Rename from mix2_r, add endian check.
1213         (mix2_odd): Rename from mux2_l, add endian check.
1214         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
1215         (vec_extract_evenodd_helper): Format change.
1216         (vec_extract_evenv4hi): Remove endian check.
1217         (vec_extract_oddv4hi): Remove endian check.
1218         (vec_interleave_lowv2si): Format change.
1219         (vec_interleave_highv2si): Format change.
1220         (vec_initv2si): Remove endian check.
1221         (vecinit_v2si): Add endian check.
1222         (reduc_splus_v2sf): Add endian check.
1223         (reduc_smax_v2sf): Ditto.
1224         (reduc_smin_v2sf): Ditto.
1225         (vec_initv2sf): Remove endian check.
1226         (fpack): Add endian check.
1227         (fswap): Add endian check.
1228         (vec_interleave_highv2sf): Add endian check.
1229         (vec_interleave_lowv2sf): Add endian check.
1230         (fmix_lr): Add endian check.
1231         (vec_setv2sf): Format change.
1232         (*vec_extractv2sf_0_be): Use shift to extract operand.
1233         (*vec_extractv2sf_1_be): New.
1234         (vec_pack_trunc_v4hi): Add endian check.
1235         (vec_pack_trunc_v2si): Format change.
1236
1237 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
1238
1239         PR inline-asm/23200
1240         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
1241         do bb, locus and block comparison and disallow loads if it is not set.
1242         (stmt_is_replaceable_p): New function.
1243         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
1244         callers.
1245         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
1246         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
1247         SSA_NAME_DEF_STMT.
1248         * tree-flow.h (stmt_is_replaceable_p): New prototype.
1249
1250 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1251
1252         * config/rs6000/xilinx.opt: New.
1253         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
1254
1255 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1256
1257         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
1258
1259 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
1260
1261         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
1262         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1263         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
1264         secondary_reload_info, xtensa_secondary_reload): Remove.
1265         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
1266         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1267         (xtensa_preferred_reload_class): Make static. Change return and
1268         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
1269         Use CONST_DOUBLE_P predicate.
1270         (xtensa_preferred_output_reload_class): New function.
1271         (xtensa_secondary_reload): Make static.
1272
1273 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
1274
1275         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
1276         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
1277         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
1278
1279 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1280
1281         PR middle-end/31490
1282         * output.h (SECTION_RELRO): Define.
1283         (SECTION_MACH_DEP): Adjust.
1284         (get_variable_section): New prototype.
1285         * varpool.c (varpool_finalize_named_section_flags): New function.
1286         (varpool_assemble_pending_decls): Call it.
1287         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
1288         * cgraphunit.c (cgraph_output_in_order): Call
1289         varpool_finalize_named_section_flags.
1290         * varasm.c (get_section): Allow section flags conflicts between
1291         relro and read-only sections if the section hasn't been declared yet.
1292         Set SECTION_OVERRIDE after diagnosing section type conflict.
1293         (get_variable_section): No longer static.
1294         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
1295         readonly sections that need relocations.
1296         (decl_readonly_section_1): New function.
1297         (decl_readonly_section): Use it.
1298
1299         Revert:
1300         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
1301                     Steve Ellcey  <sje@cup.hp.com>
1302
1303         PR middle-end/31490
1304         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
1305         if section attribute used.
1306
1307 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1308
1309         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
1310         * config/darwin.c (SECTION_NO_ANCHOR): Define.
1311         (darwin_init_sections): Remove assertion.
1312
1313 2011-02-03  Nick Clifton  <nickc@redhat.com>
1314
1315         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
1316         lt and ge.
1317         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
1318         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
1319         instead of "n" and "pz".
1320         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
1321         CC_FLAG_S.
1322
1323 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1324
1325         PR target/47312
1326         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
1327         fma, expand FMA_EXPR as fma{,f,l} call.
1328
1329         PR lto/47274
1330         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
1331         copy them into a unsigned char variable and pass address of it to
1332         lto_output_data_stream.
1333
1334         PR target/47564
1335         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
1336         around backend_init_target and lang_dependent_init_target calls.
1337         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
1338         (verify_cgraph_node): Don't call set_cfun here.  Use
1339         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
1340         Set error_found for incorrectly represented calls to thunks.
1341
1342 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1343
1344         PR debug/43092
1345         PR rtl-optimization/43494
1346         * rtl.h (for_each_inc_dec_fn): New type.
1347         (for_each_inc_dec): Declare.
1348         * rtlanal.c (struct for_each_inc_dec_ops): New type.
1349         (for_each_inc_dec_find_inc_dec): New fn.
1350         (for_each_inc_dec_find_mem): New fn.
1351         (for_each_inc_dec): New fn.
1352         * dse.c (struct insn_size): Remove.
1353         (replace_inc_dec, replace_inc_dec_mem): Remove.
1354         (emit_inc_dec_insn_before): New fn.
1355         (check_for_inc_dec): Use it, along with for_each_inc_dec.
1356         (canon_address): Pass mem modes to cselib_lookup.
1357         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
1358         (cselib_lookup_from_insn): Likewise.
1359         (cselib_subst_to_values): Likewise.
1360         * cselib.c (find_slot_memmode): New var.
1361         (cselib_find_slot): New fn.  Use it instead of
1362         htab_find_slot_with_hash everywhere.
1363         (entry_and_rtx_equal_p): Use find_slot_memmode.
1364         (autoinc_split): New fn.
1365         (rtx_equal_for_cselib_p): Rename and implement in terms of...
1366         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
1367         Deal with autoinc.  Special-case recursion into MEMs.
1368         (cselib_hash_rtx): Likewise.
1369         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
1370         address and MEM modes.
1371         (cselib_subst_to_values): Add memmode, pass it on.
1372         Deal with autoinc.
1373         (cselib_lookup): Add memmode argument, pass it on.
1374         (cselib_lookup_from_insn): Add memmode.
1375         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
1376         (struct cselib_record_autoinc_data): New.
1377         (cselib_record_autoinc_cb): New fn.
1378         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
1379         mode to cselib_lookup.  Reset autoinced REGs here instead of...
1380         (cselib_process_insn): ... here.
1381         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
1382         to cselib_lookup.
1383         (add_uses): Likewise, also to cselib_subst_to_values.
1384         (add_stores): Likewise.
1385         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
1386         cselib_subst_to_values.
1387         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
1388         * gcse.c (do_local_cprop): Adjusted.
1389         * postreload.c (reload_cse_simplify_set): Adjusted.
1390         (reload_cse_simplify_operands): Adjusted.
1391         * sel-sched-dump (debug_mem_addr_value): Pass mode.
1392
1393 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1394
1395         PR tree-optimization/45122
1396         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
1397         unsafe assumptions when there's more than one loop exit.
1398
1399 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
1400
1401         PR target/47272
1402         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1403         Document using vector double with the load/store builtins, and
1404         that the load/store builtins always use Altivec instructions.
1405
1406         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
1407         to use altivec memory instructions, even on VSX.
1408         (vector_altivec_store_<mode>): Ditto.
1409
1410         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
1411         function.
1412
1413         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1414         V2DF, V2DI support to load/store overloaded builtins.
1415
1416         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
1417         altivec load/store builtins for V2DF/V2DI types.
1418
1419         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1420         set avoid indexed addresses on power6 if -maltivec.
1421         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
1422         vector_altivec_load/vector_altivec_store builtins.
1423         (altivec_expand_st_builtin): Ditto.
1424         (altivec_expand_builtin): Add VSX memory builtins.
1425         (rs6000_init_builtins): Add V2DI types to internal types.
1426         (altivec_init_builtins): Add support for V2DF/V2DI altivec
1427         load/store builtins.
1428         (rs6000_address_for_altivec): Insure memory address is appropriate
1429         for Altivec.
1430
1431         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
1432         vec_vsx_ld and vec_vsx_st.
1433         (vsx_store_<mode>): Ditto.
1434
1435         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
1436         variables to hold long long types for VSX vector memory builtins.
1437         (RS6000_BTI_unsigned_long_long): Ditto.
1438         (long_long_integer_type_internal_node): Ditti.
1439         (long_long_unsigned_type_internal_node): Ditti.
1440
1441         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
1442         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
1443         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
1444
1445         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
1446         short cuts.
1447         (vec_vsx_st): Ditto.
1448
1449 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1450
1451         * config/pa/pa-hpux10.opt: New.
1452         * config/hpux11.opt (pthread): New Driver option.
1453         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
1454         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
1455
1456 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1457
1458         * config/ia64/vms.opt: New.
1459         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
1460
1461 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
1462
1463         PR target/47580
1464         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
1465         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
1466         generator functions.
1467         (vsx_floatuns<VSi><mode>2): Ditto.
1468         (vsx_fix_trunc<mode><VSi>2): Ditto.
1469         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
1470
1471 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1472
1473         * config/i386/djgpp.opt (posix): New Driver option.
1474
1475 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
1476
1477         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
1478         Move to the unsupported targets list.
1479
1480 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
1481
1482         PR rtl-optimization/47525
1483         * df-scan.c: Update copyright years.
1484         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
1485         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
1486
1487 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1488
1489         * config/i386/sysv4.h (TARGET_VERSION): Remove.
1490         (SUBTARGET_RETURN_IN_MEMORY): Remove.
1491         (ASM_OUTPUT_ASCII): Remove.
1492         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
1493
1494 2011-02-02  Jeff Law  <law@redhat.com>
1495
1496         PR middle-end/47543
1497         * reload.c (find_reloads_address): Handle reg+d address where both
1498         components are invalid by reloading the entire address.
1499
1500 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
1501             Richard Guenther  <rguenther@suse.de>
1502
1503         PR tree-optimization/40979
1504         PR bootstrap/47044
1505         * passes.c (init_optimization_passes): After LIM call copy_prop
1506         and DCE to clean up.
1507         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
1508
1509 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
1510
1511         PR tree-optimization/47576
1512         PR tree-optimization/47555
1513         * doc/invoke.texi (scev-max-expr-complexity): Documented.
1514         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1515         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
1516         * tree-scalar-evolution.c (follow_ssa_edge): Use
1517         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
1518
1519 2011-02-02  Richard Guenther  <rguenther@suse.de>
1520
1521         PR tree-optimization/47566
1522         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
1523
1524 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
1525
1526         PR debug/47106
1527         PR debug/47402
1528         * tree-inline.c (declare_return_variable): Remove unused caller
1529         variable.
1530
1531         PR debug/47106
1532         PR debug/47402
1533         * tree-flow-inline.h (clear_is_used, is_used_p): New.
1534         * cfgexpand.c (account_used_vars_for_block): Use them.
1535         * tree-nrv.c (tree_nrv): Likewise.
1536         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
1537         (dump_scope_block): Likewise.
1538         (remove_unused_locals): Likewise.
1539
1540         PR debug/47106
1541         PR debug/47402
1542         * tree-inline.c (declare_return_variable): Add result decl to
1543         local decls only once.
1544         * gimple-low.c (record_vars_into): Mark newly-created variables
1545         as referenced.
1546
1547 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
1548
1549         PR debug/47498
1550         PR debug/47501
1551         PR debug/45136
1552         PR debug/45130
1553         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1554         debug insns.
1555         (no_real_insns_p, schedule_block, set_priorities): Drop special
1556         treatment of boundary debug insns.
1557         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1558         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
1559         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1560         (BOUNDARY_DEBUG_INSN_P): Likewise.
1561         (SCHEDULE_DEBUG_INSN_P): Likewise.
1562         * sched-rgn.c (init_ready_list): Drop special treatment of
1563         boundary debug insns.
1564         * final.c (rest_of_clean_state): Clear notes' BB.
1565
1566 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1567
1568         * config/openbsd.opt (assert=): New Driver option.
1569
1570 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1571
1572         * config/i386/nto.opt: New.
1573         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
1574
1575 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1576
1577         * config/i386/netware.opt: New.
1578         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
1579
1580 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1581
1582         * config/interix.opt (posix): New Driver option.
1583
1584 2011-02-01  DJ Delorie  <dj@redhat.com>
1585
1586         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
1587
1588         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
1589         class for A0/A1.
1590
1591 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
1592
1593         PR tree-optimization/47561
1594         * toplev.c (process_options): Print the Graphite flags.  Add
1595         flag_loop_flatten to the list of options requiring Graphite.
1596
1597 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1598
1599         * config/i386/cygming.opt (posix): New Driver option.
1600
1601 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1602
1603         * config/arm/vxworks.opt: New.
1604         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
1605
1606 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
1607
1608         * config/alpha/elf.opt: New.
1609         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
1610         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
1611
1612 2011-02-01  Richard Guenther  <rguenther@suse.de>
1613
1614         PR tree-optimization/47559
1615         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
1616         store-motion on references that can throw.
1617
1618 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
1619
1620         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
1621         * tree-pass.h (TDF_CSELIB): New macro.
1622         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
1623         cselib_lookup): Check for it rather than for TDF_DETAILS.
1624
1625 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
1626
1627         PR driver/47547
1628         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
1629         is HOST_BIT_BUCKET.
1630
1631         * opts.c (finish_options): Don't add x_aux_base_name if it is
1632         HOST_BIT_BUCKET.
1633
1634 2011-02-01  Richard Guenther  <rguenther@suse.de>
1635
1636         PR tree-optimization/47555
1637         Revert
1638         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
1639
1640         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1641
1642 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
1643
1644         PR gcc/46692
1645         * config/lm32/t-lm32: Add multilib for all CPU options.
1646
1647 2011-02-01  Richard Guenther  <rguenther@suse.de>
1648
1649         PR tree-optimization/47541
1650         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
1651         sure to have a field at offset zero.
1652
1653 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1654
1655         * config/arc/arc.opt (EB, EL): New Driver options.
1656
1657 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1658
1659         * config/alpha/osf5.opt: New.
1660         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
1661
1662 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
1663
1664         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
1665
1666 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
1667
1668         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
1669         -floop-interchange.
1670         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
1671         is an alias of -floop-interchange and that it requires the
1672         Graphite infrastructure.
1673         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
1674         flag_loop_interchange based on the value of flag_tree_loop_linear.
1675
1676 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
1677             Richard Guenther  <rguenther@suse.de>
1678
1679         PR tree-optimization/47538
1680         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
1681         type instead of r1type, except for comparisons.  For right
1682         shifts and comparisons punt if there are mismatches in
1683         sizetype vs. non-sizetype types.
1684
1685 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1686
1687         * doc/sourcebuild.texi (Effective-Target Keywords): Document
1688         avx_runtime.
1689
1690 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1691
1692         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
1693         version number.
1694         * configure: Regenerate.
1695
1696 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1697
1698         * configure.ac (gcc_cv_ld_static_option): Define.
1699         (gcc_cv_ld_dynamic_option): Define.
1700         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
1701         instead.
1702         (HAVE_LD_STATIC_DYNAMIC): Update message.
1703         (LD_STATIC_OPTION): Define.
1704         (LD_DYNAMIC_OPTION): Define.
1705         * configure: Regenerate.
1706         * config.in: Regenerate.
1707         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
1708         HAVE_LD_STATIC_DYNAMIC]: Use them.
1709
1710 2011-01-31  Nick Clifton  <nickc@redhat.com>
1711
1712         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
1713         registers inside interrupt handlers if the handler is not a leaf
1714         function.
1715
1716 2011-01-31  Nick Clifton  <nickc@redhat.com>
1717
1718         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
1719         reg_renumber returning an INVALID_REGNUM.
1720
1721 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
1722
1723         PR libgcj/44341
1724         * doc/install.texi: Document host options discarded when cross
1725         configuring target libraries.
1726
1727 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
1728
1729         Reverted:
1730         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
1731         PR debug/45136
1732         PR debug/45130
1733         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1734         debug insns.
1735         (no_real_insns_p, schedule_block, set_priorities): Drop special
1736         treatment of boundary debug insns.
1737         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1738         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
1739         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1740         (BOUNDARY_DEBUG_INSN_P): Likewise.
1741         (SCHEDULE_DEBUG_INSN_P): Likewise.
1742         * sched-rgn.c (init_ready_list): Drop special treatment of
1743         boundary debug insns.
1744         * final.c (rest_of_clean-state): Clear notes' BB.
1745
1746 2011-01-31  Alan Modra  <amodra@gmail.com>
1747
1748         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
1749         toc relative expressions as we do in print_operand_address.
1750
1751 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
1752
1753         * doc/extend.texi: Follow spelling conventions.
1754         * doc/invoke.texi: Fix a typo.
1755
1756 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
1757
1758         * config/hpux11.opt: New.
1759         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
1760         ia64*-*-hpux*): Use hpux11.opt.
1761
1762 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
1763
1764         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
1765         to tmake_file.
1766
1767 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1768
1769         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
1770         support sites.
1771
1772 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1773
1774         * doc/install.texi (Binaries): Remove outdated reference for
1775         Motorola 68HC11/68HC12 downloads.
1776
1777 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
1778
1779         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
1780         Drepper's paper.
1781
1782 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1783
1784         PR bootstrap/47147
1785         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
1786         used by NetBSD.
1787
1788 2011-01-28  Ahmad Sharif  <asharif@google.com>
1789
1790         * value-prof.c (check_counter): Corrected error message.
1791
1792 2011-01-29  Jie Zhang  <jie@codesourcery.com>
1793
1794         * config/arm/arm.c (arm_legitimize_reload_address): New.
1795         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
1796         arm_legitimize_reload_address.
1797         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
1798
1799 2011-01-28  Ian Lance Taylor  <iant@google.com>
1800
1801         * godump.c (go_define): Ignore macros whose definitions include
1802         two adjacent operands.
1803
1804 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
1805
1806         PR target/42894
1807         * varasm.c (force_const_mem): Store copy of x in desc->constant
1808         instead of x itself.
1809         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
1810         itself into REG_EQUAL note.
1811
1812 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
1813
1814         * config/freebsd.opt (posix, rdynamic): New Driver options.
1815
1816 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1817
1818         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
1819         -Bstatic/-Bdynamic.
1820         * configure: Regenerate.
1821
1822 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
1823
1824         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
1825         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
1826
1827 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
1828
1829         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
1830         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
1831         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
1832         (s390_preferred_reload_class): Make static. Change return and
1833         'rclass' argument type to reg_class_t.
1834
1835 2011-01-27  Jan Hubicka  <jh@suse.cz>
1836
1837         PR middle-end/46949
1838         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
1839         (process_function_and_variable_attributes): Check defined weakrefs.
1840
1841 2011-01-27  Martin Jambor  <mjambor@suse.cz>
1842
1843         PR tree-optimization/47228
1844         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
1845         build_ref_for_offset.
1846
1847 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1848
1849         * config/spu/spu-elf.h (ASM_SPEC): Remove.
1850
1851 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
1852
1853         PR rtl-optimization/46856
1854         * postreload.c (reload_combine_recognize_const_pattern): Do not
1855         separate cc0 setter and user on cc0 targets.
1856
1857 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
1858
1859         PR c/43082
1860         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
1861         passed a VOID_TYPE expression, immediately emit an error and
1862         return error_mark_node.
1863
1864 2011-01-26  Jeff Law  <law@redhat.com>
1865
1866         PR rtl-optimization/47464
1867         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
1868         rather than may_trap_p as needed.
1869
1870 2011-01-26  DJ Delorie  <dj@redhat.com>
1871
1872         PR rtl-optimization/46878
1873         * combine.c (insn_a_feeds_b): Check for the implicit cc0
1874         setter/user dependency as well.
1875
1876 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
1877
1878         PR rtl-optimization/44469
1879         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
1880         after removing trivially dead basic blocks.
1881
1882 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1883
1884         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
1885         * config/frv/frv.h (LINK_SPEC): Likewise.
1886         * config/i386/netware.h (LINK_SPEC): Likewise.
1887         * config/m68k/linux.h (ASM_SPEC): Likewise.
1888         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
1889         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1890         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1891         * config/sparc/linux.h (ASM_SPEC): Likewise.
1892         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1893         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1894
1895 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1896
1897         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
1898         * config/frv/frv.h (ASM_SPEC): Likewise.
1899         * config/m68k/linux.h (ASM_SPEC): Likewise.
1900         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1901         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
1902         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1903         * config/sparc/linux.h (ASM_SPEC): Likewise.
1904         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1905         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1906
1907 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1908
1909         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
1910         * config/frv/frv.h (LINK_SPEC): Likewise.
1911         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1912
1913 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
1914
1915         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
1916         * config/frv/frv.h (ASM_SPEC): Likewise.
1917         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
1918         * config/m68k/linux.h (ASM_SPEC): Likewise.
1919         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1920         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
1921         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1922         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
1923         * config/sparc/linux.h (ASM_SPEC): Likewise.
1924         * config/sparc/linux64.h (ASM_SPEC): Likewise.
1925         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1926         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
1927
1928 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
1929
1930         PR target/46997
1931         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
1932         (*mux2): Ditto.
1933         (vec_extract_evenodd_help): Ditto.
1934         (vec_extract_evenv4hi): Ditto.
1935         (vec_extract_oddv4hi): Ditto.
1936         (vec_interleave_lowv2si): Ditto.
1937         (vec_interleave_highv2si): Ditto.
1938         (vec_extract_evenv2si): Ditto.
1939         (vec_extract_oddv2si: Ditto.
1940         (vec_pack_trunc_v2si): Ditto.
1941
1942 2011-01-22  Jan Hubicka  <jh@suse.cz>
1943
1944         PR target/47237
1945         * cgraph.h (cgraph_local_info): New field can_change_signature.
1946         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
1947         signature can change.
1948         (ipcp_estimate_growth): Call sequence simplify only if calle signature
1949         can change.
1950         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
1951         (cgraph_function_versioning): We can not change signature of functions
1952         that don't allow that.
1953         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
1954         (lto_input_node): Likewise.
1955         * ipa-inline.c (compute_inline_parameters): Compute
1956         local.can_change_signature.
1957         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
1958         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
1959         functions that can not change signature.
1960         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
1961         init_cumulative_args): Do not use local calling conventions
1962         for functions that can not change signature.
1963
1964 2011-01-22  Jan Hubicka  <jh@suse.cz>
1965
1966         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
1967
1968 2011-01-26  Richard Guenther  <rguenther@suse.de>
1969
1970         PR tree-optimization/47190
1971         * cgraphunit.c (process_common_attributes): New function.
1972         (process_function_and_variable_attributes): Use it.
1973
1974 2011-01-26  Richard Guenther  <rguenther@suse.de>
1975
1976         PR lto/47423
1977         * cgraphbuild.c (record_eh_tables): Record reference to personality
1978         function.
1979
1980 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
1981
1982         PR debug/45454
1983         * sel-sched.c (moveup_expr): Don't let debug insns prevent
1984         non-debug insns from moving up.
1985
1986 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
1987
1988         PR target/40125
1989         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
1990         t-dlldir{,-x} fragment for build and add it to tmake_file.
1991         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1992         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
1993         * config/i386/t-dlldir: New file.
1994         (SHLIB_DLLDIR): Define.
1995         * config/i386/t-dlldir-x: New file.
1996         (SHLIB_DLLDIR): Define.
1997         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
1998         (SHLIB_INSTALL): Use it.
1999
2000 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
2001
2002         PR target/47246
2003         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
2004         lower bound of the allowed Thumb-2 coprocessor load/store
2005         index range to -256. Add explaining comment.
2006
2007 2011-01-25  Ian Lance Taylor  <iant@google.com>
2008
2009         * godump.c (go_define): Improve lexing of macro expansion to only
2010         accept expressions which match Go spec.
2011
2012 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2013
2014         PR c++/43601
2015         * tree.c (handle_dll_attribute): Handle it.
2016         * doc/extend.texi (@item dllexport): Mention it.
2017         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
2018
2019 2011-01-25  Ian Lance Taylor  <iant@google.com>
2020
2021         PR tree-optimization/26854
2022         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
2023         (decl_jump_unsafe): Move higher in file, with no other change.
2024         (bind): Set has_jump_unsafe_decl if appropriate.
2025         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
2026         (check_earlier_gotos): Likewise.
2027         (c_check_switch_jump_warnings): Likewise.
2028
2029 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2030
2031         * doc/invoke.texi (Warning Options): Add missing hyphen.
2032         (-fprofile-dir): Minor grammatical fixes.
2033         (-fbranch-probabilities): Likewise.
2034
2035 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
2036
2037         PR debug/45136
2038         PR debug/45130
2039         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2040         debug insns.
2041         (no_real_insns_p, schedule_block, set_priorities): Drop special
2042         treatment of boundary debug insns.
2043         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2044         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2045         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2046         (BOUNDARY_DEBUG_INSN_P): Likewise.
2047         (SCHEDULE_DEBUG_INSN_P): Likewise.
2048         * sched-rgn.c (init_ready_list): Drop special treatment of
2049         boundary debug insns.
2050         * final.c (rest_of_clean-state): Clear notes' BB.
2051
2052 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2053
2054         * Makefile.in (LAMBDA_H): Removed.
2055         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
2056         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
2057         lambda-trans.o, and tree-loop-linear.o.
2058         (lto-symtab.o): Remove dependence on LAMBDA_H.
2059         (tree-loop-linear.o): Remove rule.
2060         (lambda-mat.o): Same.
2061         (lambda-trans.o): Same.
2062         (lambda-code.o): Same.
2063         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
2064         (tree-vect-slp.o): Same.
2065         * hwint.h (gcd): Moved here.
2066         (least_common_multiple): Same.
2067         * lambda-code.c: Removed.
2068         * lambda-mat.c: Removed.
2069         * lambda-trans.c: Removed.
2070         * lambda.h: Removed.
2071         * tree-loop-linear.c: Removed.
2072         * lto-symtab.c: Do not include lambda.h.
2073         * omega.c (gcd): Removed.
2074         * passes.c (init_optimization_passes): Remove pass_linear_transform.
2075         * tree-data-ref.c (print_lambda_vector): Moved here.
2076         (lambda_vector_copy): Same.
2077         (lambda_matrix_copy): Same.
2078         (lambda_matrix_id): Same.
2079         (lambda_vector_first_nz): Same.
2080         (lambda_matrix_row_add): Same.
2081         (lambda_matrix_row_exchange): Same.
2082         (lambda_vector_mult_const): Same.
2083         (lambda_vector_negate): Same.
2084         (lambda_matrix_row_negate): Same.
2085         (lambda_vector_equal): Same.
2086         (lambda_matrix_right_hermite): Same.
2087         * tree-data-ref.h: Do not include lambda.h.
2088         (lambda_vector): Moved here.
2089         (lambda_matrix): Same.
2090         (dependence_level): Same.
2091         (lambda_transform_legal_p): Removed declaration.
2092         (lambda_collect_parameters): Same.
2093         (lambda_compute_access_matrices): Same.
2094         (lambda_vector_gcd): Same.
2095         (lambda_vector_new): Same.
2096         (lambda_vector_clear): Same.
2097         (lambda_vector_lexico_pos): Same.
2098         (lambda_vector_zerop): Same.
2099         (lambda_matrix_new): Same.
2100         * tree-flow.h (least_common_multiple): Removed declaration.
2101         * tree-parloops.c (lambda_trans_matrix): Moved here.
2102         (LTM_MATRIX): Same.
2103         (LTM_ROWSIZE): Same.
2104         (LTM_COLSIZE): Same.
2105         (LTM_DENOMINATOR): Same.
2106         (lambda_trans_matrix_new): Same.
2107         (lambda_matrix_vector_mult): Same.
2108         (lambda_transform_legal_p): Same.
2109         * tree-pass.h (pass_linear_transform): Removed declaration.
2110         * tree-ssa-loop.c (tree_linear_transform): Removed.
2111         (gate_tree_linear_transform): Removed.
2112         (pass_linear_transform): Removed.
2113         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
2114         flag_loop_interchange.
2115
2116 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2117
2118         PR tree-optimization/47265
2119         PR tree-optimization/47443
2120         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
2121         if name still has some uses.
2122
2123 2011-01-25  Martin Jambor  <mjambor@suse.cz>
2124
2125         PR tree-optimization/47382
2126         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
2127         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
2128
2129 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
2130
2131         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
2132         sjlj_except_unwind_info.
2133
2134 2011-01-25  Richard Guenther  <rguenther@suse.de>
2135
2136         PR tree-optimization/47426
2137         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
2138         visible functions results escape.
2139
2140 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2141
2142         PR target/45701
2143         * config/arm/arm.c (any_sibcall_uses_r3): New function.
2144         (arm_get_frame_offsets): Use it.
2145
2146 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2147             Jakub Jelinek  <jakub@redhat.com>
2148
2149         PR tree-optimization/47271
2150         * tree-if-conv.c (bb_postdominates_preds): New.
2151         (if_convertible_bb_p): Call bb_postdominates_preds.
2152         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
2153         (predicate_scalar_phi): Call bb_postdominates_preds.
2154
2155 2011-01-25  Nick Clifton  <nickc@redhat.com>
2156
2157         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
2158         * config/rx/rx.c (rx_function_value): Likewise.
2159         (rx_promote_function_mode): Likewise.
2160         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
2161         in order to make it legitimate.
2162         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
2163         make sure that the first operand is the same as the result register.
2164         (addsi3_unspec): Delete.
2165         (subdi3): Do not accept immediate operands.
2166         (subdi3_internal): Likewise.
2167
2168 2011-01-25  Jeff Law  <law@redhat.com>
2169
2170         PR rtl-optimization/37273
2171         * ira-costs.c (scan_one_insn): Detect constants living in memory and
2172         handle them like argument loads from stack slots.  Do not double
2173         count memory for memory constants and argument loads from stack slots.
2174
2175 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2176
2177         PR tree-optimization/47427
2178         PR tree-optimization/47428
2179         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2180         coalesce if the new root var would be TREE_READONLY.
2181
2182 2011-01-25  Richard Guenther  <rguenther@suse.de>
2183
2184         PR middle-end/47414
2185         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
2186         correct type for TBAA.
2187
2188 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2189
2190         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
2191         (close_phi_written_to_memory): Call for_each_index with
2192         dr_indices_valid_in_loop.
2193
2194 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2195
2196         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
2197         when it is initialized.
2198
2199 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2200
2201         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
2202         call to graphite_find_data_references_in_stmt.
2203         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
2204         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
2205         call to graphite_find_data_references_in_stmt.
2206         (analyze_drs_in_stmts): Same.
2207         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
2208         in which the scalar analysis of indices is performed.
2209         (create_data_ref): Same.  Update call to dr_analyze_indices.
2210         (find_data_references_in_stmt): Update call to create_data_ref.
2211         (graphite_find_data_references_in_stmt): Same.
2212         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
2213         declaration.
2214         (create_data_ref): Same.
2215         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
2216         call to create_data_ref.
2217
2218 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2219
2220         * graphite-sese-to-poly.c (build_poly_scop): Move
2221         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
2222
2223 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2224
2225         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
2226         VAR_DECL, PARM_DECL, and RESULT_DECL.
2227
2228 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2229
2230         * graphite-dependences.c (reduction_dr_1): Allow several reductions
2231         in a reduction PBB.
2232         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
2233         that have already been marked as PBB_IS_REDUCTION.
2234
2235 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2236
2237         * graphite-scop-detection.c (same_close_phi_node): New.
2238         (remove_duplicate_close_phi): New.
2239         (make_close_phi_nodes_unique): New.
2240         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
2241
2242 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2243
2244         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
2245         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
2246         of both data references to be the same.
2247
2248 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2249
2250         * graphite-dependences.c (build_lexicographical_constraint): Remove
2251         the gdim parameter.
2252         (build_lexicographical_constraint): Adjust call to
2253         ppl_powerset_is_empty.
2254         (dependence_polyhedron): Same.
2255         (graphite_legal_transform_dr): Same.
2256         (graphite_carried_dependence_level_k): Same.
2257         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
2258         parameter.
2259         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
2260
2261 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2262
2263         * graphite-sese-to-poly.c
2264         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
2265         (close_phi_written_to_memory): New.
2266         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
2267         and unshare_expr.
2268
2269 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2270
2271         * doc/install.texi: Update the expected version number of PPL to 0.11.
2272         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
2273         #if PPL_VERSION_MINOR < 11.
2274
2275 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2276
2277         * graphite-dependences.c: Include graphite-cloog-util.h.
2278         (new_poly_ddr): Inlined into dependence_polyhedron.
2279         (free_poly_ddr): Moved close by new_poly_ddr.
2280         (dependence_polyhedron_1): Renamed dependence_polyhedron.
2281         Early return NULL when ppl_powerset_is_empty returns true.
2282         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
2283         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
2284         (graphite_legal_transform_dr): Call new_poly_ddr.
2285         (graphite_carried_dependence_level_k): Same.
2286         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
2287         (dot_transformed_deps_stmt_1): Removed.
2288         (dot_deps_stmt_1): Call dot_deps_stmt_2.
2289         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
2290         (dot_deps_1): Call dot_deps_2.
2291         * Makefile.in (graphite-dependences.o): Add missing dependence on
2292         graphite-cloog-util.h.
2293
2294 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2295
2296         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
2297         (build_lexicographical_constraint): Same.
2298         (dependence_polyhedron_1): Same.
2299         (graphite_legal_transform_dr): Same.
2300         (graphite_carried_dependence_level_k): Same.
2301         * graphite-ppl.c (ppl_powerset_is_empty): New.
2302         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
2303         * tree-data-ref.c (dump_data_reference): Print the basic block index.
2304
2305 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2306
2307         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
2308         the "a followed by b" relation and document it.
2309
2310 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2311
2312         * graphite-dependences.c (build_lexicographical_constraint): Stop the
2313         iteration when the bag of constraints is empty.
2314
2315 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2316
2317         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2318
2319 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2320
2321         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
2322         nest and two loop depths as parameters.
2323         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
2324         lst_perfect_nestify.
2325
2326 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2327
2328         * graphite-dependences.c (print_pddr): Call
2329         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
2330
2331 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2332
2333         * graphite-ppl.c (debug_gmp_value): New.
2334         * graphite-ppl.h (debug_gmp_value): Declared.
2335
2336 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
2337
2338         * doc/install.texi: Document availability of cloog-0.16.
2339
2340 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
2341
2342         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
2343         invalid postdominance info.
2344
2345 2011-01-24  Jan Hubicka  <jh@suse.cz>
2346
2347         PR c/21659
2348         * doc/extend.texi (weak pragma): Drop claim that it must
2349         appear before definition.
2350         * varasm.c (merge_weak, declare_weak): Only sanity check
2351         that DECL is not output at a time it is declared weak.
2352
2353 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
2354
2355         * machmode.def: Fixed comments.
2356
2357 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
2358
2359         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
2360
2361 2011-01-24  Paul Koning  <ni1d@arrl.net>
2362
2363         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
2364         WORDS_BIG_ENDIAN.
2365
2366 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2367
2368         PR target/46519
2369         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
2370         (block_info): Add scanned and prev.
2371         (move_or_delete_vzeroupper_2): Return if the basic block
2372         has been scanned and the upper 128bit state is unchanged
2373         from the last scan.
2374         (move_or_delete_vzeroupper_1): Return true if the exit
2375         state is changed.
2376         (move_or_delete_vzeroupper): Visit basic blocks using the
2377         work-list based algorithm based on vt_find_locations in
2378         var-tracking.c.
2379
2380         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
2381
2382 2011-01-24  Nick Clifton  <nickc@redhat.com>
2383
2384         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
2385         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
2386         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
2387         then define __v850e1__.
2388         * doc/invoke.texi: Document -mv850es.
2389
2390 2011-01-24  Richard Henderson  <rth@redhat.com>
2391
2392         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
2393         compound unordered comparisons.
2394         * config/rx/rx.c (rx_split_fp_compare): Remove.
2395         * config/rx/rx-protos.h: Update.
2396         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
2397         (cbranchsf4): Don't call rx_split_fp_compare.
2398         (*cbranchsf4): Use rx_split_cbranch.
2399         (*cmpsf): Don't accept "i" constraint.
2400         (*conditional_branch): Only valid after reload.
2401         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
2402
2403 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2404
2405         PR target/47385
2406         * config/rs6000/altivec.md (vector constant splitters): Add
2407         support for creating vector single precision constants if -mvsx is
2408         used and we would create the constant using Altivec primitives.
2409
2410 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
2411             Richard Sandiford  <rdsandiford@googlemail.com>
2412
2413         PR rtl-optimization/47166
2414         * reload1.c (emit_reload_insns): Disable the spill_reg_store
2415         mechanism for PRE_MODIFY and POST_MODIFY.
2416         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
2417         reloadreg.
2418
2419 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
2420
2421         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
2422
2423 2011-01-22  Jan Hubicka  <jh@suse.cz>
2424
2425         PR lto/47333
2426         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
2427
2428 2011-01-22  Jan Hubicka  <jh@suse.cz>
2429
2430         PR tree-optimization/43884
2431         PR lto/44334
2432         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
2433         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
2434
2435 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
2436
2437         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2438         * config/s390/s390.c (s390_register_move_cost,
2439         s390_memory_move_cost): New.
2440         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2441
2442 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2443
2444         PR middle-end/47401
2445         * except.c (sjlj_assign_call_site_values): Move setting the
2446         crtl->uses_eh_lsda flag to ...
2447         (sjlj_mark_call_sites): ... here.
2448         (sjlj_emit_function_enter): Support NULL dispatch label.
2449         (sjlj_build_landing_pads): In a function with no landing pads
2450         that still has must-not-throw regions, generate code to register
2451         a personality function with empty LSDA.
2452
2453 2011-01-21  Richard Henderson  <rth@redhat.com>
2454
2455         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
2456
2457         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
2458
2459         * compare-elim.c: New file.
2460         * Makefile.in (OBJS-common): Add it.
2461         (compare-elim.o): New.
2462         * common.opt (fcompare-elim): New.
2463         * opts.c (default_options_table): Add OPT_fcompare_elim.
2464         * tree-pass.h (pass_compare_elim_after_reload): New.
2465         * passes.c (init_optimization_passes): Add it.
2466         * recog.h: Protect against re-inclusion.
2467         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
2468         * doc/invoke.texi (-fcompare-elim): Document it.
2469         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
2470         * doc/tm.texi: Rebuild.
2471
2472 2011-01-22  Nick Clifton  <nickc@redhat.com>
2473
2474         * config/rx/rx.md (cstoresf4): Pass comparison operator to
2475         rx_split_fp_compare.
2476
2477 2011-01-22  Nick Clifton  <nickc@redhat.com>
2478
2479         * config/rx/rx.md (UNSPEC_CONST): New.
2480         (deallocate_and_return): Wrap the amount popped off the stack in
2481         an UNSPEC_CONST in order to stop it being rejected by
2482         -mmax-constant-size.
2483         (pop_and_return): Add a "(return)" rtx.
2484         (call): Drop the immediate operand.
2485         (call_internal): Likewise.
2486         (call_value): Likewise.
2487         (call_value_internal): Likewise.
2488         (sibcall_internal): Likewise.
2489         (sibcall_value_internal): Likewise.
2490         (sibcall): Likewise.  Generate an explicit call using
2491         sibcall_internal.
2492         (sibcall_value): Likewise.
2493         (mov<>): FAIL if a constant operand is not legitimate.
2494         (addsi3_unpsec): New pattern.
2495
2496         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
2497         (ok_for_max_constant): New function.
2498         (gen_safe_add): New function.
2499         (rx_expand_prologue): Use gen_safe_add.
2500         (rx_expand_epilogue): Likewise.
2501         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
2502         UNSPEC CONSTs.
2503
2504 2011-01-21  Jeff Law  <law@redhat.com>
2505
2506         PR tree-optimization/47053
2507         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
2508         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
2509         statements are deleted.
2510         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
2511         is nonempty, then purge dead edges and cleanup the CFG.
2512
2513 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2514
2515         PR debug/47402
2516         Temporarily revert:
2517         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2518         PR debug/47106
2519         * tree-dfa.c (create_var_ann): Mark variable as used.
2520
2521 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2522
2523         PR middle-end/45566
2524         * except.c (convert_to_eh_region_ranges): Emit queued no-region
2525         notes from other section in hot/cold partitioning even if
2526         last_action is -3.  Increment call_site_base.
2527
2528         PR rtl-optimization/47366
2529         * fwprop.c (forward_propagate_into): Return bool.  If
2530         any changes are made, -fnon-call-exceptions is used and
2531         REG_EH_REGION note is present, call purge_dead_edges
2532         and return true if it purged anything.
2533         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
2534         any EH edges were purged.
2535
2536 2011-01-21  Jeff Law  <law@redhat.com>
2537
2538         PR rtl-optimization/41619
2539         * caller-save.c (setup_save_areas): Break out code to determine
2540         which hard regs are live across calls by examining the reload chains
2541         so that it is always used.
2542         Eliminate code which checked REG_N_CALLS_CROSSED.
2543
2544 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2545
2546         PR tree-optimization/47355
2547         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
2548         NOP has non-debug uses beyond PHIs in new_bb.
2549
2550 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
2551
2552         PR debug/47106
2553         * cfgexpand.c (account_used_vars_for_block): Only account vars
2554         that are annotated as used.
2555         (estimated_stack_frame_size): Don't set TREE_USED.
2556         * tree-dfa.c (create_var_ann): Mark variable as used.
2557
2558 2011-01-21  Richard Guenther  <rguenther@suse.de>
2559
2560         PR middle-end/47395
2561         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
2562
2563 2011-01-21  Richard Guenther  <rguenther@suse.de>
2564
2565         PR tree-optimization/47365
2566         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
2567         (vn_reference_lookup_pieces): Adjust.
2568         (vn_reference_lookup): Likewise.
2569         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
2570         (vn_reference_lookup_3): Only look through kills if in
2571         VN_WALKREWRITE mode.
2572         (vn_reference_lookup_pieces): Adjust.
2573         (vn_reference_lookup): Likewise.
2574         (visit_reference_op_load): Likewise.
2575         (visit_reference_op_store): Likewise.
2576         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
2577         (compute_avail): Likewise.
2578         (eliminate): Likewise.
2579
2580 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
2581
2582         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
2583         DECL_IGNORED_P non-reg vars if they are used.
2584
2585         PR tree-optimization/47391
2586         * varpool.c (const_value_known_p): Return false if
2587         decl is volatile.
2588
2589 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
2590
2591         PR bootstrap/47215
2592         * config/i386/i386.c (ix86_local_alignment): Handle
2593         case for va_list_type_node is nil.
2594         (ix86_canonical_va_list_type): Likewise.
2595
2596 2011-01-21  Alan Modra  <amodra@gmail.com>
2597
2598         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
2599         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
2600
2601 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2602
2603         * config/arm/arm.md (define_attr type): Rename f_load
2604         and f_store to f_fpa_load and f_fpa_store. Update.
2605         (write_conflict): Deal with rename fallout.
2606         (*push_fp_multi): Likewise.
2607         * config/arm/fpa.md (f_load): Use f_fpa_load.
2608         (f_store): Use f_fpa_store.
2609         (*movsf_fpa): Likewise.
2610         (*movdf_fpa): Likewise.
2611         (*movxf_fpa): Likewise.
2612         (*thumb2_movsf_fpa): Likewise.
2613         (*thumb2_movdf_fpa): Likewise.
2614         (*thumb2_movxf_fpa): Likewise.
2615         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
2616         f_loadd and f_stored.
2617         (*thumb2_movdi_vfp): Likewise.
2618         (*thumb2_movsf_vfp): Fix attribute to f_loads.
2619         (*thumb2_movsi_vfp): Likewise.
2620         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
2621         Use f_loads instead of f_load.
2622         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
2623
2624 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
2625
2626         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2627         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
2628         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2629         (xtensa_mode_dependent_address_p): New function.
2630         (constantpool_address_p): Make static. Change return type to bool.
2631         Change argument type to const_rtx. Use CONST_INT_P predicate.
2632
2633 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
2634
2635         PR debug/46583
2636         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
2637
2638 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
2639
2640         PR debug/47283
2641         * cfgexpand.c (expand_debug_expr): Instead of generating
2642         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
2643         etc. handling.
2644
2645 2011-01-20  Richard Guenther  <rguenther@suse.de>
2646
2647         PR middle-end/47370
2648         * tree-inline.c (remap_gimple_op_r): Recurse manually for
2649         the pointer operand of MEM_REFs.
2650
2651 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
2652
2653         PR tree-optimization/46130
2654         * ipa-split.c (consider_split): If return_bb contains non-virtual
2655         PHIs other than for retval or if split_function would not adjust it,
2656         refuse to split.
2657
2658 2011-01-20  Richard Guenther  <rguenther@suse.de>
2659
2660         PR tree-optimization/47167
2661         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
2662         Revert previous change, only avoid enumeral type changes.
2663
2664 2011-01-19  Mike Stump  <mikestump@comcast.net>
2665
2666         * doc/tm.texi.in (BRANCH_COST): Englishify.
2667         * doc/tm.texi (BRANCH_COST): Likewise.
2668
2669 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
2670
2671         PR c++/47291
2672         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
2673         (gen_scheduled_generic_parms_dies): New functions.
2674         (gen_struct_or_union_type_die): Schedule template parameters DIEs
2675         generation for the end of CU compilation.
2676         (dwarf2out_finish): Generate template parameters DIEs here.
2677
2678 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2679
2680         PR debug/46240
2681         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
2682         debug bind stmt on merge edges.
2683
2684 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2685
2686         PR debug/47079
2687         PR debug/46724
2688         * function.c (instantiate_expr): Instantiate incoming rtl of
2689         implicit arguments, and recurse on VALUE_EXPRs.
2690         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
2691         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
2692
2693 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
2694
2695         * c-parser.c (c_parser_for_statement): Initialize
2696         collection_expression.
2697
2698 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2699
2700         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
2701
2702 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2703
2704         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
2705         (LINK_SHLIB_SPEC): Don't use %(link_path).
2706         (SUBTARGET_EXTRA_SPECS): Remove link_path.
2707
2708 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2709
2710         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
2711         (NO_SHARED_LIB_SUPPORT): Remove.
2712         (LINK_SHLIB_SPEC): Remove one conditional definition.
2713
2714 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
2715
2716         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
2717         %{call_shared}.
2718         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
2719         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
2720         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
2721         %{call_shared} and conditionals on these options not being passed.
2722         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
2723         %{call_shared}.
2724
2725 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
2726
2727         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
2728         simplify.
2729
2730         * ipa-split.c: Spelling fixes.
2731
2732 2011-01-19  Richard Henderson  <rth@redhat.com>
2733
2734         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
2735         (*mulsi3): Likewise.
2736
2737         * longlong.h [__mn10300__] (count_leading_zeros): New.
2738         [__mn10300__] (umul_ppmm, smul_ppmm): New.
2739         [__mn10300__] (add_ssaaaa, subddmmss): New.
2740         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
2741         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
2742
2743 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2744
2745         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
2746
2747 2011-01-19  Richard Henderson  <rth@redhat.com>
2748
2749         * config/mn10300/mn10300.md (addsi3_flags): New.
2750         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
2751         (subsi3_flags, subc_internal, subdi3): New.
2752         (subdi3_internal, *subdi3_degenerate): New.
2753         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
2754
2755         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
2756         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
2757         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
2758         * config/mn10300/mn10300-protos.h: Update.
2759         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
2760         (return_ret): Likewise.  Rename from return_internal_regs.
2761         (return_internal): Remove.
2762
2763         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
2764         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
2765         (mn10300_legitimate_constant_p): Likewise.
2766         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
2767         (mn10300_frame_size): New.
2768         (mn10300_expand_prologue): Use it.
2769         (mn10300_expand_epilogue): Likewise.
2770         (mn10300_initial_offset): Likewise.
2771         * config/mn10300/mn10300-protos.h: Update.
2772         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
2773         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
2774         (prologue, epilogue, return_internal): Tidy output code.
2775         (mn10300_store_multiple_operation, return): Likewise.
2776         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
2777         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
2778         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
2779         (load_pic, am33_load_pic): New.
2780         (mn10300_load_pic0, mn10300_load_pic1): New.
2781
2782         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
2783         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
2784         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
2785         (cc_flags_for_mode, cc_flags_for_code): New.
2786         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
2787         overflow flag is not valid.  Validate that the flags we need
2788         for the comparison are valid.
2789         (mn10300_output_cmp): Remove.
2790         (mn10300_output_add): New.
2791         (mn10300_select_cc_mode): Use cc_flags_for_code.
2792         (mn10300_split_cbranch): New.
2793         (mn10300_match_ccmode): New.
2794         (mn10300_split_and_operand_count): New.
2795         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
2796         to the function.
2797         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
2798         (addsi3): ... here.  Use mn10300_output_add.
2799         (*addsi3_flags): New.
2800         (*am33_subsi3, *mn10300_subsi3): Merge...
2801         (subsi3): ... here.  Use attribute isa.
2802         (*subsi3_flags): New.
2803         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
2804         when possible.
2805         (*am33_andsi3, *mn10300_andsi3): Merge...
2806         (andsi3): ... here.
2807         (*andsi3_flags): New.
2808         (andsi3 splitters): New.
2809         (*am33_iorsi3, *mn10300_iorsi3): Merge...
2810         (iorsi3): ... here.
2811         (*iorsi3_flags): New.
2812         (*am33_xorsi3, *mn10300_xorsi3): Merge...
2813         (xorsi3): ... here.
2814         (*xorsi3_flags): New.
2815         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
2816         (one_cmplsi2): ... here.
2817         (*one_cmplsi2_flags): New.
2818         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
2819         instead of "dax" in constraints.  Use mn10300_split_cbranch.
2820         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
2821         use matching constraints to eliminate a self-comparison.
2822         (*integer_conditional_branch): Rename from integer_conditional_branch.
2823         Use int_mode_flags to match CC_REG.
2824         (*cbranchsi4_btst, *btstsi): New.
2825         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
2826         mn10300_split_cbranch.
2827         (*am33_cmpsf): Rename from am33_cmpsf.
2828         (*float_conditional_branch): Rename from float_conditional_branch.
2829         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
2830         (zero_extendqisi2): ... here.
2831         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
2832         (zero_extendhisi2): ... here.
2833         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
2834         (extendqisi2): ... here.
2835         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
2836         (extendhisi2): ... here.
2837         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
2838         (ashlsi3): ... here.
2839         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
2840         (lshrsi3): ... here.
2841         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
2842         (ashrsi3): ... here.
2843         (consecutive add peephole): Remove.
2844         * config/mn10300/predicates.md (label_ref_operand): New.
2845         (int_mode_flags): New.
2846         (CCZN_comparison_operator): New.
2847
2848         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
2849         (throughput_42_latency_43): New reservation.
2850         (mulsidi3, umulsidi3): New expanders.
2851         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
2852         the MDR register to allocation; separately allocate the low and
2853         high parts of the DImode result.
2854         (umulsidi3_internal): Similarly.
2855         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
2856         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
2857         (udivsi3, umodsi3): Remove.
2858         (udivmodsi4, divmodsi4): New expanders.
2859         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
2860         (*divmodsi4): Simiarly.
2861         (ext_internal): New.
2862
2863         * config/mn10300/constraints.md ("z"): New constraint.
2864         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
2865         (FIXED_REGISTERS): Don't fix MDR.
2866         (CALL_USED_REGSITERS): Reformat nicely.
2867         (REG_ALLOC_ORDER): Add MDR.
2868         (enum regclass): Add MDR_REGS.
2869         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
2870         (IRA_COVER_CLASSES): Add MDR_REGS.
2871         (REGNO_REG_CLASS): Handle MDR_REG.
2872         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
2873         (mn10300_register_move_cost): Likewise.
2874         * config/mn10300/mn10300.md (MDR_REG): New.
2875         (*movsi_internal): Handle moves to/from MDR_REGS.
2876
2877         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
2878         POST_MODIFY.
2879         (mn10300_secondary_reload): Tidy combination reload classes.
2880         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
2881         addresses for AM33.  Allow symbolic offsets for reg+imm.
2882         (mn10300_regno_in_class_p): New.
2883         (mn10300_legitimize_reload_address): New.
2884         * config/mn10300/mn10300.h (enum reg_class): Remove
2885         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
2886         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
2887         SP_OR_GENERAL_REGS.
2888         (REG_CLASS_NAMES): Update to match.
2889         (REG_CLASS_CONTENTS): Likewise.
2890         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
2891         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
2892         (REGNO_IN_RANGE_P): Remove.
2893         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
2894         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
2895         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
2896         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
2897         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
2898         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
2899         (REGNO_GENERAL_P): New.
2900         (HAVE_POST_MODIFY_DISP): New.
2901         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
2902         (LEGITIMIZE_RELOAD_ADDRESS): New.
2903         * config/mn10300/mn10300-protos.h: Update.
2904
2905         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
2906         DATA_REGS for AM33 stack-pointer destination.
2907         (mn10300_preferred_output_reload_class): Likewise.
2908         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
2909         into a form appropriate for ...
2910         (TARGET_SECONDARY_RELOAD): New.
2911         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
2912         * config/mn10300/mn10300-protos.h: Update.
2913         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
2914         reload_insi; use the "A" constraint for the scratch; handle AM33
2915         moves of sp to non-address registers.
2916
2917         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
2918         (*movqi_internal): ... here.
2919         (*am33_movhi, *mn10300_movhi): Merge into...
2920         (*movhi_internal): ... here.
2921         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
2922         as the source/destination of moves from/to SP.
2923         (movsf): Only allow for AM33-2.
2924         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
2925         any integer constant constraint.  Only allow for AM33-2.  Tidy
2926         all of the alternative outputs.
2927         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
2928         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
2929         for MN103.
2930         (udivsi3, umodsi3): New patterns for MN103 only.
2931
2932 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
2933
2934         * doc/tm.texi.in: Spell out that a lack of register class unions
2935         can lead to ICEs.
2936         * doc/tm.texi: Regenerate.
2937
2938 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
2939
2940         PR rtl-optimization/47337
2941         * dce.c (check_argument_store): New function.
2942         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
2943
2944         PR tree-optimization/47290
2945         * tree-eh.c (infinite_empty_loop_p): New function.
2946         (cleanup_empty_eh): Use it.
2947
2948 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
2949
2950         PR target/46997
2951         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
2952         (a64_expand_widen_sum): Ditto.
2953         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
2954         (vec_extract_evenodd_help): Ditto.
2955         (vec_extract_evenv4hi): Ditto.
2956         (vec_extract_oddv4hi): Ditto.
2957         (vec_extract_evenv2si): Ditto.
2958         (vec_extract_oddv2si): Ditto.
2959         (vec_extract_evenv2sf): Ditto.
2960         (vec_extract_oddv2sf): Ditto.
2961         (vec_pack_trunc_v4hi: Ditto.
2962         (vec_pack_trunc_v2si): Ditto.
2963         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
2964         (vec_interleave_highv8qi): Ditto.
2965         (mix1_r): Ditto.
2966         (vec_extract_oddv8qi): Ditto.
2967         (vec_interleave_lowv4hi): Ditto.
2968         (vec_interleave_highv4hi): Ditto.
2969         (vec_interleave_lowv2si): Ditto.
2970         (vec_interleave_highv2si): Ditto.
2971
2972 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2973
2974         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
2975         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
2976         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
2977         (pa_c_mode_for_suffix): New.
2978         (TARGET_EXPAND_BUILTIN): Define.
2979         (TARGET_C_MODE_FOR_SUFFIX): Define.
2980         (pa_builtins): Define.
2981         (pa_init_builtins): Register __float128 type and init new support
2982         builtins.
2983         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
2984         * config/pa/quadlib.c (_U_Qfcopysign): New.
2985
2986 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
2987
2988         PR middle-end/46894
2989         * explow.c (allocate_dynamic_stack_space): Do not assume more than
2990         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
2991         are defined.
2992
2993 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2994
2995         PR tree-optimization/47179
2996         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
2997         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
2998
2999 2011-01-18  Richard Guenther  <rguenther@suse.de>
3000
3001         PR rtl-optimization/47216
3002         * emit-rtl.c: Include tree-flow.h.
3003         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
3004         of replicating it with different semantics.
3005         * Makefile.in (emit-rtl.o): Adjust.
3006
3007 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3008
3009         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
3010         (cortex_a9_dp): Handle neon types correctly.
3011
3012 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
3013
3014         PR rtl-optimization/47299
3015         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
3016         subtarget.  Use normal multiplication if both operands are constants.
3017         * expmed.c (expand_widening_mult): Don't try to optimize constant
3018         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
3019         before using it.
3020
3021 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3022
3023         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
3024         spacing after 'e.g.', typos, comma, hyphenation.
3025
3026 2011-01-17  Richard Henderson  <rth@redhat.com>
3027
3028         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
3029         (rx_restricted_mem_operand): New.
3030         (rx_shift_operand): Use register_operand.
3031         (rx_source_operand, rx_compare_operand): Likewise.
3032         * config/rx/rx.md (addsi3_flags): New expander.
3033         (adddi3): Rewrite as expander.
3034         (adc_internal, *adc_flags, adddi3_internal): New patterns.
3035         (subsi3_flags): New expander.
3036         (subdi3): Rewrite as expander.
3037         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
3038
3039         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
3040         (rx_init_builtins): Remove sat builtin.
3041         (rx_expand_builtin): Likewise.
3042         * config/rx/rx.md (ssaddsi3): New.
3043         (*sat): Rename from sat.  Represent the CC_REG input.
3044
3045         * config/rx/predicates.md (rshift_operator): New.
3046         * config/rx/rx.c (rx_expand_insv): Remove.
3047         * config/rx/rx-protos.h: Update.
3048         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
3049         operand to the canonical position.
3050         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
3051         (*bitclr, *bitclr_in_memory): Similarly.
3052         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
3053         (insv): Retain the zero_extract in the expansion.
3054
3055         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
3056         (bswaphi2, bitinvert, revw): Likewise.
3057
3058         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
3059         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
3060         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
3061         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
3062         (bitset, bitset_in_memory): Likewise.
3063         (bitinvert, bitinvert_in_memory): Likewise.
3064         (bitclr, bitclr_in_memory): Likewise.
3065         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
3066         (rx_strend, rx_cmpstrn): Likewise.
3067         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
3068         (bitop peep2 patterns): Remove.
3069
3070         * config/rx/rx.c (rx_match_ccmode): New.
3071         * config/rx/rx-protos.h: Update.
3072         * config/rx/rx.md (abssi2): Clobber, don't set flags.
3073         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
3074         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
3075         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
3076         (fix_truncsfsi2, floatsisf2): Likewise.
3077         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
3078         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
3079         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
3080         (*subsi3_flags, *xorsi3_flags): New.
3081
3082         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
3083
3084         * config/rx/rx.c (rx_print_operand): Remove workaround for
3085         unsplit comparison operations.
3086
3087         * config/rx/rx.md (movsicc): Split after reload.
3088         (*movsicc): Merge *movsieq and *movsine via match_operator.
3089         (*stcc): New pattern.
3090
3091         * config/rx/rx.c (rx_float_compare_mode): Remove.
3092         * config/rx/rx.h (rx_float_compare_mode): Remove.
3093         * config/rx/rx.md (cstoresi4): Split after reload.
3094         (*sccc): New pattern.
3095
3096         * config/rx/predicates.md (label_ref_operand): New.
3097         (rx_z_comparison_operator): New.
3098         (rx_zs_comparison_operator): New.
3099         (rx_fp_comparison_operator): New.
3100         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
3101         Validate that the flags are set properly for the comparison.
3102         (rx_gen_cond_branch_template): Remove.
3103         (rx_cc_modes_compatible): Remove.
3104         (mode_from_flags): New.
3105         (flags_from_code): Rename from flags_needed_for_conditional.
3106         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
3107         (rx_select_cc_mode): Likewise.
3108         (rx_split_fp_compare): New.
3109         (rx_split_cbranch): New.
3110         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
3111         (*cbranchsi4): Use match_operator and rx_split_cbranch.
3112         (*cbranchsf4): Similarly.
3113         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
3114         match_operator and rx_split_cbranch.
3115         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
3116         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
3117         (*cmpsi): Rename from cmpsi.
3118         (*tstsi): Rename from tstsi.
3119         (*cmpsf): Rename from cmpsf; use CC_Fmode.
3120         (*conditional_branch): Rename from conditional_branch.
3121         (*reveresed_conditional_branch): Remove.
3122         (b<code>): Remove expander.
3123         * config/rx/rx-protos.h: Update.
3124
3125         * config/rx/rx.c (rx_compare_redundant): Remove.
3126         * config/rx/rx.md (cmpsi): Don't use it.
3127         * config/rx/rx-protos.h: Update.
3128
3129         * config/rx/rx-modes.def (CC_F): New mode.
3130         * config/rx/rx.c (rx_select_cc_mode): New.
3131         * config/rx/rx.h (SELECT_CC_MODE): Use it.
3132         * config/rx/rx-protos.h: Update.
3133
3134 2011-01-17  Richard Henderson  <rth@redhat.com>
3135
3136         * except.c (dump_eh_tree): Fix stray ; after for statement.
3137
3138 2011-01-17  Richard Guenther  <rguenther@suse.de>
3139
3140         PR tree-optimization/47313
3141         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
3142         handling before copying the body.  Properly deal with
3143         by-reference result in SSA form.
3144
3145 2011-01-17  Ian Lance Taylor  <iant@google.com>
3146
3147         PR target/47219
3148         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
3149         (struct_value_alias_set): Don't define.
3150         (sparc_option_override): Don't set sparc_sr_alias_set and
3151         struct_value_alias_set.
3152         (save_or_restore_regs): Use gen_frame_mem rather than calling
3153         set_mem_alias_set.
3154         (sparc_struct_value_rtx): Likewise.
3155
3156 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
3157
3158         PR target/47318
3159         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
3160         __m128i.
3161         (_mm_maskstore_pd): Likewise.
3162         (_mm_maskload_ps): Likewise.
3163         (_mm_maskstore_ps): Likewise.
3164         (_mm256_maskload_pd): Change mask to __m256i.
3165         (_mm256_maskstore_pd): Likewise.
3166         (_mm256_maskload_ps): Likewise.
3167         (_mm256_maskstore_ps): Likewise.
3168
3169         * config/i386/i386-builtin-types.def: Updated.
3170         (ix86_expand_special_args_builtin): Likewise.
3171
3172         * config/i386/i386.c (bdesc_special_args): Update
3173         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
3174         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
3175         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
3176         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
3177
3178         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
3179         Use <avxpermvecmode> on mask register.
3180         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
3181
3182 2011-01-17  Olivier Hainque  <hainque@adacore.com>
3183             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
3184             Eric Botcazou  <ebotcazou@adacore.com>
3185
3186         PR target/46655
3187         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
3188         if <= USHRT_MAX in 32-bit mode.
3189
3190 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3191
3192         * doc/install.texi (Configuration, Specific): Wrap long
3193         lines in examples.  Allow line wrapping in long options
3194         and URLs where beneficial for PDF output.
3195
3196 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
3197
3198         * config/mips/mips.c (mips_classify_symbol): Don't return
3199         SYMBOL_PC_RELATIVE for nonlocal labels.
3200
3201 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3202
3203         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
3204
3205 2011-01-15  Jan Hubicka  <jh@suse.cz>
3206
3207         PR tree-optimization/47276
3208         * ipa.c (function_and_variable_visibility): Do not try to mark alias
3209         declarations as needed.
3210
3211 2011-01-15  Martin Jambor  <mjambor@suse.cz>
3212
3213         * common.opt (fdevirtualize): New flag.
3214         * doc/invoke.texi (Option Summary): Document it.
3215         * opts.c (default_options_table): Add devirtualize flag.
3216         * ipa-prop.c (detect_type_change): Return immediately if
3217         devirtualize flag is not set.
3218         (detect_type_change_ssa): Likewise.
3219         (compute_known_type_jump_func): Likewise.
3220         (ipa_analyze_virtual_call_uses): Likewise.
3221
3222 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3223
3224         PR tree-optimization/45934
3225         PR tree-optimization/46302
3226         * ipa-prop.c (type_change_info): New type.
3227         (stmt_may_be_vtbl_ptr_store): New function.
3228         (check_stmt_for_type_change): Likewise.
3229         (detect_type_change): Likewise.
3230         (detect_type_change_ssa): Likewise.
3231         (compute_complex_assign_jump_func): Check for dynamic type change.
3232         (compute_complex_ancestor_jump_func): Likewise.
3233         (compute_known_type_jump_func): Likewise.
3234         (compute_scalar_jump_functions): Likewise.
3235         (ipa_analyze_virtual_call_uses): Likewise.
3236         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
3237
3238 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3239
3240         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
3241         * config/i386/i386.opt (msse5): New Alias.
3242
3243 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3244
3245         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3246         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3247         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3248         * config/sparc/sparc.h (CC1_SPEC): Likewise.
3249
3250 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3251
3252         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
3253         -mcpu options.
3254         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3255         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3256         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
3257         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
3258         Likewise.
3259         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
3260
3261 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3262
3263         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
3264
3265 2011-01-14  Mike Stump  <mikestump@comcast.net>
3266
3267         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
3268         * config/fr30/fr30.md: Likweise
3269         (movsi_push): Likewise.
3270         (movsi_pop): Likewise.
3271         (enter_func): Likewise.
3272         * config/moxie/moxie.md (movsi_push): Likewise.
3273         (movsi_pop): Likewise.
3274
3275 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3276
3277         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
3278         %{no_archive} %{exact_version}.
3279         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
3280         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
3281         %{no_archive} %{exact_version}.
3282         * config/mips/openbsd.h (LINK_SPEC): Likewise.
3283         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
3284         * config/mips/vxworks.h: Likewise.
3285
3286 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3287
3288         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
3289
3290 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3291
3292         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
3293         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
3294
3295 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3296
3297         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
3298         -nodefaultlib.
3299
3300 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3301
3302         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
3303         for mcpu not cpu.
3304         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
3305         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
3306         not cpu.
3307         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
3308         Don't handle -shlib.
3309
3310 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3311
3312         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
3313         (CC1_SPEC): Don't handle -profile.
3314
3315 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3316
3317         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
3318         * config/mips/mips.h (CC1_SPEC): Likewise.
3319
3320 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3321
3322         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
3323         * config/mips/mips.h (CC1_SPEC): Likewise.
3324
3325 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3326
3327         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
3328         * config/m32r/linux.h (LINK_SPEC): Likewise.
3329         * config/mips/linux.h (LINK_SPEC): Likewise.
3330         * config/mips/linux64.h (LINK_SPEC): Likewise.
3331         * config/sparc/linux.h (LINK_SPEC): Likewise.
3332         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
3333         LINK_SPEC): Likewise.
3334         * config/xtensa/linux.h (LINK_SPEC): Likewise.
3335
3336 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3337
3338         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
3339         %{version:-v}.
3340         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
3341
3342 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3343
3344         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
3345         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
3346
3347 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3348
3349         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
3350
3351 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3352
3353         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
3354         supports -Bstatic/-Bdynamic.
3355         * configure: Regenerate.
3356
3357 2011-01-14  Jan Hubicka  <jh@suse.cz>
3358             Jack Howarth  <howarth@bromo.med.uc.edu>
3359
3360         PR target/46037
3361         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
3362         when checking debug_info_level. Test write_symbols instead of
3363         debug_hooks->var_location when setting flag_var_tracking_uninit.
3364
3365 2011-01-14  Richard Guenther  <rguenther@suse.de>
3366
3367         PR tree-optimization/47179
3368         * target.def (ref_may_alias_errno): New target hook.
3369         * targhooks.h (default_ref_may_alias_errno): Declare.
3370         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
3371         (default_ref_may_alias_errno): New function.
3372         * target.h (struct ao_ref_s): Declare.
3373         * tree-ssa-alias.c: Include target.h.
3374         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
3375         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
3376         (targhooks.o): Likewise.
3377         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
3378         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
3379
3380 2011-01-14  Richard Guenther  <rguenther@suse.de>
3381
3382         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
3383
3384 2011-01-14  Richard Guenther  <rguenther@suse.de>
3385
3386         PR tree-optimization/47280
3387         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
3388         return CFG changes.
3389         (tree_ssa_forward_propagate_single_use_vars): Deal with
3390         CFG changes from associate_plusminus.
3391
3392 2011-01-14  Richard Guenther  <rguenther@suse.de>
3393
3394         PR middle-end/47281
3395         Revert
3396         2011-01-11  Richard Guenther  <rguenther@suse.de>
3397
3398         PR tree-optimization/46076
3399         * tree-ssa.c (useless_type_conversion_p): Conversions from
3400         unprototyped to empty argument list function types are useless.
3401
3402 2011-01-14  Richard Guenther  <rguenther@suse.de>
3403
3404         PR tree-optimization/47286
3405         * tree-ssa-structalias.c (new_var_info): Register variables are global.
3406
3407 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3408
3409         PR middle-end/46823
3410         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
3411
3412 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
3413
3414         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
3415         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
3416         * config/xtensa/xtensa.c (xtensa_libcall_value,
3417         xtensa_function_value_regno_p): New functions.
3418         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
3419
3420 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
3421
3422         PR c++/47213
3423         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
3424         PE specific hook.
3425         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
3426         New function prototype.
3427         * config/i386/winnt.c (i386_pe_assemble_visibility):
3428         Warn only if attribute was specified by user.
3429
3430 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
3431
3432         PR target/47251
3433         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
3434         floating point.
3435         (floatunsdidf2_fcfidu): Ditto.
3436
3437 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3438
3439         * config/s390/s390.c (print_operand_address): Replace 'error' with
3440         'output_operand_lossage'.
3441         (print_operand): Likewise.
3442
3443 2011-01-13  Jeff Law  <law@redhat.com>
3444
3445         PR rtl-optimization/39077
3446         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
3447         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
3448         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
3449         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
3450         * gcse.c (prune_insertions_deletions): New function.
3451         (compute_pre_data): Use it.
3452
3453 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
3454
3455         PR debug/PR46973
3456         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
3457         static function.
3458         (prune_unused_types_mark): Use it.
3459
3460 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
3461
3462         PR rtl-optimization/45352
3463         * sel-sched.c: Update copyright years.
3464         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
3465         in the advancing loop when we have issued issue_rate insns.
3466
3467 2011-01-12  Richard Henderson  <rth@redhat.com>
3468
3469         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
3470         (TARGET_MD_ASM_CLOBBERS): New.
3471
3472         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
3473         (TARGET_DELEGITIMIZE_ADDRESS): New.
3474
3475         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
3476         (clzsi2, *bsch): New patterns.
3477
3478         * config/mn10300/mn10300.md (INT): New mode iterator.
3479         (*mov<INT>_clr): New pattern, and peep2 to generate it.
3480
3481         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
3482         flag_split_wide_types.
3483
3484         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
3485         (mn10300_trampoline_init): Rewrite without a template, an immediate
3486         load and a direct branch.
3487         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
3488
3489 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
3490
3491         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3492         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
3493         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
3494         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3495
3496 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
3497
3498         PR debug/47209
3499         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
3500         of type.
3501
3502 2011-01-12  Jan Hubicka  <jh@suse.cz>
3503
3504         PR driver/47244
3505<