OSDN Git Service

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