OSDN Git Service

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