OSDN Git Service

Fix fix to PR 48053
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2
3         PR target/48053
4         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
5         64-bit constants being loaded into registers other than GPRs such
6         as loading 0 into a VSX register.
7
8 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9
10         * config/sol2.c (solaris_assemble_visibility): Remove obsolete
11         URLs.
12
13 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
14
15         PR middle-end/47917
16         * builtins.c (fold_builtin_snprintf): New function.
17         (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
18         (fold_builtin_4): Likewise.
19
20         PR middle-end/38878
21         * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
22         STRIP_NOPS on arg0 and arg1.  When optimizing X +- C == X
23         and C - X == X also strip nops from +/-/p+ operand.
24         When optimizing -X == C, fold C to arg0's type.
25
26         PR debug/47946
27         * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
28         emit it as add_AT_int instead of add_AT_unsigned.
29
30 2011-03-14  Tom Tromey  <tromey@redhat.com>
31
32         * unwind-dw2.c: Include sys/sdt.h if it exists.
33         (_Unwind_DebugHook): Use STAP_PROBE2.
34         * config.in, configure: Rebuild.
35         * configure.ac: Check for sys/sdt.h.
36
37 2011-03-14  Uros Bizjak  <ubizjak@gmail.com>
38
39         * config/i386/i386.md (ROUND_FLOOR): New constant.
40         (ROUND_CEIL): Ditto.
41         (ROUND_TRUNC): Ditto.
42         (ROUND_MXCSR): Ditto.
43         (ROUND_NO_EXC): Ditto.
44         (rint<mode>2): Use new defines instead of numerical constants.
45         (floor<mode>2): Ditto.
46         (ceil<mode>2): Ditto.
47         (btrunc<mode>2): Ditto.
48         * config/i386/i386-builtin-types.def: Define ROUND function type
49         aliases.
50         * config/i386/i386.c (enum ix86_builtins): Add
51         IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
52         (struct builtin_description): Add
53         __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
54         (ix86_expand_sse_round): New static function.
55         (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
56         function types.
57         (ix86_builtin_vectorized_function): Handle
58         BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
59
60 2011-03-14  Tom Tromey  <tromey@redhat.com>
61
62         * c-parser.c (c_parser_asm_string_literal): Clear
63         warn_overlength_strings.
64
65 2011-03-14  Tom Tromey  <tromey@redhat.com>
66
67         * c-parser.c (disable_extension_diagnostics): Save
68         warn_overlength_strings.
69         (restore_extension_diagnostics): Restore warn_overlength_strings.
70
71 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
72
73         * BASE-VER: Change to 4.7.0.
74
75 2011-03-14  Richard Guenther  <rguenther@suse.de>
76
77         PR middle-end/48098
78         * tree.c (build_vector_from_val): Adjust assert to requirements
79         and reality.
80
81 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
82
83         PR bootstrap/48102
84         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
85
86 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
87
88         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
89         terms of target_flags_explicit. Adjust copyright year.
90
91         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
92         * config/rs6000/t-freebsd: New file. Add override for
93         LIB2FUNCS_EXTRA.
94
95 2011-03-13  Chris Demetriou  <cgd@google.com>
96
97         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
98         (-fno-diagnostics-show-option): this, to reflect current default.
99         (-Werror=): Update text about -fno-diagnostics-show-option.
100
101 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
102
103         PR target/48053
104         * config/rs6000/predicates.md (easy_vector_constant_add_self,
105         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
106         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
107         mode is not V2DImode or V2DFmode.
108         (vspltis_constant): Do not handle V2DImode and V2DFmode.
109         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
110         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
111         registers to 0.
112         (movdi_internal64): Likewise.
113
114 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
115
116         PR tree-optimization/47127
117         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
118         parameter.
119         (set_cloog_options): Same.
120         (scop_to_clast): Same.
121         (print_clast_stmt): Do not call cloog_state_malloc and
122         cloog_state_free.
123         (print_generated_program): Same.
124         (gloog): Same.
125         * graphite-clast-to-gimple.h (cloog_state): Declared.
126         (scop_to_clast): Adjust declaration.
127         * graphite.c (cloog_state): Defined here.
128         (graphite_initialize): Call cloog_state_malloc.
129         (graphite_finalize): Call cloog_state_free.
130
131 2011-03-11  Jason Merrill  <jason@redhat.com>
132
133         * attribs.c (lookup_attribute_spec): Take const_tree.
134         * tree.h: Adjust.
135
136 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
137
138         * config/sparc/sparc.c (sparc_option_override): Use
139         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
140
141 2011-03-11  Richard Guenther  <rguenther@suse.de>
142
143         PR tree-optimization/48067
144         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
145         multiplication result will be only used once on the target
146         stmt.
147
148 2011-03-11  Richard Guenther  <rguenther@suse.de>
149
150         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
151
152 2011-03-11  Richard Guenther  <rguenther@suse.de>
153
154         PR lto/48073
155         * tree.c (find_decls_types_r): Do not walk types only reachable
156         from IDENTIFIER_NODEs.
157
158 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
159
160         PR middle-end/48044
161         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
162         all vnode->force_output nodes as needed.
163
164 2011-03-11  Jason Merrill  <jason@redhat.com>
165
166         PR c++/48069
167         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
168         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
169
170 2011-03-11  Martin Jambor  <mjambor@suse.cz>
171
172         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
173         cgraph_node.
174
175 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
176
177         PR tree-optimization/48063
178         * ipa-inline.c (cgraph_decide_inlining): Don't try to
179         inline functions called once if !tree_can_inline_p (node->callers).
180
181 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
182
183         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
184         extra_objs.
185         * config/score/score3.c: Delete.
186         * config/score/score3.h: Delete.
187         * config/score/mul-div.S: Delete.
188         * config/score/sfp-machine.h: Add new file.
189         * config/score/constraints.md: Add new file.
190         * config/score/t-score-softfp: Add new file.
191         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
192         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
193         (score7_extra_constraint): Delete.
194         (score7_option_override): Remove unused code.
195         * config/score/score.c: Remove score3 and score5 define and code.
196         * config/score/score.h: Remove score3 and score5 define and code.
197         * config/score/score.md: Remove score3 template and unusual insn.
198         * config/score/score.opt: Remove score3 and score5 options.
199
200 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
201
202         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
203         when _HPUX_SOURCE is defined.
204         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
205
206 2011-03-10  Jason Merrill  <jason@redhat.com>
207
208         PR c++/48029
209         * stor-layout.c (layout_type): Don't set structural equality
210         on arrays of incomplete type.
211         * tree.c (type_hash_eq): Handle comparing them properly.
212
213 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
214
215         PR debug/48043
216         * config/s390/s390.c (s390_delegitimize_address): Make sure the
217         result mode matches original rtl mode.
218
219 2011-03-10  Nick Clifton  <nickc@redhat.com>
220
221         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
222         (andsi3, andsi3_flags): Fix timings for three operand alternative.
223
224 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
225
226         PR rtl-optimization/47866
227         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
228         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
229         if target wasn't scalar.
230         * function.c (assign_stack_temp_for_type): Assert that neither
231         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
232         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
233         macro.
234         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
235
236 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
237
238         * config/s390/s390-protos.h (s390_label_align): New prototype.
239         * config/s390/s390.c (s390_label_align): New function.
240         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
241
242 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
243
244         PR target/47755
245         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
246         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
247         (output_vec_const_move): Ditto.
248
249 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
250
251         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
252         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
253         * config/mips/mips.c (mips_preferred_reload_class): Make static.
254         Change 'rclass' argument and result type to reg_class_t.
255         (TARGET_PREFERRED_RELOAD_CLASS): Define.
256
257 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
258
259        * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
260        * config/avr/avr.c (TARGET_REGISTER_MOVE_COST,
261        TARGET_MEMORY_MOVE_COST): Define.
262        (avr_register_move_cost, avr_memory_move_cost): New Functions.
263
264 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
265
266         PR debug/47881
267         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
268         removed anything.
269
270         PR tree-optimization/48022
271         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
272         for EQ/NE_EXPR.
273
274 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
275
276         PR debug/47991
277         * var-tracking.c (find_use_val): Return NULL for
278         cui->sets && cui->store_p BLKmode MEMs.
279
280 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
281
282         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
283         Remove.
284         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
285         xstormy16_print_operand_address): Remove.
286         * config/stormy16/stormy16.c (xstormy16_print_operand,
287         xstormy16_print_operand_address): Make static.
288         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
289
290 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
291
292         PR target/47862
293         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
294         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
295         before definition.
296
297 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
298
299         PR bootstrap/48000
300         * cfgloopmanip.c (fix_bb_placements): Return immediately
301         if FROM is BASE_LOOP's header.
302
303 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
304
305         * gimplify.c (gimplify_function_tree): Fix building calls
306         to __builtin_return_address.
307
308 2011-03-07  Alan Modra  <amodra@gmail.com>
309
310         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
311         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
312         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
313         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
314         return_mode args.
315         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
316         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
317         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
318         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
319         * config/rs6000/rs6000.c
320         (rs6000_elf_end_indicate_exec_stack): Rename to..
321         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
322         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
323         (rs6000_file_start): ..here.
324         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
325         file scope variables.
326         (call_ABI_of_interest): New function.
327         (init_cumulative_args): Set above vars when function return value
328         is a float, vector, or small struct.
329         (rs6000_function_arg_advance_1): Likewise for function args.
330         (rs6000_va_start): Set rs6000_passes_float if variable arg function
331         references float args.
332
333 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
334
335         * doc/cfg.texi: Remove "See" before @ref.
336         * doc/invoke.texi: Likewise.
337
338 2011-03-05  Jason Merrill  <jason@redhat.com>
339
340         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
341
342 2011-03-05  Anthony Green  <green@moxielogic.com>
343
344         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
345
346 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
347
348         PR rtl-optimization/47899
349         * cfgloopmanip.c (fix_bb_placements): Fix first argument
350         to flow_loop_nested_p when moving the loop upward.
351
352 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
353
354         PR target/47719
355         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
356
357 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
358
359         PR tree-optimization/47967
360         * ipa-cp.c (build_const_val): Return NULL instead of creating
361         VIEW_CONVERT_EXPR for mismatching sizes.
362         (ipcp_create_replace_map): Return NULL if build_const_val failed.
363         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
364         give up on versioning.
365
366 2011-03-05  Alan Modra  <amodra@gmail.com>
367
368         PR target/47986
369         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
370         full cmodel medium/large lo_sum + high addresses.
371
372 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
373
374         * config/s390/s390.c (s390_decompose_address): Reject non-literal
375         pool references in UNSPEC_LTREL_OFFSET.
376
377 2011-03-04  Jan Hubicka  <jh@suse.cz>
378
379         PR lto/47497
380         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
381         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
382         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
383         Add node pointers.
384         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
385         cgraph_add_thunk): Add node pointers.
386         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
387         associated to right node.
388         (input_node): Update use of cgraph_same_body_alias
389         and cgraph_add_thunk.
390
391 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
392
393         * config/i386/i386.opt (mprefer-avx128): New flag.
394         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
395         modes when the flag -mprefer-avx128 is on.
396
397 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
398
399         * dwarf2out.c (compare_loc_operands): Fix address handling.
400
401 2011-03-04  Alan Modra  <amodra@gmail.com>
402
403         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
404
405 2011-03-04  Richard Guenther  <rguenther@suse.de>
406
407         PR middle-end/47968
408         * expmed.c (extract_bit_field_1): Prefer vector modes that
409         vec_extract patterns can handle.
410
411 2011-03-04  Richard Guenther  <rguenther@suse.de>
412
413         PR middle-end/47975
414         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
415
416 2011-03-04  Richard Henderson  <rth@redhat.com>
417
418         * explow.c (emit_stack_save): Remove 'after' parameter.
419         (emit_stack_restore): Likewise.
420         * expr.h: Update to match.
421         * builtins.c, calls.c, stmt.c: Likewise.
422         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
423         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
424         * function.c (expand_function_end): Insert the emit_stack_save
425         sequence before parm_birth_insn instead of after.
426
427 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
428
429         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
430         (ssse3_pmaddubsw128): Ditto.
431         (ssse3_pmaddubsw): Ditto.
432
433 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
434
435         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
436
437 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
438
439         PR c/47963
440         * gimplify.c (omp_add_variable): Only call omp_notice_variable
441         on TYPE_SIZE_UNIT if it is a DECL.
442
443         PR debug/47283
444         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
445         first operand is not is_gimple_mem_ref_addr, try to fold it.
446         If the operand still isn't is_gimple_mem_ref_addr, clear
447         MEM_EXPR on op0.
448
449 2011-03-03  Richard Guenther  <rguenther@suse.de>
450
451         PR middle-end/47283
452         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
453         match comment.
454         (refs_may_alias_p_1): For release branches return true if
455         we are confused by our input.
456
457 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
458
459         * config/s390/s390.c (s390_function_value): Rename to ...
460         (s390_function_and_libcall_value): ... this.
461         (s390_function_value): New function.
462         (s390_libcall_value): New function.
463         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
464         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
465         target macro definitions.
466         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
467
468 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
469
470         * config/i386/freebsd64.h (CC1_SPEC): Define.
471         * config/i386/linux64.h (CC1_SPEC): Define.
472         * config/i386/x86-64.h (CC1_SPEC): Don't define.
473
474 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
475
476         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
477         Remove.
478         * config/stormy16/stormy16.c: Include reload.h.
479         (xstormy16_memory_move_cost): New function.
480         (TARGET_MEMORY_MOVE_COST): Define.
481
482 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
483
484         PR rtl-optimization/47925
485         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
486         with side effects.  Remove the more-specific check for volatile asms.
487
488 2011-03-02  Alan Modra  <amodra@gmail.com>
489
490         PR target/47935
491         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
492         toc relative addresses for valid offsets.
493
494 2011-03-01  Richard Guenther  <rguenther@suse.de>
495
496         PR tree-optimization/47890
497         * tree-vect-loop.c (get_initial_def_for_induction): Set
498         related stmt properly.
499
500 2011-03-01  Richard Guenther  <rguenther@suse.de>
501
502         PR lto/47924
503         * lto-streamer.c (lto_record_common_node): Also register
504         the canonical type.
505
506 2011-03-01  Richard Guenther  <rguenther@suse.de>
507
508         PR lto/46911
509         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
510         Do not stream DECL_ABSTRACT_ORIGIN.
511         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
512         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
513         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
514         Do not stream DECL_ABSTRACT_ORIGIN.
515         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
516         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
517
518 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
519
520         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
521         FUNCTION_VALUE_REGNO_P): Remove.
522         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
523         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
524         Add 'outgoing' argument.
525         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
526         function.
527         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
528         TARGET_FUNCTION_VALUE_REGNO_P): Define.
529
530 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
531
532         PR debug/28047
533         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
534         (lookup_filename): Likewise.
535         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
536
537 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
538             Jakub Jelinek  <jakub@redhat.com>
539
540         PR middle-end/47893
541         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
542         (assign_stack_local_1): Change last argument type to int.
543         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
544         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
545         don't record padding space into frame_space_list nor use those areas.
546         (assign_stack_local): Adjust caller.
547         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
548         of assign_stack_local, pass 0 as last argument.
549         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
550         callers.
551
552 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
553
554         PR debug/47283
555         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
556         Use target address_mode and pointer_mode hooks instead of hardcoded
557         Pmode and ptr_mode.  Handle some simple cases of extending if
558         POINTERS_EXTEND_UNSIGNED < 0.
559         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
560         Call convert_debug_memory_address.
561         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
562         convert_debug_memory_address.
563
564         PR middle-end/46790
565         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
566         * configure: Regenerated.
567         * config.in: Regenerated.
568         * varasm.c (default_function_section): Return NULL
569         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
570
571 2011-02-28  Martin Jambor  <mjambor@suse.cz>
572
573         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
574         the description to match the printed values.
575
576 2011-02-28  Richard Guenther  <rguenther@suse.de>
577
578         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
579         of the copied scope tree.
580
581 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
582
583         * doc/extend.texi (Function Attributes): Avoid deeply (and
584         wrongly) nested tables.
585
586 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
587
588         PR middle-end/47903
589         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
590         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
591         r isn't op0 nor op1.
592
593 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
594
595         * config/avr/avr.md: Remove magic comment for emacs.
596
597 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
598
599         PR target/45261
600         * config/avr/avr.c (avr_option_override): Use error on bad options.
601         (avr_help): New function.
602         (TARGET_HELP): Define.
603
604 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
605
606         PR target/42240
607         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
608         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
609
610 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
611
612         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
613         (ARM Options): Ditto.
614         (i386 and x86-64 Options): Ditto.
615         (RX Options): Ditto.
616         (SPARC Options): Ditto.
617
618 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
619
620         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
621         FreeBSD 6 and later.  Generally use cpu generic.
622
623 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
624
625         * doc/cpp.texi: Update copyright years.
626
627 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
628
629         PR target/46898
630         * config/lm32/lm32.md (ashrsi3): Added needed variable.
631
632 2011-02-25  Jon Beniston  <jon@beniston.com>
633
634         PR target/46898
635         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
636         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
637         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
638         (lm32_block_move_inline): Add type cast to remove warning.
639         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
640         (gen_int_relational): Move declarations to start of function.
641
642 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
643
644         PR tree-optimization/45470
645         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
646         can throw internally only.
647         * tree-vect-stmts.c (vectorizable_call): Likewise.
648
649 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
650
651         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
652         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
653         * config/stormy16/stormy16-protos.h
654         (xstormy16_preferred_reload_class): Remove.
655         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
656         static. Change 'rclass' argument and return type to reg_class_t.
657         (TARGET_PREFERRED_RELOAD_CLASS,
658         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
659
660 2011-02-24  Richard Guenther  <rguenther@suse.de>
661
662         * lto-streamer-in.c (input_bb): Do not find referenced vars
663         in debug statements.
664
665 2011-02-23  Jason Merrill  <jason@redhat.com>
666
667         * common.opt (fabi-version): Document v5 and v6.
668
669 2011-02-23  Richard Guenther  <rguenther@suse.de>
670
671         PR tree-optimization/47849
672         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
673
674 2011-02-23  Jie Zhang  <jie@codesourcery.com>
675
676         * opts-common.c (decode_cmdline_option): Print empty string
677         argument as "" in decoded->orig_option_with_args_text.
678         * gcc.c (execute): Print empty string argument as ""
679         in the verbose output.
680         (do_spec_1): Keep empty string argument.
681
682 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
683
684         * config.gcc: Declare score-* and crx-* obsolete.
685
686 2011-02-23  Jie Zhang  <jie@codesourcery.com>
687
688         PR rtl-optimization/47763
689         * web.c (web_main): Ignore naked clobber when replacing register.
690
691 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
692
693         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
694         Remove.
695
696 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
697
698         PR doc/47848
699         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
700
701 2011-02-22  Mike Stump  <mikestump@comcast.net>
702
703         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
704         assembler.
705         * configure: Regenerate.
706
707 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
708
709         PR rtl-optimization/46002
710         * ira-color.c (update_copy_costs): Change class intersection
711         test to reg_class_contents[] test of 'hard_regno'.
712
713 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
714
715         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
716         than Driver option.
717         * config/hpux11.opt (mt): Likewise.
718         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
719         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
720         * config/vax/elf.opt (mno-asm-pic): Likewise.
721         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
722
723 2011-02-21  Mike Stump  <mikestump@comcast.net>
724
725         PR target/47822
726         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
727         tree so we can get save the type.
728         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
729         for CFString instead of trying to use past the end of the builtins.
730         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
731         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
732         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
733         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
734         Rename to darwin_builtin_cfstring.
735         (darwin_init_cfstring_builtins): Return the built type.
736
737 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
738
739         PR target/47840
740         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
741         (_mm256_insert_epi64): Use _mm_insert_epi64.
742
743 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
744
745         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
746         * config/stormy16/stormy16-protos.h
747         (xstormy16_mode_dependent_address_p): Remove.
748         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
749         Make static. Change return type to bool. Change argument type to
750         const_rtx. Remove dead code.
751         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
752
753 2011-02-21  Richard Guenther  <rguenther@suse.de>
754
755         PR lto/47820
756         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
757         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
758         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
759         TUs context.
760         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
761         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
762
763 2011-02-20  Richard Guenther  <rguenther@suse.de>
764
765         PR lto/47822
766         * tree.c (free_lang_data_in_decl): Clean builtins from
767         the TU decl BLOCK_VARS.
768
769 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
770
771         PR debug/47620
772         PR debug/47630
773         * haifa-sched.c (fix_tick_ready): Skip tick computation
774         for debug insns.
775
776 2011-02-19  Richard Guenther  <rguenther@suse.de>
777
778         PR lto/47647
779         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
780         Remove lazy BLOCK_VARS streaming.
781         (lto_input_ts_block_tree_pointers): Likewise.
782         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
783
784 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
785
786         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
787
788 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
789
790         * config/i386/biarch32.h, config/i386/mach.h,
791         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
792
793 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
794
795         PR target/47800
796         * config/i386/i386.md (peephole2 for shift and plus): Use
797         operands[1] original mode in the first insn.
798
799 2011-02-18  Mike Stump  <mikestump@comcast.net>
800
801         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
802
803 2011-02-18  Jan Hubicka  <jh@suse.cz>
804
805         PR middle-end/47788
806         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
807         to zero when the function is not inlinable at all.
808
809 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
810
811         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
812         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
813         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
814         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
815         * config/pa/t-pa64: Likewise.
816         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
817
818 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
819
820         PR driver/47787
821         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
822
823 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
824
825         PR target/47792
826         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
827
828 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
829
830         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
831         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
832         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
833         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
834         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
835         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
836         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
837         m32r_load_postinc_p, m32r_store_preinc_predec_p,
838         m32r_legitimate_address_p): New functions.
839         * config/m32r/constraints.md (constraint "S"): Don't use
840         STORE_PREINC_PREDEC_P.
841         (constraint "U"): Don't use LOAD_POSTINC_P.
842
843 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
844
845         PR rtl-optimization/46178
846         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
847         compute ira_hard_regno_cover_class[].
848
849 2011-02-18  Richard Guenther  <rguenther@suse.de>
850
851         PR lto/47798
852         * lto-streamer.h (lto_global_var_decls): Declare.
853         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
854         statics for global var processing.
855
856 2011-02-18  Richard Guenther  <rguenther@suse.de>
857
858         PR tree-optimization/47737
859         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
860         edge dominance check.
861
862 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
863
864         PR debug/47780
865         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
866         avoid invalid rtx sharing.
867
868 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
869
870         * doc/cpp.texi (Obsolete Features): Add background on the
871         origin of assertions.
872
873 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
874
875         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
876         objc_abi == 2.
877         * config/darwin.c (output_objc_section_asm_op): Added support for
878         ABI v1 and v2.
879         (is_objc_metadata): New.
880         (darwin_objc2_section): New.
881         (darwin_objc1_section): New.
882         (machopic_select_section): Added support for ABI v1 and v2.
883         (darwin_emit_objc_zeroed): New.
884         (darwin_output_aligned_bss): Detect objc metadata and treat it
885         appropriately.
886         (darwin_asm_output_aligned_decl_common): Same.
887         (darwin_asm_output_aligned_decl_local): Same.
888         * config/darwin-sections.def: Updated for ABI v1 and v2.
889         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
890         compiling Objective-C code for the NeXT runtime, default to using
891         ABI version 0 for 32-bit, and version 2 for 64-bit.
892
893 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
894
895         * common.opt (optimize_fast): New Variable.
896         * opts.c (default_options_optimization): Use opts->x_optimize_fast
897         instead of local variable ofast.
898
899 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
900
901         * doc/invoke.texi (fobjc-abi-version): Documented.
902         (fobjc-nilcheck): Documented.
903         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
904         version.
905
906 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
907
908         PR driver/47390
909         * common.opt (export-dynamic): New Driver option.
910         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
911
912 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
913
914         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
915
916 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
917             Jan Hubicka  <jh@suse.cz>
918
919         PR debug/47106
920         PR debug/47402
921         * cfgexpand.c (account_used_vars_for_block): Remove.
922         (estimated_stack_frame_size): Use referenced vars.
923         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
924         that were referenced in the original function.  Test src_fn
925         rather than cfun.  Drop redundant get_var_ann.
926         (setup_one_parameter): Drop redundant get_var_ann.
927         (declare_return_variable): Likewise.
928         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
929         (copy_arguments_for_versioning): Drop redundant get_var_ann.
930         * ipa-inline.c (compute_inline_parameters): Do not compute
931         disregard_inline_limits here.
932         (compute_inlinable_for_current, pass_inlinable): New.
933         (pass_inline_parameters): Require PROP_referenced_vars.
934         * cgraphunit.c (cgraph_process_new_functions): Don't run
935         compute_inline_parameters explicitly unless function is in SSA form.
936         (cgraph_analyze_function): Set .disregard_inline_limits.
937         * tree-sra.c (convert_callers): Compute inliner parameters
938         only for functions already in SSA form.
939
940 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
941
942         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
943         -mlittle-endian-data.
944
945 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
946
947         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
948         -mno-fpu, not -fpu and -no-fpu.
949         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
950         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
951
952 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
953
954         PR target/43653
955         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
956         input reload with PLUS RTX.
957
958 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
959
960         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
961         of InverseVar(MDMX).
962
963 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
964
965         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
966         --m4-340.
967
968 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
969
970         * config/mn10300/mn10300.opt (mno-crt0): New.
971
972 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
973
974         * config/m68k/uclinux.opt (static-libc): New Driver option.
975
976 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
977
978         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
979
980 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
981
982         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
983         %{muser-extend-enabled}.
984
985 2011-02-16  Richard Guenther  <rguenther@suse.de>
986
987         PR tree-optimization/47738
988         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
989         the TODO from tree_predictive_commoning.
990
991 2011-02-15  Jeff Law  <law@redhat.com>
992
993         Revert
994         2011-01-25  Jeff Law  <law@redhat.com>
995
996         PR rtl-optimization/37273
997         * ira-costs.c (scan_one_insn): Detect constants living in memory and
998         handle them like argument loads from stack slots.  Do not double
999         count memory for memory constants and argument loads from stack slots.
1000
1001 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1002
1003         PR middle-end/47725
1004         * combine.c (cant_combine_insn_p): Revert the last change.
1005
1006 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
1007
1008         PR target/47755
1009         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
1010         mode for vector constants.  Remove code that checks for TImode.
1011
1012 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1013
1014         PR debug/47106
1015         PR debug/47402
1016         * cgraph.h (compute_inline_parameters): Return void.
1017         * ipa-inline.c (compute_inline_parameters): Adjust.
1018
1019 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1020
1021         PR debug/47106
1022         PR debug/47402
1023         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
1024         rather than decl.
1025         * cfgexpand.c (estimated_stack_frame_size): Likewise.
1026         * ipa-inline.c (compute_inline_parameters): Adjust.
1027
1028 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1029
1030         PR debug/47106
1031         PR debug/47402
1032         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
1033         Adjust all users.  Pass FN to...
1034         * tree-flow-inline.h (first_referenced_var): ... this.  Add
1035         fn argument.
1036         * ipa-struct-reorg.c: Adjust.
1037         * tree-dfa.c: Adjust.
1038         * tree-into-ssa.c: Adjust.
1039         * tree-sra.c: Adjust.
1040         * tree-ssa-alias.c: Adjust.
1041         * tree-ssa-live.c: Adjust.
1042         * tree-ssa.c: Adjust.
1043         * tree-ssanames.c: Adjust.
1044         * tree-tailcall.c: Adjust.
1045
1046 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
1047
1048         PR debug/47106
1049         PR debug/47402
1050         * tree-flow.h (referenced_var_lookup): Add fn parameter.
1051         Adjust all callers.
1052         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
1053         * tree-flow-inline.h: Adjust.
1054         * gimple-pretty-print.c: Adjust.
1055         * tree-into-ssa.c: Adjust.
1056         * tree-ssa.c: Adjust.
1057         * cfgexpand.c: Adjust.
1058
1059 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1060
1061         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
1062         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1063         (EXTRA_CONSTRAINT): Delete.
1064         * config/iq2000/constraints.md: New file.
1065         * config/iq2000/iq2000.md: Include it.
1066         (define_insn ""): Delete.
1067         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
1068         unsupported constraint letters from patterns.
1069         (call_value, call_value_internal1): Likewise.
1070         (call_value_multiple_internal1): Likewise.
1071
1072 2011-02-15  Nick Clifton  <nickc@redhat.com>
1073
1074         * config/mn10300/mn10300.c: Include tm-constrs.h.
1075         (struct liw_data): New data structure describing an LIW candidate
1076         instruction.
1077         (extract_bundle): Use struct liw_data.  Allow small integer
1078         operands for some instructions.
1079         (check_liw_constraints): Use struct liw_data.  Remove swapped
1080         parameter.  Add comments describing the checks.  Fix bug when
1081         assigning the source of liw1 to the source of liw2.
1082         (liw_candidate): Delete.  Code moved into extract_bundle.
1083         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
1084         before swapping.
1085         * config/mn10300/predicates.md (liw_operand): New predicate.
1086         Allows registers and small integer constants.
1087         * config/mn10300/constraints.md (O): New constraint.  Accetps
1088         integers in the range -8 to +7 inclusive.
1089         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
1090         for moving a small integer into a register.  Give this alternative
1091         LIW attributes.
1092         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
1093         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
1094         using the J,K,L and M constraints,
1095         (liw): Remove SI mode on second operands to allow for HI and QI
1096         mode values.
1097         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
1098         instruction.
1099
1100 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1101
1102         PR middle-end/47725
1103         * combine.c (cant_combine_insn_p): Check zero/sign extended
1104         hard registers.
1105
1106 2011-02-15  Richard Guenther  <rguenther@suse.de>
1107
1108         PR tree-optimization/47743
1109         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
1110         for a non-type-compatible VN lookup bail out.
1111
1112 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1113
1114         * config/fr30/constraints.md: New file.
1115         * config/fr30/fr30.md: Include it.
1116         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
1117         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1118         (EXTRA_CONSTRAINT): Delete.
1119
1120 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
1121
1122         * config/frv/constraints.md: New file.
1123         * config/frv/predicates.md: Include it.
1124         * config/frv/frv.c (reg_class_from_letter): Delete.
1125         (frv_option_override): Don't initialize it.
1126         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
1127         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
1128         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
1129         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1130         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
1131         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1132         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
1133         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
1134         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
1135         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
1136         (REG_CLASS_FROM_CONSTRAINT): Delete.
1137
1138 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
1139
1140         PR middle-end/47581
1141         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
1142         if frame size is 0 in a leaf function.
1143
1144 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1145
1146         PR pch/14940
1147         * config/alpha/host-osf.c: New file.
1148         * config/alpha/x-osf: New file.
1149         * config.host (alpha*-dec-osf*): Use it.
1150
1151 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1152
1153         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1154         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
1155         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
1156         (rx_mode_dependent_address_p): ...this. Make static. Change argument
1157         type to const_rtx.
1158         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1159
1160 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1161
1162         * config/stormy16/constraints.md: New file.
1163         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
1164         Use satisfies_constraint_Q and satisfies_constraint_R.
1165         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
1166         Delete.
1167         (xstormy16_legitiamte_address_p): Declare.
1168         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
1169         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1170         (EXTRA_CONSTRAINT): Delete.
1171         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
1172         Un-staticize.
1173         (xstormy16_extra_constraint_p): Delete.
1174
1175 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
1176
1177         PR tree-optimization/46494
1178         * loop-unroll.c (split_edge_and_insert): Adjust comment.
1179         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
1180         (pass_rtl_loop_done): Add TODO_verify_flow.
1181         * fwprop.c (pass_rtl_fwprop): Likewise.
1182         * modulo-sched.c (pass_sms): Likewise.
1183         * tree-ssa-dom.c (pass_dominator): Likewise.
1184         * tree-ssa-loop-ch.c (pass_ch): Likewise.
1185         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
1186         (pass_tree_loop_done): Likewise.
1187         * tree-ssa-pre.c (execute_pre): Likewise.
1188         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
1189         * tree-ssa-sink.c (pass_sink_code): Likewise.
1190         * tree-vrp.c (pass_vrp): Likewise.
1191
1192 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1193
1194         * config/v850/constraints.md: New file.
1195         * config/v850/v850.md: Include it.
1196         * config/v850/predicates.md (reg_or_0_operand): Use
1197         satisfies_constraint_G.
1198         (special_symbolref_operand): Use satisfies_constraint_K.
1199         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
1200         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
1201         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
1202         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1203         (EXTRA_CONSTRAINT): Delete.
1204         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
1205         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
1206         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
1207
1208 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
1209
1210         PR target/47696
1211         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
1212         description.
1213
1214 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
1215
1216         * config/mcore/constraints.md: New file.
1217         * config/mcore/mcore.md: Include it.
1218         * config/mcore/mcore.c (reg_class_from_letter): Delete.
1219         * config/mcore/mcore.h (reg_class_from_letter): Delete.
1220         (REG_CLASS_FROM_LETTER): Delete.
1221         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
1222         insn_const_int_ok_for_constraint.
1223         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
1224         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
1225         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1226         (EXTRA_CONSTRAINT): Delete.
1227
1228 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1229
1230         PR ada/41929
1231         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
1232         (IS_SIGHANDLER): Define.
1233         (sparc64_is_sighandler): New function, split off from
1234         sparc64_fallback_frame_state.
1235         (sparc_is_sighandler): New function, split off from
1236         sparc_fallback_frame_state.
1237         (sparc64_fallback_frame_state): Merge with ...
1238         (sparc_fallback_frame_state): ... this into ...
1239         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
1240         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
1241         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
1242         stack instead of hardcoded offsets.
1243
1244 2011-02-14  Andriy Gapon  <avg@freebsd.org>
1245
1246         PR target/45808
1247         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
1248
1249 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1250
1251         * configure: Regenerate.
1252
1253 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
1254
1255         PR driver/45731
1256         * gcc.c (asm_options): Correct spec matching --target-help.
1257
1258 2011-02-12  Martin Jambor  <mjambor@suse.cz>
1259
1260         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
1261         to gimple call error.
1262
1263 2011-02-12  Mike Stump  <mikestump@comcast.net>
1264
1265         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
1266         comments in backslash regions.
1267
1268 2011-02-12  Mike Stump  <mikestump@comcast.net>
1269             Jakub Jelinek  <jakub@redhat.com>
1270             Iain Sandoe  <iains@gcc.gnu.org>
1271
1272         PR target/47324
1273         * dwarf2out.c (output_cfa_loc): When required, apply the
1274         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
1275         (output_loc_sequence): Likewise.
1276         (output_loc_operands_raw): Likewise.
1277         (output_loc_sequence_raw): Likewise.
1278         (output_cfa_loc): Likewise.
1279         (output_loc_list): Suppress register number adjustment when
1280         calling output_loc_sequence()
1281         (output_die): Likewise.
1282
1283 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
1284
1285         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
1286         Remove macros.
1287         * config/xtensa/xtensa.c (xtensa_register_move_cost,
1288         xtensa_memory_move_cost): New functions.
1289         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
1290
1291 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
1292
1293         PR lto/47225
1294         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
1295         in the current directory.
1296         * configure: Rebuilt.
1297
1298 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
1299
1300         * config/darwin.c (darwin_override_options): Add a hunk missed
1301         from the commit of r168571.  Trim comment line lengths and
1302         correct indents of the preceding block.
1303
1304 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
1305
1306         * gcc.c (driver_handle_option): Concatenate the argument to -F with
1307         the switch.
1308
1309 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
1310
1311         * common.opt (nostartfiles): New Driver option.
1312
1313 2011-02-11  Xinliang David Li  <davidxl@google.com>
1314
1315         PR tree-optimization/47707
1316         * tree-chrec.c (convert_affine_scev): Keep type precision.
1317
1318 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
1319
1320         PR tree-optimization/47420
1321         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
1322
1323 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
1324
1325         PR rtl-optimization/47614
1326         * rtl.h (check_for_inc_dec): Declare.
1327         * dse.c (check_for_inc_dec): Externalize...
1328         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
1329         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
1330
1331 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
1332
1333         PR driver/47678
1334         * gcc.c (main): Do not compile inputs if there were errors in
1335         option handling.
1336         * opts-common.c (read_cmdline_option): Check for wrong language
1337         after other error checks.
1338
1339 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
1340
1341         * cgraph.c: Fix comment typos.
1342         * cgraph.h: Likewise.
1343         * cgraphunit.c: Likewise.
1344         * ipa-cp.c: Likewise.
1345         * ipa-inline.c: Likewise.
1346         * ipa-prop.c: Likewise.
1347         * ipa-pure-const.c: Likewise.
1348         * ipa-ref.c: Likewise.
1349         * ipa-reference.c: Likewise.
1350
1351 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
1352
1353         PR debug/47684
1354         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
1355
1356 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1357
1358         PR testsuite/47400
1359         * doc/sourcebuild.texi (Require Support): Document
1360         dg-require-ascii-locale.
1361
1362 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
1363
1364         * doc/lto.texi (Write summary): Fix missing parentheses.
1365
1366 2011-02-10  DJ Delorie  <dj@redhat.com>
1367
1368         * config/m32c/m32c.c (m32c_option_override): Disable
1369         -fcombine-stack-adjustments until flag value tracking and compare
1370         optimization can be rewritten.
1371
1372 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
1373
1374         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
1375         PROCESSOR_POWER7.
1376         (PROCESSOR_DEFAULT64): Likewise.
1377
1378 2011-02-10  Richard Henderson  <rth@redhat.com>
1379
1380         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
1381         change from 2011-02-03.
1382         * config/rx/rx.c (flags_from_code): Likewise.
1383         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
1384         is valid, n/pz otherwise.
1385         (rx_select_cc_mode): Return CCmode if Y is not zero.
1386
1387 2011-02-10  Richard Guenther  <rguenther@suse.de>
1388
1389         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
1390
1391 2011-02-10  Richard Guenther  <rguenther@suse.de>
1392
1393         PR tree-optimization/47677
1394         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
1395
1396 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
1397
1398         PR target/47665
1399         * combine.c (make_compound_operation): Only change shifts into
1400         multiplication for SCALAR_INT_MODE_P.
1401
1402 2011-02-10  Jie Zhang  <jie@codesourcery.com>
1403
1404         PR testsuite/47622
1405         Revert
1406         2011-02-05  Jie Zhang  <jie@codesourcery.com>
1407         PR debug/42631
1408         * web.c (entry_register): Don't clobber the number of the
1409         first uninitialized reference in used[].
1410
1411 2011-02-09  Richard Guenther  <rguenther@suse.de>
1412
1413         PR tree-optimization/47664
1414         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
1415         all edges again.
1416
1417 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
1418
1419         PR target/46481
1420         PR target/47032
1421         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
1422         PROCESSOR_POWER7.
1423         (PROCESSOR_DEFAULT64): Same.
1424         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
1425
1426 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1427
1428         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
1429
1430 2011-02-09  Martin Jambor  <mjambor@suse.cz>
1431
1432         PR middle-end/45505
1433         * tree-sra.c (struct access): New flags grp_scalar_read and
1434         grp_scalar_write.  Changed description of assignment read and write
1435         flags.
1436         (dump_access): Dump new flags, reorder all of them.
1437         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
1438         to detect multiple scalar reads.
1439         (analyze_access_subtree): Use the new scalar read write flags instead
1440         of the old flags.  Adjusted comments.
1441
1442 2011-02-08  DJ Delorie  <dj@redhat.com>
1443
1444         PR target/47548
1445         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
1446         patterns.
1447
1448 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1449
1450         * config/m68k/uclinux.opt: New.
1451         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
1452
1453 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1454
1455         * config/cris/elf.opt (sim): New Driver option.
1456
1457 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1458
1459         * config/xtensa/elf.opt: New.
1460         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
1461
1462 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1463
1464         * config/vax/elf.opt: New.
1465         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
1466
1467 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1468
1469         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
1470
1471 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1472
1473         * config/gnu-user.opt: New.
1474         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
1475         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
1476         *-*-uclinux*): Use gnu-user.opt.
1477
1478 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
1479
1480         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
1481         * config/i386/gnu.h (CPP_SPEC): Likewise.
1482
1483 2011-02-08  Ian Lance Taylor  <iant@google.com>
1484
1485         * common.opt (fcx-limited-range): Add SetByCombined flag.
1486         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
1487         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
1488         (fassociative-math, freciprocal-math): Likewise.
1489         (funsafe-math-optimizations): Likewise.
1490         * opth-gen.awk: Handle SetByCombined.
1491         * optc-gen.awk: Likewise.
1492         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
1493         (set_unsafe_math_optimizations_flags): Likewise.
1494         * doc/options.texi (Option properties): Document SetByCombined.
1495
1496 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
1497
1498         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
1499         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
1500         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
1501         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
1502         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
1503
1504 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
1505
1506         PR tree-optimization/46834
1507         PR tree-optimization/46994
1508         PR tree-optimization/46995
1509         * graphite-sese-to-poly.c (used_outside_reduction): New.
1510         (detect_commutative_reduction): Call used_outside_reduction.
1511         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
1512         translate_scalar_reduction_to_array only when at least one
1513         loop-phi/close-phi tuple has been detected.
1514
1515 2011-02-08  Richard Guenther  <rguenther@suse.de>
1516
1517         PR middle-end/47639
1518         * tree-vect-generic.c (expand_vector_operations_1): Update
1519         stmts here ...
1520         (expand_vector_operations): ... not here.  Cleanup EH info
1521         and the CFG if required.
1522
1523 2011-02-08  Richard Guenther  <rguenther@suse.de>
1524
1525         PR tree-optimization/47641
1526         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
1527         require type compatibility.
1528
1529 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1530
1531         * gimple-low.c (lower_function_body): Don't remove the location of
1532         the return statement here.
1533         (lower_gimple_return): Do it here instead but only if the return
1534         statement is actually used twice.
1535
1536 2011-02-08  Richard Guenther  <rguenther@suse.de>
1537
1538         PR tree-optimization/47632
1539         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
1540         unused up_to_stmt parameter, return whether cfg-cleanup is
1541         necessary, remove EH info properly.
1542         (forward_propagate_into_gimple_cond): Adjust caller.
1543         (forward_propagate_into_cond): Likewise.
1544         (forward_propagate_comparison): Likewise.
1545         (tree_ssa_forward_propagate_single_use_vars): Make
1546         forward_propagate_comparison case similar to the two others.
1547
1548 2011-02-08  Nick Clifton  <nickc@redhat.com>
1549
1550         * config/mn10300/mn10300.opt (mliw): New command line option.
1551         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
1552         (liw_bundling): New automaton.
1553         (liw): New attribute.
1554         (liw_op): New attribute.
1555         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
1556         (movsi_internal): Add LIW attributes.
1557         (andsi3): Likewise.
1558         (iorsi3): Likewise.
1559         (xorsi3): Likewise.
1560         (addsi3): Separate register and immediate alternatives.
1561         Add LIW attributes.
1562         (subsi3): Likewise.
1563         (cmpsi): Likewise.
1564         (aslsi3): Likewise.
1565         (lshrsi3): Likewise.
1566         (ashrsi3): Likewise.
1567         (liw): New pattern.
1568         * config/mn10300/mn10300.c (liw_op_names): New
1569         (mn10300_print_operand): Handle 'W' operand descriptor.
1570         (extract_bundle): New function.
1571         (check_liw_constraints): New function.
1572         (liw_candidate): New function.
1573         (mn10300_bundle_liw): New function.
1574         (mn10300_reorg): New function.
1575         (TARGET_MACHINE_DEPENDENT_REORG): Define.
1576         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
1577         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
1578         __LIW__ or __NO_LIW__.
1579         * doc/invoke.texi: Describe the -mliw command line option.
1580
1581 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1582
1583         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
1584         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1585         pthread_mutex_unlock): Remove.
1586         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
1587         * config/pa/t-pa64: Likewise.
1588         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
1589         shared libc if not linking against libpthread.
1590         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1591
1592 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
1593
1594         PR target/47558
1595         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
1596         on 10.6 and later to ensure that we always use the unwinder from
1597         the system.  Only add -no_compact_unwind when tarteting darwin
1598         10.6 or later.
1599
1600 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
1601
1602         PR target/46997
1603         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
1604         (vec_interleave_lowv2sf): Ditto.
1605         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
1606         (vec_extract_oddv2sf): Ditto.
1607
1608 2011-02-07  Mike Stump  <mikestump@comcast.net>
1609
1610         PR target/42333
1611         Add __ieee_divdc3 entry point.
1612         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
1613         entry point.
1614         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
1615         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
1616         * config/darwin.c (darwin_rename_builtins): Add.
1617         * config/darwin-protos.h (darwin_rename_builtins): Add.
1618
1619 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
1620
1621         PR target/47636
1622         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
1623         for the condition.
1624
1625 2011-02-07  Mike Stump  <mikestump@comcast.net>
1626
1627         * config/darwin.opt (mmacosx-version-min): Update default OS version.
1628
1629 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
1630
1631         PR target/47534
1632         * config/avr/libgcc.S (exit): Move .endfunc
1633
1634 2011-02-07  Richard Guenther  <rguenther@suse.de>
1635
1636         PR tree-optimization/47615
1637         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
1638         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
1639         (run_scc_vn): Initialize it.
1640         (visit_reference_op_load): Use it.
1641         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
1642
1643 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1644
1645         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
1646         DImode trapping arithmetic libfuncs.
1647
1648 2011-02-07  Richard Guenther  <rguenther@suse.de>
1649
1650         PR tree-optimization/47621
1651         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
1652         two duplicates ...
1653         (execute_update_addresses_taken): ... here.  Make it more
1654         conservative in what we accept.
1655
1656 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
1657
1658         * config/sparc/freebsd.h (ASM_SPEC): Define.
1659         * config/sparc/vxworks.h (ASM_SPEC): Define.
1660
1661 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
1662
1663         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1664
1665 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
1666
1667         * doc/invoke.texi: Remove reference to compiler internals from
1668         user documentation.
1669
1670         * reg-notes.def: Remove REG_VALUE_PROFILE.
1671         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
1672
1673 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
1674
1675         PR middle-end/47610
1676         * varasm.c (default_section_type_flags): If decl is NULL,
1677         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
1678
1679 2011-02-05  Jie Zhang  <jie@codesourcery.com>
1680
1681         PR debug/42631
1682         * web.c (entry_register): Don't clobber the number of the
1683         first uninitialized reference in used[].
1684
1685 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
1686
1687         PR tree-optimization/46194
1688         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
1689         (build_classic_dist_vector_1): Do not represent classic distance
1690         vectors when the access functions are variating in different loops.
1691
1692 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1693
1694         * config/mips/iris6.opt: New.
1695         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
1696
1697 2011-02-04  Richard Henderson  <rth@redhat.com>
1698             Steve Ellcey  <sje@cup.hp.com>
1699
1700         PR target/46997
1701         * config/ia64/predicates.md (mux1_brcst_element): New.
1702         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
1703         * config/ia64/ia64.c (ia64_unpack_assemble): New.
1704         (ia64_unpack_sign): New.
1705         (ia64_expand_unpack): Rewrite using new routines.
1706         (ia64_expand_widen_sum): Ditto.
1707         (ia64_expand_dot_prod_v8qi): Ditto.
1708         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
1709         routines, add endian check.
1710         (pmpy2_even): Rename from pmpy2_r, add endian check.
1711         (pmpy2_odd): Rename from pmpy2_l, add endian check.
1712         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
1713         (vec_widen_smult_hi_v4hi): Ditto.
1714         (vec_widen_umult_lo_v4hi): Ditto.
1715         (vec_widen_umult_hi_v4hi): Ditto.
1716         (mulv2si3): Change endian checks.
1717         (sdot_prodv4hi): Rewrite with new calls.
1718         (udot_prodv4hi): New.
1719         (vec_pack_ssat_v4hi): Add endian check.
1720         (vec_pack_usat_v4hi): Ditto.
1721         (vec_pack_ssat_v2si): Ditto.
1722         (max1_even): Rename from max1_r, add endian check.
1723         (max1_odd): Rename from max1_l, add endian check.
1724         (*mux1_rev): Format change.
1725         (*mux1_mix): Ditto.
1726         (*mux1_shuf): Ditto.
1727         (*mux1_alt): Ditto.
1728         (*mux1_brcst_v8qi): Use new predicate.
1729         (vec_extract_evenv8qi): Remove endian check.
1730         (vec_extract_oddv8qi): Ditto.
1731         (vec_interleave_lowv4hi): Format change.
1732         (vec_interleave_highv4hi): Ditto.
1733         (mix2_even): Rename from mix2_r, add endian check.
1734         (mix2_odd): Rename from mux2_l, add endian check.
1735         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
1736         (vec_extract_evenodd_helper): Format change.
1737         (vec_extract_evenv4hi): Remove endian check.
1738         (vec_extract_oddv4hi): Remove endian check.
1739         (vec_interleave_lowv2si): Format change.
1740         (vec_interleave_highv2si): Format change.
1741         (vec_initv2si): Remove endian check.
1742         (vecinit_v2si): Add endian check.
1743         (reduc_splus_v2sf): Add endian check.
1744         (reduc_smax_v2sf): Ditto.
1745         (reduc_smin_v2sf): Ditto.
1746         (vec_initv2sf): Remove endian check.
1747         (fpack): Add endian check.
1748         (fswap): Add endian check.
1749         (vec_interleave_highv2sf): Add endian check.
1750         (vec_interleave_lowv2sf): Add endian check.
1751         (fmix_lr): Add endian check.
1752         (vec_setv2sf): Format change.
1753         (*vec_extractv2sf_0_be): Use shift to extract operand.
1754         (*vec_extractv2sf_1_be): New.
1755         (vec_pack_trunc_v4hi): Add endian check.
1756         (vec_pack_trunc_v2si): Format change.
1757
1758 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
1759
1760         PR inline-asm/23200
1761         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
1762         do bb, locus and block comparison and disallow loads if it is not set.
1763         (stmt_is_replaceable_p): New function.
1764         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
1765         callers.
1766         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
1767         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
1768         SSA_NAME_DEF_STMT.
1769         * tree-flow.h (stmt_is_replaceable_p): New prototype.
1770
1771 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1772
1773         * config/rs6000/xilinx.opt: New.
1774         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
1775
1776 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
1777
1778         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
1779
1780 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
1781
1782         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
1783         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1784         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
1785         secondary_reload_info, xtensa_secondary_reload): Remove.
1786         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
1787         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1788         (xtensa_preferred_reload_class): Make static. Change return and
1789         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
1790         Use CONST_DOUBLE_P predicate.
1791         (xtensa_preferred_output_reload_class): New function.
1792         (xtensa_secondary_reload): Make static.
1793
1794 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
1795
1796         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
1797         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
1798         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
1799
1800 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1801
1802         PR middle-end/31490
1803         * output.h (SECTION_RELRO): Define.
1804         (SECTION_MACH_DEP): Adjust.
1805         (get_variable_section): New prototype.
1806         * varpool.c (varpool_finalize_named_section_flags): New function.
1807         (varpool_assemble_pending_decls): Call it.
1808         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
1809         * cgraphunit.c (cgraph_output_in_order): Call
1810         varpool_finalize_named_section_flags.
1811         * varasm.c (get_section): Allow section flags conflicts between
1812         relro and read-only sections if the section hasn't been declared yet.
1813         Set SECTION_OVERRIDE after diagnosing section type conflict.
1814         (get_variable_section): No longer static.
1815         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
1816         readonly sections that need relocations.
1817         (decl_readonly_section_1): New function.
1818         (decl_readonly_section): Use it.
1819
1820         Revert:
1821         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
1822                     Steve Ellcey  <sje@cup.hp.com>
1823
1824         PR middle-end/31490
1825         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
1826         if section attribute used.
1827
1828 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1829
1830         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
1831         * config/darwin.c (SECTION_NO_ANCHOR): Define.
1832         (darwin_init_sections): Remove assertion.
1833
1834 2011-02-03  Nick Clifton  <nickc@redhat.com>
1835
1836         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
1837         lt and ge.
1838         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
1839         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
1840         instead of "n" and "pz".
1841         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
1842         CC_FLAG_S.
1843
1844 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
1845
1846         PR target/47312
1847         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
1848         fma, expand FMA_EXPR as fma{,f,l} call.
1849
1850         PR lto/47274
1851         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
1852         copy them into a unsigned char variable and pass address of it to
1853         lto_output_data_stream.
1854
1855         PR target/47564
1856         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
1857         around backend_init_target and lang_dependent_init_target calls.
1858         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
1859         (verify_cgraph_node): Don't call set_cfun here.  Use
1860         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
1861         Set error_found for incorrectly represented calls to thunks.
1862
1863 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1864
1865         PR debug/43092
1866         PR rtl-optimization/43494
1867         * rtl.h (for_each_inc_dec_fn): New type.
1868         (for_each_inc_dec): Declare.
1869         * rtlanal.c (struct for_each_inc_dec_ops): New type.
1870         (for_each_inc_dec_find_inc_dec): New fn.
1871         (for_each_inc_dec_find_mem): New fn.
1872         (for_each_inc_dec): New fn.
1873         * dse.c (struct insn_size): Remove.
1874         (replace_inc_dec, replace_inc_dec_mem): Remove.
1875         (emit_inc_dec_insn_before): New fn.
1876         (check_for_inc_dec): Use it, along with for_each_inc_dec.
1877         (canon_address): Pass mem modes to cselib_lookup.
1878         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
1879         (cselib_lookup_from_insn): Likewise.
1880         (cselib_subst_to_values): Likewise.
1881         * cselib.c (find_slot_memmode): New var.
1882         (cselib_find_slot): New fn.  Use it instead of
1883         htab_find_slot_with_hash everywhere.
1884         (entry_and_rtx_equal_p): Use find_slot_memmode.
1885         (autoinc_split): New fn.
1886         (rtx_equal_for_cselib_p): Rename and implement in terms of...
1887         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
1888         Deal with autoinc.  Special-case recursion into MEMs.
1889         (cselib_hash_rtx): Likewise.
1890         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
1891         address and MEM modes.
1892         (cselib_subst_to_values): Add memmode, pass it on.
1893         Deal with autoinc.
1894         (cselib_lookup): Add memmode argument, pass it on.
1895         (cselib_lookup_from_insn): Add memmode.
1896         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
1897         (struct cselib_record_autoinc_data): New.
1898         (cselib_record_autoinc_cb): New fn.
1899         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
1900         mode to cselib_lookup.  Reset autoinced REGs here instead of...
1901         (cselib_process_insn): ... here.
1902         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
1903         to cselib_lookup.
1904         (add_uses): Likewise, also to cselib_subst_to_values.
1905         (add_stores): Likewise.
1906         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
1907         cselib_subst_to_values.
1908         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
1909         * gcse.c (do_local_cprop): Adjusted.
1910         * postreload.c (reload_cse_simplify_set): Adjusted.
1911         (reload_cse_simplify_operands): Adjusted.
1912         * sel-sched-dump (debug_mem_addr_value): Pass mode.
1913
1914 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
1915
1916         PR tree-optimization/45122
1917         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
1918         unsafe assumptions when there's more than one loop exit.
1919
1920 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
1921
1922         PR target/47272
1923         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1924         Document using vector double with the load/store builtins, and
1925         that the load/store builtins always use Altivec instructions.
1926
1927         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
1928         to use altivec memory instructions, even on VSX.
1929         (vector_altivec_store_<mode>): Ditto.
1930
1931         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
1932         function.
1933
1934         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1935         V2DF, V2DI support to load/store overloaded builtins.
1936
1937         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
1938         altivec load/store builtins for V2DF/V2DI types.
1939
1940         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1941         set avoid indexed addresses on power6 if -maltivec.
1942         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
1943         vector_altivec_load/vector_altivec_store builtins.
1944         (altivec_expand_st_builtin): Ditto.
1945         (altivec_expand_builtin): Add VSX memory builtins.
1946         (rs6000_init_builtins): Add V2DI types to internal types.
1947         (altivec_init_builtins): Add support for V2DF/V2DI altivec
1948         load/store builtins.
1949         (rs6000_address_for_altivec): Insure memory address is appropriate
1950         for Altivec.
1951
1952         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
1953         vec_vsx_ld and vec_vsx_st.
1954         (vsx_store_<mode>): Ditto.
1955
1956         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
1957         variables to hold long long types for VSX vector memory builtins.
1958         (RS6000_BTI_unsigned_long_long): Ditto.
1959         (long_long_integer_type_internal_node): Ditti.
1960         (long_long_unsigned_type_internal_node): Ditti.
1961
1962         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
1963         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
1964         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
1965
1966         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
1967         short cuts.
1968         (vec_vsx_st): Ditto.
1969
1970 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1971
1972         * config/pa/pa-hpux10.opt: New.
1973         * config/hpux11.opt (pthread): New Driver option.
1974         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
1975         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
1976
1977 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1978
1979         * config/ia64/vms.opt: New.
1980         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
1981
1982 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
1983
1984         PR target/47580
1985         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
1986         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
1987         generator functions.
1988         (vsx_floatuns<VSi><mode>2): Ditto.
1989         (vsx_fix_trunc<mode><VSi>2): Ditto.
1990         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
1991
1992 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
1993
1994         * config/i386/djgpp.opt (posix): New Driver option.
1995
1996 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
1997
1998         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
1999         Move to the unsupported targets list.
2000
2001 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
2002
2003         PR rtl-optimization/47525
2004         * df-scan.c: Update copyright years.
2005         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
2006         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
2007
2008 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2009
2010         * config/i386/sysv4.h (TARGET_VERSION): Remove.
2011         (SUBTARGET_RETURN_IN_MEMORY): Remove.
2012         (ASM_OUTPUT_ASCII): Remove.
2013         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
2014
2015 2011-02-02  Jeff Law  <law@redhat.com>
2016
2017         PR middle-end/47543
2018         * reload.c (find_reloads_address): Handle reg+d address where both
2019         components are invalid by reloading the entire address.
2020
2021 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2022             Richard Guenther  <rguenther@suse.de>
2023
2024         PR tree-optimization/40979
2025         PR bootstrap/47044
2026         * passes.c (init_optimization_passes): After LIM call copy_prop
2027         and DCE to clean up.
2028         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
2029
2030 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
2031
2032         PR tree-optimization/47576
2033         PR tree-optimization/47555
2034         * doc/invoke.texi (scev-max-expr-complexity): Documented.
2035         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2036         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
2037         * tree-scalar-evolution.c (follow_ssa_edge): Use
2038         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
2039
2040 2011-02-02  Richard Guenther  <rguenther@suse.de>
2041
2042         PR tree-optimization/47566
2043         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
2044
2045 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2046
2047         PR debug/47106
2048         PR debug/47402
2049         * tree-inline.c (declare_return_variable): Remove unused caller
2050         variable.
2051
2052         PR debug/47106
2053         PR debug/47402
2054         * tree-flow-inline.h (clear_is_used, is_used_p): New.
2055         * cfgexpand.c (account_used_vars_for_block): Use them.
2056         * tree-nrv.c (tree_nrv): Likewise.
2057         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
2058         (dump_scope_block): Likewise.
2059         (remove_unused_locals): Likewise.
2060
2061         PR debug/47106
2062         PR debug/47402
2063         * tree-inline.c (declare_return_variable): Add result decl to
2064         local decls only once.
2065         * gimple-low.c (record_vars_into): Mark newly-created variables
2066         as referenced.
2067
2068 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
2069
2070         PR debug/47498
2071         PR debug/47501
2072         PR debug/45136
2073         PR debug/45130
2074         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2075         debug insns.
2076         (no_real_insns_p, schedule_block, set_priorities): Drop special
2077         treatment of boundary debug insns.
2078         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2079         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
2080         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2081         (BOUNDARY_DEBUG_INSN_P): Likewise.
2082         (SCHEDULE_DEBUG_INSN_P): Likewise.
2083         * sched-rgn.c (init_ready_list): Drop special treatment of
2084         boundary debug insns.
2085         * final.c (rest_of_clean_state): Clear notes' BB.
2086
2087 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2088
2089         * config/openbsd.opt (assert=): New Driver option.
2090
2091 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2092
2093         * config/i386/nto.opt: New.
2094         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
2095
2096 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2097
2098         * config/i386/netware.opt: New.
2099         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
2100
2101 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2102
2103         * config/interix.opt (posix): New Driver option.
2104
2105 2011-02-01  DJ Delorie  <dj@redhat.com>
2106
2107         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
2108
2109         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
2110         class for A0/A1.
2111
2112 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
2113
2114         PR tree-optimization/47561
2115         * toplev.c (process_options): Print the Graphite flags.  Add
2116         flag_loop_flatten to the list of options requiring Graphite.
2117
2118 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2119
2120         * config/i386/cygming.opt (posix): New Driver option.
2121
2122 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2123
2124         * config/arm/vxworks.opt: New.
2125         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
2126
2127 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
2128
2129         * config/alpha/elf.opt: New.
2130         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
2131         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
2132
2133 2011-02-01  Richard Guenther  <rguenther@suse.de>
2134
2135         PR tree-optimization/47559
2136         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
2137         store-motion on references that can throw.
2138
2139 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
2140
2141         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
2142         * tree-pass.h (TDF_CSELIB): New macro.
2143         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
2144         cselib_lookup): Check for it rather than for TDF_DETAILS.
2145
2146 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
2147
2148         PR driver/47547
2149         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
2150         is HOST_BIT_BUCKET.
2151
2152         * opts.c (finish_options): Don't add x_aux_base_name if it is
2153         HOST_BIT_BUCKET.
2154
2155 2011-02-01  Richard Guenther  <rguenther@suse.de>
2156
2157         PR tree-optimization/47555
2158         Revert
2159         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
2160
2161         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2162
2163 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
2164
2165         PR gcc/46692
2166         * config/lm32/t-lm32: Add multilib for all CPU options.
2167
2168 2011-02-01  Richard Guenther  <rguenther@suse.de>
2169
2170         PR tree-optimization/47541
2171         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
2172         sure to have a field at offset zero.
2173
2174 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2175
2176         * config/arc/arc.opt (EB, EL): New Driver options.
2177
2178 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2179
2180         * config/alpha/osf5.opt: New.
2181         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
2182
2183 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
2184
2185         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
2186
2187 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
2188
2189         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
2190         -floop-interchange.
2191         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
2192         is an alias of -floop-interchange and that it requires the
2193         Graphite infrastructure.
2194         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
2195         flag_loop_interchange based on the value of flag_tree_loop_linear.
2196
2197 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
2198             Richard Guenther  <rguenther@suse.de>
2199
2200         PR tree-optimization/47538
2201         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
2202         type instead of r1type, except for comparisons.  For right
2203         shifts and comparisons punt if there are mismatches in
2204         sizetype vs. non-sizetype types.
2205
2206 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2207
2208         * doc/sourcebuild.texi (Effective-Target Keywords): Document
2209         avx_runtime.
2210
2211 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2212
2213         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
2214         version number.
2215         * configure: Regenerate.
2216
2217 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2218
2219         * configure.ac (gcc_cv_ld_static_option): Define.
2220         (gcc_cv_ld_dynamic_option): Define.
2221         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
2222         instead.
2223         (HAVE_LD_STATIC_DYNAMIC): Update message.
2224         (LD_STATIC_OPTION): Define.
2225         (LD_DYNAMIC_OPTION): Define.
2226         * configure: Regenerate.
2227         * config.in: Regenerate.
2228         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
2229         HAVE_LD_STATIC_DYNAMIC]: Use them.
2230
2231 2011-01-31  Nick Clifton  <nickc@redhat.com>
2232
2233         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
2234         registers inside interrupt handlers if the handler is not a leaf
2235         function.
2236
2237 2011-01-31  Nick Clifton  <nickc@redhat.com>
2238
2239         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
2240         reg_renumber returning an INVALID_REGNUM.
2241
2242 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
2243
2244         PR libgcj/44341
2245         * doc/install.texi: Document host options discarded when cross
2246         configuring target libraries.
2247
2248 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
2249
2250         Reverted:
2251         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
2252         PR debug/45136
2253         PR debug/45130
2254         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2255         debug insns.
2256         (no_real_insns_p, schedule_block, set_priorities): Drop special
2257         treatment of boundary debug insns.
2258         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2259         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2260         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2261         (BOUNDARY_DEBUG_INSN_P): Likewise.
2262         (SCHEDULE_DEBUG_INSN_P): Likewise.
2263         * sched-rgn.c (init_ready_list): Drop special treatment of
2264         boundary debug insns.
2265         * final.c (rest_of_clean-state): Clear notes' BB.
2266
2267 2011-01-31  Alan Modra  <amodra@gmail.com>
2268
2269         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
2270         toc relative expressions as we do in print_operand_address.
2271
2272 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
2273
2274         * doc/extend.texi: Follow spelling conventions.
2275         * doc/invoke.texi: Fix a typo.
2276
2277 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
2278
2279         * config/hpux11.opt: New.
2280         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
2281         ia64*-*-hpux*): Use hpux11.opt.
2282
2283 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
2284
2285         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
2286         to tmake_file.
2287
2288 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2289
2290         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
2291         support sites.
2292
2293 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2294
2295         * doc/install.texi (Binaries): Remove outdated reference for
2296         Motorola 68HC11/68HC12 downloads.
2297
2298 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
2299
2300         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
2301         Drepper's paper.
2302
2303 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
2304
2305         PR bootstrap/47147
2306         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
2307         used by NetBSD.
2308
2309 2011-01-28  Ahmad Sharif  <asharif@google.com>
2310
2311         * value-prof.c (check_counter): Corrected error message.
2312
2313 2011-01-29  Jie Zhang  <jie@codesourcery.com>
2314
2315         * config/arm/arm.c (arm_legitimize_reload_address): New.
2316         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
2317         arm_legitimize_reload_address.
2318         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
2319
2320 2011-01-28  Ian Lance Taylor  <iant@google.com>
2321
2322         * godump.c (go_define): Ignore macros whose definitions include
2323         two adjacent operands.
2324
2325 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
2326
2327         PR target/42894
2328         * varasm.c (force_const_mem): Store copy of x in desc->constant
2329         instead of x itself.
2330         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
2331         itself into REG_EQUAL note.
2332
2333 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
2334
2335         * config/freebsd.opt (posix, rdynamic): New Driver options.
2336
2337 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2338
2339         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
2340         -Bstatic/-Bdynamic.
2341         * configure: Regenerate.
2342
2343 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
2344
2345         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
2346         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
2347
2348 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
2349
2350         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
2351         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
2352         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
2353         (s390_preferred_reload_class): Make static. Change return and
2354         'rclass' argument type to reg_class_t.
2355
2356 2011-01-27  Jan Hubicka  <jh@suse.cz>
2357
2358         PR middle-end/46949
2359         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
2360         (process_function_and_variable_attributes): Check defined weakrefs.
2361
2362 2011-01-27  Martin Jambor  <mjambor@suse.cz>
2363
2364         PR tree-optimization/47228
2365         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
2366         build_ref_for_offset.
2367
2368 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2369
2370         * config/spu/spu-elf.h (ASM_SPEC): Remove.
2371
2372 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
2373
2374         PR rtl-optimization/46856
2375         * postreload.c (reload_combine_recognize_const_pattern): Do not
2376         separate cc0 setter and user on cc0 targets.
2377
2378 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
2379
2380         PR c/43082
2381         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
2382         passed a VOID_TYPE expression, immediately emit an error and
2383         return error_mark_node.
2384
2385 2011-01-26  Jeff Law  <law@redhat.com>
2386
2387         PR rtl-optimization/47464
2388         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
2389         rather than may_trap_p as needed.
2390
2391 2011-01-26  DJ Delorie  <dj@redhat.com>
2392
2393         PR rtl-optimization/46878
2394         * combine.c (insn_a_feeds_b): Check for the implicit cc0
2395         setter/user dependency as well.
2396
2397 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
2398
2399         PR rtl-optimization/44469
2400         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
2401         after removing trivially dead basic blocks.
2402
2403 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2404
2405         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
2406         * config/frv/frv.h (LINK_SPEC): Likewise.
2407         * config/i386/netware.h (LINK_SPEC): Likewise.
2408         * config/m68k/linux.h (ASM_SPEC): Likewise.
2409         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
2410         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
2411         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2412         * config/sparc/linux.h (ASM_SPEC): Likewise.
2413         * config/sparc/linux64.h (ASM_SPEC): Likewise.
2414         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2415
2416 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2417
2418         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
2419         * config/frv/frv.h (ASM_SPEC): Likewise.
2420         * config/m68k/linux.h (ASM_SPEC): Likewise.
2421         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
2422         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
2423         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2424         * config/sparc/linux.h (ASM_SPEC): Likewise.
2425         * config/sparc/linux64.h (ASM_SPEC): Likewise.
2426         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2427
2428 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2429
2430         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
2431         * config/frv/frv.h (LINK_SPEC): Likewise.
2432         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
2433
2434 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
2435
2436         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
2437         * config/frv/frv.h (ASM_SPEC): Likewise.
2438         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
2439         * config/m68k/linux.h (ASM_SPEC): Likewise.
2440         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
2441         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
2442         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2443         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
2444         * config/sparc/linux.h (ASM_SPEC): Likewise.
2445         * config/sparc/linux64.h (ASM_SPEC): Likewise.
2446         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2447         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
2448
2449 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
2450
2451         PR target/46997
2452         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
2453         (*mux2): Ditto.
2454         (vec_extract_evenodd_help): Ditto.
2455         (vec_extract_evenv4hi): Ditto.
2456         (vec_extract_oddv4hi): Ditto.
2457         (vec_interleave_lowv2si): Ditto.
2458         (vec_interleave_highv2si): Ditto.
2459         (vec_extract_evenv2si): Ditto.
2460         (vec_extract_oddv2si: Ditto.
2461         (vec_pack_trunc_v2si): Ditto.
2462
2463 2011-01-22  Jan Hubicka  <jh@suse.cz>
2464
2465         PR target/47237
2466         * cgraph.h (cgraph_local_info): New field can_change_signature.
2467         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
2468         signature can change.
2469         (ipcp_estimate_growth): Call sequence simplify only if calle signature
2470         can change.
2471         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
2472         (cgraph_function_versioning): We can not change signature of functions
2473         that don't allow that.
2474         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
2475         (lto_input_node): Likewise.
2476         * ipa-inline.c (compute_inline_parameters): Compute
2477         local.can_change_signature.
2478         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
2479         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
2480         functions that can not change signature.
2481         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
2482         init_cumulative_args): Do not use local calling conventions
2483         for functions that can not change signature.
2484
2485 2011-01-22  Jan Hubicka  <jh@suse.cz>
2486
2487         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
2488
2489 2011-01-26  Richard Guenther  <rguenther@suse.de>
2490
2491         PR tree-optimization/47190
2492         * cgraphunit.c (process_common_attributes): New function.
2493         (process_function_and_variable_attributes): Use it.
2494
2495 2011-01-26  Richard Guenther  <rguenther@suse.de>
2496
2497         PR lto/47423
2498         * cgraphbuild.c (record_eh_tables): Record reference to personality
2499         function.
2500
2501 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
2502
2503         PR debug/45454
2504         * sel-sched.c (moveup_expr): Don't let debug insns prevent
2505         non-debug insns from moving up.
2506
2507 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2508
2509         PR target/40125
2510         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
2511         t-dlldir{,-x} fragment for build and add it to tmake_file.
2512         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
2513         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
2514         * config/i386/t-dlldir: New file.
2515         (SHLIB_DLLDIR): Define.
2516         * config/i386/t-dlldir-x: New file.
2517         (SHLIB_DLLDIR): Define.
2518         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
2519         (SHLIB_INSTALL): Use it.
2520
2521 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
2522
2523         PR target/47246
2524         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
2525         lower bound of the allowed Thumb-2 coprocessor load/store
2526         index range to -256. Add explaining comment.
2527
2528 2011-01-25  Ian Lance Taylor  <iant@google.com>
2529
2530         * godump.c (go_define): Improve lexing of macro expansion to only
2531         accept expressions which match Go spec.
2532
2533 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2534
2535         PR c++/43601
2536         * tree.c (handle_dll_attribute): Handle it.
2537         * doc/extend.texi (@item dllexport): Mention it.
2538         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
2539
2540 2011-01-25  Ian Lance Taylor  <iant@google.com>
2541
2542         PR tree-optimization/26854
2543         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
2544         (decl_jump_unsafe): Move higher in file, with no other change.
2545         (bind): Set has_jump_unsafe_decl if appropriate.
2546         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
2547         (check_earlier_gotos): Likewise.
2548         (c_check_switch_jump_warnings): Likewise.
2549
2550 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2551
2552         * doc/invoke.texi (Warning Options): Add missing hyphen.
2553         (-fprofile-dir): Minor grammatical fixes.
2554         (-fbranch-probabilities): Likewise.
2555
2556 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
2557
2558         PR debug/45136
2559         PR debug/45130
2560         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2561         debug insns.
2562         (no_real_insns_p, schedule_block, set_priorities): Drop special
2563         treatment of boundary debug insns.
2564         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2565         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2566         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2567         (BOUNDARY_DEBUG_INSN_P): Likewise.
2568         (SCHEDULE_DEBUG_INSN_P): Likewise.
2569         * sched-rgn.c (init_ready_list): Drop special treatment of
2570         boundary debug insns.
2571         * final.c (rest_of_clean-state): Clear notes' BB.
2572
2573 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2574
2575         * Makefile.in (LAMBDA_H): Removed.
2576         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
2577         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
2578         lambda-trans.o, and tree-loop-linear.o.
2579         (lto-symtab.o): Remove dependence on LAMBDA_H.
2580         (tree-loop-linear.o): Remove rule.
2581         (lambda-mat.o): Same.
2582         (lambda-trans.o): Same.
2583         (lambda-code.o): Same.
2584         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
2585         (tree-vect-slp.o): Same.
2586         * hwint.h (gcd): Moved here.
2587         (least_common_multiple): Same.
2588         * lambda-code.c: Removed.
2589         * lambda-mat.c: Removed.
2590         * lambda-trans.c: Removed.
2591         * lambda.h: Removed.
2592         * tree-loop-linear.c: Removed.
2593         * lto-symtab.c: Do not include lambda.h.
2594         * omega.c (gcd): Removed.
2595         * passes.c (init_optimization_passes): Remove pass_linear_transform.
2596         * tree-data-ref.c (print_lambda_vector): Moved here.
2597         (lambda_vector_copy): Same.
2598         (lambda_matrix_copy): Same.
2599         (lambda_matrix_id): Same.
2600         (lambda_vector_first_nz): Same.
2601         (lambda_matrix_row_add): Same.
2602         (lambda_matrix_row_exchange): Same.
2603         (lambda_vector_mult_const): Same.
2604         (lambda_vector_negate): Same.
2605         (lambda_matrix_row_negate): Same.
2606         (lambda_vector_equal): Same.
2607         (lambda_matrix_right_hermite): Same.
2608         * tree-data-ref.h: Do not include lambda.h.
2609         (lambda_vector): Moved here.
2610         (lambda_matrix): Same.
2611         (dependence_level): Same.
2612         (lambda_transform_legal_p): Removed declaration.
2613         (lambda_collect_parameters): Same.
2614         (lambda_compute_access_matrices): Same.
2615         (lambda_vector_gcd): Same.
2616         (lambda_vector_new): Same.
2617         (lambda_vector_clear): Same.
2618         (lambda_vector_lexico_pos): Same.
2619         (lambda_vector_zerop): Same.
2620         (lambda_matrix_new): Same.
2621         * tree-flow.h (least_common_multiple): Removed declaration.
2622         * tree-parloops.c (lambda_trans_matrix): Moved here.
2623         (LTM_MATRIX): Same.
2624         (LTM_ROWSIZE): Same.
2625         (LTM_COLSIZE): Same.
2626         (LTM_DENOMINATOR): Same.
2627         (lambda_trans_matrix_new): Same.
2628         (lambda_matrix_vector_mult): Same.
2629         (lambda_transform_legal_p): Same.
2630         * tree-pass.h (pass_linear_transform): Removed declaration.
2631         * tree-ssa-loop.c (tree_linear_transform): Removed.
2632         (gate_tree_linear_transform): Removed.
2633         (pass_linear_transform): Removed.
2634         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
2635         flag_loop_interchange.
2636
2637 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2638
2639         PR tree-optimization/47265
2640         PR tree-optimization/47443
2641         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
2642         if name still has some uses.
2643
2644 2011-01-25  Martin Jambor  <mjambor@suse.cz>
2645
2646         PR tree-optimization/47382
2647         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
2648         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
2649
2650 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
2651
2652         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
2653         sjlj_except_unwind_info.
2654
2655 2011-01-25  Richard Guenther  <rguenther@suse.de>
2656
2657         PR tree-optimization/47426
2658         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
2659         visible functions results escape.
2660
2661 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2662
2663         PR target/45701
2664         * config/arm/arm.c (any_sibcall_uses_r3): New function.
2665         (arm_get_frame_offsets): Use it.
2666
2667 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2668             Jakub Jelinek  <jakub@redhat.com>
2669
2670         PR tree-optimization/47271
2671         * tree-if-conv.c (bb_postdominates_preds): New.
2672         (if_convertible_bb_p): Call bb_postdominates_preds.
2673         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
2674         (predicate_scalar_phi): Call bb_postdominates_preds.
2675
2676 2011-01-25  Nick Clifton  <nickc@redhat.com>
2677
2678         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
2679         * config/rx/rx.c (rx_function_value): Likewise.
2680         (rx_promote_function_mode): Likewise.
2681         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
2682         in order to make it legitimate.
2683         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
2684         make sure that the first operand is the same as the result register.
2685         (addsi3_unspec): Delete.
2686         (subdi3): Do not accept immediate operands.
2687         (subdi3_internal): Likewise.
2688
2689 2011-01-25  Jeff Law  <law@redhat.com>
2690
2691         PR rtl-optimization/37273
2692         * ira-costs.c (scan_one_insn): Detect constants living in memory and
2693         handle them like argument loads from stack slots.  Do not double
2694         count memory for memory constants and argument loads from stack slots.
2695
2696 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
2697
2698         PR tree-optimization/47427
2699         PR tree-optimization/47428
2700         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2701         coalesce if the new root var would be TREE_READONLY.
2702
2703 2011-01-25  Richard Guenther  <rguenther@suse.de>
2704
2705         PR middle-end/47414
2706         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
2707         correct type for TBAA.
2708
2709 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2710
2711         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
2712         (close_phi_written_to_memory): Call for_each_index with
2713         dr_indices_valid_in_loop.
2714
2715 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2716
2717         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
2718         when it is initialized.
2719
2720 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2721
2722         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
2723         call to graphite_find_data_references_in_stmt.
2724         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
2725         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
2726         call to graphite_find_data_references_in_stmt.
2727         (analyze_drs_in_stmts): Same.
2728         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
2729         in which the scalar analysis of indices is performed.
2730         (create_data_ref): Same.  Update call to dr_analyze_indices.
2731         (find_data_references_in_stmt): Update call to create_data_ref.
2732         (graphite_find_data_references_in_stmt): Same.
2733         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
2734         declaration.
2735         (create_data_ref): Same.
2736         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
2737         call to create_data_ref.
2738
2739 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2740
2741         * graphite-sese-to-poly.c (build_poly_scop): Move
2742         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
2743
2744 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2745
2746         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
2747         VAR_DECL, PARM_DECL, and RESULT_DECL.
2748
2749 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2750
2751         * graphite-dependences.c (reduction_dr_1): Allow several reductions
2752         in a reduction PBB.
2753         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
2754         that have already been marked as PBB_IS_REDUCTION.
2755
2756 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2757
2758         * graphite-scop-detection.c (same_close_phi_node): New.
2759         (remove_duplicate_close_phi): New.
2760         (make_close_phi_nodes_unique): New.
2761         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
2762
2763 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2764
2765         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
2766         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
2767         of both data references to be the same.
2768
2769 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2770
2771         * graphite-dependences.c (build_lexicographical_constraint): Remove
2772         the gdim parameter.
2773         (build_lexicographical_constraint): Adjust call to
2774         ppl_powerset_is_empty.
2775         (dependence_polyhedron): Same.
2776         (graphite_legal_transform_dr): Same.
2777         (graphite_carried_dependence_level_k): Same.
2778         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
2779         parameter.
2780         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
2781
2782 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2783
2784         * graphite-sese-to-poly.c
2785         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
2786         (close_phi_written_to_memory): New.
2787         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
2788         and unshare_expr.
2789
2790 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2791
2792         * doc/install.texi: Update the expected version number of PPL to 0.11.
2793         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
2794         #if PPL_VERSION_MINOR < 11.
2795
2796 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2797
2798         * graphite-dependences.c: Include graphite-cloog-util.h.
2799         (new_poly_ddr): Inlined into dependence_polyhedron.
2800         (free_poly_ddr): Moved close by new_poly_ddr.
2801         (dependence_polyhedron_1): Renamed dependence_polyhedron.
2802         Early return NULL when ppl_powerset_is_empty returns true.
2803         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
2804         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
2805         (graphite_legal_transform_dr): Call new_poly_ddr.
2806         (graphite_carried_dependence_level_k): Same.
2807         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
2808         (dot_transformed_deps_stmt_1): Removed.
2809         (dot_deps_stmt_1): Call dot_deps_stmt_2.
2810         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
2811         (dot_deps_1): Call dot_deps_2.
2812         * Makefile.in (graphite-dependences.o): Add missing dependence on
2813         graphite-cloog-util.h.
2814
2815 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2816
2817         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
2818         (build_lexicographical_constraint): Same.
2819         (dependence_polyhedron_1): Same.
2820         (graphite_legal_transform_dr): Same.
2821         (graphite_carried_dependence_level_k): Same.
2822         * graphite-ppl.c (ppl_powerset_is_empty): New.
2823         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
2824         * tree-data-ref.c (dump_data_reference): Print the basic block index.
2825
2826 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2827
2828         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
2829         the "a followed by b" relation and document it.
2830
2831 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2832
2833         * graphite-dependences.c (build_lexicographical_constraint): Stop the
2834         iteration when the bag of constraints is empty.
2835
2836 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2837
2838         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2839
2840 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2841
2842         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
2843         nest and two loop depths as parameters.
2844         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
2845         lst_perfect_nestify.
2846
2847 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2848
2849         * graphite-dependences.c (print_pddr): Call
2850         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
2851
2852 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
2853
2854         * graphite-ppl.c (debug_gmp_value): New.
2855         * graphite-ppl.h (debug_gmp_value): Declared.
2856
2857 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
2858
2859         * doc/install.texi: Document availability of cloog-0.16.
2860
2861 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
2862
2863         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
2864         invalid postdominance info.
2865
2866 2011-01-24  Jan Hubicka  <jh@suse.cz>
2867
2868         PR c/21659
2869         * doc/extend.texi (weak pragma): Drop claim that it must
2870         appear before definition.
2871         * varasm.c (merge_weak, declare_weak): Only sanity check
2872         that DECL is not output at a time it is declared weak.
2873
2874 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
2875
2876         * machmode.def: Fixed comments.
2877
2878 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
2879
2880         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
2881
2882 2011-01-24  Paul Koning  <ni1d@arrl.net>
2883
2884         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
2885         WORDS_BIG_ENDIAN.
2886
2887 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2888
2889         PR target/46519
2890         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
2891         (block_info): Add scanned and prev.
2892         (move_or_delete_vzeroupper_2): Return if the basic block
2893         has been scanned and the upper 128bit state is unchanged
2894         from the last scan.
2895         (move_or_delete_vzeroupper_1): Return true if the exit
2896         state is changed.
2897         (move_or_delete_vzeroupper): Visit basic blocks using the
2898         work-list based algorithm based on vt_find_locations in
2899         var-tracking.c.
2900
2901         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
2902
2903 2011-01-24  Nick Clifton  <nickc@redhat.com>
2904
2905         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
2906         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
2907         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
2908         then define __v850e1__.
2909         * doc/invoke.texi: Document -mv850es.
2910
2911 2011-01-24  Richard Henderson  <rth@redhat.com>
2912
2913         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
2914         compound unordered comparisons.
2915         * config/rx/rx.c (rx_split_fp_compare): Remove.
2916         * config/rx/rx-protos.h: Update.
2917         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
2918         (cbranchsf4): Don't call rx_split_fp_compare.
2919         (*cbranchsf4): Use rx_split_cbranch.
2920         (*cmpsf): Don't accept "i" constraint.
2921         (*conditional_branch): Only valid after reload.
2922         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
2923
2924 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2925
2926         PR target/47385
2927         * config/rs6000/altivec.md (vector constant splitters): Add
2928         support for creating vector single precision constants if -mvsx is
2929         used and we would create the constant using Altivec primitives.
2930
2931 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
2932             Richard Sandiford  <rdsandiford@googlemail.com>
2933
2934         PR rtl-optimization/47166
2935         * reload1.c (emit_reload_insns): Disable the spill_reg_store
2936         mechanism for PRE_MODIFY and POST_MODIFY.
2937         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
2938         reloadreg.
2939
2940 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
2941
2942         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
2943
2944 2011-01-22  Jan Hubicka  <jh@suse.cz>
2945
2946         PR lto/47333
2947         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
2948
2949 2011-01-22  Jan Hubicka  <jh@suse.cz>
2950
2951         PR tree-optimization/43884
2952         PR lto/44334
2953         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
2954         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
2955
2956 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
2957
2958         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2959         * config/s390/s390.c (s390_register_move_cost,
2960         s390_memory_move_cost): New.
2961         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2962
2963 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2964
2965         PR middle-end/47401
2966         * except.c (sjlj_assign_call_site_values): Move setting the
2967         crtl->uses_eh_lsda flag to ...
2968         (sjlj_mark_call_sites): ... here.
2969         (sjlj_emit_function_enter): Support NULL dispatch label.
2970         (sjlj_build_landing_pads): In a function with no landing pads
2971         that still has must-not-throw regions, generate code to register
2972         a personality function with empty LSDA.
2973
2974 2011-01-21  Richard Henderson  <rth@redhat.com>
2975
2976         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
2977
2978         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
2979
2980         * compare-elim.c: New file.
2981         * Makefile.in (OBJS-common): Add it.
2982         (compare-elim.o): New.
2983         * common.opt (fcompare-elim): New.
2984         * opts.c (default_options_table): Add OPT_fcompare_elim.
2985         * tree-pass.h (pass_compare_elim_after_reload): New.
2986         * passes.c (init_optimization_passes): Add it.
2987         * recog.h: Protect against re-inclusion.
2988         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
2989         * doc/invoke.texi (-fcompare-elim): Document it.
2990         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
2991         * doc/tm.texi: Rebuild.
2992
2993 2011-01-22  Nick Clifton  <nickc@redhat.com>
2994
2995         * config/rx/rx.md (cstoresf4): Pass comparison operator to
2996         rx_split_fp_compare.
2997
2998 2011-01-22  Nick Clifton  <nickc@redhat.com>
2999
3000         * config/rx/rx.md (UNSPEC_CONST): New.
3001         (deallocate_and_return): Wrap the amount popped off the stack in
3002         an UNSPEC_CONST in order to stop it being rejected by
3003         -mmax-constant-size.
3004         (pop_and_return): Add a "(return)" rtx.
3005         (call): Drop the immediate operand.
3006         (call_internal): Likewise.
3007         (call_value): Likewise.
3008         (call_value_internal): Likewise.
3009         (sibcall_internal): Likewise.
3010         (sibcall_value_internal): Likewise.
3011         (sibcall): Likewise.  Generate an explicit call using
3012         sibcall_internal.
3013         (sibcall_value): Likewise.
3014         (mov<>): FAIL if a constant operand is not legitimate.
3015         (addsi3_unpsec): New pattern.
3016
3017         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
3018         (ok_for_max_constant): New function.
3019         (gen_safe_add): New function.
3020         (rx_expand_prologue): Use gen_safe_add.
3021         (rx_expand_epilogue): Likewise.
3022         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
3023         UNSPEC CONSTs.
3024
3025 2011-01-21  Jeff Law  <law@redhat.com>
3026
3027         PR tree-optimization/47053
3028         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
3029         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
3030         statements are deleted.
3031         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
3032         is nonempty, then purge dead edges and cleanup the CFG.
3033
3034 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3035
3036         PR debug/47402
3037         Temporarily revert:
3038         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3039         PR debug/47106
3040         * tree-dfa.c (create_var_ann): Mark variable as used.
3041
3042 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3043
3044         PR middle-end/45566
3045         * except.c (convert_to_eh_region_ranges): Emit queued no-region
3046         notes from other section in hot/cold partitioning even if
3047         last_action is -3.  Increment call_site_base.
3048
3049         PR rtl-optimization/47366
3050         * fwprop.c (forward_propagate_into): Return bool.  If
3051         any changes are made, -fnon-call-exceptions is used and
3052         REG_EH_REGION note is present, call purge_dead_edges
3053         and return true if it purged anything.
3054         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
3055         any EH edges were purged.
3056
3057 2011-01-21  Jeff Law  <law@redhat.com>
3058
3059         PR rtl-optimization/41619
3060         * caller-save.c (setup_save_areas): Break out code to determine
3061         which hard regs are live across calls by examining the reload chains
3062         so that it is always used.
3063         Eliminate code which checked REG_N_CALLS_CROSSED.
3064
3065 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3066
3067         PR tree-optimization/47355
3068         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
3069         NOP has non-debug uses beyond PHIs in new_bb.
3070
3071 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
3072
3073         PR debug/47106
3074         * cfgexpand.c (account_used_vars_for_block): Only account vars
3075         that are annotated as used.
3076         (estimated_stack_frame_size): Don't set TREE_USED.
3077         * tree-dfa.c (create_var_ann): Mark variable as used.
3078
3079 2011-01-21  Richard Guenther  <rguenther@suse.de>
3080
3081         PR middle-end/47395
3082         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
3083
3084 2011-01-21  Richard Guenther  <rguenther@suse.de>
3085
3086         PR tree-optimization/47365
3087         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
3088         (vn_reference_lookup_pieces): Adjust.
3089         (vn_reference_lookup): Likewise.
3090         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
3091         (vn_reference_lookup_3): Only look through kills if in
3092         VN_WALKREWRITE mode.
3093         (vn_reference_lookup_pieces): Adjust.
3094         (vn_reference_lookup): Likewise.
3095         (visit_reference_op_load): Likewise.
3096         (visit_reference_op_store): Likewise.
3097         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
3098         (compute_avail): Likewise.
3099         (eliminate): Likewise.
3100
3101 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
3102
3103         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
3104         DECL_IGNORED_P non-reg vars if they are used.
3105
3106         PR tree-optimization/47391
3107         * varpool.c (const_value_known_p): Return false if
3108         decl is volatile.
3109
3110 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
3111
3112         PR bootstrap/47215
3113         * config/i386/i386.c (ix86_local_alignment): Handle
3114         case for va_list_type_node is nil.
3115         (ix86_canonical_va_list_type): Likewise.
3116
3117 2011-01-21  Alan Modra  <amodra@gmail.com>
3118
3119         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
3120         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
3121
3122 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3123
3124         * config/arm/arm.md (define_attr type): Rename f_load
3125         and f_store to f_fpa_load and f_fpa_store. Update.
3126         (write_conflict): Deal with rename fallout.
3127         (*push_fp_multi): Likewise.
3128         * config/arm/fpa.md (f_load): Use f_fpa_load.
3129         (f_store): Use f_fpa_store.
3130         (*movsf_fpa): Likewise.
3131         (*movdf_fpa): Likewise.
3132         (*movxf_fpa): Likewise.
3133         (*thumb2_movsf_fpa): Likewise.
3134         (*thumb2_movdf_fpa): Likewise.
3135         (*thumb2_movxf_fpa): Likewise.
3136         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
3137         f_loadd and f_stored.
3138         (*thumb2_movdi_vfp): Likewise.
3139         (*thumb2_movsf_vfp): Fix attribute to f_loads.
3140         (*thumb2_movsi_vfp): Likewise.
3141         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
3142         Use f_loads instead of f_load.
3143         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
3144
3145 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
3146
3147         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3148         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
3149         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3150         (xtensa_mode_dependent_address_p): New function.
3151         (constantpool_address_p): Make static. Change return type to bool.
3152         Change argument type to const_rtx. Use CONST_INT_P predicate.
3153
3154 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
3155
3156         PR debug/46583
3157         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
3158
3159 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3160
3161         PR debug/47283
3162         * cfgexpand.c (expand_debug_expr): Instead of generating
3163         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
3164         etc. handling.
3165
3166 2011-01-20  Richard Guenther  <rguenther@suse.de>
3167
3168         PR middle-end/47370
3169         * tree-inline.c (remap_gimple_op_r): Recurse manually for
3170         the pointer operand of MEM_REFs.
3171
3172 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
3173
3174         PR tree-optimization/46130
3175         * ipa-split.c (consider_split): If return_bb contains non-virtual
3176         PHIs other than for retval or if split_function would not adjust it,
3177         refuse to split.
3178
3179 2011-01-20  Richard Guenther  <rguenther@suse.de>
3180
3181         PR tree-optimization/47167
3182         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3183         Revert previous change, only avoid enumeral type changes.
3184
3185 2011-01-19  Mike Stump  <mikestump@comcast.net>
3186
3187         * doc/tm.texi.in (BRANCH_COST): Englishify.
3188         * doc/tm.texi (BRANCH_COST): Likewise.
3189
3190 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
3191
3192         PR c++/47291
3193         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
3194         (gen_scheduled_generic_parms_dies): New functions.
3195         (gen_struct_or_union_type_die): Schedule template parameters DIEs
3196         generation for the end of CU compilation.
3197         (dwarf2out_finish): Generate template parameters DIEs here.
3198
3199 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3200
3201         PR debug/46240
3202         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
3203         debug bind stmt on merge edges.
3204
3205 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3206
3207         PR debug/47079
3208         PR debug/46724
3209         * function.c (instantiate_expr): Instantiate incoming rtl of
3210         implicit arguments, and recurse on VALUE_EXPRs.
3211         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
3212         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
3213
3214 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
3215
3216         * c-parser.c (c_parser_for_statement): Initialize
3217         collection_expression.
3218
3219 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3220
3221         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
3222
3223 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3224
3225         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
3226         (LINK_SHLIB_SPEC): Don't use %(link_path).
3227         (SUBTARGET_EXTRA_SPECS): Remove link_path.
3228
3229 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3230
3231         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
3232         (NO_SHARED_LIB_SUPPORT): Remove.
3233         (LINK_SHLIB_SPEC): Remove one conditional definition.
3234
3235 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
3236
3237         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
3238         %{call_shared}.
3239         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
3240         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
3241         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
3242         %{call_shared} and conditionals on these options not being passed.
3243         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
3244         %{call_shared}.
3245
3246 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
3247
3248         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
3249         simplify.
3250
3251         * ipa-split.c: Spelling fixes.
3252
3253 2011-01-19  Richard Henderson  <rth@redhat.com>
3254
3255         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
3256         (*mulsi3): Likewise.
3257
3258         * longlong.h [__mn10300__] (count_leading_zeros): New.
3259         [__mn10300__] (umul_ppmm, smul_ppmm): New.
3260         [__mn10300__] (add_ssaaaa, subddmmss): New.
3261         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
3262         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
3263
3264 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3265
3266         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
3267
3268 2011-01-19  Richard Henderson  <rth@redhat.com>
3269
3270         * config/mn10300/mn10300.md (addsi3_flags): New.
3271         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
3272         (subsi3_flags, subc_internal, subdi3): New.
3273         (subdi3_internal, *subdi3_degenerate): New.
3274         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
3275
3276         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
3277         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
3278         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
3279         * config/mn10300/mn10300-protos.h: Update.
3280         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
3281         (return_ret): Likewise.  Rename from return_internal_regs.
3282         (return_internal): Remove.
3283
3284         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
3285         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
3286         (mn10300_legitimate_constant_p): Likewise.
3287         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
3288         (mn10300_frame_size): New.
3289         (mn10300_expand_prologue): Use it.
3290         (mn10300_expand_epilogue): Likewise.
3291         (mn10300_initial_offset): Likewise.
3292         * config/mn10300/mn10300-protos.h: Update.
3293         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
3294         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
3295         (prologue, epilogue, return_internal): Tidy output code.
3296         (mn10300_store_multiple_operation, return): Likewise.
3297         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
3298         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
3299         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
3300         (load_pic, am33_load_pic): New.
3301         (mn10300_load_pic0, mn10300_load_pic1): New.
3302
3303         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
3304         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
3305         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
3306         (cc_flags_for_mode, cc_flags_for_code): New.
3307         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
3308         overflow flag is not valid.  Validate that the flags we need
3309         for the comparison are valid.
3310         (mn10300_output_cmp): Remove.
3311         (mn10300_output_add): New.
3312         (mn10300_select_cc_mode): Use cc_flags_for_code.
3313         (mn10300_split_cbranch): New.
3314         (mn10300_match_ccmode): New.
3315         (mn10300_split_and_operand_count): New.
3316         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
3317         to the function.
3318         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
3319         (addsi3): ... here.  Use mn10300_output_add.
3320         (*addsi3_flags): New.
3321         (*am33_subsi3, *mn10300_subsi3): Merge...
3322         (subsi3): ... here.  Use attribute isa.
3323         (*subsi3_flags): New.
3324         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
3325         when possible.
3326         (*am33_andsi3, *mn10300_andsi3): Merge...
3327         (andsi3): ... here.
3328         (*andsi3_flags): New.
3329         (andsi3 splitters): New.
3330         (*am33_iorsi3, *mn10300_iorsi3): Merge...
3331         (iorsi3): ... here.
3332         (*iorsi3_flags): New.
3333         (*am33_xorsi3, *mn10300_xorsi3): Merge...
3334         (xorsi3): ... here.
3335         (*xorsi3_flags): New.
3336         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
3337         (one_cmplsi2): ... here.
3338         (*one_cmplsi2_flags): New.
3339         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
3340         instead of "dax" in constraints.  Use mn10300_split_cbranch.
3341         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
3342         use matching constraints to eliminate a self-comparison.
3343         (*integer_conditional_branch): Rename from integer_conditional_branch.
3344         Use int_mode_flags to match CC_REG.
3345         (*cbranchsi4_btst, *btstsi): New.
3346         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
3347         mn10300_split_cbranch.
3348         (*am33_cmpsf): Rename from am33_cmpsf.
3349         (*float_conditional_branch): Rename from float_conditional_branch.
3350         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
3351         (zero_extendqisi2): ... here.
3352         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
3353         (zero_extendhisi2): ... here.
3354         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
3355         (extendqisi2): ... here.
3356         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
3357         (extendhisi2): ... here.
3358         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
3359         (ashlsi3): ... here.
3360         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
3361         (lshrsi3): ... here.
3362         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
3363         (ashrsi3): ... here.
3364         (consecutive add peephole): Remove.
3365         * config/mn10300/predicates.md (label_ref_operand): New.
3366         (int_mode_flags): New.
3367         (CCZN_comparison_operator): New.
3368
3369         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
3370         (throughput_42_latency_43): New reservation.
3371         (mulsidi3, umulsidi3): New expanders.
3372         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
3373         the MDR register to allocation; separately allocate the low and
3374         high parts of the DImode result.
3375         (umulsidi3_internal): Similarly.
3376         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
3377         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
3378         (udivsi3, umodsi3): Remove.
3379         (udivmodsi4, divmodsi4): New expanders.
3380         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
3381         (*divmodsi4): Simiarly.
3382         (ext_internal): New.
3383
3384         * config/mn10300/constraints.md ("z"): New constraint.
3385         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
3386         (FIXED_REGISTERS): Don't fix MDR.
3387         (CALL_USED_REGSITERS): Reformat nicely.
3388         (REG_ALLOC_ORDER): Add MDR.
3389         (enum regclass): Add MDR_REGS.
3390         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
3391         (IRA_COVER_CLASSES): Add MDR_REGS.
3392         (REGNO_REG_CLASS): Handle MDR_REG.
3393         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
3394         (mn10300_register_move_cost): Likewise.
3395         * config/mn10300/mn10300.md (MDR_REG): New.
3396         (*movsi_internal): Handle moves to/from MDR_REGS.
3397
3398         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
3399         POST_MODIFY.
3400         (mn10300_secondary_reload): Tidy combination reload classes.
3401         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
3402         addresses for AM33.  Allow symbolic offsets for reg+imm.
3403         (mn10300_regno_in_class_p): New.
3404         (mn10300_legitimize_reload_address): New.
3405         * config/mn10300/mn10300.h (enum reg_class): Remove
3406         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
3407         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
3408         SP_OR_GENERAL_REGS.
3409         (REG_CLASS_NAMES): Update to match.
3410         (REG_CLASS_CONTENTS): Likewise.
3411         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
3412         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
3413         (REGNO_IN_RANGE_P): Remove.
3414         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
3415         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
3416         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
3417         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
3418         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
3419         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
3420         (REGNO_GENERAL_P): New.
3421         (HAVE_POST_MODIFY_DISP): New.
3422         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
3423         (LEGITIMIZE_RELOAD_ADDRESS): New.
3424         * config/mn10300/mn10300-protos.h: Update.
3425
3426         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
3427         DATA_REGS for AM33 stack-pointer destination.
3428         (mn10300_preferred_output_reload_class): Likewise.
3429         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
3430         into a form appropriate for ...
3431         (TARGET_SECONDARY_RELOAD): New.
3432         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
3433         * config/mn10300/mn10300-protos.h: Update.
3434         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
3435         reload_insi; use the "A" constraint for the scratch; handle AM33
3436         moves of sp to non-address registers.
3437
3438         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
3439         (*movqi_internal): ... here.
3440         (*am33_movhi, *mn10300_movhi): Merge into...
3441         (*movhi_internal): ... here.
3442         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
3443         as the source/destination of moves from/to SP.
3444         (movsf): Only allow for AM33-2.
3445         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
3446         any integer constant constraint.  Only allow for AM33-2.  Tidy
3447         all of the alternative outputs.
3448         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
3449         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
3450         for MN103.
3451         (udivsi3, umodsi3): New patterns for MN103 only.
3452
3453 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
3454
3455         * doc/tm.texi.in: Spell out that a lack of register class unions
3456         can lead to ICEs.
3457         * doc/tm.texi: Regenerate.
3458
3459 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
3460
3461         PR rtl-optimization/47337
3462         * dce.c (check_argument_store): New function.
3463         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
3464
3465         PR tree-optimization/47290
3466         * tree-eh.c (infinite_empty_loop_p): New function.
3467         (cleanup_empty_eh): Use it.
3468
3469 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
3470
3471         PR target/46997
3472         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
3473         (a64_expand_widen_sum): Ditto.
3474         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
3475         (vec_extract_evenodd_help): Ditto.
3476         (vec_extract_evenv4hi): Ditto.
3477         (vec_extract_oddv4hi): Ditto.
3478         (vec_extract_evenv2si): Ditto.
3479         (vec_extract_oddv2si): Ditto.
3480         (vec_extract_evenv2sf): Ditto.
3481         (vec_extract_oddv2sf): Ditto.
3482         (vec_pack_trunc_v4hi: Ditto.
3483         (vec_pack_trunc_v2si): Ditto.
3484         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
3485         (vec_interleave_highv8qi): Ditto.
3486         (mix1_r): Ditto.
3487         (vec_extract_oddv8qi): Ditto.
3488         (vec_interleave_lowv4hi): Ditto.
3489         (vec_interleave_highv4hi): Ditto.
3490         (vec_interleave_lowv2si): Ditto.
3491         (vec_interleave_highv2si): Ditto.
3492
3493 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3494
3495         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
3496         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
3497         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
3498         (pa_c_mode_for_suffix): New.
3499         (TARGET_EXPAND_BUILTIN): Define.
3500         (TARGET_C_MODE_FOR_SUFFIX): Define.
3501         (pa_builtins): Define.
3502         (pa_init_builtins): Register __float128 type and init new support
3503         builtins.
3504         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
3505         * config/pa/quadlib.c (_U_Qfcopysign): New.
3506
3507 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
3508
3509         PR middle-end/46894
3510         * explow.c (allocate_dynamic_stack_space): Do not assume more than
3511         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
3512         are defined.
3513
3514 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3515
3516         PR tree-optimization/47179
3517         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
3518         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
3519
3520 2011-01-18  Richard Guenther  <rguenther@suse.de>
3521
3522         PR rtl-optimization/47216
3523         * emit-rtl.c: Include tree-flow.h.
3524         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
3525         of replicating it with different semantics.
3526         * Makefile.in (emit-rtl.o): Adjust.
3527
3528 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3529
3530         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
3531         (cortex_a9_dp): Handle neon types correctly.
3532
3533 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
3534
3535         PR rtl-optimization/47299
3536         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
3537         subtarget.  Use normal multiplication if both operands are constants.
3538         * expmed.c (expand_widening_mult): Don't try to optimize constant
3539         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
3540         before using it.
3541
3542 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3543
3544         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
3545         spacing after 'e.g.', typos, comma, hyphenation.
3546
3547 2011-01-17  Richard Henderson  <rth@redhat.com>
3548
3549         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
3550         (rx_restricted_mem_operand): New.
3551         (rx_shift_operand): Use register_operand.
3552         (rx_source_operand, rx_compare_operand): Likewise.
3553         * config/rx/rx.md (addsi3_flags): New expander.
3554         (adddi3): Rewrite as expander.
3555         (adc_internal, *adc_flags, adddi3_internal): New patterns.
3556         (subsi3_flags): New expander.
3557         (subdi3): Rewrite as expander.
3558         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
3559
3560         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
3561         (rx_init_builtins): Remove sat builtin.
3562         (rx_expand_builtin): Likewise.
3563         * config/rx/rx.md (ssaddsi3): New.
3564         (*sat): Rename from sat.  Represent the CC_REG input.
3565
3566         * config/rx/predicates.md (rshift_operator): New.
3567         * config/rx/rx.c (rx_expand_insv): Remove.
3568         * config/rx/rx-protos.h: Update.
3569         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
3570         operand to the canonical position.
3571         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
3572         (*bitclr, *bitclr_in_memory): Similarly.
3573         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
3574         (insv): Retain the zero_extract in the expansion.
3575
3576         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
3577         (bswaphi2, bitinvert, revw): Likewise.
3578
3579         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
3580         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
3581         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
3582         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
3583         (bitset, bitset_in_memory): Likewise.
3584         (bitinvert, bitinvert_in_memory): Likewise.
3585         (bitclr, bitclr_in_memory): Likewise.
3586         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
3587         (rx_strend, rx_cmpstrn): Likewise.
3588         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
3589         (bitop peep2 patterns): Remove.
3590
3591         * config/rx/rx.c (rx_match_ccmode): New.
3592         * config/rx/rx-protos.h: Update.
3593         * config/rx/rx.md (abssi2): Clobber, don't set flags.
3594         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
3595         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
3596         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
3597         (fix_truncsfsi2, floatsisf2): Likewise.
3598         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
3599         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
3600         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
3601         (*subsi3_flags, *xorsi3_flags): New.
3602
3603         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
3604
3605         * config/rx/rx.c (rx_print_operand): Remove workaround for
3606         unsplit comparison operations.
3607
3608         * config/rx/rx.md (movsicc): Split after reload.
3609         (*movsicc): Merge *movsieq and *movsine via match_operator.
3610         (*stcc): New pattern.
3611
3612         * config/rx/rx.c (rx_float_compare_mode): Remove.
3613         * config/rx/rx.h (rx_float_compare_mode): Remove.
3614         * config/rx/rx.md (cstoresi4): Split after reload.
3615         (*sccc): New pattern.
3616
3617         * config/rx/predicates.md (label_ref_operand): New.
3618         (rx_z_comparison_operator): New.
3619         (rx_zs_comparison_operator): New.
3620         (rx_fp_comparison_operator): New.
3621         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
3622         Validate that the flags are set properly for the comparison.
3623         (rx_gen_cond_branch_template): Remove.
3624         (rx_cc_modes_compatible): Remove.
3625         (mode_from_flags): New.
3626         (flags_from_code): Rename from flags_needed_for_conditional.
3627         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
3628         (rx_select_cc_mode): Likewise.
3629         (rx_split_fp_compare): New.
3630         (rx_split_cbranch): New.
3631         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
3632         (*cbranchsi4): Use match_operator and rx_split_cbranch.
3633         (*cbranchsf4): Similarly.
3634         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
3635         match_operator and rx_split_cbranch.
3636         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
3637         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
3638         (*cmpsi): Rename from cmpsi.
3639         (*tstsi): Rename from tstsi.
3640         (*cmpsf): Rename from cmpsf; use CC_Fmode.
3641         (*conditional_branch): Rename from conditional_branch.
3642         (*reveresed_conditional_branch): Remove.
3643         (b<code>): Remove expander.
3644         * config/rx/rx-protos.h: Update.
3645
3646         * config/rx/rx.c (rx_compare_redundant): Remove.
3647         * config/rx/rx.md (cmpsi): Don't use it.
3648         * config/rx/rx-protos.h: Update.
3649
3650         * config/rx/rx-modes.def (CC_F): New mode.
3651         * config/rx/rx.c (rx_select_cc_mode): New.
3652         * config/rx/rx.h (SELECT_CC_MODE): Use it.
3653         * config/rx/rx-protos.h: Update.
3654
3655 2011-01-17  Richard Henderson  <rth@redhat.com>
3656
3657         * except.c (dump_eh_tree): Fix stray ; after for statement.
3658
3659 2011-01-17  Richard Guenther  <rguenther@suse.de>
3660
3661         PR tree-optimization/47313
3662         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
3663         handling before copying the body.  Properly deal with
3664         by-reference result in SSA form.
3665
3666 2011-01-17  Ian Lance Taylor  <iant@google.com>
3667
3668         PR target/47219
3669         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
3670         (struct_value_alias_set): Don't define.
3671         (sparc_option_override): Don't set sparc_sr_alias_set and
3672         struct_value_alias_set.
3673         (save_or_restore_regs): Use gen_frame_mem rather than calling
3674         set_mem_alias_set.
3675         (sparc_struct_value_rtx): Likewise.
3676
3677 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
3678
3679         PR target/47318
3680         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
3681         __m128i.
3682         (_mm_maskstore_pd): Likewise.
3683         (_mm_maskload_ps): Likewise.
3684         (_mm_maskstore_ps): Likewise.
3685         (_mm256_maskload_pd): Change mask to __m256i.
3686         (_mm256_maskstore_pd): Likewise.
3687         (_mm256_maskload_ps): Likewise.
3688         (_mm256_maskstore_ps): Likewise.
3689
3690         * config/i386/i386-builtin-types.def: Updated.
3691         (ix86_expand_special_args_builtin): Likewise.
3692
3693         * config/i386/i386.c (bdesc_special_args): Update
3694         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
3695         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
3696         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
3697         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
3698
3699         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
3700         Use <avxpermvecmode> on mask register.
3701         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
3702
3703 2011-01-17  Olivier Hainque  <hainque@adacore.com>
3704             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
3705             Eric Botcazou  <ebotcazou@adacore.com>
3706
3707         PR target/46655
3708         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
3709         if <= USHRT_MAX in 32-bit mode.
3710
3711 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3712
3713         * doc/install.texi (Configuration, Specific): Wrap long
3714         lines in examples.  Allow line wrapping in long options
3715         and URLs where beneficial for PDF output.
3716
3717 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
3718
3719         * config/mips/mips.c (mips_classify_symbol): Don't return
3720         SYMBOL_PC_RELATIVE for nonlocal labels.
3721
3722 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
3723
3724         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
3725
3726 2011-01-15  Jan Hubicka  <jh@suse.cz>
3727
3728         PR tree-optimization/47276
3729         * ipa.c (function_and_variable_visibility): Do not try to mark alias
3730         declarations as needed.
3731
3732 2011-01-15  Martin Jambor  <mjambor@suse.cz>
3733
3734         * common.opt (fdevirtualize): New flag.
3735         * doc/invoke.texi (Option Summary): Document it.
3736         * opts.c (default_options_table): Add devirtualize flag.
3737         * ipa-prop.c (detect_type_change): Return immediately if
3738         devirtualize flag is not set.
3739         (detect_type_change_ssa): Likewise.
3740         (compute_known_type_jump_func): Likewise.
3741         (ipa_analyze_virtual_call_uses): Likewise.
3742
3743 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3744
3745         PR tree-optimization/45934
3746         PR tree-optimization/46302
3747         * ipa-prop.c (type_change_info): New type.
3748         (stmt_may_be_vtbl_ptr_store): New function.
3749         (check_stmt_for_type_change): Likewise.
3750         (detect_type_change): Likewise.
3751         (detect_type_change_ssa): Likewise.
3752         (compute_complex_assign_jump_func): Check for dynamic type change.
3753         (compute_complex_ancestor_jump_func): Likewise.
3754         (compute_known_type_jump_func): Likewise.
3755         (compute_scalar_jump_functions): Likewise.
3756         (ipa_analyze_virtual_call_uses): Likewise.
3757         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
3758
3759 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3760
3761         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
3762         * config/i386/i386.opt (msse5): New Alias.
3763
3764 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3765
3766         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3767         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3768         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3769         * config/sparc/sparc.h (CC1_SPEC): Likewise.
3770
3771 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3772
3773         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
3774         -mcpu options.
3775         * config/sparc/linux64.h (CC1_SPEC): Likewise.
3776         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3777         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
3778         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
3779         Likewise.
3780         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
3781
3782 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3783
3784         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
3785
3786 2011-01-14  Mike Stump  <mikestump@comcast.net>
3787
3788         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
3789         * config/fr30/fr30.md: Likweise
3790         (movsi_push): Likewise.
3791         (movsi_pop): Likewise.
3792         (enter_func): Likewise.
3793         * config/moxie/moxie.md (movsi_push): Likewise.
3794         (movsi_pop): Likewise.
3795
3796 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3797
3798         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
3799         %{no_archive} %{exact_version}.
3800         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
3801         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
3802         %{no_archive} %{exact_version}.
3803         * config/mips/openbsd.h (LINK_SPEC): Likewise.
3804         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
3805         * config/mips/vxworks.h: Likewise.
3806
3807 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3808
3809         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
3810
3811 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3812
3813         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
3814         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
3815
3816 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3817
3818         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
3819         -nodefaultlib.
3820
3821 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3822
3823         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
3824         for mcpu not cpu.
3825         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
3826         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
3827         not cpu.
3828         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
3829         Don't handle -shlib.
3830
3831 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3832
3833         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
3834         (CC1_SPEC): Don't handle -profile.
3835
3836 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3837
3838         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
3839         * config/mips/mips.h (CC1_SPEC): Likewise.
3840
3841 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3842
3843         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
3844         * config/mips/mips.h (CC1_SPEC): Likewise.
3845
3846 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3847
3848         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
3849         * config/m32r/linux.h (LINK_SPEC): Likewise.
3850         * config/mips/linux.h (LINK_SPEC): Likewise.
3851         * config/mips/linux64.h (LINK_SPEC): Likewise.
3852         * config/sparc/linux.h (LINK_SPEC): Likewise.
3853         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
3854         LINK_SPEC): Likewise.
3855         * config/xtensa/linux.h (LINK_SPEC): Likewise.
3856
3857 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3858
3859         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
3860         %{version:-v}.
3861         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
3862
3863 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3864
3865         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
3866         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
3867
3868 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
3869
3870         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
3871
3872 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3873
3874         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
3875         supports -Bstatic/-Bdynamic.
3876         * configure: Regenerate.
3877
3878 2011-01-14  Jan Hubicka  <jh@suse.cz>
3879             Jack Howarth  <howarth@bromo.med.uc.edu>
3880
3881         PR target/46037
3882         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
3883         when checking debug_info_level. Test write_symbols instead of
3884         debug_hooks->var_location when setting flag_var_tracking_uninit.
3885
3886 2011-01-14  Richard Guenther  <rguenther@suse.de>
3887
3888         PR tree-optimization/47179
3889         * target.def (ref_may_alias_errno): New target hook.
3890         * targhooks.h (default_ref_may_alias_errno): Declare.
3891         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
3892         (default_ref_may_alias_errno): New function.
3893         * target.h (struct ao_ref_s): Declare.
3894         * tree-ssa-alias.c: Include target.h.
3895         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
3896         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
3897         (targhooks.o): Likewise.
3898         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
3899         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
3900
3901 2011-01-14  Richard Guenther  <rguenther@suse.de>
3902
3903         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
3904
3905 2011-01-14  Richard Guenther  <rguenther@suse.de>
3906
3907         PR tree-optimization/47280
3908         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
3909         return CFG changes.
3910         (tree_ssa_forward_propagate_single_use_vars): Deal with
3911         CFG changes from associate_plusminus.
3912
3913 2011-01-14  Richard Guenther  <rguenther@suse.de>
3914
3915         PR middle-end/47281
3916         Revert
3917         2011-01-11  Richard Guenther  <rguenther@suse.de>
3918
3919         PR tree-optimization/46076
3920         * tree-ssa.c (useless_type_conversion_p): Conversions from
3921         unprototyped to empty argument list function types are useless.
3922
3923 2011-01-14  Richard Guenther  <rguenther@suse.de>
3924
3925         PR tree-optimization/47286
3926         * tree-ssa-structalias.c (new_var_info): Register variables are global.
3927
3928 2011-01-14  Martin Jambor  <mjambor@suse.cz>
3929
3930         PR middle-end/46823
3931         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
3932
3933 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
3934
3935         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
3936         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
3937         * config/xtensa/xtensa.c (xtensa_libcall_value,
3938         xtensa_function_value_regno_p): New functions.
3939         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
3940
3941 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
3942
3943         PR c++/47213
3944         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
3945         PE specific hook.
3946         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
3947         New function prototype.
3948         * config/i386/winnt.c (i386_pe_assemble_visibility):
3949         Warn only if attribute was specified by user.
3950
3951 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
3952
3953         PR target/47251
3954         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
3955         floating point.
3956         (floatunsdidf2_fcfidu): Ditto.
3957
3958 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3959
3960         * config/s390/s390.c (print_operand_address): Replace 'error' with
3961         'output_operand_lossage'.
3962         (print_operand): Likewise.
3963
3964 2011-01-13  Jeff Law  <law@redhat.com>
3965
3966         PR rtl-optimization/39077
3967         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
3968         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
3969         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
3970         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
3971         * gcse.c (prune_insertions_deletions): New function.
3972         (compute_pre_data): Use it.
3973
3974 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
3975
3976         PR debug/PR46973
3977         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
3978         static function.
3979         (prune_unused_types_mark): Use it.
3980
3981 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
3982
3983         PR rtl-optimization/45352
3984         * sel-sched.c: Update copyright years.
3985         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
3986         in the advancing loop when we have issued issue_rate insns.
3987
3988 2011-01-12  Richard Henderson  <rth@redhat.com>
3989
3990         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
3991         (TARGET_MD_ASM_CLOBBERS): New.
3992
3993         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
3994         (TARGET_DELEGITIMIZE_ADDRESS): New.
3995
3996         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
3997         (clzsi2, *bsch): New patterns.
3998
3999         * config/mn10300/mn10300.md (INT): New mode iterator.
4000         (*mov<INT>_clr): New pattern, and peep2 to generate it.
4001
4002         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
4003         flag_split_wide_types.
4004
4005         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
4006         (mn10300_trampoline_init): Rewrite without a template, an immediate
4007         load and a direct branch.
4008         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
4009
4010 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
4011
4012         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
4013         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
4014         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
4015         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
4016
4017 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
4018
4019         PR debug/47209
4020         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
4021         of type.
4022
4023 2011-01-12  Jan Hubicka  <jh@suse.cz>
4024
4025         PR driver/47244
4026         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
4027         (PLUGIN_COND_CLOSE): New macro.
4028         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
4029
4030 2011-01-12  Richard Guenther  <rguenther@suse.de>
4031
4032         PR lto/47259
4033         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
4034         register variables in a MEM_REF.
4035
4036 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
4037
4038         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
4039         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
4040         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
4041         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
4042         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
4043         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
4044         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
4045         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
4046         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
4047         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
4048         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
4049         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
4050         * config/gnu-user.h: New.  Copied from linux.h.
4051         (LINUX_TARGET_STARTFILE_SPEC): Rename to
4052         GNU_USER_TARGET_STARTFILE_SPEC.
4053         (LINUX_TARGET_ENDFILE_SPEC): Rename to
4054         GNU_USER_TARGET_ENDFILE_SPEC.
4055         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
4056         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
4057         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
4058         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
4059         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
4060         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
4061         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
4062         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
4063         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
4064         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
4065         * config/arm/linux-eabi.h (CC1_SPEC): Use
4066         GNU_USER_TARGET_CC1_SPEC.
4067         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
4068         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
4069         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
4070         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
4071         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
4072         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
4073         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
4074         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
4075
4076 2011-01-12  Richard Guenther  <rguenther@suse.de>
4077
4078         PR other/46946
4079         * doc/invoke.texi (ffast-math): Document it is turned on
4080         with -Ofast.
4081
4082 2011-01-12  Jan Hubicka  <jh@suse.cz>
4083
4084         PR tree-optimization/47233
4085         * opts.c (common_handle_option): Disable ipa-reference with profile
4086         feedback.
4087
4088 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
4089
4090         * c-parser.c (c_parser_objc_at_property_declaration): Improved
4091         error message.
4092
4093 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
4094
4095         * c-parser.c (c_lex_one_token): Updated and reindented some
4096         comments.  No changes in code.
4097
4098 2011-01-11  Ian Lance Taylor  <iant@google.com>
4099
4100         * godump.c (go_output_var): Don't output the variable if there is
4101         already a type with the same name.
4102
4103 2011-01-11  Ian Lance Taylor  <iant@google.com>
4104
4105         * godump.c (go_format_type): Don't generate float80.
4106
4107 2011-01-11  Richard Henderson  <rth@redhat.com>
4108
4109         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
4110         declaration.  Rewrite for both speed and size.
4111         (mn10300_address_cost_1): Remove.
4112         (mn10300_register_move_cost): New.
4113         (mn10300_memory_move_cost): New.
4114         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
4115         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
4116         extensions, shifts, BSWAP, CLZ.
4117         (mn10300_wide_const_load_uses_clr): Remove.
4118         (TARGET_REGISTER_MOVE_COST): New.
4119         (TARGET_MEMORY_MOVE_COST): New.
4120         * config/mn10300/mn10300-protos.h: Update.
4121         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
4122
4123         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
4124         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
4125         * config/mn10300/mn10300-protos.h: Update.
4126         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
4127         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
4128         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
4129         (*test_int_bitfield, *test_byte_bitfield): Remove.
4130         (*bit_test, *subreg_bit_test): Remove.
4131         * config/mn10300/predicates.md (const_8bit_operand): Remove.
4132
4133         * config/mn10300/constraints.md ("c"): Rename from "A".
4134         ("A", "D"): New constraint letters.
4135         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
4136         (fmssf4, fnmasf4, fnmssf4): Likewise.
4137
4138         * config/mn10300/mn10300.md (isa): New attribute.
4139         (enabled): New attribute.
4140
4141         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
4142         (abssf2, negsf2): Define only for hardware fp.
4143         (sqrtsf2): Reformat.
4144         (addsf3, subsf3, mulsf3): Merge expander and insn.
4145
4146         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
4147         (DEBUGGER_AUTO_OFFSET): Remove.
4148         (DEBUGGER_ARG_OFFSET): Remove.
4149
4150         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
4151         Emit register stores with the same offsets as the hardware.
4152         (mn10300_store_multiple_operation): Don't check that the register
4153         save offsets are monotonic.
4154         * config/mn10300/mn10300-protos.h: Update.
4155
4156         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
4157
4158         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
4159         in terms of the value on the stack, not the MDR register.
4160
4161 2011-01-11  Jan Hubicka  <jh@suse.cz>
4162
4163         PR lto/45721
4164         PR lto/45375
4165         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
4166         (symbol_alias_set_destroy, symbol_alias_set_contains,
4167         propagate_aliases_backward): Declare.
4168         * lto-streamer-out.c (struct sets): New sturcture.
4169         (trivally_defined_alias): New function.
4170         (output_alias_pair_p): Rewrite.
4171         (output_unreferenced_globals): Fix output of alias pairs.
4172         (produce_symtab): Likewise.
4173         * ipa.c (function_and_variable_visibility): Set weak alias destination
4174         as needed in lto.
4175         * varasm.c (symbol_alias_set_t): Remove.
4176         (symbol_alias_set_destroy): Export.
4177         (propagate_aliases_forward, propagate_aliases_backward): New functions
4178         based on ...
4179         (compute_visible_aliases): ... this one; remove.
4180         (trivially_visible_alias): New
4181         (trivially_defined_alias): New.
4182         (remove_unreachable_alias_pairs): Rewrite.
4183         (finish_aliases_1): Reorganize code checking if alias is defined.
4184         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
4185         in LTO mode.
4186
4187 2011-01-11  Richard Guenther  <rguenther@suse.de>
4188
4189         PR tree-optimization/46076
4190         * tree-ssa.c (useless_type_conversion_p): Conversions from
4191         unprototyped to empty argument list function types are useless.
4192
4193 2011-01-11  Richard Guenther  <rguenther@suse.de>
4194
4195         PR middle-end/45235
4196         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
4197         volatile MEMs as MEM_READONLY_P.
4198
4199 2011-01-11  Richard Guenther  <rguenther@suse.de>
4200
4201         PR tree-optimization/47239
4202         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
4203
4204 2011-01-11  Jeff Law  <law@redhat.com>
4205
4206         PR tree-optimization/47086
4207         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
4208         IVs from statements that might throw.
4209
4210 2011-01-10  Jan Hubicka  <jh@suse.cz>
4211
4212         PR lto/45375
4213         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
4214
4215 2011-01-10  Jan Hubicka  <jh@suse.cz>
4216
4217         PR lto/45375
4218         * profile.c (read_profile_edge_counts): Ignore profile inconistency
4219         when correcting profile.
4220
4221 2011-01-10  Jan Hubicka  <jh@suse.cz>
4222
4223         PR lto/46083
4224         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
4225         DECL_FINI_PRIORITY.
4226         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
4227         Restore DECL_FINI_PRIORITY.
4228
4229 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4230
4231         * doc/gimple.texi: Fix quoting of multi-word return values in
4232         @deftypefn statements.  Ensure presence of return value.  Wrap
4233         overlong @deftypefn lines.
4234         (is_gimple_operand, is_gimple_min_invariant_address): Remove
4235         descriptions of removed functions.
4236         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
4237         of multi-word return value in @deftypefn statement.
4238
4239 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4240
4241         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
4242         (Conditional Expressions, Logical Operators)
4243         (Statement and operand traversals): Do not indent smallexample
4244         code.  Fix duplicate function argument in example.
4245
4246 2011-01-10  Jeff Law  <law@redhat.com>
4247
4248         PR tree-optimization/47141
4249         * ipa-split.c (split_function): Handle case where we are
4250         returning a value and the return block has a virtual operand phi.
4251
4252 2011-01-10  Jan Hubicka  <jh@suse.cz>
4253
4254         PR tree-optimization/47234
4255         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
4256         (pass_feedback_split_functions): Declare.
4257         * passes.c (init_optimization_passes): Add ipa-split as subpass of
4258         tree-profile.
4259         * ipa-split.c (gate_split_functions): Update comments; disable
4260         split-functions for profile_arc_flag and branch_probabilities.
4261         (gate_feedback_split_functions): New function.
4262         (execute_feedback_split_functions): New function.
4263         (pass_feedback_split_functions): New global var.
4264
4265 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
4266
4267         PR lto/46760
4268         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
4269         calling gimple_call_set_cannot_inline.
4270
4271 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
4272
4273         * config/darwin-sections.def: Remove unused section.
4274
4275 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
4276
4277         PR c++/47218
4278         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
4279
4280 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
4281
4282         PR objc/47232
4283         * c-parser.c (c_parser_declaration_or_fndef): Improved
4284         error message.
4285
4286 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
4287
4288         * config/i386/winnt.c (i386_pe_start_function): Make sure
4289         to switch back to function's section.
4290
4291 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
4292
4293         PR gcc/46902
4294         PR testsuite/46912
4295         * plugin.c: Move include of dlfcn.h from here...
4296         * system.h: ... to here.
4297
4298 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4299
4300         * doc/cpp.texi (C++ Named Operators): Fix markup for header
4301         file name.
4302         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
4303         two extra empty pages in PDF output.
4304
4305 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
4306
4307         PR objc/47078
4308         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
4309         for error recovery purposes behave as if it was not specified so
4310         that the default type is usd.
4311
4312 2011-01-07  Jan Hubicka  <jh@suse.cz>
4313
4314         PR tree-optmization/46469
4315         * ipa.c (function_and_variable_visibility): Clear needed flags on
4316         nodes with external decls; handle weakrefs merging correctly.
4317
4318 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
4319
4320         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
4321         not false.
4322
4323 2011-01-07  Jan Hubicka  <jh@suse.cz>
4324
4325         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
4326         and no longer claim that gold is required for linker plugin.
4327         * configure: Regenerate.
4328         * gcc.c (PLUGIN_COND): New macro.
4329         (LINK_COMMAND_SPEC): Use it.
4330         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
4331         * config.in (HAVE_LTO_PLUGIN): New.
4332         * configure.ac (--with-lto-plugin): New parameter; autodetect
4333         HAVE_LTO_PLUGIN.
4334
4335 2011-01-07  Jan Hubicka  <jh@suse.cz>
4336
4337         PR tree-optimization/46367
4338         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
4339         when we can update original.
4340         (cgraph_mark_inline_edge): Sanity check.
4341         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
4342
4343 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4344
4345         * config/spu/spu.h (ASM_COMMENT_START): Define.
4346
4347 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
4348
4349         PR driver/42445
4350         * gcc.c (%>S): New.
4351         (SWITCH_KEEP_FOR_GCC): Likewise.
4352         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
4353         (do_spec_1): Handle "%>".
4354
4355         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
4356
4357 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
4358
4359         PR target/47201
4360         * config/i386/i386.c (ix86_delegitimize_address): If
4361         simplify_gen_subreg fails, return orig_x.
4362
4363         PR bootstrap/47187
4364         * value-prof.c (gimple_stringop_fixed_value): Handle
4365         lhs of the call properly.
4366
4367 2011-01-07  Jan Hubicka  <jh@suse.cz>
4368
4369         PR lto/45375
4370         * lto-opt.c (lto_reissue_options): Set flag_shlib.
4371
4372 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
4373
4374         * target.def (function_switched_text_sections): New hook.
4375         * doc/tm.texi: Regenerated.
4376         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
4377         * final.c (default_function_switched_text_sections): New.
4378         (final_scan_insn): Call function_switched_text_sections when a
4379         mid-function section change occurs.
4380         * output.h (default_function_switched_text_sections): Declare.
4381         * config/darwin-protos.h (darwin_function_switched_text_sections):
4382         Likewise.
4383         * config/darwin.c (darwin_function_switched_text_sections): New.
4384         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
4385
4386 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
4387
4388         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
4389         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
4390         the secondary code fragment when outputting for DWARF == 2.
4391
4392 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
4393
4394         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
4395         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
4396         Remove.
4397         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
4398         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
4399
4400 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
4401
4402         PR debug/46704
4403         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
4404         when it is not empty.
4405
4406 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
4407
4408         Bobcat Enablement
4409         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
4410         (case ${target}): Add btver1.
4411         * config/i386/driver-i386.c (host_detect_local_cpu): Let
4412         -march=native recognize btver1 processors.
4413         * config/i386/i386-c.c (ix86_target_macros_internal): Add
4414         btver1 def_and_undef
4415         * config/i386/i386.c (struct processor_costs btver1_cost): New
4416         btver1 cost table.
4417         (m_BTVER1): New definition.
4418         (m_AMD_MULTIPLE): Includes m_BTVER1.
4419         (initial_ix86_tune_features): Add btver1 tune.
4420         (processor_target_table): Add btver1 entry.
4421         (static const char *const cpu_names): Add btver1 entry.
4422         (software_prefetching_beneficial_p): Add btver1.
4423         (ix86_option_override_internal): Add btver1 instruction sets.
4424         (ix86_issue_rate): Add btver1.
4425         (ix86_adjust_cost): Add btver1.
4426         * config/i386/i386.h (TARGET_BTVER1): New definition.
4427         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
4428         (enum processor_type): Add PROCESSOR_BTVER1.
4429         * config/i386/i386.md (define_attr "cpu"): Add btver1.
4430
4431 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4432
4433         PR target/43309
4434         * config/i386/i386.c (legitimize_tls_address)
4435         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
4436         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
4437         (tls_initial_exec_64_sun): New pattern.
4438
4439 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
4440
4441         * doc/invoke.texi (Overall Options): Improve wording and markup
4442         of the description of -wrapper.
4443
4444 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
4445
4446         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
4447         rdynamic, threads): New Driver options.
4448
4449 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4450
4451         PR target/38118
4452         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
4453         if coming from .tdata.
4454         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4455
4456 2011-01-06  Jan Hubicka  <jh@suse.cz>
4457
4458         PR lto/47188
4459         * collect2.c (main): Do not enable LTOmode when plugin is active.
4460
4461 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4462
4463         PR other/45915
4464         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
4465         --version output if supported.
4466         * configure: Regenerate.
4467
4468 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
4469
4470         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
4471         Driver options.
4472
4473 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
4474
4475         PR c/47150
4476         * c-convert.c (convert): When converting a complex expression
4477         other than COMPLEX_EXPR to a different complex type, ensure
4478         c_save_expr is called instead of save_expr, unless in_late_binary_op.
4479         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
4480         when converting COMPLEX_TYPE.
4481
4482 2011-01-06  Ira Rosen  <irar@il.ibm.com>
4483
4484         PR tree-optimization/47139
4485         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
4486         only the last reduction value is used outside the loop.  Update
4487         documentation.
4488
4489 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
4490
4491         * config/rtems.opt: New.
4492         * config.gcc (*-*-rtems*): Use rtems.opt.
4493
4494 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
4495
4496         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
4497         processors do not support 3DNow instructions.
4498
4499 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4500
4501         * config/spu/spu.c (spu_option_override): Set parameter
4502         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
4503
4504 2011-01-05  Jan Hubicka  <jh@suse.cz>
4505
4506         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
4507         at the command line.
4508
4509 2011-01-05  Martin Jambor  <mjambor@suse.cz>
4510
4511         PR lto/47162
4512         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
4513         deltas on streamed outgoing edges.
4514         (output_node_opt_summary): Output info for outgoing edges only when
4515         the node is in new parameter set.
4516         (output_cgraph_opt_summary): New parameter set, passed to the two
4517         aforementioned functions.  Update its forward declaration and its
4518         callee too.
4519
4520 2011-01-05  Tom Tromey  <tromey@redhat.com>
4521
4522         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
4523         operator to c_finish_omp_atomic.
4524         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
4525         (build_unary_op): Update.
4526         (build_modify_expr): Update.
4527         (build_asm_expr): Update.
4528
4529 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4530
4531         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
4532         newly inserted insns.
4533         (pad_bb): Likewise.
4534         (spu_emit_branch_hint): Likewise.
4535         (insert_hbrp_for_ilb_runout): Likewise.
4536         (spu_machine_dependent_reorg): Call df_finish_pass after
4537         schedule_insns returns.
4538
4539 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4540
4541         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
4542
4543 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
4544
4545         PR tree-optimization/47005
4546         * tree-sra.c (struct access): Add 'non_addressable' bit.
4547         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
4548         (decide_one_param_reduction): Return 0 if the parameter is passed by
4549         reference and one of the accesses in the group is non_addressable.
4550
4551 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4552
4553         PR tree-optimization/47056
4554         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
4555         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
4556         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
4557
4558 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4559
4560         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
4561         initializer.  Skip view conversions from aggregate types.
4562
4563 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
4564
4565         PR bootstrap/47055
4566         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
4567
4568 2011-01-04  Philipp Thomas  <pth@suse.de>
4569
4570         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
4571         obvious typo.
4572
4573 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4574
4575         * function.c (thread_prologue_and_epilogue_insns): Do not crash
4576         on empty epilogue sequences.
4577
4578 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
4579
4580         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
4581         non-static): New Driver options.
4582
4583 2011-01-04  Jie Zhang  <jie@codesourcery.com>
4584
4585         PR driver/47137
4586         * gcc.c (default_compilers[]): Set combinable field to 0
4587         for all assembly languages.
4588
4589 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
4590
4591         * config/mips/loongson3a.md: New file.
4592         * config/mips/mips.md: Include loongson3a.md.
4593         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
4594         TUNE_LOONGSON_3A.
4595
4596 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
4597
4598         PR middle-end/47017
4599         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
4600         instead of convert_memory_address_addr_space on the base expression.
4601
4602 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4603
4604         * config/spu/spu.c (spu_option_override): Update error text
4605         for bad -march= / -mtune= values.
4606
4607 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4608
4609         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
4610         if branch-hint optimization will be performed.
4611
4612 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
4613
4614         PR tree-optimization/47148
4615         * ipa-split.c (split_function): Convert arguments to
4616         DECL_ARG_TYPE if possible.
4617
4618         PR tree-optimization/47155
4619         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
4620         when computing uns.
4621
4622         PR rtl-optimization/47157
4623         * combine.c (try_combine): If undobuf.other_insn becomes
4624         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
4625         and set *new_direct_jump_p too.
4626
4627 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
4628
4629         PR tree-optimization/47021
4630         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
4631
4632 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
4633
4634         * gcc.c (process_command): Update copyright notice dates.
4635         * gcov.c (print_version): Likewise.
4636         * gcov-dump.c (print_version): Likewise.
4637         * mips-tfile.c (main): Likewise.
4638         * mips-tdump.c (main): Likewise.
4639
4640 2011-01-03  Martin Jambor  <mjambor@suse.cz>
4641
4642         PR tree-optimization/46801
4643         * tree-sra.c (type_internals_preclude_sra_p): Check whether
4644         aggregate fields start at byte boundary instead of the bit-field flag.
4645
4646 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
4647
4648         PR driver/47137
4649         * gcc.c (main): Revert revision 168407.
4650
4651 2011-01-03  Martin Jambor  <mjambor@suse.cz>
4652
4653         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
4654
4655 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4656
4657         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
4658         vector optab to expand vector/scalar shift, update gimple to vector.
4659
4660 2011-01-03  Martin Jambor  <mjambor@suse.cz>
4661
4662         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
4663         a thunk.
4664
4665 2011-01-03  Martin Jambor  <mjambor@suse.cz>
4666
4667         PR tree-optimization/46984
4668         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
4669         HOST_WIDE_INT.
4670         (cgraph_create_indirect_edge): Fixed line length.
4671         (cgraph_indirect_call_info): Declare.
4672         (cgraph_make_edge_direct) Update declaration.
4673         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
4674         (cgraph_create_indirect_edge): Use it.
4675         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
4676         callees.
4677         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
4678         the new thunk_delta representation.
4679         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
4680         HOST_WIDE_INT.
4681         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
4682         (ipa_read_indirect_edge_info): Likewise.
4683         * lto-cgraph.c (output_edge_opt_summary): New function.
4684         (output_node_opt_summary): Call it on all outgoing edges.
4685         (input_edge_opt_summary): New function.
4686         (input_node_opt_summary): Call it on all outgoing edges.
4687
4688 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
4689
4690         PR driver/47137
4691         * gcc.c (main): Don't check have_o when settting combine_inputs.
4692
4693 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
4694
4695         * regrename.c: Add general comment describing the pass.
4696         (struct du_head): Remove 'length' field.
4697         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
4698         (regrename_optimize): Do not sort chains.  Rework comments, add others.
4699         Force renaming to the preferred class (if any) in the first pass and do
4700         not consider registers that belong to it in the second pass.
4701         (create_new_chain): Do not set 'length' field.
4702         (scan_rtx_reg): Likewise.
4703
4704 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
4705
4706         PR tree-optimization/47140
4707         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
4708         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
4709         to bit_value_binop.
4710
4711         PR rtl-optimization/47028
4712         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
4713         parm_birth_insn instead of at the beginning of first bb.
4714
4715 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
4716
4717         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
4718         Remove the word "see" before "@pxref".
4719         * doc/rtl.texi: Remove the word "see" before "@pxref".
4720
4721 2011-01-01  Jan Hubicka  <jh@suse.cz>
4722
4723         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
4724         memory.
4725
4726 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
4727
4728         PR target/38662
4729         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
4730
4731 \f
4732 Copyright (C) 2011 Free Software Foundation, Inc.
4733
4734 Copying and distribution of this file, with or without modification,
4735 are permitted in any medium without royalty provided the copyright
4736 notice and this notice are preserved.