OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2011-03-24  Richard Sandiford  <richard.sandiford@linaro.org>
2
3         * config/h8300/predicates.md (jump_address_operand): Fix register
4         mode check.
5
6 2011-03-24  Ira Rosen  <ira.rosen@linaro.org>
7
8         * doc/invoke.texi (max-stores-to-sink): Document.
9         * params.h (MAX_STORES_TO_SINK): Define.
10         * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
11         if either vectorization or if-conversion is disabled.
12         * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
13         tree-vect-data-refs.c vect_equal_offsets.
14         (dr_equal_offsets_p): New function.
15         (find_data_references_in_bb): Remove static.
16         * tree-data-ref.h (find_data_references_in_bb): Declare.
17         (dr_equal_offsets_p): Likewise.
18         * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
19         (vect_drs_dependent_in_basic_block): Update calls to
20         vect_equal_offsets.
21         (vect_check_interleaving): Likewise.
22         * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
23         (cond_if_else_store_replacement): Rename to...
24         (cond_if_else_store_replacement_1): ... this.  Change arguments and
25         documentation.
26         (cond_if_else_store_replacement): New function.
27         * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
28         * params.def (PARAM_MAX_STORES_TO_SINK): Define.
29
30 2011-03-23  Chung-Lin Tang  <cltang@codesourcery.com>
31
32         PR target/46934
33         * config/arm/arm.md (casesi): Use the gen_int_mode() function
34         to subtract lower bound instead of GEN_INT().
35
36 2011-03-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
37
38         PR other/48179
39         PR other/48221
40         PR other/48234
41         * doc/extend.texi (Alignment): Move section to match order in TOC.
42         * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
43         (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
44
45 2011-03-23  Jeff Law  <law@redhat.com>
46
47         * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
48         before removing the edge.
49
50         * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
51         it may have been freed by redirect_branch_edge or
52         redirect_edge_succ_nodup.
53
54 2011-03-23  Richard Guenther  <rguenther@suse.de>
55
56         * tree-stdarg.c (va_list_counter_bump): Handle bumps via
57         MEM_REF.
58         (check_va_list_escapes): Likewise.
59         (check_all_va_list_escapes): Likewise.
60
61 2011-03-23  Richard Guenther  <rguenther@suse.de>
62
63         * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
64         (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
65         (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
66         (alias.o): Likewise.
67         (ipa-type-escape.o): Remove.
68         (ipa-struct-reorg.o): Likewise.
69         (GTFILES): Remove ipa-struct-reorg.c.
70         * alias.c: Do not include ipa-type-escape.h.
71         * tree-ssa-alias.c: Likewise.
72         * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
73         * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
74         * passes.c (init_optimization_passes): Remove ipa-struct-reorg
75         and ipa-type-escape passes.
76         * tree-pass.h (pass_ipa_type_escape): Remove.
77         (pass_ipa_struct_reorg): Likewise.
78         * ipa-struct-reorg.h: Remove.
79         * ipa-struct-reorg.c: Likewise.
80         * ipa-type-escape.h: Likewise.
81         * ipa-type-escape.c: Likewise.
82         * doc/invoke.texi (-fipa-struct-reorg): Remove.
83         (--param struct-reorg-cold-struct-ratio): Likewise.
84         * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
85         * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
86         * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
87
88 2011-03-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
89
90         * config/s390/2084.md: Enable all insn reservations also for z9_ec
91         cpu attribute value.
92         * config/s390/s390-opts.h (enum s390_arch_option): Remove.
93         (enum processor_type): Add PROCESSOR_2094_Z9_EC.
94         * config/s390/s390.c (processor_flags_table): New constant array.
95         (s390_handle_arch_option): Remove.
96         (s390_handle_option): Remove s390_handle_arch_option invocations
97         and OPT_mwarn_framesize_ handling.
98         (s390_option_override): Remove s390_handle_arch_option invocation.
99         (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
100         warnings.
101         * config/s390/s390.md (cpu attribute): Add z9_ec value.
102         * config/s390/s390.opt (s390_tune, s390_arch)
103         (march=): Replace s390_arch_option enum and values with
104         processor_type.  Set variable name to s390_arch.  Set
105         initialization value.
106         (mtune=): Replace s390_arch_option with processor_type.  Set
107         variable name to s390_tune.  Set initialization value.
108
109 2011-03-23  Julian Brown  <julian@codesourcery.com>
110
111         * expr.c (expand_expr_real_1): Only use BLKmode for volatile
112         accesses which are not naturally aligned.
113
114 2011-03-23  Richard Sandiford  <richard.sandiford@linaro.org>
115
116         PR target/47553
117         * config/arm/predicates.md (neon_lane_number): Accept 0..15.
118
119 2011-03-23  Richard Sandiford  <richard.sandiford@linaro.org>
120
121         * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
122         parameter from "int" to "enum insn_code".
123         (expand_operand_type): New enum.
124         (expand_operand): New structure.
125         (create_expand_operand): New function.
126         (create_fixed_operand, create_output_operand): Likewise
127         (create_input_operand, create_convert_operand_to): Likewise.
128         (create_convert_operand_from, create_address_operand): Likewise.
129         (create_integer_operand): Likewise.
130         (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
131         (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
132         (expand_insn, expand_jump_insn): Likewise.
133         * builtins.c (expand_builtin_prefetch): Use the new interfaces.
134         (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
135         (expand_movstr, expand_builtin___clear_cache): Likewise.
136         (expand_builtin_lock_release): Likewise.
137         * explow.c (allocate_dynamic_stack_space): Likewise.
138         (probe_stack_range): Likewise.  Allow check_stack to FAIL,
139         and use the default handling in that case.
140         * expmed.c (check_predicate_volatile_ok): Delete.
141         (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
142         (emit_cstore): Likewise.
143         * expr.c (emit_block_move_via_movmem): Likewise.
144         (set_storage_via_setmem, expand_assignment): Likewise.
145         (emit_storent_insn, try_casesi): Likewise.
146         (emit_single_push_insn): Likewise.  Allow the expansion to fail.
147         * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
148         (expand_vec_shift_expr, expand_binop_directly): Likewise.
149         (expand_twoval_unop, expand_twoval_binop): Likewise.
150         (expand_unop_direct, emit_indirect_jump): Likewise.
151         (emit_conditional_move, vector_compare_rtx): Likewise.
152         (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
153         (expand_sync_operation, expand_sync_fetch_operation): Likewise.
154         (expand_sync_lock_test_and_set): Likewise.
155         (maybe_emit_unop_insn): Likewise.  Change icode to an insn_code.
156         (emit_unop_insn): Likewise.
157         (expand_copysign_absneg): Change icode to an insn_code.
158         (create_convert_operand_from_type): New function.
159         (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
160         (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
161         (expand_insn, expand_jump_insn): Likewise.
162         * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
163         than const_int_operand for operand 2.
164
165 2011-03-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
166
167         * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
168         if possible.
169
170 2011-03-22  Nathan Froyd  <froydnj@codesourcery.com>
171
172         * emit-rtl.c (emit_pattern_before_noloc): New function.
173         (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
174         (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
175         (emit_pattern_after_noloc): New function.
176         (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
177         (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
178
179 2011-03-22  Nathan Froyd  <froydnj@codesourcery.com>
180
181         * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
182         (__ffsDI2): Likewise.
183
184 2011-03-22  Richard Henderson  <rth@redhat.com>
185
186         * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
187         of !TARGET_ABI_OPEN_VMS.
188         (alpha_trampoline_init, alpha_start_function): Likewise.
189         (alpha_expand_epilogue, alpha_file_start): Likewise.
190         * config/alpha/alpha.md (divsi3, modsi3): Likewise.
191         (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
192         (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
193         (*divmodsi_internal, *divmoddi_internal_er): Likewise.
194         (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
195
196 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
197
198         * config/s390/s390-opts.h: New.
199         * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
200         s390_arch_flags, s390_warn_framesize, s390_stack_size,
201         s390_stack_guard): Remove.
202         (s390_handle_arch_option): Return void.  Take enum
203         s390_arch_option value instead of string and searching array.
204         (s390_handle_option): Don't assert that global structures are in
205         use.  Access variables via opts pointer.  Use error_at.  Don't use
206         sscanf for -mstack-guard= or -mstack-size=.  Update call to
207         s390_handle_arch_option.
208         (s390_option_override): Update call to s390_handle_arch_option.
209         (s390_emit_prologue): Use %d format for s390_stack_size in
210         diagnostic.  Use %wd for HOST_WIDE_INT.
211         * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
212         (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
213         * config/s390/s390.opt (config/s390/s390-opts.h): New
214         HeaderInclude entry.
215         (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
216         s390_arch_flags, s390_warn_framesize): New Variable entries.
217         (s390_arch_option): New Enum and EnumValue entries.
218         (march=): Use Enum instead of Var.
219         (mstack-guard=, mstack-size=): Use UInteger and Var.
220         (mtune=): Use Enum.
221
222 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
223
224         * config/score/score.c (score_handle_option): Don't assert that
225         global structures are in use.  Access target_flags via opts
226         pointer.  Use value of -march= option to determine target_flags
227         settings.
228         * config/score/score.opt (march=): Use Enum.
229         (score_arch): New Enum and EnumValue entries.
230
231 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
232
233         * config/mep/mep.c (option_mtiny_specified): Remove.
234         (mep_option_override): Move register handling for -mivc2 from
235         mep_handle_option.  Use global_options_set.x_mep_tiny_cutoff
236         instead of option_mtiny_specified.
237         (mep_handle_option): Access target_flags via opts pointer.  Don't
238         assert that global structures are in use.  Defer part of -mivc2
239         handling and move it to mep_option_override.
240         * config/mep/mep.opt (IVC2): New Mask entry.
241         (mivc2): Use Var and Defer instead of Mask.
242
243 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
244
245         * config/v850/v850-opts.h: New.
246         * config/v850/v850.c (small_memory): Replace with
247         small_memory_physical_max array.  Make that array static const.
248         (v850_handle_memory_option): Take integer value of argument.  Take
249         gcc_options pointer, option text and location.  Return void.
250         Update for changes to small memory structures.
251         (v850_handle_option): Access target_flags via opts pointer.  Don't
252         assert that global structures are in use.  Update calls to
253         v850_handle_memory_option.
254         (v850_encode_data_area): Update references to small memory
255         settings.
256         * config/v850/v850.h (struct small_memory_info, small_memory):
257         Remove.
258         (enum small_memory_type): Move to v850-opts.h.
259         * config/v850/v850.opt (config/v850/v850-opts.h): New
260         HeaderInclude entry.
261         (small_memory_max): New Variable entry.
262         (msda): Replace by pair of options msda= and msda-.  Use UInteger.
263         (mtda, mzda): Likewise.
264
265 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
266
267         * config/sh/sh.c (sh_handle_option): Access target_flags via opts
268         pointer.  Don't assert that global structures are in use.
269
270 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
271
272         * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
273         via opts pointer.  Don't assert that global structures are in use.
274
275 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
276
277         * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
278         (munix=93): Use Var.
279         * config/pa/pa-hpux1010.opt (munix=95): Use Var.
280         * config/pa/pa-hpux1111.opt (munix=98): Use Var.
281         * config/pa/pa-opts.h: New.
282         * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
283         (pa_handle_option): Don't assert that global structures are in
284         use.  Access target_flags via opts pointer.  Don't handle
285         OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
286         OPT_munix_98 here.
287         (pa_option_override): Handle deferred OPT_mfixed_range_.
288
289 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
290
291         * config/mn10300/mn10300-opts.h: New.
292         * config/mn10300/mn10300.c (mn10300_processor,
293         mn10300_tune_string): Remove.
294         (mn10300_handle_option): Don't assert that global structures are
295         in use.  Access mn10300_processor via opts pointer.  Don't handle
296         OPT_mtune_ here.
297         * config/mn10300/mn10300.h (enum processor_type): Move to
298         mn10300-opts.h.
299         (mn10300_processor): Remove.
300         * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
301         HeaderInclude entry.
302         (mn10300_processor): New Variable entry.
303         (mtune=): Use Var.
304
305 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
306
307         * config/microblaze/microblaze.c: Don't include opts.h.
308         (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
309         * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
310         (mno-clearbss): Use Var and Warn.
311
312 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
313
314         * config/m32r/m32r-opts.h: New.
315         * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
316         (m32r_handle_option): Don't assert that global structures are in
317         use.  Access target_flags and m32r_cache_flush_func via opts
318         pointer.  Don't handle OPT_mmodel_, OPT_msdata_ or
319         OPT_mno_flush_trap here.
320         * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
321         include of m32r-opts.h.
322         * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
323         HeaderInclude entry.
324         (m32r_model_selected, m32r_sdata_selected): New Variable entries.
325         (mmodel=): Use Enum and Var.
326         (m32r_model): New Enum and EnumValue entries.
327         (mno-flush-trap): Use Var.
328         (msdata=): Use Enum and Var.
329         (m32r_sdata): New Enum and EnumValue entries.
330
331 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
332
333         * config/m32c/m32c.c: Don't include opts.h.
334         (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
335         m32c_handle_option): Remove.
336         (m32c_option_override): Check global_options_set.x_target_memregs
337         instead of target_memregs_set.
338         * config/m32c/m32c.h (target_memregs): Remove.
339         * config/m32c/m32c.opt (memregs=): Use UInteger with integer
340         variable.
341
342 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
343
344         * config/iq2000/iq2000-opts.h: New.
345         * config/iq2000/iq2000.c: Don't include opts.h.
346         (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
347         * config/iq2000/iq2000.h (enum processor_type, iq2000_tune):
348         Remove.
349         * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
350         HeaderInclude entry.
351         (iq2000_tune): New Variable entry.
352         (march=): Add comment.  Use Enum.
353         (iq2000_arch): New Enum and EnumValue entries.
354         (mcpu=): Use Enum and Var.
355         (iq2000_tune): New Enum and EnumValue entries.
356
357 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
358
359         * config/ia64/ia64-opts.h: New.
360         * config/ia64/ia64.c (ia64_tune): Remove.
361         (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
362         here.  Use error_at.
363         (ia64_option_override): Handle deferred OPT_mfixed_range_.
364         * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
365         * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
366         HeaderInclude entry.
367         (ia64_tune): New Variable entry.
368         (mfixed-range=): Use Defer and Var.
369         (mtune=): Use Enum and Var.
370         (ia64_tune): New Enum and EnumValue entries.
371
372 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
373
374         * config/frv/frv-opts.h: New.
375         * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
376         frv-opts.h.
377         (frv_cpu_type): Remove.
378         * config/frv/frv.c: Don't include opts.h.
379         (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
380         * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude
381         entry.
382         (frv_cpu_type): New Variable entry.
383         (frv_cpu): New Enum and EnumValue entries.
384
385 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
386
387         * config/cris/cris.c (cris_handle_option): Access target_flags via
388         opts pointer.  Don't assert that global structures are in use.
389         Don't call CRIS_SUBTARGET_HANDLE_OPTION.
390         * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
391
392 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
393
394         * config/bfin/bfin-opts.h: New.
395         * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
396         bfin_si_revision, bfin_workarounds): Remove.
397         (bfin_cpus): Make static const.
398         (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
399         not bfin_lib_id_given.
400         (bfin_handle_option): Don't set bfin_lib_id_given.  Access
401         bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
402         pointer. Use error_at.  Don't assert that global structures are in
403         use.
404         * config/bfin/bfin.h: Include bfin-opts.h.
405         (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
406         (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
407         * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
408         (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
409         entries.
410
411 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
412
413         * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
414         * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
415         or -msoft-float here.
416         * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
417         -msoft-float and -mhard-float.
418         (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
419         -msoft-float.
420         * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
421         msoft-float.
422         * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
423         -msoft-float.
424         (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
425         * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
426         not mhard-float.
427         (LIBGCC_SPEC): Don't handle -msoft-float.
428         * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
429         -mhard-float.
430         * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
431         msoft-float.
432         * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
433         -mfloat-abi=*, not -msoft-float and -mhard-float.
434         * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
435         -msoft-float.
436         * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
437         Use mfloat-abi=hard and mfloat-abi=soft in comments, not
438         mhard-float and msoft-float.
439         * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
440         mfloat-abi=soft in comments, not mhard-float and msoft-float.
441         * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
442         mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
443         mhard-float.
444         * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
445         mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
446         msoft-float.
447         * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
448         not mhard-float.
449         * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
450         not msoft-float.
451
452 2011-03-22  Richard Henderson  <rth@redhat.com>
453
454         * config/alpha/alpha.c (alpha_expand_prologue): Don't test
455         TARGET_ABI_WINDOWS_NT.
456         (alpha_output_function_end_prologue): Likewise.
457         * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
458         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
459         * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
460         (trap, *movsi_nt_vms): Likewise.
461         (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
462         (*tablejump_osf_nt_internal): Remove.
463         * config/alpha/predicates.md (input_operand): Only test Pmode.
464
465 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
466
467         * config/alpha/alpha.c (alpha_handle_option): Access target_flags
468         via opts pointer.  Use error_at.  Don't assert that global
469         structures are in use.
470
471 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
472
473         * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
474         (ix86_handle_option): Access ix86_isa_flags and
475         ix86_isa_flags_explicit via opts pointer.  Don't assert that
476         global structures are in use.
477         (ix86_function_specific_save, ix86_function_specific_restore):
478         Update ix86_isa_flags_explicit field name.
479         * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable
480         entry.
481         (ix86_isa_flags_explicit): Rename TargetSave entry to
482         x_ix86_isa_flags_explicit.
483
484 2011-03-22  Richard Henderson  <rth@redhat.com>
485
486         * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
487         (alpha_option_override, direct_return): Likewise.
488         (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
489         (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
490         (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
491         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
492         (alpha_expand_epilogue, alpha_end_function): Likewise.
493         (alpha_init_libfuncs): Likewise.
494         (struct machine_function): Remove unicosmk members.
495         (print_operand) ['t']: Remove.
496         (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
497         unicosmk_output_module_name, unicosmk_output_common,
498         current_section_align, unicosmk_output_text_section_asm_op,
499         unicosmk_output_data_section_asm_op, unicosmk_init_sections,
500         unicosmk_section_type_flags, unicosmk_unique_section,
501         unicosmk_asm_named_section, unicosmk_insert_attributes,
502         unicosmk_output_align, unicosmk_defer_case_vector,
503         unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
504         SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
505         unicosmk_output_ssib, unicosmk_add_call_info_word,
506         unicosmk_extern_head, unicosmk_output_default_externs,
507         unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
508         unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
509         unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
510         * config/alpha/alpha-protos.h: Update.
511         * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
512         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
513         (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
514         (mulsi3): Don't test TARGET_ABI_UNICOSMK.
515         (*mulsi_se, mulvsi3): Likewise.
516         (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
517         (*divmodsi_internal, call, call_value, realign): Likewise.
518         (moddi3, umoddi3): Likewise; remove duplicate expander.
519         (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
520         (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
521         (*movdi_nofix): Remove r/U alternative.
522         (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
523         * config/alpha/constraints.md ("U"): Remove.
524         * config/alpha/predicates.md (call_operand"): Don't test
525         TARGET_ABI_UNICOSMK.
526
527 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
528
529         * target.def (handle_option): Take gcc_options and
530         cl_decoded_option pointers and location_t.
531         * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
532         * doc/tm.texi: Regenerate.
533         * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
534         * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
535         * lto-opts.c (lto_reissue_options): Generate option structure for
536         targetm.handle_option call.
537         * opts.c (target_handle_option): Update call to
538         targetm.handle_option.  Remove assertions about values now passed
539         down to hook.
540         * targhooks.c (default_target_handle_option): New.
541         * targhooks.h (default_target_handle_option): Declare.
542         * config/alpha/alpha.c: Include opts.h.
543         (alpha_handle_option): Update to new hook interface.
544         * config/arm/arm.c: Include opts.h.
545         (arm_handle_option): Update to new hook interface.
546         * config/arm/t-arm (arm.o): Update dependencies.
547         * config/bfin/bfin.c: Include opts.h.
548         (bfin_handle_option): Update to new hook interface.
549         * config/cris/cris.c: Include opts.h.
550         (cris_handle_option): Update to new hook interface.
551         * config/frv/frv.c: Include opts.h.
552         (frv_handle_option): Update to new hook interface.
553         * config/i386/i386.c: Include opts.h.
554         (ix86_handle_option): Update to new hook interface.
555         (ix86_valid_target_attribute_inner_p): Generate option structure
556         for call to ix86_handle_option.
557         * config/i386/t-i386 (i386.o): Update dependencies.
558         * config/ia64/ia64.c: Include opts.h.
559         (ia64_handle_option): Update to new hook interface.
560         * config/ia64/t-ia64 (ia64.o): Update dependencies.
561         * config/iq2000/iq2000.c: Include opts.h.
562         (iq2000_handle_option): Update to new hook interface.
563         * config/m32c/m32c.c: Include opts.h.
564         (m32c_handle_option): Update to new hook interface.
565         * config/m32r/m32r.c: Include opts.h.
566         (m32r_handle_option): Update to new hook interface.
567         * config/m68k/m68k.c: Include opts.h.
568         (m68k_handle_option): Update to new hook interface.
569         * config/mep/mep.c: Include opts.h.
570         (mep_handle_option): Update to new hook interface.
571         * config/microblaze/microblaze.c: Include opts.h.
572         (microblaze_handle_option): Update to new hook interface.
573         * config/mips/mips.c: Include opts.h.
574         (mips_handle_option): Update to new hook interface.
575         * config/mn10300/mn10300.c: Include opts.h.
576         (mn10300_handle_option): Update to new hook interface.
577         * config/pa/pa.c: Include opts.h.
578         (pa_handle_option): Update to new hook interface.
579         * config/pdp11/pdp11.c: Include opts.h.
580         (pdp11_handle_option): Update to new hook interface.
581         * config/rs6000/rs6000.c: Include opts.h.
582         (rs6000_handle_option): Update to new hook interface.
583         * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
584         * config/rx/rx.c: Include opts.h.
585         (rx_handle_option): Update to new hook interface.
586         * config/s390/s390.c: Include opts.h.
587         (s390_handle_option): Update to new hook interface.
588         * config/score/score.c: Include opts.h.
589         (score_handle_option): Update to new hook interface.
590         * config/sh/sh.c: Include opts.h.
591         (sh_handle_option): Update to new hook interface.
592         * config/sparc/sparc.c: Include opts.h.
593         (sparc_handle_option): Update to new hook interface.
594         * config/v850/v850.c: Include opts.h.
595         (v850_handle_option): Update to new hook interface.
596
597 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
598
599         * gcc.c (driver_unknown_option_callback): Only permit and save
600         unknown -Wno- options.
601         (driver_wrong_lang_callback): Save options directly instead of via
602         driver_unknown_option_callback.
603
604 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
605
606         * combine.c (simplify_set): Try harder to find the best CC mode when
607         simplifying a nested COMPARE on the RHS.
608
609 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
610
611         * config/alpha/gnu.h: Remove.
612         * config/arc: Remove directory.
613         * config/arm/netbsd.h: Remove.
614         * config/arm/t-pe: Remove.
615         * config/crx: Remove directory.
616         * config/i386/netbsd.h: Remove.
617         * config/m68hc11: Remove directory.
618         * config/m68k/uclinux-oldabi.h: Remove.
619         * config/mcore/mcore-pe.h: Remove.
620         * config/mcore/t-mcore-pe: Remove.
621         * config/netbsd-aout.h: Remove.
622         * config/rs6000/gnu.h: Remove.
623         * config/sh/sh-symbian.h: Remove.
624         * config/sh/symbian-base.c: Remove.
625         * config/sh/symbian-c.c: Remove.
626         * config/sh/symbian-cxx.c: Remove.
627         * config/sh/symbian-post.h: Remove.
628         * config/sh/symbian-pre.h: Remove.
629         * config/sh/t-symbian: Remove.
630         * config/svr3.h: Remove.
631         * config/vax/netbsd.h: Remove.
632         * config.build: Don't handle i[34567]86-*-pe.
633         * config.gcc: Remove handling of deprecations for most deprecated
634         targets.
635         (m68k-*-uclinuxoldabi*): Add to second deprecated list.
636         (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
637         i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
638         m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
639         powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
640         sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
641         Remove cases.
642         * config.host: Don't handle i[34567]86-*-pe.
643         * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
644         (ASM_SPEC32): Don't handle -mcall-gnu.
645         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
646         -mcall-gnu.
647         (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
648         STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
649         (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
650         LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
651         (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
652         * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
653         conditional on SYMBIAN.
654         * configure.ac: Don't handle powerpc*-*-gnu*.
655         * configure: Regenerate.
656         * doc/extend.texi (interrupt attribute): Don't mention CRX.
657         * doc/install-old.texi (m6811, m6812): Don't mention.
658         * doc/install.texi (arc-*-elf*): Don't document multilib option.
659         (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
660         (m68k-uclinuxoldabi): Don't mention.
661         * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
662         Remove.
663         (-mcall-gnu): Remove.
664         * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
665         families): Remove constraint documentation.
666
667 2011-03-22  Marius Strobl  <marius@FreeBSD.org>
668
669         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
670         (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
671         (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
672
673 2011-03-21  Georg-Johann Lay  <avr@gjlay.de>
674
675         * config/avr/avr-protos.h (expand_epilogue): Change prototype
676         * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
677         * config/avr/avr.c (init_cumulative_args)
678         (avr_function_arg_advance): Use it.
679         * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
680         sibcall epilogues.
681         (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
682         (avr_function_ok_for_sibcall): ...this new function.
683         (avr_lookup_function_attribute1): New static Function.
684         (avr_naked_function_p, interrupt_function_p)
685         (signal_function_p, avr_OS_task_function_p)
686         (avr_OS_main_function_p): Use it.
687         * config/avr/avr.md ("sibcall", "sibcall_value")
688         ("sibcall_epilogue"): New expander.
689         ("*call_insn", "*call_value_insn"): New insn.
690         ("call_insn", "call_value_insn"): Remove
691         ("call", "call_value", "epilogue"): Change expander to handle
692         sibling calls.
693
694 2011-03-21  Nick Clifton  <nickc@redhat.com>
695
696         * doc/invoke.texi (Overall Options): Move closing brace to end of
697         options list.
698         (Optimization Options): Add missing @gol.
699         (Directory Options): Likewise.
700         (i386 and x86-64 Options): Likewise.
701         (RS6000 and PowerPC Options): Likewise.
702         (i386 and x86-64 Windows Options): Likewise.
703         (V850 Options): Add text missing from descriptions.
704
705 2011-03-22  Richard Henderson  <rth@redhat.com>
706
707         * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
708         (avr_incoming_return_addr_rtx): New.
709         (emit_push_byte): New.
710         (expand_prologue): Use it.  Remove incorrect dwarf annotation for
711         SREG, RAMPZ, zero register.  Push frame pointer by bytes.  Add dwarf
712         annotation for __prologue_saves__.  Fixup dwarf annotation for CFA.
713         (emit_pop_byte): New.
714         (expand_epilogue): Use it.  Pop frame pointer by bytes.
715         * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
716         (INCOMING_RETURN_ADDR_RTX): New.
717         (INCOMING_FRAME_SP_OFFSET): New.
718         (ARG_POINTER_CFA_OFFSET): New.
719         * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
720         (*pushhi, *pushsi, *pushsf, popqi): Likewise.
721         (pophi): Remove.
722
723         * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
724
725 2011-03-22  Nathan Froyd  <froydnj@codesourcery.com>
726
727         * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
728         (FUNCTION_ARG_ADVANCE): Likewise.
729         * tm.texi.in: Change references to them to hook references.
730         * tm.texi: Regenerate.
731         * targhooks.c (default_function_arg): Eliminate check for target
732         macro.
733         (default_function_incoming_arg): Likewise.
734         (default_function_arg_advance): Likewise.
735         * target.def (function_arg, function_incoming_arg): Change to
736         DEFHOOK.
737         (function_arg_advance): Likewise.
738         * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
739
740 2011-03-22  Nathan Froyd  <froydnj@codesourcery.com>
741
742         * tree.c (build_call_1): New function.
743         (build_call_valist, build_call_array_loc, build_call_vec): Call it.
744
745 2011-03-22  Richard Guenther  <rguenther@suse.de>
746
747         PR tree-optimization/48228
748         * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
749         for single-arg PHIs.
750
751 2011-03-22  Andrey Belevantsev  <abel@ispras.ru>
752
753         PR rtl-optimization/48143
754         * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
755         (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
756         sse2_cvtps2pd): Likewise.
757
758 2011-03-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
759
760         * recog.c (canonicalize_change_group): Use validate_unshare_change.
761
762 2011-03-22  Richard Guenther  <rguenther@suse.de>
763
764         * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
765         a valid RHS.  Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
766         * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
767         and REALIGN_LOAD_EXPR.
768         (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
769         DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
770         * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
771         DOT_PROD_EXPR case ...
772         (expand_expr_real_2): ... here.
773         * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
774         and REALIGN_LOAD_EXPR.
775         * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
776         * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
777         (vect_create_epilog_for_reduction): Likewise.
778         (vectorizable_reduction): Likewise.
779         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
780         * tree-vect-stmts.c (vectorizable_load): Likewise.
781
782 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
783
784         * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
785
786 2011-03-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
787
788         * config/s390/s390.c (s390_delegitimize_address): Fix offset
789         handling for PLTOFF/GOTOFF.
790
791 2011-03-22  Nick Clifton  <nickc@redhat.com>
792
793         * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
794         trailing backslash from the end of the macro definition.
795
796 2011-03-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
797
798         * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
799         and PLT unspecs.
800
801 2011-03-21  Richard Sandiford  <richard.sandiford@linaro.org>
802
803         * expr.h (prepare_operand): Move to...
804         * optabs.h (prepare_operand): ...here and change the insn code
805         parameter from "int" to "enum insn_code".
806         (insn_operand_matches): Declare.
807         * expr.c (init_expr_target): Use insn_operand_matches.
808         (compress_float_constant): Likewise.
809         * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
810         * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
811         (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
812         (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn): Likewise.
813         (gen_cond_trap): Likewise.
814         (prepare_operand): Likewise.  Change icode to an insn_code.
815         (insn_operand_matches): New function.
816         * reload.c (find_reloads_address_1): Use insn_operand_matches.
817         * reload1.c (gen_reload): Likewise.
818         * targhooks.c (default_secondary_reload): Likewise.
819
820 2011-03-21  Uros Bizjak  <ubizjak@gmail.com>
821
822         * config/alpha/alpha.md (unspec): New define_c_enum.
823         (unspecv): Ditto.
824
825 2011-03-21  Uros Bizjak  <ubizjak@gmail.com>
826
827         PR debug/48214
828         * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
829         between a call and its CALL_ARG_LOCATION note.
830
831 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
832
833         * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
834
835 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
836
837         PR c/42544
838         PR c/48197
839         * c-common.c (shorten_compare): If primopN is first sign-extended
840         to opN and then zero-extended to result type, set primopN to opN.
841
842 2011-03-21  Daniel Jacobowitz  <dan@codesourcery.com>
843
844         * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
845         for barrier handlers.
846
847 2011-03-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
848
849         * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
850         UNSPEC constants to be in the unspec enumeration, and redefine
851         all UNSPECV constants to be in the unspecv enumeration, so that
852         dumps print which unspec/unspec_volatile this is.
853         * config/rs6000/vector.md (UNSPEC_*): Ditto.
854         * config/rs6000/paired.md (UNSPEC_*): Ditto.
855         * config/rs6000/vsx.md (UNSPEC_*): Ditto.
856         * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
857         * config/rs6000/dfp.md (UNSPEC_*): Ditto.
858
859         * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
860         UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
861         UNSPECV_LWSYNC, since these are used as unspec_volatile.
862         * config/rs6000/sync.md (isync, lwsync): Ditto.
863
864 2011-03-21  Richard Guenther  <rguenther@suse.de>
865
866         * params.def (lto-min-partition): Fix typo.
867
868 2011-03-21  Richard Guenther  <rguenther@suse.de>
869
870         PR c/47939
871         * c-decl.c (grokdeclarator): Drop to the main variant only
872         for array types.  Drop flag_gen_aux_info check.
873
874 2011-03-21  Richard Guenther  <rguenther@suse.de>
875
876         PR translation/47911
877         * params.def (lto-partitions): Fix typo.
878         (lto-min-partition): Fix wording.
879
880 2011-03-21  Andreas Tobler  <andreast@fgznet.ch>
881
882         * config/rs6000/t-freebsd: Remove duplication from file.
883
884 2011-03-21  Richard Guenther  <rguenther@suse.de>
885
886         PR middle-end/47661
887         * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
888
889 2011-03-21  Richard Guenther  <rguenther@suse.de>
890
891         PR lto/48210
892         * params.def (lto-partitions): Require at least 1 partition.
893
894 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
895
896         * gthr-solaris.h: Remove.
897         * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
898         * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
899         (LIB_SPEC): Likewise.
900         * config/sol2.opt (threads): Remove.
901         * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
902         (sparc*-*-solaris2*): Likewise.
903         * configure.ac (enable_threads): Enable solaris support.
904         * configure: Regenerate.
905         * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
906         * doc/install.texi (Configuration, --enable-threads=lib): Remove
907         solaris.
908
909 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
910
911         * config.gcc: Obsolete *-*-solaris2.8*.
912         * doc/install.texi (Specific, *-*-solaris2*): Document it.
913
914 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
915
916         PR bootstrap/48135
917         * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
918         reference.  Solaris 8 perl works.
919
920 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
921
922         PR bootstrap/48135
923         * doc/install.texi (Prerequisites): Move jar etc. up.
924         Explain support library version requirements.
925
926 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
927
928         PR bootstrap/48135
929         * doc/install.texi (Prerequisites): Move Perl to build
930         requirements.  Always necessary on Solaris 2 with Sun ld.
931
932 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
933
934         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
935         binutils 2.21.
936         (Specific, i?86-*-solaris2.[89]): Likewise.
937         (Specific, i?86-*-solaris2.10): Likewise.
938         (Specific, mips-sgi-irix6): Likewise.
939         (Specific, *-*-solaris2*): Remove Sun Studio download URL.
940         Update for binutils 2.21.
941
942 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
943
944         * configure.ac (gcc_cv_lto_plugin): Fix typo.
945         Allow -fuse-linker-plugin for non-default plugin linker.
946         * configure: Regenerate.
947
948 2011-03-21  Nicola Pero  <nicola.pero@meta-innovation.com>
949
950         PR bootstrap/48167
951         * gengtype.c (files_rules): Added rule for cp/parser.h.
952
953 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
954
955         PR target/48213
956         * config/s390/s390.c (s390_delegitimize_address): Don't call
957         lowpart_subreg if orig_x has BLKmode.
958
959 2011-03-21  Kai Tietz  <ktietz@redhat.com>
960
961         PR target/12171
962         * doc/plugins.texi: Adjust documentation for plugin register_callback.
963         * tree.h (attribute_spec): Add new member affects_type_identity.
964         * attribs.c (empty_attribute_table): Adjust attribute_spec
965         initializers.
966         * config/alpha/alpha.c: Likewise.
967         * config/arc/arc.c: Likewise.
968         * config/arm/arm.c: Likewise.
969         * config/avr/avr.c: Likewise.
970         * config/bfin/bfin.c: Likewise.
971         * config/crx/crx.c: Likewise.
972         * config/darwin.h: Likewise.
973         * config/h8300/h8300.c: Likewise.
974         * config/i386/cygming.h: Likewise.
975         * config/i386/i386.c: Likewise.
976         * config/ia64/ia64.c: Likewise.
977         * config/m32c/m32c.c: Likewise.
978         * config/m32r/m32r.c: Likewise.
979         * config/m68hc11/m68hc11.c: Likewise.
980         * config/m68k/m68k.c: Likewise.
981         * config/mcore/mcore.c: Likewise.
982         * config/mep/mep.c: Likewise.
983         * config/microblaze/microblaze.c: Likewise.
984         * config/mips/mips.c: Likewise.
985         * config/rs6000/rs6000.c: Likewise.
986         * config/rx/rx.c: Likewise.
987         * config/sh/sh.c: Likewise.
988         * config/sol2.h: Likewise.
989         * config/sparc/sparc.c: Likewise.
990         * config/spu/spu.c: Likewise.
991         * config/stormy16/stormy16.c: Likewise.
992         * config/v850/v850.c: Likewise.
993
994 2011-03-21  Chung-Lin Tang  <cltang@codesourcery.com>
995
996         * simplify-rtx.c (simplify_binary_operation_1): Handle
997         (xor (and A B) C) case when B and C are both constants.
998
999 2011-03-21  Mingjie Xing  <mingjie.xing@gmail.com>
1000
1001         * tree-dfa.c (add_referenced_var): Fix typo in comment.
1002
1003 2011-03-20  Eric Botcazou  <ebotcazou@adacore.com>
1004
1005         PR bootstrap/48168
1006         * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
1007
1008 2011-03-20  Jakub Jelinek  <jakub@redhat.com>
1009
1010         PR rtl-optimization/48156
1011         * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
1012         assume df and df_lr are not NULL.
1013
1014 2011-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1015
1016         PR debug/48023
1017         * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
1018         between a call and its CALL_ARG_LOCATION note.
1019
1020 2011-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1021
1022         PR debug/48178
1023         * config/sh/sh.c (find_barrier): Don't emit a constant pool
1024         between a call and its corresponding CALL_ARG_LOCATION note.
1025
1026 2011-03-19  Anatoly Sokolov  <aesok@post.ru>
1027
1028         * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
1029         instead of loop. Use HARD_REGISTER_NUM_P predicate.
1030         * haifa-sched.c (setup_ref_regs): Ditto.
1031         * caller-save.c (add_used_regs_1): Ditto.
1032         * dse.c (look_for_hardregs): Ditto.
1033         * df-problems.c (df_simulate_one_insn_forwards): Ditto.
1034         * sched-rgn.c (check_live_1): Ditto.
1035
1036 2011-03-18  Joseph Myers  <joseph@codesourcery.com>
1037
1038         * c-decl.c (diagnose_mismatched_decls): Give an error for
1039         redefining a typedef with variably modified type.
1040
1041 2011-03-18  Joseph Myers  <joseph@codesourcery.com>
1042
1043         * c-decl.c (grokfield): Don't allow typedefs for structures or
1044         unions with no tag by default.
1045         * doc/extend.texi (Unnamed Fields): Update.
1046
1047 2011-03-18  Uros Bizjak  <ubizjak@gmail.com>
1048
1049         * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
1050         Rewrite using indirect functions.
1051         (lwp_slwpcb): Ditto.
1052         * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
1053         (avx_vinsertf128<mode>): Ditto.
1054
1055 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1056
1057         * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
1058         unspecs.
1059
1060 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1061
1062         * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
1063         splitting between a call and its corresponding CALL_ARG_LOCATION note.
1064
1065 2011-03-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
1066
1067         PR rtl-optimization/48170
1068         * gcse.c (hoist_code): Remove bogus asserts.
1069
1070 2011-03-18  Georg-Johann Lay  <avr@gjlay.de>
1071
1072         * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
1073         computation for prologue/epilogue.
1074
1075 2011-03-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1076
1077         * Makefile.in (check-consistency): Remove.
1078
1079 2011-03-18  Jakub Jelinek  <jakub@redhat.com>
1080
1081         PR debug/48176
1082         * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
1083         arange_table_in_use is 0, but either text_section_used or
1084         cold_text_section_used is true.  Don't call it if
1085         !info_section_emitted.
1086
1087 2011-03-18  Anatoly Sokolov  <aesok@post.ru>
1088
1089         * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
1090         FUNCTION_VALUE_REGNO_P): Remove.
1091         * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
1092         Remove.
1093         * config/avr/avr.c (avr_ret_register): Make static inline.
1094         (avr_function_value_regno_p): New function.
1095         (avr_libcall_value): Make static. Add 'func' argument.
1096         (avr_function_value): Make static. Rename 'func' argument to
1097         'fn_decl_or_type', forward it to avr_libcall_value. Call
1098         avr_ret_register function instead of RET_REGISTER macro.
1099         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1100
1101 2011-03-18  Jason Merrill  <jason@redhat.com>
1102
1103         PR c++/23372
1104         * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
1105
1106 2011-03-18  Richard Guenther  <rguenther@suse.de>
1107
1108         * doc/install.texi (--enable-gold): Remove.
1109         (--with-plugin-ld): Document.
1110         * doc/invoke.texi (-fuse-linker-plugin): Clarify.
1111
1112 2011-03-18  Andrew Pinski  <pinskia@gmail.com>
1113
1114         PR middle-end/47790
1115         * expr.c (optimize_bitfield_assignment_op): Revamp to work
1116         again after expansion changes.
1117
1118 2011-03-18  Chung-Lin Tang  <cltang@codesourcery.com>
1119
1120         * combine.c (try_combine): Do simplification only call of
1121         subst() on i2 even when i1 is present. Update comments.
1122
1123 2011-03-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1124
1125         * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
1126         and UNSPEC_PCREL_SYMOFF.
1127
1128 2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1129
1130         * config/s390/s390.md: Use define_c_enum for the unspec constant
1131         definitions.
1132
1133 2011-03-18  Richard Henderson  <rth@redhat.com>
1134             Jakub Jelinek  <jakub@redhat.com>
1135
1136         PR bootstrap/48161
1137         * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
1138         instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
1139
1140 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
1141
1142         PR middle-end/47725
1143         * combine.c (cant_combine_insn_p): Don't check zero/sign
1144         extended hard registers.
1145
1146 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
1147
1148         PR middle-end/47725
1149         * combine.c (cant_combine_insn_p): Check zero/sign extended
1150         hard registers.
1151
1152 2011-03-17  Anatoly Sokolov  <aesok@post.ru>
1153
1154         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1155         * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
1156         * config/v850/v850.c (v850_output_addr_const_extra): Make static.
1157         Change return type to bool.
1158         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1159
1160 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
1161
1162         PR debug/48163
1163         * var-tracking.c (prepare_call_arguments): If CALL target
1164         is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
1165         pc instead of looking it up using cselib_lookup and use
1166         Pmode for it if x has VOIDmode.
1167         * dwarf2out.c (gen_subprogram_die): If also both first and
1168         second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
1169
1170         PR debug/48163
1171         * function.c (assign_parms): For data.passed_pointer parms
1172         use MEM of data.entry_parm instead of data.entry_parm itself
1173         as DECL_INCOMING_RTL.
1174         * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
1175         also when passed and declared mode is the same, DECL_RTL
1176         is a MEM with pseudo as address and DECL_INCOMING_RTL is
1177         a MEM too.
1178
1179 2011-03-16  Jeff Law  <law@redhat.com>
1180
1181         PR rtl-optimization/37273
1182         * ira-costs.c (scan_one_insn): Detect constants living in memory and
1183         handle them like argument loads from stack slots.  Do not double
1184         count memory for memory constants and argument loads from stack slots.
1185
1186 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
1187
1188         PR debug/48160
1189         * var-tracking.c (prepare_call_arguments): Check SUBREG.
1190
1191 2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
1192
1193         PR target/48171
1194         * config/i386/i386.opt: Add Save to -mavx and -mfma.
1195
1196 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
1197
1198         PR bootstrap/48153
1199         * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
1200         if dwarf_strict.
1201         (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
1202         Clear call_arg_locations and call_arg_loc_last always.
1203
1204         PR middle-end/48152
1205         * var-tracking.c (prepare_call_arguments): If argument needs to be
1206         passed by reference, adjust argtype and mode.
1207
1208 2011-03-17  Richard Guenther  <rguenther@suse.de>
1209
1210         PR middle-end/48134
1211         * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
1212         a value make sure to fold the statement.
1213
1214 2011-03-17  Chung-Lin Tang  <cltang@codesourcery.com>
1215
1216         PR target/43872
1217         * config/arm/arm.c (arm_get_frame_offsets): Adjust early
1218         return condition with !cfun->calls_alloca.
1219
1220 2011-03-17  Richard Guenther  <rguenther@suse.de>
1221
1222         PR bootstrap/48148
1223         * lto-cgraph.c (input_overwrite_node): Clear the abstract
1224         origin for decls in other ltrans units.
1225         (input_varpool_node): Likewise.
1226
1227 2011-03-17  Richard Guenther  <rguenther@suse.de>
1228
1229         PR middle-end/48165
1230         * tree-object-size.c (compute_object_offset): Properly return
1231         the offset operand of MEM_REFs as sizetype.
1232
1233 2011-03-17  Jakub Jelinek  <jakub@redhat.com>
1234
1235         PR rtl-optimization/48141
1236         * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
1237         * dse.c: Include params.h.
1238         (active_local_stores_len): New variable.
1239         (add_wild_read, dse_step1): Clear it when setting active_local_stores
1240         to NULL.
1241         (record_store, check_mem_read_rtx): Decrease it when removing
1242         from the chain.
1243         (scan_insn): Likewise.  Increase it when adding to chain, if it
1244         reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
1245         set active_local_stores to NULL before the addition.
1246         * Makefile.in (dse.o): Depend on $(PARAMS_H).
1247
1248         PR rtl-optimization/48141
1249         * dse.c (record_store): If no positions are needed in an insn
1250         that cannot be deleted, at least unchain it from active_local_stores.
1251
1252 2011-03-16  Dodji Seketeli  <dodji@redhat.com>
1253
1254         PR debug/47510
1255         * dwarf2out.c (strip_naming_typedef): Factorize out of ...
1256         (lookup_type_die_strip_naming_typedef): ... here.
1257         (get_context_die): Use it.
1258         (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
1259         the anonymous struct named by the naming typedef.
1260
1261 2011-03-16  H.J. Lu  <hongjiu.lu@intel.com>
1262
1263         PR target/48154
1264         * config/i386/i386.c (ix86_builtin_vectorized_function): Check
1265         TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
1266
1267 2011-03-16  Jeff Law  <law@redhat.com>
1268
1269         * tree-vrp.c (identify_jump_threads): Slightly simplify type
1270         check for operands of conditional.  Allow type to be a pointer.
1271
1272 2011-03-16  Richard Guenther  <rguenther@suse.de>
1273
1274         PR tree-optimization/48149
1275         * fold-const.c (fold_binary_loc): Fold
1276         COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
1277
1278 2011-03-16  Richard Guenther  <rguenther@suse.de>
1279
1280         PR tree-optimization/26134
1281         * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
1282         complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
1283         (non_rewritable_mem_ref_base): Handle complex type component
1284         accesses, constrain offsets for vector and complex extracts
1285         more properly.
1286
1287 2011-03-16  Richard Guenther  <rguenther@suse.de>
1288
1289         PR tree-optimization/48146
1290         * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
1291         operands avoiding the need for renaming.
1292
1293 2011-03-16  Richard Guenther  <rguenther@suse.de>
1294
1295         * gimple-fold.c (maybe_fold_reference): Open-code relevant
1296         constant folding.  Move MEM_REF canonicalization first.
1297         Rely on fold_const_aggregate_ref for initializer folding.
1298         * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
1299
1300 2011-03-16  Jakub Jelinek  <jakub@redhat.com>
1301
1302         PR middle-end/48136
1303         * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
1304         arg0/arg1 or their arguments are always fold converted to matching
1305         types.
1306
1307         * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
1308         to nargs.
1309
1310 2011-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1311
1312         PR lto/46944
1313         * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
1314         Handle in-tree gold.
1315         (ld_vers): Extract binutils version for gold.
1316         (gcc_cv_ld_hidden): Handle gold here.
1317         (gcc_cv_lto_plugin): Determine level of linker plugin support.
1318         * configure: Regenerate.
1319         * config.in: Regenerate.
1320         * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
1321         -fuse-linker-plugin otherwise.
1322         (LINK_PLUGIN_SPEC): Define.  Extract from LINK_COMMAND_SPEC.
1323         (LINK_COMMAND_SPEC): Use it.
1324         (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
1325
1326 2011-03-16  Jakub Jelinek  <jakub@redhat.com>
1327
1328         * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
1329         * calls.c: Remove debug.h include.
1330         (emit_call_1): Don't call virtual_call_token debug hook.
1331         * dwarf2out.c (debug_dcall_section, debug_vcall_section,
1332         dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
1333         vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
1334         size_of_dcall_table, output_dcall_table, size_of_vcall_table,
1335         output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
1336         vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
1337         dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
1338         dwarf2out_virtual_call): Remove.
1339         (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
1340         copy_call_info and virtual_call hooks.
1341         (dwarf2out_init): Don't initialize vcall_insn_table,
1342         debug_dcall_section and debug_vcall_section.
1343         (prune_unused_types): Don't mark nodes from dcall_table.
1344         (dwarf2out_finish): Don't output dcall or vcall tables.
1345         * final.c (final_scan_insn): Don't call direct_call or
1346         virtual_call debug hooks.
1347         * debug.h (struct gcc_debug_hooks): Remove direct_call,
1348         virtual_call_token, copy_call_info and virtual_call hooks.
1349         (debug_nothing_uid): Remove prototype.
1350         * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
1351         copy_call_info and virtual_call hooks.
1352         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
1353         * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
1354         * debug.c (do_nothing_debug_hooks): Likewise.
1355         (debug_nothing_uid): Remove.
1356         * doc/invoke.texi (-fenable-icf-debug): Remove.
1357         * common.opt (-fenable-icf-debug): Likewise.
1358
1359         * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
1360         * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
1361         call's MEM.  Handle functions returning aggregate through a hidden
1362         first pointer.  For virtual calls add clobbered pc to call arguments
1363         chain.
1364         * dwarf2out.c (gen_subprogram_die): Emit
1365         DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
1366         can't be emitted.
1367
1368         PR debug/45882
1369         * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
1370         * rtl.h (ENTRY_VALUE_EXP): Define.
1371         * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
1372         * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
1373         * print-rtl.c (print_rtx): Likewise.
1374         * gengtype.c (adjust_field_rtx_def): Likewise.
1375         * var-tracking.c (vt_add_function_parameter): Adjust
1376         gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
1377         * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
1378         * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
1379         partition is a default definition of a PARM_DECL, use ENTRY_VALUE
1380         of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
1381
1382         * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
1383         Call var_location debug hook even on CALL_INSNs.
1384         (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
1385         * rtl.def (ENTRY_VALUE): New.
1386         * dwarf2out.c: Include cfglayout.h.
1387         (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
1388         output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
1389         (struct call_arg_loc_node): New type.
1390         (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
1391         tail_call_site_count): New variables.
1392         (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
1393         DW_TAG_GNU_call_site_parameter.
1394         (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
1395         DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
1396         DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
1397         DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
1398         and DW_AT_GNU_all_source_call_sites.
1399         (mem_loc_descriptor): Handle ENTRY_VALUE.
1400         (add_src_coords_attributes): Don't add enything if
1401         DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
1402         (dwarf2out_abstract_function): Save and clear call_arg_location,
1403         call_site_count and tail_call_site_count around dwarf2out_decl call.
1404         (gen_call_site_die): New function.
1405         (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
1406         (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
1407         (dwarf2out_function_decl): Clear call_arg_locations,
1408         call_arg_loc_last, set call_site_count and tail_call_site_count
1409         to -1 and free block_map.
1410         (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
1411         CALL_INSNs.  Add NOTE_DURING_CALL_P var location notes even when not
1412         followed by any real instructions.
1413         (dwarf2out_begin_function): Set call_site_count and
1414         tail_call_site_count to 0.
1415         (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
1416         is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
1417         attempt to force a DIE for it and worst case remove the attribute.
1418         (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
1419         check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
1420         the decl itself.
1421         * var-tracking.c: Include tm_p.h.
1422         (vt_stack_adjustments): For calls call note_register_arguments.
1423         (argument_reg_set): New variable.
1424         (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
1425         ensure the VALUE is resolved.
1426         (call_arguments): New variable.
1427         (prepare_call_arguments): New function.
1428         (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
1429         (struct expand_loc_callback_data): Add ignore_cur_loc field.
1430         (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
1431         always use the best expression.
1432         (vt_expand_loc): Add ignore_cur_loc argument.
1433         (vt_expand_loc_dummy): Clear ignore_cur_loc field.
1434         (emit_note_insn_var_location): Adjust vt_expand_loc callers.
1435         (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
1436         note for all calls.
1437         (vt_add_function_parameter): Use cselib_lookup_from_insn.
1438         If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
1439         argument.  Don't call cselib_preserve_only_values and
1440         cselib_reset_table.
1441         (note_register_arguments): New function.
1442         (vt_initialize): Compute argument_reg_set.  Call
1443         vt_add_function_parameters before processing basic blocks instead of
1444         afterwards.  For calls call prepare_call_arguments before calling
1445         cselib_process_insn.
1446         * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
1447         * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
1448         (var-tracking.o): Depend on $(TM_P_H).
1449         * cfglayout.h (insn_scope): New prototype.
1450         * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
1451         * cfglayout.c (insn_scope): No longer static.
1452         * insn-notes.def (CALL_ARG_LOCATION): New.
1453         * calls.c (expand_call, emit_library_call_value_1): Put USEs for
1454         MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
1455         * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
1456         nothing for DECL_EXTERNAL BLOCK_VARS.
1457
1458 2011-03-16  Alan Modra  <amodra@gmail.com>
1459
1460         PR target/45844
1461         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
1462         create invalid offset address for vsx splat insn.
1463         * config/rs6000/predicates.md (splat_input_operand): New.
1464         * config/rs6000/vsx.md (vsx_splat_*): Use it.
1465
1466 2011-03-15  Xinliang David Li  <davidxl@google.com>
1467
1468         PR c/47837
1469         * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
1470         (normalize_preds): New function.
1471         (is_use_properly_guarded): Normalize def predicates.
1472
1473 2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
1474
1475         PR target/46788
1476         * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
1477         in the output template.
1478
1479 2011-03-15  Richard Guenther  <rguenther@suse.de>
1480
1481         PR middle-end/47650
1482         * tree-pretty-print.c (dump_function_declaration): Properly
1483         dump unprototyped and varargs function types.
1484
1485 2011-03-15  Richard Guenther  <rguenther@suse.de>
1486
1487         PR tree-optimization/13954
1488         * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
1489         and friends.
1490
1491 2011-03-15  Richard Guenther  <rguenther@suse.de>
1492
1493         PR tree-optimization/48037
1494         * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
1495         selects into BIT_FIELD_REFs.
1496         (non_rewritable_mem_ref_base): Check if a MEM_REF is a
1497         vector select.
1498
1499 2011-03-15  Jakub Jelinek  <jakub@redhat.com>
1500
1501         PR tree-optimization/48129
1502         * builtins.c (fold_builtin_snprintf): Convert to type of
1503         built_in_decls[BUILT_IN_SNPRINTF] retval instead of
1504         implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
1505
1506 2011-03-15  Richard Guenther  <rguenther@suse.de>
1507
1508         PR tree-optimization/41490
1509         * tree-ssa-dce.c (propagate_necessity): Handle returns without
1510         value but with VUSE.
1511         * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
1512         return statements.
1513         * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
1514         * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
1515         * tree-tailcall.c (find_tail_calls): Ignore returns.
1516
1517 2011-03-15  Richard Guenther  <rguenther@suse.de>
1518
1519         PR middle-end/48031
1520         * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
1521         or variable-indexed array accesses when in gimple form.
1522
1523 2011-03-15  Richard Guenther  <rguenther@suse.de>
1524
1525         * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
1526
1527 2011-03-15  Alan Modra  <amodra@gmail.com>
1528
1529         PR target/48032
1530         * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
1531         presume symbol_refs without a symbol_ref_decl are suitably
1532         aligned, nor other trees we may see here.  Handle anchor symbols.
1533         (legitimate_constant_pool_address_p): Comment.  Add mode param.
1534         Check cmodel=medium addresses.  Adjust all calls.
1535         (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
1536         creating cmodel=medium optimized access to locals.
1537         * config/rs6000/constraints.md (R): Pass QImode to
1538         legitimate_constant_pool_address_p.
1539         * config/rs6000/predicates.md (input_operand): Pass mode to
1540         legitimate_constant_pool_address_p.
1541         * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
1542         Update prototype.
1543
1544 2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
1545
1546         PR target/48053
1547         * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
1548         64-bit constants being loaded into registers other than GPRs such
1549         as loading 0 into a VSX register.
1550
1551 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1552
1553         * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
1554
1555 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
1556
1557         PR middle-end/47917
1558         * builtins.c (fold_builtin_snprintf): New function.
1559         (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
1560         (fold_builtin_4): Likewise.
1561
1562         PR middle-end/38878
1563         * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
1564         STRIP_NOPS on arg0 and arg1.  When optimizing X +- C == X
1565         and C - X == X also strip nops from +/-/p+ operand.
1566         When optimizing -X == C, fold C to arg0's type.
1567
1568         PR debug/47946
1569         * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
1570         emit it as add_AT_int instead of add_AT_unsigned.
1571
1572 2011-03-14  Tom Tromey  <tromey@redhat.com>
1573
1574         * unwind-dw2.c: Include sys/sdt.h if it exists.
1575         (_Unwind_DebugHook): Use STAP_PROBE2.
1576         * config.in, configure: Rebuild.
1577         * configure.ac: Check for sys/sdt.h.
1578
1579 2011-03-14  Uros Bizjak  <ubizjak@gmail.com>
1580
1581         * config/i386/i386.md (ROUND_FLOOR): New constant.
1582         (ROUND_CEIL): Ditto.
1583         (ROUND_TRUNC): Ditto.
1584         (ROUND_MXCSR): Ditto.
1585         (ROUND_NO_EXC): Ditto.
1586         (rint<mode>2): Use new defines instead of numerical constants.
1587         (floor<mode>2): Ditto.
1588         (ceil<mode>2): Ditto.
1589         (btrunc<mode>2): Ditto.
1590         * config/i386/i386-builtin-types.def: Define ROUND function type
1591         aliases.
1592         * config/i386/i386.c (enum ix86_builtins): Add
1593         IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
1594         (struct builtin_description): Add
1595         __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
1596         (ix86_expand_sse_round): New static function.
1597         (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
1598         function types.
1599         (ix86_builtin_vectorized_function): Handle
1600         BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
1601
1602 2011-03-14  Tom Tromey  <tromey@redhat.com>
1603
1604         * c-parser.c (c_parser_asm_string_literal): Clear
1605         warn_overlength_strings.
1606
1607 2011-03-14  Tom Tromey  <tromey@redhat.com>
1608
1609         * c-parser.c (disable_extension_diagnostics): Save
1610         warn_overlength_strings.
1611         (restore_extension_diagnostics): Restore warn_overlength_strings.
1612
1613 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
1614
1615         * BASE-VER: Change to 4.7.0.
1616
1617 2011-03-14  Richard Guenther  <rguenther@suse.de>
1618
1619         PR middle-end/48098
1620         * tree.c (build_vector_from_val): Adjust assert to requirements
1621         and reality.
1622
1623 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
1624
1625         PR bootstrap/48102
1626         * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
1627
1628 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
1629
1630         * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
1631         terms of target_flags_explicit. Adjust copyright year.
1632
1633         * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
1634         * config/rs6000/t-freebsd: New file. Add override for
1635         LIB2FUNCS_EXTRA.
1636
1637 2011-03-13  Chris Demetriou  <cgd@google.com>
1638
1639         * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
1640         (-fno-diagnostics-show-option): this, to reflect current default.
1641         (-Werror=): Update text about -fno-diagnostics-show-option.
1642
1643 2011-03-12  Peter Bergner  <bergner@vnet.ibm.com>
1644
1645         PR target/48053
1646         * config/rs6000/predicates.md (easy_vector_constant_add_self,
1647         easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
1648         * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
1649         mode is not V2DImode or V2DFmode.
1650         (vspltis_constant): Do not handle V2DImode and V2DFmode.
1651         (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
1652         * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
1653         registers to 0.
1654         (movdi_internal64): Likewise.
1655
1656 2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>
1657
1658         PR tree-optimization/47127
1659         * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
1660         parameter.
1661         (set_cloog_options): Same.
1662         (scop_to_clast): Same.
1663         (print_clast_stmt): Do not call cloog_state_malloc and
1664         cloog_state_free.
1665         (print_generated_program): Same.
1666         (gloog): Same.
1667         * graphite-clast-to-gimple.h (cloog_state): Declared.
1668         (scop_to_clast): Adjust declaration.
1669         * graphite.c (cloog_state): Defined here.
1670         (graphite_initialize): Call cloog_state_malloc.
1671         (graphite_finalize): Call cloog_state_free.
1672
1673 2011-03-11  Jason Merrill  <jason@redhat.com>
1674
1675         * attribs.c (lookup_attribute_spec): Take const_tree.
1676         * tree.h: Adjust.
1677
1678 2011-03-11  Joseph Myers  <joseph@codesourcery.com>
1679
1680         * config/sparc/sparc.c (sparc_option_override): Use
1681         PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
1682
1683 2011-03-11  Richard Guenther  <rguenther@suse.de>
1684
1685         PR tree-optimization/48067
1686         * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
1687         multiplication result will be only used once on the target
1688         stmt.
1689
1690 2011-03-11  Richard Guenther  <rguenther@suse.de>
1691
1692         * doc/invoke.texi (max-inline-insns-single): Adjust default value.
1693
1694 2011-03-11  Richard Guenther  <rguenther@suse.de>
1695
1696         PR lto/48073
1697         * tree.c (find_decls_types_r): Do not walk types only reachable
1698         from IDENTIFIER_NODEs.
1699
1700 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
1701
1702         PR middle-end/48044
1703         * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
1704         all vnode->force_output nodes as needed.
1705
1706 2011-03-11  Jason Merrill  <jason@redhat.com>
1707
1708         PR c++/48069
1709         * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
1710         COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
1711
1712 2011-03-11  Martin Jambor  <mjambor@suse.cz>
1713
1714         * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
1715         cgraph_node.
1716
1717 2011-03-11  Jakub Jelinek  <jakub@redhat.com>
1718
1719         PR tree-optimization/48063
1720         * ipa-inline.c (cgraph_decide_inlining): Don't try to
1721         inline functions called once if !tree_can_inline_p (node->callers).
1722
1723 2011-03-11  Chen Liqin  <liqin.gcc@gmail.com>
1724
1725         * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
1726         extra_objs.
1727         * config/score/score3.c: Delete.
1728         * config/score/score3.h: Delete.
1729         * config/score/mul-div.S: Delete.
1730         * config/score/sfp-machine.h: Add new file.
1731         * config/score/constraints.md: Add new file.
1732         * config/score/t-score-softfp: Add new file.
1733         * config/score/t-score-elf: Remove score3.o, do not generate multilib.
1734         * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
1735         (score7_extra_constraint): Delete.
1736         (score7_option_override): Remove unused code.
1737         * config/score/score.c: Remove score3 and score5 define and code.
1738         * config/score/score.h: Remove score3 and score5 define and code.
1739         * config/score/score.md: Remove score3 template and unusual insn.
1740         * config/score/score.opt: Remove score3 and score5 options.
1741
1742 2011-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1743
1744         * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
1745         when _HPUX_SOURCE is defined.
1746         (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
1747
1748 2011-03-10  Jason Merrill  <jason@redhat.com>
1749
1750         PR c++/48029
1751         * stor-layout.c (layout_type): Don't set structural equality
1752         on arrays of incomplete type.
1753         * tree.c (type_hash_eq): Handle comparing them properly.
1754
1755 2011-03-10  Jakub Jelinek  <jakub@redhat.com>
1756
1757         PR debug/48043
1758         * config/s390/s390.c (s390_delegitimize_address): Make sure the
1759         result mode matches original rtl mode.
1760
1761 2011-03-10  Nick Clifton  <nickc@redhat.com>
1762
1763         * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
1764         (andsi3, andsi3_flags): Fix timings for three operand alternative.
1765
1766 2011-03-09  Jakub Jelinek  <jakub@redhat.com>
1767
1768         PR rtl-optimization/47866
1769         * expr.c (store_field): If MEM_SCALAR_P (target), don't use
1770         MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
1771         if target wasn't scalar.
1772         * function.c (assign_stack_temp_for_type): Assert that neither
1773         MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
1774         MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
1775         macro.
1776         * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
1777
1778 2011-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1779
1780         * config/s390/s390-protos.h (s390_label_align): New prototype.
1781         * config/s390/s390.c (s390_label_align): New function.
1782         * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
1783
1784 2011-03-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1785
1786         PR target/47755
1787         * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
1788         V2DI/V2DF constants.  Only all 0's or all 1's are easy.
1789         (output_vec_const_move): Ditto.
1790
1791 2011-03-08  Anatoly Sokolov  <aesok@post.ru>
1792
1793         * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
1794         * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
1795         * config/mips/mips.c (mips_preferred_reload_class): Make static.
1796         Change 'rclass' argument and result type to reg_class_t.
1797         (TARGET_PREFERRED_RELOAD_CLASS): Define.
1798
1799 2011-03-08  Georg-Johann Lay  <avr@gjlay.de>
1800
1801         * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
1802         * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
1803         (TARGET_MEMORY_MOVE_COST): Define.
1804         (avr_register_move_cost, avr_memory_move_cost): New Functions.
1805
1806 2011-03-08  Jakub Jelinek  <jakub@redhat.com>
1807
1808         PR debug/47881
1809         * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
1810         removed anything.
1811
1812         PR tree-optimization/48022
1813         * fold-const.c (fold_comparison): Don't call fold_overflow_warning
1814         for EQ/NE_EXPR.
1815
1816 2011-03-07  Jakub Jelinek  <jakub@redhat.com>
1817
1818         PR debug/47991
1819         * var-tracking.c (find_use_val): Return NULL for
1820         cui->sets && cui->store_p BLKmode MEMs.
1821
1822 2011-03-07  Anatoly Sokolov  <aesok@post.ru>
1823
1824         * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
1825         Remove.
1826         * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
1827         xstormy16_print_operand_address): Remove.
1828         * config/stormy16/stormy16.c (xstormy16_print_operand,
1829         xstormy16_print_operand_address): Make static.
1830         (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
1831
1832 2011-03-07  Pat Haugen  <pthaugen@us.ibm.com>
1833
1834         PR target/47862
1835         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
1836         * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
1837         before definition.
1838
1839 2011-03-07  Zdenek Dvorak  <ook@ucw.cz>
1840
1841         PR bootstrap/48000
1842         * cfgloopmanip.c (fix_bb_placements): Return immediately
1843         if FROM is BASE_LOOP's header.
1844
1845 2011-03-07  Paul Wögerer  <paul_woegerer@mentor.com>
1846
1847         * gimplify.c (gimplify_function_tree): Fix building calls
1848         to __builtin_return_address.
1849
1850 2011-03-07  Alan Modra  <amodra@gmail.com>
1851
1852         * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
1853         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
1854         * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
1855         * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
1856         return_mode args.
1857         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
1858         (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
1859         (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
1860         (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
1861         * config/rs6000/rs6000.c
1862         (rs6000_elf_end_indicate_exec_stack): Rename to..
1863         (rs6000_elf_file_end): ..this.  Only call file_end_indicate_exec_stack
1864         for POWERPC_LINUX.  Move code emitting .gnu_attribute to here, from..
1865         (rs6000_file_start): ..here.
1866         (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
1867         file scope variables.
1868         (call_ABI_of_interest): New function.
1869         (init_cumulative_args): Set above vars when function return value
1870         is a float, vector, or small struct.
1871         (rs6000_function_arg_advance_1): Likewise for function args.
1872         (rs6000_va_start): Set rs6000_passes_float if variable arg function
1873         references float args.
1874
1875 2011-03-07  Mingjie Xing  <mingjie.xing@gmail.com>
1876
1877         * doc/cfg.texi: Remove "See" before @ref.
1878         * doc/invoke.texi: Likewise.
1879
1880 2011-03-05  Jason Merrill  <jason@redhat.com>
1881
1882         * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
1883
1884 2011-03-05  Anthony Green  <green@moxielogic.com>
1885
1886         * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
1887
1888 2011-03-05  Zdenek Dvorak  <ook@ucw.cz>
1889
1890         PR rtl-optimization/47899
1891         * cfgloopmanip.c (fix_bb_placements): Fix first argument
1892         to flow_loop_nested_p when moving the loop upward.
1893
1894 2011-03-05  Richard Earnshaw  <rearnsha@arm.com>
1895
1896         PR target/47719
1897         * arm.md (movhi_insn_arch4):  Accept any immediate constant.
1898
1899 2011-03-05  Jakub Jelinek  <jakub@redhat.com>
1900
1901         PR tree-optimization/47967
1902         * ipa-cp.c (build_const_val): Return NULL instead of creating
1903         VIEW_CONVERT_EXPR for mismatching sizes.
1904         (ipcp_create_replace_map): Return NULL if build_const_val failed.
1905         (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
1906         give up on versioning.
1907
1908 2011-03-05  Alan Modra  <amodra@gmail.com>
1909
1910         PR target/47986
1911         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
1912         full cmodel medium/large lo_sum + high addresses.
1913
1914 2011-03-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1915
1916         * config/s390/s390.c (s390_decompose_address): Reject non-literal
1917         pool references in UNSPEC_LTREL_OFFSET.
1918
1919 2011-03-04  Jan Hubicka  <jh@suse.cz>
1920
1921         PR lto/47497
1922         * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
1923         (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
1924         * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
1925         Add node pointers.
1926         * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
1927         cgraph_add_thunk): Add node pointers.
1928         * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
1929         associated to right node.
1930         (input_node): Update use of cgraph_same_body_alias
1931         and cgraph_add_thunk.
1932
1933 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
1934
1935         * config/i386/i386.opt (mprefer-avx128): New flag.
1936         * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
1937         modes when the flag -mprefer-avx128 is on.
1938
1939 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>
1940
1941         * dwarf2out.c (compare_loc_operands): Fix address handling.
1942
1943 2011-03-04  Alan Modra  <amodra@gmail.com>
1944
1945         * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
1946
1947 2011-03-04  Richard Guenther  <rguenther@suse.de>
1948
1949         PR middle-end/47968
1950         * expmed.c (extract_bit_field_1): Prefer vector modes that
1951         vec_extract patterns can handle.
1952
1953 2011-03-04  Richard Guenther  <rguenther@suse.de>
1954
1955         PR middle-end/47975
1956         * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
1957
1958 2011-03-04  Richard Henderson  <rth@redhat.com>
1959
1960         * explow.c (emit_stack_save): Remove 'after' parameter.
1961         (emit_stack_restore): Likewise.
1962         * expr.h: Update to match.
1963         * builtins.c, calls.c, stmt.c: Likewise.
1964         * config/alpha/alpha.md, config/avr/avr.md: Likewise.
1965         * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
1966         * function.c (expand_function_end): Insert the emit_stack_save
1967         sequence before parm_birth_insn instead of after.
1968
1969 2011-03-03  Uros Bizjak  <ubizjak@gmail.com>
1970
1971         * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
1972         (ssse3_pmaddubsw128): Ditto.
1973         (ssse3_pmaddubsw): Ditto.
1974
1975 2011-03-03  Steve Ellcey  <sje@cup.hp.com>
1976
1977         * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
1978
1979 2011-03-03  Jakub Jelinek  <jakub@redhat.com>
1980
1981         PR c/47963
1982         * gimplify.c (omp_add_variable): Only call omp_notice_variable
1983         on TYPE_SIZE_UNIT if it is a DECL.
1984
1985         PR debug/47283
1986         * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
1987         first operand is not is_gimple_mem_ref_addr, try to fold it.
1988         If the operand still isn't is_gimple_mem_ref_addr, clear
1989         MEM_EXPR on op0.
1990
1991 2011-03-03  Richard Guenther  <rguenther@suse.de>
1992
1993         PR middle-end/47283
1994         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
1995         match comment.
1996         (refs_may_alias_p_1): For release branches return true if
1997         we are confused by our input.
1998
1999 2011-03-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2000
2001         * config/s390/s390.c (s390_function_value): Rename to ...
2002         (s390_function_and_libcall_value): ... this.
2003         (s390_function_value): New function.
2004         (s390_libcall_value): New function.
2005         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
2006         * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
2007         target macro definitions.
2008         * config/s390/s390-protos.h (s390_function_value): Remove prototype.
2009
2010 2011-03-02  Joseph Myers  <joseph@codesourcery.com>
2011
2012         * config/i386/freebsd64.h (CC1_SPEC): Define.
2013         * config/i386/linux64.h (CC1_SPEC): Define.
2014         * config/i386/x86-64.h (CC1_SPEC): Don't define.
2015
2016 2011-03-02  Anatoly Sokolov  <aesok@post.ru>
2017
2018         * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2019         Remove.
2020         * config/stormy16/stormy16.c: Include reload.h.
2021         (xstormy16_memory_move_cost): New function.
2022         (TARGET_MEMORY_MOVE_COST): Define.
2023
2024 2011-03-02  Richard Sandiford  <richard.sandiford@linaro.org>
2025
2026         PR rtl-optimization/47925
2027         * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
2028         with side effects.  Remove the more-specific check for volatile asms.
2029
2030 2011-03-02  Alan Modra  <amodra@gmail.com>
2031
2032         PR target/47935
2033         * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
2034         toc relative addresses for valid offsets.
2035
2036 2011-03-01  Richard Guenther  <rguenther@suse.de>
2037
2038         PR tree-optimization/47890
2039         * tree-vect-loop.c (get_initial_def_for_induction): Set
2040         related stmt properly.
2041
2042 2011-03-01  Richard Guenther  <rguenther@suse.de>
2043
2044         PR lto/47924
2045         * lto-streamer.c (lto_record_common_node): Also register
2046         the canonical type.
2047
2048 2011-03-01  Richard Guenther  <rguenther@suse.de>
2049
2050         PR lto/46911
2051         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
2052         Do not stream DECL_ABSTRACT_ORIGIN.
2053         (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2054         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
2055         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
2056         Do not stream DECL_ABSTRACT_ORIGIN.
2057         (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2058         BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
2059
2060 2011-02-28  Anatoly Sokolov  <aesok@post.ru>
2061
2062         * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
2063         FUNCTION_VALUE_REGNO_P): Remove.
2064         * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
2065         * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
2066         Add 'outgoing' argument.
2067         (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
2068         function.
2069         (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2070         TARGET_FUNCTION_VALUE_REGNO_P): Define.
2071
2072 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
2073
2074         PR debug/28047
2075         * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
2076         (lookup_filename): Likewise.
2077         * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
2078
2079 2011-02-28  Bernd Schmidt  <bernds@codesourcery.com>
2080             Jakub Jelinek  <jakub@redhat.com>
2081
2082         PR middle-end/47893
2083         * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
2084         (assign_stack_local_1): Change last argument type to int.
2085         * function.c (assign_stack_local_1): Replace reduce_alignment_ok
2086         argument with kind.  If bit ASLK_RECORD_PAD is not set in it,
2087         don't record padding space into frame_space_list nor use those areas.
2088         (assign_stack_local): Adjust caller.
2089         (assign_stack_temp_for_type): Call assign_stack_local_1 instead
2090         of assign_stack_local, pass 0 as last argument.
2091         * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
2092         callers.
2093
2094 2011-02-28  Jakub Jelinek  <jakub@redhat.com>
2095
2096         PR debug/47283
2097         * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
2098         Use target address_mode and pointer_mode hooks instead of hardcoded
2099         Pmode and ptr_mode.  Handle some simple cases of extending if
2100         POINTERS_EXTEND_UNSIGNED < 0.
2101         (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
2102         Call convert_debug_memory_address.
2103         (expand_debug_expr) <case ADDR_EXPR>: Pass as to
2104         convert_debug_memory_address.
2105
2106         PR middle-end/46790
2107         * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
2108         * configure: Regenerated.
2109         * config.in: Regenerated.
2110         * varasm.c (default_function_section): Return NULL
2111         if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
2112
2113 2011-02-28  Martin Jambor  <mjambor@suse.cz>
2114
2115         * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
2116         the description to match the printed values.
2117
2118 2011-02-28  Richard Guenther  <rguenther@suse.de>
2119
2120         * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
2121         of the copied scope tree.
2122
2123 2011-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2124
2125         * doc/extend.texi (Function Attributes): Avoid deeply (and
2126         wrongly) nested tables.
2127
2128 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
2129
2130         PR middle-end/47903
2131         * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
2132         MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
2133         r isn't op0 nor op1.
2134
2135 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
2136
2137         * config/avr/avr.md: Remove magic comment for emacs.
2138
2139 2011-02-23  Georg-Johann Lay  <avr@gjlay.de>
2140
2141         PR target/45261
2142         * config/avr/avr.c (avr_option_override): Use error on bad options.
2143         (avr_help): New function.
2144         (TARGET_HELP): Define.
2145
2146 2011-02-22  Georg-Johann Lay  <avr@gjlay.de>
2147
2148         PR target/42240
2149         * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
2150         (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
2151
2152 2011-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
2153
2154         * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
2155         (ARM Options): Ditto.
2156         (i386 and x86-64 Options): Ditto.
2157         (RX Options): Ditto.
2158         (SPARC Options): Ditto.
2159
2160 2011-02-26  Tijl Coosemans  <tijl@coosemans.org>
2161
2162         * config.gcc (i386-*-freebsd*): Make i486 the default arch on
2163         FreeBSD 6 and later.  Generally use cpu generic.
2164
2165 2011-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
2166
2167         * doc/cpp.texi: Update copyright years.
2168
2169 2011-02-25  Sebastien Bourdeauducq  <sebastien@milkymist.org>
2170
2171         PR target/46898
2172         * config/lm32/lm32.md (ashrsi3): Added needed variable.
2173
2174 2011-02-25  Jon Beniston  <jon@beniston.com>
2175
2176         PR target/46898
2177         * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
2178         * config/lm32/lm32.md (ashlsi3): Remove unused variable.
2179         * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
2180         (lm32_block_move_inline): Add type cast to remove warning.
2181         (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
2182         (gen_int_relational): Move declarations to start of function.
2183
2184 2011-02-25  Eric Botcazou  <ebotcazou@adacore.com>
2185
2186         PR tree-optimization/45470
2187         * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
2188         can throw internally only.
2189         * tree-vect-stmts.c (vectorizable_call): Likewise.
2190
2191 2011-02-24  Anatoly Sokolov  <aesok@post.ru>
2192
2193         * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
2194         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2195         * config/stormy16/stormy16-protos.h
2196         (xstormy16_preferred_reload_class): Remove.
2197         * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
2198         static. Change 'rclass' argument and return type to reg_class_t.
2199         (TARGET_PREFERRED_RELOAD_CLASS,
2200         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2201
2202 2011-02-24  Richard Guenther  <rguenther@suse.de>
2203
2204         * lto-streamer-in.c (input_bb): Do not find referenced vars
2205         in debug statements.
2206
2207 2011-02-23  Jason Merrill  <jason@redhat.com>
2208
2209         * common.opt (fabi-version): Document v5 and v6.
2210
2211 2011-02-23  Richard Guenther  <rguenther@suse.de>
2212
2213         PR tree-optimization/47849
2214         * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
2215
2216 2011-02-23  Jie Zhang  <jie@codesourcery.com>
2217
2218         * opts-common.c (decode_cmdline_option): Print empty string
2219         argument as "" in decoded->orig_option_with_args_text.
2220         * gcc.c (execute): Print empty string argument as ""
2221         in the verbose output.
2222         (do_spec_1): Keep empty string argument.
2223
2224 2011-02-23  Nathan Froyd  <froydnj@codesourcery.com>
2225
2226         * config.gcc: Declare score-* and crx-* obsolete.
2227
2228 2011-02-23  Jie Zhang  <jie@codesourcery.com>
2229
2230         PR rtl-optimization/47763
2231         * web.c (web_main): Ignore naked clobber when replacing register.
2232
2233 2011-02-22  Anatoly Sokolov  <aesok@post.ru>
2234
2235         * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
2236         Remove.
2237
2238 2011-02-22  Sebastian Pop  <sebastian.pop@amd.com>
2239
2240         PR doc/47848
2241         * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
2242
2243 2011-02-22  Mike Stump  <mikestump@comcast.net>
2244
2245         * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
2246         assembler.
2247         * configure: Regenerate.
2248
2249 2011-02-21  Chung-Lin Tang  <cltang@codesourcery.com>
2250
2251         PR rtl-optimization/46002
2252         * ira-color.c (update_copy_costs): Change class intersection
2253         test to reg_class_contents[] test of 'hard_regno'.
2254
2255 2011-02-21  Joseph Myers  <joseph@codesourcery.com>
2256
2257         * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
2258         than Driver option.
2259         * config/hpux11.opt (mt): Likewise.
2260         * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
2261         * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
2262         * config/vax/elf.opt (mno-asm-pic): Likewise.
2263         * config/vms/vms.opt (map, mvms-return-codes): Likewise.
2264
2265 2011-02-21  Mike Stump  <mikestump@comcast.net>
2266
2267         PR target/47822
2268         * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
2269         tree so we can get save the type.
2270         * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
2271         for CFString instead of trying to use past the end of the builtins.
2272         * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
2273         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
2274         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
2275         * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
2276         Rename to darwin_builtin_cfstring.
2277         (darwin_init_cfstring_builtins): Return the built type.
2278
2279 2011-02-21  Uros Bizjak  <ubizjak@gmail.com>
2280
2281         PR target/47840
2282         * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
2283         (_mm256_insert_epi64): Use _mm_insert_epi64.
2284
2285 2011-02-21  Anatoly Sokolov  <aesok@post.ru>
2286
2287         * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2288         * config/stormy16/stormy16-protos.h
2289         (xstormy16_mode_dependent_address_p): Remove.
2290         * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
2291         Make static. Change return type to bool. Change argument type to
2292         const_rtx. Remove dead code.
2293         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2294
2295 2011-02-21  Richard Guenther  <rguenther@suse.de>
2296
2297         PR lto/47820
2298         * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
2299         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
2300         (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
2301         TUs context.
2302         * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
2303         Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
2304
2305 2011-02-20  Richard Guenther  <rguenther@suse.de>
2306
2307         PR lto/47822
2308         * tree.c (free_lang_data_in_decl): Clean builtins from
2309         the TU decl BLOCK_VARS.
2310
2311 2011-02-19  Alexandre Oliva  <aoliva@redhat.com>
2312
2313         PR debug/47620
2314         PR debug/47630
2315         * haifa-sched.c (fix_tick_ready): Skip tick computation
2316         for debug insns.
2317
2318 2011-02-19  Richard Guenther  <rguenther@suse.de>
2319
2320         PR lto/47647
2321         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
2322         Remove lazy BLOCK_VARS streaming.
2323         (lto_input_ts_block_tree_pointers): Likewise.
2324         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
2325
2326 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
2327
2328         * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
2329
2330 2011-02-19  Joseph Myers  <joseph@codesourcery.com>
2331
2332         * config/i386/biarch32.h, config/i386/mach.h,
2333         config/rs6000/aix.opt, config/sh/superh64.h: Remove.
2334
2335 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
2336
2337         PR target/47800
2338         * config/i386/i386.md (peephole2 for shift and plus): Use
2339         operands[1] original mode in the first insn.
2340
2341 2011-02-18  Mike Stump  <mikestump@comcast.net>
2342
2343         * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
2344
2345 2011-02-18  Jan Hubicka  <jh@suse.cz>
2346
2347         PR middle-end/47788
2348         * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
2349         to zero when the function is not inlinable at all.
2350
2351 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2352
2353         * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
2354         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
2355         pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
2356         * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
2357         * config/pa/t-pa64: Likewise.
2358         * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2359
2360 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
2361
2362         PR driver/47787
2363         * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
2364
2365 2011-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2366
2367         PR target/47792
2368         * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
2369
2370 2011-02-18  Anatoly Sokolov  <aesok@post.ru>
2371
2372         * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
2373         RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
2374         LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
2375         GO_IF_LEGITIMATE_ADDRESS): Remove macros.
2376         * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
2377         (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
2378         m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
2379         m32r_load_postinc_p, m32r_store_preinc_predec_p,
2380         m32r_legitimate_address_p): New functions.
2381         * config/m32r/constraints.md (constraint "S"): Don't use
2382         STORE_PREINC_PREDEC_P.
2383         (constraint "U"): Don't use LOAD_POSTINC_P.
2384
2385 2011-02-18  Chung-Lin Tang  <cltang@codesourcery.com>
2386
2387         PR rtl-optimization/46178
2388         * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
2389         compute ira_hard_regno_cover_class[].
2390
2391 2011-02-18  Richard Guenther  <rguenther@suse.de>
2392
2393         PR lto/47798
2394         * lto-streamer.h (lto_global_var_decls): Declare.
2395         * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
2396         statics for global var processing.
2397
2398 2011-02-18  Richard Guenther  <rguenther@suse.de>
2399
2400         PR tree-optimization/47737
2401         * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
2402         edge dominance check.
2403
2404 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
2405
2406         PR debug/47780
2407         * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
2408         avoid invalid rtx sharing.
2409
2410 2011-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
2411
2412         * doc/cpp.texi (Obsolete Features): Add background on the
2413         origin of assertions.
2414
2415 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
2416
2417         * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
2418         objc_abi == 2.
2419         * config/darwin.c (output_objc_section_asm_op): Added support for
2420         ABI v1 and v2.
2421         (is_objc_metadata): New.
2422         (darwin_objc2_section): New.
2423         (darwin_objc1_section): New.
2424         (machopic_select_section): Added support for ABI v1 and v2.
2425         (darwin_emit_objc_zeroed): New.
2426         (darwin_output_aligned_bss): Detect objc metadata and treat it
2427         appropriately.
2428         (darwin_asm_output_aligned_decl_common): Same.
2429         (darwin_asm_output_aligned_decl_local): Same.
2430         * config/darwin-sections.def: Updated for ABI v1 and v2.
2431         * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
2432         compiling Objective-C code for the NeXT runtime, default to using
2433         ABI version 0 for 32-bit, and version 2 for 64-bit.
2434
2435 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
2436
2437         * common.opt (optimize_fast): New Variable.
2438         * opts.c (default_options_optimization): Use opts->x_optimize_fast
2439         instead of local variable ofast.
2440
2441 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
2442
2443         * doc/invoke.texi (fobjc-abi-version): Documented.
2444         (fobjc-nilcheck): Documented.
2445         (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
2446         version.
2447
2448 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
2449
2450         PR driver/47390
2451         * common.opt (export-dynamic): New Driver option.
2452         * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
2453
2454 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
2455
2456         * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
2457
2458 2011-02-17  Alexandre Oliva  <aoliva@redhat.com>
2459             Jan Hubicka  <jh@suse.cz>
2460
2461         PR debug/47106
2462         PR debug/47402
2463         * cfgexpand.c (account_used_vars_for_block): Remove.
2464         (estimated_stack_frame_size): Use referenced vars.
2465         * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
2466         that were referenced in the original function.  Test src_fn
2467         rather than cfun.  Drop redundant get_var_ann.
2468         (setup_one_parameter): Drop redundant get_var_ann.
2469         (declare_return_variable): Likewise.
2470         (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
2471         (copy_arguments_for_versioning): Drop redundant get_var_ann.
2472         * ipa-inline.c (compute_inline_parameters): Do not compute
2473         disregard_inline_limits here.
2474         (compute_inlinable_for_current, pass_inlinable): New.
2475         (pass_inline_parameters): Require PROP_referenced_vars.
2476         * cgraphunit.c (cgraph_process_new_functions): Don't run
2477         compute_inline_parameters explicitly unless function is in SSA form.
2478         (cgraph_analyze_function): Set .disregard_inline_limits.
2479         * tree-sra.c (convert_callers): Compute inliner parameters
2480         only for functions already in SSA form.
2481
2482 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
2483
2484         * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
2485         -mlittle-endian-data.
2486
2487 2011-02-17  Joseph Myers  <joseph@codesourcery.com>
2488
2489         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
2490         -mno-fpu, not -fpu and -no-fpu.
2491         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
2492         * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
2493
2494 2011-02-17  Uros Bizjak  <ubizjak@gmail.com>
2495
2496         PR target/43653
2497         * config/i386/i386.c (ix86_secondary_reload): Handle SSE
2498         input reload with PLUS RTX.
2499
2500 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
2501
2502         * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
2503         of InverseVar(MDMX).
2504
2505 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
2506
2507         * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
2508         --m4-340.
2509
2510 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
2511
2512         * config/mn10300/mn10300.opt (mno-crt0): New.
2513
2514 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
2515
2516         * config/m68k/uclinux.opt (static-libc): New Driver option.
2517
2518 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
2519
2520         * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
2521
2522 2011-02-16  Joseph Myers  <joseph@codesourcery.com>
2523
2524         * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
2525         %{muser-extend-enabled}.
2526
2527 2011-02-16  Richard Guenther  <rguenther@suse.de>
2528
2529         PR tree-optimization/47738
2530         * tree-ssa-loop.c (run_tree_predictive_commoning): Return
2531         the TODO from tree_predictive_commoning.
2532
2533 2011-02-15  Jeff Law  <law@redhat.com>
2534
2535         Revert
2536         2011-01-25  Jeff Law  <law@redhat.com>
2537
2538         PR rtl-optimization/37273
2539         * ira-costs.c (scan_one_insn): Detect constants living in memory and
2540         handle them like argument loads from stack slots.  Do not double
2541         count memory for memory constants and argument loads from stack slots.
2542
2543 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
2544
2545         PR middle-end/47725
2546         * combine.c (cant_combine_insn_p): Revert the last change.
2547
2548 2011-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
2549
2550         PR target/47755
2551         * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
2552         mode for vector constants.  Remove code that checks for TImode.
2553
2554 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
2555
2556         PR debug/47106
2557         PR debug/47402
2558         * cgraph.h (compute_inline_parameters): Return void.
2559         * ipa-inline.c (compute_inline_parameters): Adjust.
2560
2561 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
2562
2563         PR debug/47106
2564         PR debug/47402
2565         * tree-inline.h (estimated_stack_frame_size): Take cgraph node
2566         rather than decl.
2567         * cfgexpand.c (estimated_stack_frame_size): Likewise.
2568         * ipa-inline.c (compute_inline_parameters): Adjust.
2569
2570 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
2571
2572         PR debug/47106
2573         PR debug/47402
2574         * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
2575         Adjust all users.  Pass FN to...
2576         * tree-flow-inline.h (first_referenced_var): ... this.  Add
2577         fn argument.
2578         * ipa-struct-reorg.c: Adjust.
2579         * tree-dfa.c: Adjust.
2580         * tree-into-ssa.c: Adjust.
2581         * tree-sra.c: Adjust.
2582         * tree-ssa-alias.c: Adjust.
2583         * tree-ssa-live.c: Adjust.
2584         * tree-ssa.c: Adjust.
2585         * tree-ssanames.c: Adjust.
2586         * tree-tailcall.c: Adjust.
2587
2588 2011-02-15  Alexandre Oliva  <aoliva@redhat.com>
2589
2590         PR debug/47106
2591         PR debug/47402
2592         * tree-flow.h (referenced_var_lookup): Add fn parameter.
2593         Adjust all callers.
2594         * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
2595         * tree-flow-inline.h: Adjust.
2596         * gimple-pretty-print.c: Adjust.
2597         * tree-into-ssa.c: Adjust.
2598         * tree-ssa.c: Adjust.
2599         * cfgexpand.c: Adjust.
2600
2601 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
2602
2603         * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
2604         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2605         (EXTRA_CONSTRAINT): Delete.
2606         * config/iq2000/constraints.md: New file.
2607         * config/iq2000/iq2000.md: Include it.
2608         (define_insn ""): Delete.
2609         (movsi_internal2, movhi_internal2, movqi_internal2): Delete
2610         unsupported constraint letters from patterns.
2611         (call_value, call_value_internal1): Likewise.
2612         (call_value_multiple_internal1): Likewise.
2613
2614 2011-02-15  Nick Clifton  <nickc@redhat.com>
2615
2616         * config/mn10300/mn10300.c: Include tm-constrs.h.
2617         (struct liw_data): New data structure describing an LIW candidate
2618         instruction.
2619         (extract_bundle): Use struct liw_data.  Allow small integer
2620         operands for some instructions.
2621         (check_liw_constraints): Use struct liw_data.  Remove swapped
2622         parameter.  Add comments describing the checks.  Fix bug when
2623         assigning the source of liw1 to the source of liw2.
2624         (liw_candidate): Delete.  Code moved into extract_bundle.
2625         (mn10300_bundle_liw): Use struct liw_data.  Check constraints
2626         before swapping.
2627         * config/mn10300/predicates.md (liw_operand): New predicate.
2628         Allows registers and small integer constants.
2629         * config/mn10300/constraints.md (O): New constraint.  Accetps
2630         integers in the range -8 to +7 inclusive.
2631         * config/mn10300/mn10300.md (movesi_internal): Add an alternative
2632         for moving a small integer into a register.  Give this alternative
2633         LIW attributes.
2634         (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
2635         (ashlsi3): Likewise, plus give LIW attributes to the alternatives
2636         using the J,K,L and M constraints,
2637         (liw): Remove SI mode on second operands to allow for HI and QI
2638         mode values.
2639         (cmp_liw, liw_cmp): Likewise.  Plus fix order of operands in the
2640         instruction.
2641
2642 2011-02-15  H.J. Lu  <hongjiu.lu@intel.com>
2643
2644         PR middle-end/47725
2645         * combine.c (cant_combine_insn_p): Check zero/sign extended
2646         hard registers.
2647
2648 2011-02-15  Richard Guenther  <rguenther@suse.de>
2649
2650         PR tree-optimization/47743
2651         * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
2652         for a non-type-compatible VN lookup bail out.
2653
2654 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
2655
2656         * config/fr30/constraints.md: New file.
2657         * config/fr30/fr30.md: Include it.
2658         * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
2659         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2660         (EXTRA_CONSTRAINT): Delete.
2661
2662 2011-02-15  Nathan Froyd  <froydnj@codesourcery.com>
2663
2664         * config/frv/constraints.md: New file.
2665         * config/frv/predicates.md: Include it.
2666         * config/frv/frv.c (reg_class_from_letter): Delete.
2667         (frv_option_override): Don't initialize it.
2668         * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
2669         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
2670         (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
2671         (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
2672         (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
2673         (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2674         (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
2675         (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
2676         (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
2677         (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
2678         (REG_CLASS_FROM_CONSTRAINT): Delete.
2679
2680 2011-02-15  Jakub Jelinek  <jakub@redhat.com>
2681
2682         PR middle-end/47581
2683         * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
2684         if frame size is 0 in a leaf function.
2685
2686 2011-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2687
2688         PR pch/14940
2689         * config/alpha/host-osf.c: New file.
2690         * config/alpha/x-osf: New file.
2691         * config.host (alpha*-dec-osf*): Use it.
2692
2693 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
2694
2695         * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2696         * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
2697         * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
2698         (rx_mode_dependent_address_p): ...this. Make static. Change argument
2699         type to const_rtx.
2700         (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2701
2702 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
2703
2704         * config/stormy16/constraints.md: New file.
2705         * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
2706         Use satisfies_constraint_Q and satisfies_constraint_R.
2707         * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
2708         Delete.
2709         (xstormy16_legitiamte_address_p): Declare.
2710         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
2711         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2712         (EXTRA_CONSTRAINT): Delete.
2713         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
2714         Un-staticize.
2715         (xstormy16_extra_constraint_p): Delete.
2716
2717 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
2718
2719         PR tree-optimization/46494
2720         * loop-unroll.c (split_edge_and_insert): Adjust comment.
2721         * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
2722         (pass_rtl_loop_done): Add TODO_verify_flow.
2723         * fwprop.c (pass_rtl_fwprop): Likewise.
2724         * modulo-sched.c (pass_sms): Likewise.
2725         * tree-ssa-dom.c (pass_dominator): Likewise.
2726         * tree-ssa-loop-ch.c (pass_ch): Likewise.
2727         * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
2728         (pass_tree_loop_done): Likewise.
2729         * tree-ssa-pre.c (execute_pre): Likewise.
2730         * tree-ssa-reassoc.c (pass_reassoc): Likewise.
2731         * tree-ssa-sink.c (pass_sink_code): Likewise.
2732         * tree-vrp.c (pass_vrp): Likewise.
2733
2734 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
2735
2736         * config/v850/constraints.md: New file.
2737         * config/v850/v850.md: Include it.
2738         * config/v850/predicates.md (reg_or_0_operand): Use
2739         satisfies_constraint_G.
2740         (special_symbolref_operand): Use satisfies_constraint_K.
2741         * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
2742         (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2743         (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
2744         (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
2745         (EXTRA_CONSTRAINT): Delete.
2746         (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
2747         (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
2748         (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
2749
2750 2011-02-14  Anatoly Sokolov  <aesok@post.ru>
2751
2752         PR target/47696
2753         * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
2754         description.
2755
2756 2011-02-14  Nathan Froyd  <froydnj@codesourcery.com>
2757
2758         * config/mcore/constraints.md: New file.
2759         * config/mcore/mcore.md: Include it.
2760         * config/mcore/mcore.c (reg_class_from_letter): Delete.
2761         * config/mcore/mcore.h (reg_class_from_letter): Delete.
2762         (REG_CLASS_FROM_LETTER): Delete.
2763         (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
2764         insn_const_int_ok_for_constraint.
2765         (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
2766         (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
2767         (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2768         (EXTRA_CONSTRAINT): Delete.
2769
2770 2011-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2771
2772         PR ada/41929
2773         * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
2774         (IS_SIGHANDLER): Define.
2775         (sparc64_is_sighandler): New function, split off from
2776         sparc64_fallback_frame_state.
2777         (sparc_is_sighandler): New function, split off from
2778         sparc_fallback_frame_state.
2779         (sparc64_fallback_frame_state): Merge with ...
2780         (sparc_fallback_frame_state): ... this into ...
2781         (MD_FALLBACK_FRAME_STATE_FOR): ... this.
2782         Change new_cfa to long.  Remove regs_off, fpu_save_off, fpu_save.
2783         Define nframes, mctx.  Use IS_SIGHANDLER, handler_args, mctx, walk
2784         stack instead of hardcoded offsets.
2785
2786 2011-02-14  Andriy Gapon  <avg@freebsd.org>
2787
2788         PR target/45808
2789         * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
2790
2791 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2792
2793         * configure: Regenerate.
2794
2795 2011-02-12  Joseph Myers  <joseph@codesourcery.com>
2796
2797         PR driver/45731
2798         * gcc.c (asm_options): Correct spec matching --target-help.
2799
2800 2011-02-12  Martin Jambor  <mjambor@suse.cz>
2801
2802         * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
2803         to gimple call error.
2804
2805 2011-02-12  Mike Stump  <mikestump@comcast.net>
2806
2807         * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
2808         comments in backslash regions.
2809
2810 2011-02-12  Mike Stump  <mikestump@comcast.net>
2811             Jakub Jelinek  <jakub@redhat.com>
2812             Iain Sandoe  <iains@gcc.gnu.org>
2813
2814         PR target/47324
2815         * dwarf2out.c (output_cfa_loc): When required, apply the
2816         DWARF2_FRAME_REG_OUT macro to adjust register numbers.
2817         (output_loc_sequence): Likewise.
2818         (output_loc_operands_raw): Likewise.
2819         (output_loc_sequence_raw): Likewise.
2820         (output_cfa_loc): Likewise.
2821         (output_loc_list): Suppress register number adjustment when
2822         calling output_loc_sequence()
2823         (output_die): Likewise.
2824
2825 2011-02-12  Anatoly Sokolov  <aesok@post.ru>
2826
2827         * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2828         Remove macros.
2829         * config/xtensa/xtensa.c (xtensa_register_move_cost,
2830         xtensa_memory_move_cost): New functions.
2831         (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
2832
2833 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
2834
2835         PR lto/47225
2836         * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
2837         in the current directory.
2838         * configure: Rebuilt.
2839
2840 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
2841
2842         * config/darwin.c (darwin_override_options): Add a hunk missed
2843         from the commit of r168571.  Trim comment line lengths and
2844         correct indents of the preceding block.
2845
2846 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
2847
2848         * gcc.c (driver_handle_option): Concatenate the argument to -F with
2849         the switch.
2850
2851 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
2852
2853         * common.opt (nostartfiles): New Driver option.
2854
2855 2011-02-11  Xinliang David Li  <davidxl@google.com>
2856
2857         PR tree-optimization/47707
2858         * tree-chrec.c (convert_affine_scev): Keep type precision.
2859
2860 2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
2861
2862         PR tree-optimization/47420
2863         * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
2864
2865 2011-02-11  Pat Haugen  <pthaugen@us.ibm.com>
2866
2867         PR rtl-optimization/47614
2868         * rtl.h (check_for_inc_dec): Declare.
2869         * dse.c (check_for_inc_dec): Externalize...
2870         * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
2871         (reload_cse_simplify_operands): Don't simplify opnds with side effects.
2872
2873 2011-02-11  Joseph Myers  <joseph@codesourcery.com>
2874
2875         PR driver/47678
2876         * gcc.c (main): Do not compile inputs if there were errors in
2877         option handling.
2878         * opts-common.c (read_cmdline_option): Check for wrong language
2879         after other error checks.
2880
2881 2011-02-11  Nathan Froyd  <froydnj@codesourcery.com>
2882
2883         * cgraph.c: Fix comment typos.
2884         * cgraph.h: Likewise.
2885         * cgraphunit.c: Likewise.
2886         * ipa-cp.c: Likewise.
2887         * ipa-inline.c: Likewise.
2888         * ipa-prop.c: Likewise.
2889         * ipa-pure-const.c: Likewise.
2890         * ipa-ref.c: Likewise.
2891         * ipa-reference.c: Likewise.
2892
2893 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
2894
2895         PR debug/47684
2896         * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
2897
2898 2011-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2899
2900         PR testsuite/47400
2901         * doc/sourcebuild.texi (Require Support): Document
2902         dg-require-ascii-locale.
2903
2904 2011-02-11  Mingjie Xing  <mingjie.xing@gmail.com>
2905
2906         * doc/lto.texi (Write summary): Fix missing parentheses.
2907
2908 2011-02-10  DJ Delorie  <dj@redhat.com>
2909
2910         * config/m32c/m32c.c (m32c_option_override): Disable
2911         -fcombine-stack-adjustments until flag value tracking and compare
2912         optimization can be rewritten.
2913
2914 2011-02-10  Peter Bergner  <bergner@vnet.ibm.com>
2915
2916         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
2917         PROCESSOR_POWER7.
2918         (PROCESSOR_DEFAULT64): Likewise.
2919
2920 2011-02-10  Richard Henderson  <rth@redhat.com>
2921
2922         * config/rx/predicates.md (rx_zs_comparison_operator): Revert
2923         change from 2011-02-03.
2924         * config/rx/rx.c (flags_from_code): Likewise.
2925         (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
2926         is valid, n/pz otherwise.
2927         (rx_select_cc_mode): Return CCmode if Y is not zero.
2928
2929 2011-02-10  Richard Guenther  <rguenther@suse.de>
2930
2931         * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
2932
2933 2011-02-10  Richard Guenther  <rguenther@suse.de>
2934
2935         PR tree-optimization/47677
2936         * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
2937
2938 2011-02-10  Jakub Jelinek  <jakub@redhat.com>
2939
2940         PR target/47665
2941         * combine.c (make_compound_operation): Only change shifts into
2942         multiplication for SCALAR_INT_MODE_P.
2943
2944 2011-02-10  Jie Zhang  <jie@codesourcery.com>
2945
2946         PR testsuite/47622
2947         Revert
2948         2011-02-05  Jie Zhang  <jie@codesourcery.com>
2949         PR debug/42631
2950         * web.c (entry_register): Don't clobber the number of the
2951         first uninitialized reference in used[].
2952
2953 2011-02-09  Richard Guenther  <rguenther@suse.de>
2954
2955         PR tree-optimization/47664
2956         * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
2957         all edges again.
2958
2959 2011-02-09  David Edelsohn  <dje.gcc@gmail.com>
2960
2961         PR target/46481
2962         PR target/47032
2963         * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
2964         PROCESSOR_POWER7.
2965         (PROCESSOR_DEFAULT64): Same.
2966         (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
2967
2968 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2969
2970         * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
2971
2972 2011-02-09  Martin Jambor  <mjambor@suse.cz>
2973
2974         PR middle-end/45505
2975         * tree-sra.c (struct access): New flags grp_scalar_read and
2976         grp_scalar_write.  Changed description of assignment read and write
2977         flags.
2978         (dump_access): Dump new flags, reorder all of them.
2979         (sort_and_splice_var_accesses): Set the new flag accordingly, use them
2980         to detect multiple scalar reads.
2981         (analyze_access_subtree): Use the new scalar read write flags instead
2982         of the old flags.  Adjusted comments.
2983
2984 2011-02-08  DJ Delorie  <dj@redhat.com>
2985
2986         PR target/47548
2987         * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
2988         patterns.
2989
2990 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2991
2992         * config/m68k/uclinux.opt: New.
2993         * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
2994
2995 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
2996
2997         * config/cris/elf.opt (sim): New Driver option.
2998
2999 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3000
3001         * config/xtensa/elf.opt: New.
3002         * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
3003
3004 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3005
3006         * config/vax/elf.opt: New.
3007         * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
3008
3009 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3010
3011         * config/rs6000/aix64.opt (posix, pthread): New Driver options.
3012
3013 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3014
3015         * config/gnu-user.opt: New.
3016         * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
3017         *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
3018         *-*-uclinux*): Use gnu-user.opt.
3019
3020 2011-02-08  Thomas Schwinge  <thomas@schwinge.name>
3021
3022         * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
3023         * config/i386/gnu.h (CPP_SPEC): Likewise.
3024
3025 2011-02-08  Ian Lance Taylor  <iant@google.com>
3026
3027         * common.opt (fcx-limited-range): Add SetByCombined flag.
3028         (ffinite-math-only, fmath-errno, frounding-math): Likewise.
3029         (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
3030         (fassociative-math, freciprocal-math): Likewise.
3031         (funsafe-math-optimizations): Likewise.
3032         * opth-gen.awk: Handle SetByCombined.
3033         * optc-gen.awk: Likewise.
3034         * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
3035         (set_unsafe_math_optimizations_flags): Likewise.
3036         * doc/options.texi (Option properties): Document SetByCombined.
3037
3038 2011-02-08  Joseph Myers  <joseph@codesourcery.com>
3039
3040         * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
3041         i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
3042         m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
3043         m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
3044         sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
3045
3046 2011-02-08  Sebastian Pop  <sebastian.pop@amd.com>
3047
3048         PR tree-optimization/46834
3049         PR tree-optimization/46994
3050         PR tree-optimization/46995
3051         * graphite-sese-to-poly.c (used_outside_reduction): New.
3052         (detect_commutative_reduction): Call used_outside_reduction.
3053         (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
3054         translate_scalar_reduction_to_array only when at least one
3055         loop-phi/close-phi tuple has been detected.
3056
3057 2011-02-08  Richard Guenther  <rguenther@suse.de>
3058
3059         PR middle-end/47639
3060         * tree-vect-generic.c (expand_vector_operations_1): Update
3061         stmts here ...
3062         (expand_vector_operations): ... not here.  Cleanup EH info
3063         and the CFG if required.
3064
3065 2011-02-08  Richard Guenther  <rguenther@suse.de>
3066
3067         PR tree-optimization/47641
3068         * tree-ssa.c (execute_update_addresses_taken): For asm outputs
3069         require type compatibility.
3070
3071 2011-02-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3072
3073         * gimple-low.c (lower_function_body): Don't remove the location of
3074         the return statement here.
3075         (lower_gimple_return): Do it here instead but only if the return
3076         statement is actually used twice.
3077
3078 2011-02-08  Richard Guenther  <rguenther@suse.de>
3079
3080         PR tree-optimization/47632
3081         * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
3082         unused up_to_stmt parameter, return whether cfg-cleanup is
3083         necessary, remove EH info properly.
3084         (forward_propagate_into_gimple_cond): Adjust caller.
3085         (forward_propagate_into_cond): Likewise.
3086         (forward_propagate_comparison): Likewise.
3087         (tree_ssa_forward_propagate_single_use_vars): Make
3088         forward_propagate_comparison case similar to the two others.
3089
3090 2011-02-08  Nick Clifton  <nickc@redhat.com>
3091
3092         * config/mn10300/mn10300.opt (mliw): New command line option.
3093         * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
3094         (liw_bundling): New automaton.
3095         (liw): New attribute.
3096         (liw_op): New attribute.
3097         (liw_op1, liw_op2, liw_both, liw_either): New reservations.
3098         (movsi_internal): Add LIW attributes.
3099         (andsi3): Likewise.
3100         (iorsi3): Likewise.
3101         (xorsi3): Likewise.
3102         (addsi3): Separate register and immediate alternatives.
3103         Add LIW attributes.
3104         (subsi3): Likewise.
3105         (cmpsi): Likewise.
3106         (aslsi3): Likewise.
3107         (lshrsi3): Likewise.
3108         (ashrsi3): Likewise.
3109         (liw): New pattern.
3110         * config/mn10300/mn10300.c (liw_op_names): New
3111         (mn10300_print_operand): Handle 'W' operand descriptor.
3112         (extract_bundle): New function.
3113         (check_liw_constraints): New function.
3114         (liw_candidate): New function.
3115         (mn10300_bundle_liw): New function.
3116         (mn10300_reorg): New function.
3117         (TARGET_MACHINE_DEPENDENT_REORG): Define.
3118         (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
3119         * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
3120         __LIW__ or __NO_LIW__.
3121         * doc/invoke.texi: Describe the -mliw command line option.
3122
3123 2011-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3124
3125         * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
3126         * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
3127         pthread_mutex_unlock): Remove.
3128         * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
3129         * config/pa/t-pa64: Likewise.
3130         * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
3131         shared libc if not linking against libpthread.
3132         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
3133
3134 2011-02-07  Iain Sandoe  <iains@gcc.gnu.org>
3135
3136         PR target/47558
3137         * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
3138         on 10.6 and later to ensure that we always use the unwinder from
3139         the system.  Only add -no_compact_unwind when tarteting darwin
3140         10.6 or later.
3141
3142 2011-02-07  Steve Ellcey  <sje@cup.hp.com>
3143
3144         PR target/46997
3145         * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
3146         (vec_interleave_lowv2sf): Ditto.
3147         (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
3148         (vec_extract_oddv2sf): Ditto.
3149
3150 2011-02-07  Mike Stump  <mikestump@comcast.net>
3151
3152         PR target/42333
3153         Add __ieee_divdc3 entry point.
3154         * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
3155         entry point.
3156         (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
3157         * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
3158         * config/darwin.c (darwin_rename_builtins): Add.
3159         * config/darwin-protos.h (darwin_rename_builtins): Add.
3160
3161 2011-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
3162
3163         PR target/47636
3164         * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
3165         for the condition.
3166
3167 2011-02-07  Mike Stump  <mikestump@comcast.net>
3168
3169         * config/darwin.opt (mmacosx-version-min): Update default OS version.
3170
3171 2011-02-07  Denis Chertykov  <chertykov@gmail.com>
3172
3173         PR target/47534
3174         * config/avr/libgcc.S (exit): Move .endfunc
3175
3176 2011-02-07  Richard Guenther  <rguenther@suse.de>
3177
3178         PR tree-optimization/47615
3179         * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
3180         * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
3181         (run_scc_vn): Initialize it.
3182         (visit_reference_op_load): Use it.
3183         * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
3184
3185 2011-02-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3186
3187         * config/spu/spu.c (spu_init_libfuncs): Install SImode and
3188         DImode trapping arithmetic libfuncs.
3189
3190 2011-02-07  Richard Guenther  <rguenther@suse.de>
3191
3192         PR tree-optimization/47621
3193         * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
3194         two duplicates ...
3195         (execute_update_addresses_taken): ... here.  Make it more
3196         conservative in what we accept.
3197
3198 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
3199
3200         * config/sparc/freebsd.h (ASM_SPEC): Define.
3201         * config/sparc/vxworks.h (ASM_SPEC): Define.
3202
3203 2011-02-06  Joseph Myers  <joseph@codesourcery.com>
3204
3205         * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3206
3207 2011-02-06  Steven Bosscher  <steven@gcc.gnu.org>
3208
3209         * doc/invoke.texi: Remove reference to compiler internals from
3210         user documentation.
3211
3212         * reg-notes.def: Remove REG_VALUE_PROFILE.
3213         * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
3214
3215 2011-02-05  Jakub Jelinek  <jakub@redhat.com>
3216
3217         PR middle-end/47610
3218         * varasm.c (default_section_type_flags): If decl is NULL,
3219         and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
3220
3221 2011-02-05  Jie Zhang  <jie@codesourcery.com>
3222
3223         PR debug/42631
3224         * web.c (entry_register): Don't clobber the number of the
3225         first uninitialized reference in used[].
3226
3227 2011-02-04  Sebastian Pop  <sebastian.pop@amd.com>
3228
3229         PR tree-optimization/46194
3230         * tree-data-ref.c (analyze_miv_subscript): Remove comment.
3231         (build_classic_dist_vector_1): Do not represent classic distance
3232         vectors when the access functions are variating in different loops.
3233
3234 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
3235
3236         * config/mips/iris6.opt: New.
3237         * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
3238
3239 2011-02-04  Richard Henderson  <rth@redhat.com>
3240             Steve Ellcey  <sje@cup.hp.com>
3241
3242         PR target/46997
3243         * config/ia64/predicates.md (mux1_brcst_element): New.
3244         * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
3245         * config/ia64/ia64.c (ia64_unpack_assemble): New.
3246         (ia64_unpack_sign): New.
3247         (ia64_expand_unpack): Rewrite using new routines.
3248         (ia64_expand_widen_sum): Ditto.
3249         (ia64_expand_dot_prod_v8qi): Ditto.
3250         * config/ia64/vect.md (mulv8qi3): Rewrite to use new
3251         routines, add endian check.
3252         (pmpy2_even): Rename from pmpy2_r, add endian check.
3253         (pmpy2_odd): Rename from pmpy2_l, add endian check.
3254         (vec_widen_smult_lo_v4hi): Rewrite using new routines.
3255         (vec_widen_smult_hi_v4hi): Ditto.
3256         (vec_widen_umult_lo_v4hi): Ditto.
3257         (vec_widen_umult_hi_v4hi): Ditto.
3258         (mulv2si3): Change endian checks.
3259         (sdot_prodv4hi): Rewrite with new calls.
3260         (udot_prodv4hi): New.
3261         (vec_pack_ssat_v4hi): Add endian check.
3262         (vec_pack_usat_v4hi): Ditto.
3263         (vec_pack_ssat_v2si): Ditto.
3264         (max1_even): Rename from max1_r, add endian check.
3265         (max1_odd): Rename from max1_l, add endian check.
3266         (*mux1_rev): Format change.
3267         (*mux1_mix): Ditto.
3268         (*mux1_shuf): Ditto.
3269         (*mux1_alt): Ditto.
3270         (*mux1_brcst_v8qi): Use new predicate.
3271         (vec_extract_evenv8qi): Remove endian check.
3272         (vec_extract_oddv8qi): Ditto.
3273         (vec_interleave_lowv4hi): Format change.
3274         (vec_interleave_highv4hi): Ditto.
3275         (mix2_even): Rename from mix2_r, add endian check.
3276         (mix2_odd): Rename from mux2_l, add endian check.
3277         (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
3278         (vec_extract_evenodd_helper): Format change.
3279         (vec_extract_evenv4hi): Remove endian check.
3280         (vec_extract_oddv4hi): Remove endian check.
3281         (vec_interleave_lowv2si): Format change.
3282         (vec_interleave_highv2si): Format change.
3283         (vec_initv2si): Remove endian check.
3284         (vecinit_v2si): Add endian check.
3285         (reduc_splus_v2sf): Add endian check.
3286         (reduc_smax_v2sf): Ditto.
3287         (reduc_smin_v2sf): Ditto.
3288         (vec_initv2sf): Remove endian check.
3289         (fpack): Add endian check.
3290         (fswap): Add endian check.
3291         (vec_interleave_highv2sf): Add endian check.
3292         (vec_interleave_lowv2sf): Add endian check.
3293         (fmix_lr): Add endian check.
3294         (vec_setv2sf): Format change.
3295         (*vec_extractv2sf_0_be): Use shift to extract operand.
3296         (*vec_extractv2sf_1_be): New.
3297         (vec_pack_trunc_v4hi): Add endian check.
3298         (vec_pack_trunc_v2si): Format change.
3299
3300 2011-02-04  Jakub Jelinek  <jakub@redhat.com>
3301
3302         PR inline-asm/23200
3303         * tree-ssa-ter.c (is_replaceable_p): Add TER argument.  Don't
3304         do bb, locus and block comparison and disallow loads if it is not set.
3305         (stmt_is_replaceable_p): New function.
3306         (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
3307         callers.
3308         * expr.c (expand_expr_real_1) <case SSA_NAME>: If
3309         get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
3310         SSA_NAME_DEF_STMT.
3311         * tree-flow.h (stmt_is_replaceable_p): New prototype.
3312
3313 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
3314
3315         * config/rs6000/xilinx.opt: New.
3316         * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
3317
3318 2011-02-04  Joseph Myers  <joseph@codesourcery.com>
3319
3320         * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
3321
3322 2011-02-03  Anatoly Sokolov  <aesok@post.ru>
3323
3324         * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
3325         PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3326         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
3327         secondary_reload_info, xtensa_secondary_reload): Remove.
3328         * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
3329         TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3330         (xtensa_preferred_reload_class): Make static. Change return and
3331         'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
3332         Use CONST_DOUBLE_P predicate.
3333         (xtensa_preferred_output_reload_class): New function.
3334         (xtensa_secondary_reload): Make static.
3335
3336 2011-02-03  Joseph Myers  <joseph@codesourcery.com>
3337
3338         * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
3339         Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
3340         Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
3341
3342 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
3343
3344         PR middle-end/31490
3345         * output.h (SECTION_RELRO): Define.
3346         (SECTION_MACH_DEP): Adjust.
3347         (get_variable_section): New prototype.
3348         * varpool.c (varpool_finalize_named_section_flags): New function.
3349         (varpool_assemble_pending_decls): Call it.
3350         * cgraph.h (varpool_finalize_named_section_flags): New prototype.
3351         * cgraphunit.c (cgraph_output_in_order): Call
3352         varpool_finalize_named_section_flags.
3353         * varasm.c (get_section): Allow section flags conflicts between
3354         relro and read-only sections if the section hasn't been declared yet.
3355         Set SECTION_OVERRIDE after diagnosing section type conflict.
3356         (get_variable_section): No longer static.
3357         (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
3358         readonly sections that need relocations.
3359         (decl_readonly_section_1): New function.
3360         (decl_readonly_section): Use it.
3361
3362         Revert:
3363         2010-11-17  Dinar Temirbulatov  <dtemirbulatov@gmail.com>
3364                     Steve Ellcey  <sje@cup.hp.com>
3365
3366         PR middle-end/31490
3367         * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
3368         if section attribute used.
3369
3370 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
3371
3372         * config/darwin.h (SECTION_NO_ANCHOR): Remove.
3373         * config/darwin.c (SECTION_NO_ANCHOR): Define.
3374         (darwin_init_sections): Remove assertion.
3375
3376 2011-02-03  Nick Clifton  <nickc@redhat.com>
3377
3378         * config/rx/predicates.md (rx_zs_comparison_operator): Remove
3379         lt and ge.
3380         * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
3381         * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
3382         instead of "n" and "pz".
3383         (flags_from_code): LT and GE tests need CC_FLAG_O as well as
3384         CC_FLAG_S.
3385
3386 2011-02-03  Jakub Jelinek  <jakub@redhat.com>
3387
3388         PR target/47312
3389         * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
3390         fma, expand FMA_EXPR as fma{,f,l} call.
3391
3392         PR lto/47274
3393         * lto-streamer-out.c (write_symbol): When writing kind and visibility,
3394         copy them into a unsigned char variable and pass address of it to
3395         lto_output_data_stream.
3396
3397         PR target/47564
3398         * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
3399         around backend_init_target and lang_dependent_init_target calls.
3400         * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
3401         (verify_cgraph_node): Don't call set_cfun here.  Use
3402         cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
3403         Set error_found for incorrectly represented calls to thunks.
3404
3405 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
3406
3407         PR debug/43092
3408         PR rtl-optimization/43494
3409         * rtl.h (for_each_inc_dec_fn): New type.
3410         (for_each_inc_dec): Declare.
3411         * rtlanal.c (struct for_each_inc_dec_ops): New type.
3412         (for_each_inc_dec_find_inc_dec): New fn.
3413         (for_each_inc_dec_find_mem): New fn.
3414         (for_each_inc_dec): New fn.
3415         * dse.c (struct insn_size): Remove.
3416         (replace_inc_dec, replace_inc_dec_mem): Remove.
3417         (emit_inc_dec_insn_before): New fn.
3418         (check_for_inc_dec): Use it, along with for_each_inc_dec.
3419         (canon_address): Pass mem modes to cselib_lookup.
3420         * cselib.h (cselib_lookup): Add memmode argument.  Adjust callers.
3421         (cselib_lookup_from_insn): Likewise.
3422         (cselib_subst_to_values): Likewise.
3423         * cselib.c (find_slot_memmode): New var.
3424         (cselib_find_slot): New fn.  Use it instead of
3425         htab_find_slot_with_hash everywhere.
3426         (entry_and_rtx_equal_p): Use find_slot_memmode.
3427         (autoinc_split): New fn.
3428         (rtx_equal_for_cselib_p): Rename and implement in terms of...
3429         (rtx_equal_for_cselib_1): ... this.  Take memmode, pass it on.
3430         Deal with autoinc.  Special-case recursion into MEMs.
3431         (cselib_hash_rtx): Likewise.
3432         (cselib_lookup_mem): Infer pmode from address mode.  Distinguish
3433         address and MEM modes.
3434         (cselib_subst_to_values): Add memmode, pass it on.
3435         Deal with autoinc.
3436         (cselib_lookup): Add memmode argument, pass it on.
3437         (cselib_lookup_from_insn): Add memmode.
3438         (cselib_invalidate_rtx): Discard obsolete push_operand handling.
3439         (struct cselib_record_autoinc_data): New.
3440         (cselib_record_autoinc_cb): New fn.
3441         (cselib_record_sets): Use it, along with for_each_inc_dec.  Pass MEM
3442         mode to cselib_lookup.  Reset autoinced REGs here instead of...
3443         (cselib_process_insn): ... here.
3444         * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
3445         to cselib_lookup.
3446         (add_uses): Likewise, also to cselib_subst_to_values.
3447         (add_stores): Likewise.
3448         * sched-deps.c  (add_insn_mem_dependence): Pass mode to
3449         cselib_subst_to_values.
3450         (sched_analyze_1, sched_analyze_2): Likewise.  Adjusted.
3451         * gcse.c (do_local_cprop): Adjusted.
3452         * postreload.c (reload_cse_simplify_set): Adjusted.
3453         (reload_cse_simplify_operands): Adjusted.
3454         * sel-sched-dump (debug_mem_addr_value): Pass mode.
3455
3456 2011-02-03  Alexandre Oliva  <aoliva@redhat.com>
3457
3458         PR tree-optimization/45122
3459         * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
3460         unsafe assumptions when there's more than one loop exit.
3461
3462 2011-02-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
3463
3464         PR target/47272
3465         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3466         Document using vector double with the load/store builtins, and
3467         that the load/store builtins always use Altivec instructions.
3468
3469         * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
3470         to use altivec memory instructions, even on VSX.
3471         (vector_altivec_store_<mode>): Ditto.
3472
3473         * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
3474         function.
3475
3476         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3477         V2DF, V2DI support to load/store overloaded builtins.
3478
3479         * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
3480         altivec load/store builtins for V2DF/V2DI types.
3481
3482         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3483         set avoid indexed addresses on power6 if -maltivec.
3484         (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
3485         vector_altivec_load/vector_altivec_store builtins.
3486         (altivec_expand_st_builtin): Ditto.
3487         (altivec_expand_builtin): Add VSX memory builtins.
3488         (rs6000_init_builtins): Add V2DI types to internal types.
3489         (altivec_init_builtins): Add support for V2DF/V2DI altivec
3490         load/store builtins.
3491         (rs6000_address_for_altivec): Insure memory address is appropriate
3492         for Altivec.
3493
3494         * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
3495         vec_vsx_ld and vec_vsx_st.
3496         (vsx_store_<mode>): Ditto.
3497
3498         * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
3499         variables to hold long long types for VSX vector memory builtins.
3500         (RS6000_BTI_unsigned_long_long): Ditto.
3501         (long_long_integer_type_internal_node): Ditti.
3502         (long_long_unsigned_type_internal_node): Ditti.
3503
3504         * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
3505         (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
3506         (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
3507
3508         * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
3509         short cuts.
3510         (vec_vsx_st): Ditto.
3511
3512 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
3513
3514         * config/pa/pa-hpux10.opt: New.
3515         * config/hpux11.opt (pthread): New Driver option.
3516         * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
3517         * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
3518
3519 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
3520
3521         * config/ia64/vms.opt: New.
3522         * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
3523
3524 2011-02-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
3525
3526         PR target/47580
3527         * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
3528         gpc_reg_operand instead of vsx_register_operand to match rs6000.md
3529         generator functions.
3530         (vsx_floatuns<VSi><mode>2): Ditto.
3531         (vsx_fix_trunc<mode><VSi>2): Ditto.
3532         (vsx_fixuns_trunc<mode><VSi>2): Ditto.
3533
3534 2011-02-02  Joseph Myers  <joseph@codesourcery.com>
3535
3536         * config/i386/djgpp.opt (posix): New Driver option.
3537
3538 2011-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
3539
3540         * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
3541         Move to the unsupported targets list.
3542
3543 2011-02-02  Peter Bergner  <bergner@vnet.ibm.com>
3544
3545         PR rtl-optimization/47525
3546         * df-scan.c: Update copyright years.
3547         (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
3548         and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
3549
3550 2011-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3551
3552         * config/i386/sysv4.h (TARGET_VERSION): Remove.
3553         (SUBTARGET_RETURN_IN_MEMORY): Remove.
3554         (ASM_OUTPUT_ASCII): Remove.
3555         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
3556
3557 2011-02-02  Jeff Law  <law@redhat.com>
3558
3559         PR middle-end/47543
3560         * reload.c (find_reloads_address): Handle reg+d address where both
3561         components are invalid by reloading the entire address.
3562
3563 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
3564             Richard Guenther  <rguenther@suse.de>
3565
3566         PR tree-optimization/40979
3567         PR bootstrap/47044
3568         * passes.c (init_optimization_passes): After LIM call copy_prop
3569         and DCE to clean up.
3570         * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
3571
3572 2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>
3573
3574         PR tree-optimization/47576
3575         PR tree-optimization/47555
3576         * doc/invoke.texi (scev-max-expr-complexity): Documented.
3577         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
3578         (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
3579         * tree-scalar-evolution.c (follow_ssa_edge): Use
3580         PARAM_SCEV_MAX_EXPR_COMPLEXITY.
3581
3582 2011-02-02  Richard Guenther  <rguenther@suse.de>
3583
3584         PR tree-optimization/47566
3585         * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
3586
3587 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
3588
3589         PR debug/47106
3590         PR debug/47402
3591         * tree-inline.c (declare_return_variable): Remove unused caller
3592         variable.
3593
3594         PR debug/47106
3595         PR debug/47402
3596         * tree-flow-inline.h (clear_is_used, is_used_p): New.
3597         * cfgexpand.c (account_used_vars_for_block): Use them.
3598         * tree-nrv.c (tree_nrv): Likewise.
3599         * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
3600         (dump_scope_block): Likewise.
3601         (remove_unused_locals): Likewise.
3602
3603         PR debug/47106
3604         PR debug/47402
3605         * tree-inline.c (declare_return_variable): Add result decl to
3606         local decls only once.
3607         * gimple-low.c (record_vars_into): Mark newly-created variables
3608         as referenced.
3609
3610 2011-02-02  Alexandre Oliva  <aoliva@redhat.com>
3611
3612         PR debug/47498
3613         PR debug/47501
3614         PR debug/45136
3615         PR debug/45130
3616         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3617         debug insns.
3618         (no_real_insns_p, schedule_block, set_priorities): Drop special
3619         treatment of boundary debug insns.
3620         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
3621         * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
3622         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3623         (BOUNDARY_DEBUG_INSN_P): Likewise.
3624         (SCHEDULE_DEBUG_INSN_P): Likewise.
3625         * sched-rgn.c (init_ready_list): Drop special treatment of
3626         boundary debug insns.
3627         * final.c (rest_of_clean_state): Clear notes' BB.
3628
3629 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
3630
3631         * config/openbsd.opt (assert=): New Driver option.
3632
3633 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
3634
3635         * config/i386/nto.opt: New.
3636         * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
3637
3638 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
3639
3640         * config/i386/netware.opt: New.
3641         * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
3642
3643 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
3644
3645         * config/interix.opt (posix): New Driver option.
3646
3647 2011-02-01  DJ Delorie  <dj@redhat.com>
3648
3649         * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
3650
3651         * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
3652         class for A0/A1.
3653
3654 2011-02-01  Sebastian Pop  <sebastian.pop@amd.com>
3655
3656         PR tree-optimization/47561
3657         * toplev.c (process_options): Print the Graphite flags.  Add
3658         flag_loop_flatten to the list of options requiring Graphite.
3659
3660 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
3661
3662         * config/i386/cygming.opt (posix): New Driver option.
3663
3664 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
3665
3666         * config/arm/vxworks.opt: New.
3667         * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
3668
3669 2011-02-01  Joseph Myers  <joseph@codesourcery.com>
3670
3671         * config/alpha/elf.opt: New.
3672         * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
3673         alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
3674
3675 2011-02-01  Richard Guenther  <rguenther@suse.de>
3676
3677         PR tree-optimization/47559
3678         * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
3679         store-motion on references that can throw.
3680
3681 2011-02-01  Bernd Schmidt  <bernds@codesourcery.com>
3682
3683         * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
3684         * tree-pass.h (TDF_CSELIB): New macro.
3685         * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
3686         cselib_lookup): Check for it rather than for TDF_DETAILS.
3687
3688 2011-02-01  H.J. Lu  <hongjiu.lu@intel.com>
3689
3690         PR driver/47547
3691         * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
3692         is HOST_BIT_BUCKET.
3693
3694         * opts.c (finish_options): Don't add x_aux_base_name if it is
3695         HOST_BIT_BUCKET.
3696
3697 2011-02-01  Richard Guenther  <rguenther@suse.de>
3698
3699         PR tree-optimization/47555
3700         Revert
3701         2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
3702
3703         * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
3704
3705 2011-02-01  Sebastien Bourdeauducq  <sebastien@milkymist.org>
3706
3707         PR gcc/46692
3708         * config/lm32/t-lm32: Add multilib for all CPU options.
3709
3710 2011-02-01  Richard Guenther  <rguenther@suse.de>
3711
3712         PR tree-optimization/47541
3713         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
3714         sure to have a field at offset zero.
3715
3716 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
3717
3718         * config/arc/arc.opt (EB, EL): New Driver options.
3719
3720 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
3721
3722         * config/alpha/osf5.opt: New.
3723         * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
3724
3725 2011-01-31  Joseph Myers  <joseph@codesourcery.com>
3726
3727         * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
3728
3729 2011-01-31  Sebastian Pop  <sebastian.pop@amd.com>
3730
3731         * common.opt (ftree-loop-linear): Use Alias to make it an alias of
3732         -floop-interchange.
3733         * invoke.texi (-ftree-loop-linear): Make it clear that this flag
3734         is an alias of -floop-interchange and that it requires the
3735         Graphite infrastructure.
3736         * tree-ssa-loop.c (gate_graphite_transforms): Do not set
3737         flag_loop_interchange based on the value of flag_tree_loop_linear.
3738
3739 2011-01-31  Jakub Jelinek  <jakub@redhat.com>
3740             Richard Guenther  <rguenther@suse.de>
3741
3742         PR tree-optimization/47538
3743         * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
3744         type instead of r1type, except for comparisons.  For right
3745         shifts and comparisons punt if there are mismatches in
3746         sizetype vs. non-sizetype types.
3747
3748 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3749
3750         * doc/sourcebuild.texi (Effective-Target Keywords): Document
3751         avx_runtime.
3752
3753 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3754
3755         * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
3756         version number.
3757         * configure: Regenerate.
3758
3759 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3760
3761         * configure.ac (gcc_cv_ld_static_option): Define.
3762         (gcc_cv_ld_dynamic_option): Define.
3763         (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
3764         instead.
3765         (HAVE_LD_STATIC_DYNAMIC): Update message.
3766         (LD_STATIC_OPTION): Define.
3767         (LD_DYNAMIC_OPTION): Define.
3768         * configure: Regenerate.
3769         * config.in: Regenerate.
3770         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
3771         HAVE_LD_STATIC_DYNAMIC]: Use them.
3772
3773 2011-01-31  Nick Clifton  <nickc@redhat.com>
3774
3775         * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
3776         registers inside interrupt handlers if the handler is not a leaf
3777         function.
3778
3779 2011-01-31  Nick Clifton  <nickc@redhat.com>
3780
3781         * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
3782         reg_renumber returning an INVALID_REGNUM.
3783
3784 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
3785
3786         PR libgcj/44341
3787         * doc/install.texi: Document host options discarded when cross
3788         configuring target libraries.
3789
3790 2011-01-31  Alexandre Oliva  <aoliva@redhat.com>
3791
3792         Reverted:
3793         2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
3794         PR debug/45136
3795         PR debug/45130
3796         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3797         debug insns.
3798         (no_real_insns_p, schedule_block, set_priorities): Drop special
3799         treatment of boundary debug insns.
3800         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
3801         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
3802         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3803         (BOUNDARY_DEBUG_INSN_P): Likewise.
3804         (SCHEDULE_DEBUG_INSN_P): Likewise.
3805         * sched-rgn.c (init_ready_list): Drop special treatment of
3806         boundary debug insns.
3807         * final.c (rest_of_clean-state): Clear notes' BB.
3808
3809 2011-01-31  Alan Modra  <amodra@gmail.com>
3810
3811         * config/rs6000/rs6000.c (print_operand): Rearrange addends in
3812         toc relative expressions as we do in print_operand_address.
3813
3814 2011-01-30  Kazu Hirata  <kazu@codesourcery.com>
3815
3816         * doc/extend.texi: Follow spelling conventions.
3817         * doc/invoke.texi: Fix a typo.
3818
3819 2011-01-30  Joseph Myers  <joseph@codesourcery.com>
3820
3821         * config/hpux11.opt: New.
3822         * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
3823         ia64*-*-hpux*): Use hpux11.opt.
3824
3825 2011-01-30  Jonathan Yong  <jon_y@users.sourceforge.net>
3826
3827         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
3828         to tmake_file.
3829
3830 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3831
3832         * doc/install.texi (hppa-hp-hpux10): Remove references to HP
3833         support sites.
3834
3835 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3836
3837         * doc/install.texi (Binaries): Remove outdated reference for
3838         Motorola 68HC11/68HC12 downloads.
3839
3840 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3841
3842         * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
3843         Drepper's paper.
3844
3845 2011-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
3846
3847         PR bootstrap/47147
3848         * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
3849         used by NetBSD.
3850
3851 2011-01-28  Ahmad Sharif  <asharif@google.com>
3852
3853         * value-prof.c (check_counter): Corrected error message.
3854
3855 2011-01-29  Jie Zhang  <jie@codesourcery.com>
3856
3857         * config/arm/arm.c (arm_legitimize_reload_address): New.
3858         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
3859         arm_legitimize_reload_address.
3860         * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
3861
3862 2011-01-28  Ian Lance Taylor  <iant@google.com>
3863
3864         * godump.c (go_define): Ignore macros whose definitions include
3865         two adjacent operands.
3866
3867 2011-01-28  Jakub Jelinek  <jakub@redhat.com>
3868
3869         PR target/42894
3870         * varasm.c (force_const_mem): Store copy of x in desc->constant
3871         instead of x itself.
3872         * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
3873         itself into REG_EQUAL note.
3874
3875 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
3876
3877         * config/freebsd.opt (posix, rdynamic): New Driver options.
3878
3879 2011-01-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3880
3881         * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
3882         -Bstatic/-Bdynamic.
3883         * configure: Regenerate.
3884
3885 2011-01-27  Joseph Myers  <joseph@codesourcery.com>
3886
3887         * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
3888         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
3889
3890 2011-01-27  Anatoly Sokolov  <aesok@post.ru>
3891
3892         * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
3893         * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
3894         * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
3895         (s390_preferred_reload_class): Make static. Change return and
3896         'rclass' argument type to reg_class_t.
3897
3898 2011-01-27  Jan Hubicka  <jh@suse.cz>
3899
3900         PR middle-end/46949
3901         * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
3902         (process_function_and_variable_attributes): Check defined weakrefs.
3903
3904 2011-01-27  Martin Jambor  <mjambor@suse.cz>
3905
3906         PR tree-optimization/47228
3907         * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
3908         build_ref_for_offset.
3909
3910 2011-01-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3911
3912         * config/spu/spu-elf.h (ASM_SPEC): Remove.
3913
3914 2011-01-26  Mikael Pettersson  <mikpe@it.uu.se>
3915
3916         PR rtl-optimization/46856
3917         * postreload.c (reload_combine_recognize_const_pattern): Do not
3918         separate cc0 setter and user on cc0 targets.
3919
3920 2011-01-26  Nicola Pero  <nicola.pero@meta-innovation.com>
3921
3922         PR c/43082
3923         * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
3924         passed a VOID_TYPE expression, immediately emit an error and
3925         return error_mark_node.
3926
3927 2011-01-26  Jeff Law  <law@redhat.com>
3928
3929         PR rtl-optimization/47464
3930         * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
3931         rather than may_trap_p as needed.
3932
3933 2011-01-26  DJ Delorie  <dj@redhat.com>
3934
3935         PR rtl-optimization/46878
3936         * combine.c (insn_a_feeds_b): Check for the implicit cc0
3937         setter/user dependency as well.
3938
3939 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
3940
3941         PR rtl-optimization/44469
3942         * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
3943         after removing trivially dead basic blocks.
3944
3945 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3946
3947         * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
3948         * config/frv/frv.h (LINK_SPEC): Likewise.
3949         * config/i386/netware.h (LINK_SPEC): Likewise.
3950         * config/m68k/linux.h (ASM_SPEC): Likewise.
3951         * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
3952         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3953         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3954         * config/sparc/linux.h (ASM_SPEC): Likewise.
3955         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3956         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3957
3958 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3959
3960         * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
3961         * config/frv/frv.h (ASM_SPEC): Likewise.
3962         * config/m68k/linux.h (ASM_SPEC): Likewise.
3963         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3964         * config/rs6000/linux64.h (ASM_SPEC): Likewise.
3965         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3966         * config/sparc/linux.h (ASM_SPEC): Likewise.
3967         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3968         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3969
3970 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3971
3972         * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
3973         * config/frv/frv.h (LINK_SPEC): Likewise.
3974         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
3975
3976 2011-01-26  Joseph Myers  <joseph@codesourcery.com>
3977
3978         * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
3979         * config/frv/frv.h (ASM_SPEC): Likewise.
3980         * config/i386/sol2-10.h (ASM_SPEC): Likewise.
3981         * config/m68k/linux.h (ASM_SPEC): Likewise.
3982         * config/pa/pa-linux.h (ASM_SPEC): Likewise.
3983         * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
3984         * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
3985         * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
3986         * config/sparc/linux.h (ASM_SPEC): Likewise.
3987         * config/sparc/linux64.h (ASM_SPEC): Likewise.
3988         * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
3989         * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
3990
3991 2011-01-26  Steve Ellcey  <sje@cup.hp.com>
3992
3993         PR target/46997
3994         * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
3995         (*mux2): Ditto.
3996         (vec_extract_evenodd_help): Ditto.
3997         (vec_extract_evenv4hi): Ditto.
3998         (vec_extract_oddv4hi): Ditto.
3999         (vec_interleave_lowv2si): Ditto.
4000         (vec_interleave_highv2si): Ditto.
4001         (vec_extract_evenv2si): Ditto.
4002         (vec_extract_oddv2si: Ditto.
4003         (vec_pack_trunc_v2si): Ditto.
4004
4005 2011-01-22  Jan Hubicka  <jh@suse.cz>
4006
4007         PR target/47237
4008         * cgraph.h (cgraph_local_info): New field can_change_signature.
4009         * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
4010         signature can change.
4011         (ipcp_estimate_growth): Call sequence simplify only if calle signature
4012         can change.
4013         (ipcp_insert_stage): Only compute args_to_skip if signature can change.
4014         (cgraph_function_versioning): We can not change signature of functions
4015         that don't allow that.
4016         * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
4017         (lto_input_node): Likewise.
4018         * ipa-inline.c (compute_inline_parameters): Compute
4019         local.can_change_signature.
4020         * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
4021         * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
4022         functions that can not change signature.
4023         * i386.c (ix86_function_regparm, ix86_function_sseregparm,
4024         init_cumulative_args): Do not use local calling conventions
4025         for functions that can not change signature.
4026
4027 2011-01-22  Jan Hubicka  <jh@suse.cz>
4028
4029         * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
4030
4031 2011-01-26  Richard Guenther  <rguenther@suse.de>
4032
4033         PR tree-optimization/47190
4034         * cgraphunit.c (process_common_attributes): New function.
4035         (process_function_and_variable_attributes): Use it.
4036
4037 2011-01-26  Richard Guenther  <rguenther@suse.de>
4038
4039         PR lto/47423
4040         * cgraphbuild.c (record_eh_tables): Record reference to personality
4041         function.
4042
4043 2011-01-26  Alexandre Oliva  <aoliva@redhat.com>
4044
4045         PR debug/45454
4046         * sel-sched.c (moveup_expr): Don't let debug insns prevent
4047         non-debug insns from moving up.
4048
4049 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
4050
4051         PR target/40125
4052         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
4053         t-dlldir{,-x} fragment for build and add it to tmake_file.
4054         (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
4055         * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
4056         * config/i386/t-dlldir: New file.
4057         (SHLIB_DLLDIR): Define.
4058         * config/i386/t-dlldir-x: New file.
4059         (SHLIB_DLLDIR): Define.
4060         * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
4061         (SHLIB_INSTALL): Use it.
4062
4063 2011-01-26  Chung-Lin Tang  <cltang@codesourcery.com>
4064
4065         PR target/47246
4066         * config/arm/arm.c (thumb2_legitimate_index_p): Change the
4067         lower bound of the allowed Thumb-2 coprocessor load/store
4068         index range to -256. Add explaining comment.
4069
4070 2011-01-25  Ian Lance Taylor  <iant@google.com>
4071
4072         * godump.c (go_define): Improve lexing of macro expansion to only
4073         accept expressions which match Go spec.
4074
4075 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
4076
4077         PR c++/43601
4078         * tree.c (handle_dll_attribute): Handle it.
4079         * doc/extend.texi (@item dllexport): Mention it.
4080         * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
4081
4082 2011-01-25  Ian Lance Taylor  <iant@google.com>
4083
4084         PR tree-optimization/26854
4085         * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
4086         (decl_jump_unsafe): Move higher in file, with no other change.
4087         (bind): Set has_jump_unsafe_decl if appropriate.
4088         (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
4089         (check_earlier_gotos): Likewise.
4090         (c_check_switch_jump_warnings): Likewise.
4091
4092 2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
4093
4094         * doc/invoke.texi (Warning Options): Add missing hyphen.
4095         (-fprofile-dir): Minor grammatical fixes.
4096         (-fbranch-probabilities): Likewise.
4097
4098 2011-01-25  Alexandre Oliva  <aoliva@redhat.com>
4099
4100         PR debug/45136
4101         PR debug/45130
4102         * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
4103         debug insns.
4104         (no_real_insns_p, schedule_block, set_priorities): Drop special
4105         treatment of boundary debug insns.
4106         * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
4107         * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
4108         * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
4109         (BOUNDARY_DEBUG_INSN_P): Likewise.
4110         (SCHEDULE_DEBUG_INSN_P): Likewise.
4111         * sched-rgn.c (init_ready_list): Drop special treatment of
4112         boundary debug insns.
4113         * final.c (rest_of_clean-state): Clear notes' BB.
4114
4115 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4116
4117         * Makefile.in (LAMBDA_H): Removed.
4118         (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
4119         (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
4120         lambda-trans.o, and tree-loop-linear.o.
4121         (lto-symtab.o): Remove dependence on LAMBDA_H.
4122         (tree-loop-linear.o): Remove rule.
4123         (lambda-mat.o): Same.
4124         (lambda-trans.o): Same.
4125         (lambda-code.o): Same.
4126         (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
4127         (tree-vect-slp.o): Same.
4128         * hwint.h (gcd): Moved here.
4129         (least_common_multiple): Same.
4130         * lambda-code.c: Removed.
4131         * lambda-mat.c: Removed.
4132         * lambda-trans.c: Removed.
4133         * lambda.h: Removed.
4134         * tree-loop-linear.c: Removed.
4135         * lto-symtab.c: Do not include lambda.h.
4136         * omega.c (gcd): Removed.
4137         * passes.c (init_optimization_passes): Remove pass_linear_transform.
4138         * tree-data-ref.c (print_lambda_vector): Moved here.
4139         (lambda_vector_copy): Same.
4140         (lambda_matrix_copy): Same.
4141         (lambda_matrix_id): Same.
4142         (lambda_vector_first_nz): Same.
4143         (lambda_matrix_row_add): Same.
4144         (lambda_matrix_row_exchange): Same.
4145         (lambda_vector_mult_const): Same.
4146         (lambda_vector_negate): Same.
4147         (lambda_matrix_row_negate): Same.
4148         (lambda_vector_equal): Same.
4149         (lambda_matrix_right_hermite): Same.
4150         * tree-data-ref.h: Do not include lambda.h.
4151         (lambda_vector): Moved here.
4152         (lambda_matrix): Same.
4153         (dependence_level): Same.
4154         (lambda_transform_legal_p): Removed declaration.
4155         (lambda_collect_parameters): Same.
4156         (lambda_compute_access_matrices): Same.
4157         (lambda_vector_gcd): Same.
4158         (lambda_vector_new): Same.
4159         (lambda_vector_clear): Same.
4160         (lambda_vector_lexico_pos): Same.
4161         (lambda_vector_zerop): Same.
4162         (lambda_matrix_new): Same.
4163         * tree-flow.h (least_common_multiple): Removed declaration.
4164         * tree-parloops.c (lambda_trans_matrix): Moved here.
4165         (LTM_MATRIX): Same.
4166         (LTM_ROWSIZE): Same.
4167         (LTM_COLSIZE): Same.
4168         (LTM_DENOMINATOR): Same.
4169         (lambda_trans_matrix_new): Same.
4170         (lambda_matrix_vector_mult): Same.
4171         (lambda_transform_legal_p): Same.
4172         * tree-pass.h (pass_linear_transform): Removed declaration.
4173         * tree-ssa-loop.c (tree_linear_transform): Removed.
4174         (gate_tree_linear_transform): Removed.
4175         (pass_linear_transform): Removed.
4176         (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
4177         flag_loop_interchange.
4178
4179 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
4180
4181         PR tree-optimization/47265
4182         PR tree-optimization/47443
4183         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
4184         if name still has some uses.
4185
4186 2011-01-25  Martin Jambor  <mjambor@suse.cz>
4187
4188         PR tree-optimization/47382
4189         * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
4190         (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
4191
4192 2011-01-25  Joel Sherrill  <joel.sherrill@oarcorp.com>
4193
4194         * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
4195         sjlj_except_unwind_info.
4196
4197 2011-01-25  Richard Guenther  <rguenther@suse.de>
4198
4199         PR tree-optimization/47426
4200         * tree-ssa-structalias.c (ipa_pta_execute): Make externally
4201         visible functions results escape.
4202
4203 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
4204
4205         PR target/45701
4206         * config/arm/arm.c (any_sibcall_uses_r3): New function.
4207         (arm_get_frame_offsets): Use it.
4208
4209 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4210             Jakub Jelinek  <jakub@redhat.com>
4211
4212         PR tree-optimization/47271
4213         * tree-if-conv.c (bb_postdominates_preds): New.
4214         (if_convertible_bb_p): Call bb_postdominates_preds.
4215         (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
4216         (predicate_scalar_phi): Call bb_postdominates_preds.
4217
4218 2011-01-25  Nick Clifton  <nickc@redhat.com>
4219
4220         * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
4221         * config/rx/rx.c (rx_function_value): Likewise.
4222         (rx_promote_function_mode): Likewise.
4223         (gen_safe_add): Place an outsized immediate value inside an UNSPEC
4224         in order to make it legitimate.
4225         * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
4226         make sure that the first operand is the same as the result register.
4227         (addsi3_unspec): Delete.
4228         (subdi3): Do not accept immediate operands.
4229         (subdi3_internal): Likewise.
4230
4231 2011-01-25  Jeff Law  <law@redhat.com>
4232
4233         PR rtl-optimization/37273
4234         * ira-costs.c (scan_one_insn): Detect constants living in memory and
4235         handle them like argument loads from stack slots.  Do not double
4236         count memory for memory constants and argument loads from stack slots.
4237
4238 2011-01-25  Jakub Jelinek  <jakub@redhat.com>
4239
4240         PR tree-optimization/47427
4241         PR tree-optimization/47428
4242         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
4243         coalesce if the new root var would be TREE_READONLY.
4244
4245 2011-01-25  Richard Guenther  <rguenther@suse.de>
4246
4247         PR middle-end/47414
4248         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
4249         correct type for TBAA.
4250
4251 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4252
4253         * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
4254         (close_phi_written_to_memory): Call for_each_index with
4255         dr_indices_valid_in_loop.
4256
4257 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4258
4259         * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
4260         when it is initialized.
4261
4262 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4263
4264         * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
4265         call to graphite_find_data_references_in_stmt.
4266         * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
4267         (try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
4268         call to graphite_find_data_references_in_stmt.
4269         (analyze_drs_in_stmts): Same.
4270         * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
4271         in which the scalar analysis of indices is performed.
4272         (create_data_ref): Same.  Update call to dr_analyze_indices.
4273         (find_data_references_in_stmt): Update call to create_data_ref.
4274         (graphite_find_data_references_in_stmt): Same.
4275         * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
4276         declaration.
4277         (create_data_ref): Same.
4278         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
4279         call to create_data_ref.
4280
4281 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4282
4283         * graphite-sese-to-poly.c (build_poly_scop): Move
4284         rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
4285
4286 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4287
4288         * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
4289         VAR_DECL, PARM_DECL, and RESULT_DECL.
4290
4291 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4292
4293         * graphite-dependences.c (reduction_dr_1): Allow several reductions
4294         in a reduction PBB.
4295         * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
4296         that have already been marked as PBB_IS_REDUCTION.
4297
4298 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4299
4300         * graphite-scop-detection.c (same_close_phi_node): New.
4301         (remove_duplicate_close_phi): New.
4302         (make_close_phi_nodes_unique): New.
4303         (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
4304
4305 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4306
4307         * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
4308         * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
4309         of both data references to be the same.
4310
4311 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4312
4313         * graphite-dependences.c (build_lexicographical_constraint): Remove
4314         the gdim parameter.
4315         (build_lexicographical_constraint): Adjust call to
4316         ppl_powerset_is_empty.
4317         (dependence_polyhedron): Same.
4318         (graphite_legal_transform_dr): Same.
4319         (graphite_carried_dependence_level_k): Same.
4320         * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
4321         parameter.
4322         * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
4323
4324 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4325
4326         * graphite-sese-to-poly.c
4327         (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
4328         (close_phi_written_to_memory): New.
4329         (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
4330         and unshare_expr.
4331
4332 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4333
4334         * doc/install.texi: Update the expected version number of PPL to 0.11.
4335         * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
4336         #if PPL_VERSION_MINOR < 11.
4337
4338 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4339
4340         * graphite-dependences.c: Include graphite-cloog-util.h.
4341         (new_poly_ddr): Inlined into dependence_polyhedron.
4342         (free_poly_ddr): Moved close by new_poly_ddr.
4343         (dependence_polyhedron_1): Renamed dependence_polyhedron.
4344         Early return NULL when ppl_powerset_is_empty returns true.
4345         (dependence_polyhedron): Renamed new_poly_ddr.  Call only once
4346         poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
4347         (graphite_legal_transform_dr): Call new_poly_ddr.
4348         (graphite_carried_dependence_level_k): Same.
4349         (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
4350         (dot_transformed_deps_stmt_1): Removed.
4351         (dot_deps_stmt_1): Call dot_deps_stmt_2.
4352         (dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
4353         (dot_deps_1): Call dot_deps_2.
4354         * Makefile.in (graphite-dependences.o): Add missing dependence on
4355         graphite-cloog-util.h.
4356
4357 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4358
4359         * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
4360         (build_lexicographical_constraint): Same.
4361         (dependence_polyhedron_1): Same.
4362         (graphite_legal_transform_dr): Same.
4363         (graphite_carried_dependence_level_k): Same.
4364         * graphite-ppl.c (ppl_powerset_is_empty): New.
4365         * graphite-ppl.h (ppl_powerset_is_empty): Declared.
4366         * tree-data-ref.c (dump_data_reference): Print the basic block index.
4367
4368 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4369
4370         * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
4371         the "a followed by b" relation and document it.
4372
4373 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4374
4375         * graphite-dependences.c (build_lexicographical_constraint): Stop the
4376         iteration when the bag of constraints is empty.
4377
4378 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4379
4380         * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
4381
4382 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4383
4384         * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
4385         nest and two loop depths as parameters.
4386         (lst_try_interchange_loops): Call lst_interchange_profitable_p after
4387         lst_perfect_nestify.
4388
4389 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4390
4391         * graphite-dependences.c (print_pddr): Call
4392         ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
4393
4394 2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
4395
4396         * graphite-ppl.c (debug_gmp_value): New.
4397         * graphite-ppl.h (debug_gmp_value): Declared.
4398
4399 2011-01-25  Tobias Grosser  <grosser@fim.uni-passau.de>
4400
4401         * doc/install.texi: Document availability of cloog-0.16.
4402
4403 2011-01-25  Vladimir Kargov  <kargov@gmail.com>
4404
4405         * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
4406         invalid postdominance info.
4407
4408 2011-01-24  Jan Hubicka  <jh@suse.cz>
4409
4410         PR c/21659
4411         * doc/extend.texi (weak pragma): Drop claim that it must
4412         appear before definition.
4413         * varasm.c (merge_weak, declare_weak): Only sanity check
4414         that DECL is not output at a time it is declared weak.
4415
4416 2011-01-24  Kenneth Zadeck  <zadeck@naturalbridge.com>
4417
4418         * machmode.def: Fixed comments.
4419
4420 2011-01-24  Kai Tietz  <kai.tietz@onevision.com>
4421
4422         * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
4423
4424 2011-01-24  Paul Koning  <ni1d@arrl.net>
4425
4426         * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
4427         WORDS_BIG_ENDIAN.
4428
4429 2011-01-24  H.J. Lu  <hongjiu.lu@intel.com>
4430
4431         PR target/46519
4432         * config/i386/i386.c: Include sbitmap.h and fibheap.h.
4433         (block_info): Add scanned and prev.
4434         (move_or_delete_vzeroupper_2): Return if the basic block
4435         has been scanned and the upper 128bit state is unchanged
4436         from the last scan.
4437         (move_or_delete_vzeroupper_1): Return true if the exit
4438         state is changed.
4439         (move_or_delete_vzeroupper): Visit basic blocks using the
4440         work-list based algorithm based on vt_find_locations in
4441         var-tracking.c.
4442
4443         * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
4444
4445 2011-01-24  Nick Clifton  <nickc@redhat.com>
4446
4447         * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
4448         * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
4449         -mv850e1 to the assembler.  If -mv850e1 or -mv850es is specified
4450         then define __v850e1__.
4451         * doc/invoke.texi: Document -mv850es.
4452
4453 2011-01-24  Richard Henderson  <rth@redhat.com>
4454
4455         * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
4456         compound unordered comparisons.
4457         * config/rx/rx.c (rx_split_fp_compare): Remove.
4458         * config/rx/rx-protos.h: Update.
4459         * config/rx/rx.md (gcc_conds, rx_conds): Remove.
4460         (cbranchsf4): Don't call rx_split_fp_compare.
4461         (*cbranchsf4): Use rx_split_cbranch.
4462         (*cmpsf): Don't accept "i" constraint.
4463         (*conditional_branch): Only valid after reload.
4464         (cstoresf4): Merge expander with insn.  Don't call rx_split_fp_compare.
4465
4466 2011-01-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
4467
4468         PR target/47385
4469         * config/rs6000/altivec.md (vector constant splitters): Add
4470         support for creating vector single precision constants if -mvsx is
4471         used and we would create the constant using Altivec primitives.
4472
4473 2011-01-23  Bernd Schmidt  <bernds@codesourcery.com>
4474             Richard Sandiford  <rdsandiford@googlemail.com>
4475
4476         PR rtl-optimization/47166
4477         * reload1.c (emit_reload_insns): Disable the spill_reg_store
4478         mechanism for PRE_MODIFY and POST_MODIFY.
4479         (inc_for_reload): For PRE_MODIFY, return the insn that sets the
4480         reloadreg.
4481
4482 2011-01-23  Andreas Schwab  <schwab@linux-m68k.org>
4483
4484         * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
4485
4486 2011-01-22  Jan Hubicka  <jh@suse.cz>
4487
4488         PR lto/47333
4489         * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
4490
4491 2011-01-22  Jan Hubicka  <jh@suse.cz>
4492
4493         PR tree-optimization/43884
4494         PR lto/44334
4495         * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
4496         * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
4497
4498 2011-01-22  Anatoly Sokolov  <aesok@post.ru>
4499
4500         * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
4501         * config/s390/s390.c (s390_register_move_cost,
4502         s390_memory_move_cost): New.
4503         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
4504
4505 2011-01-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4506
4507         PR middle-end/47401
4508         * except.c (sjlj_assign_call_site_values): Move setting the
4509         crtl->uses_eh_lsda flag to ...
4510         (sjlj_mark_call_sites): ... here.
4511         (sjlj_emit_function_enter): Support NULL dispatch label.
4512         (sjlj_build_landing_pads): In a function with no landing pads
4513         that still has must-not-throw regions, generate code to register
4514         a personality function with empty LSDA.
4515
4516 2011-01-21  Richard Henderson  <rth@redhat.com>
4517
4518         * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
4519
4520         * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
4521
4522         * compare-elim.c: New file.
4523         * Makefile.in (OBJS-common): Add it.
4524         (compare-elim.o): New.
4525         * common.opt (fcompare-elim): New.
4526         * opts.c (default_options_table): Add OPT_fcompare_elim.
4527         * tree-pass.h (pass_compare_elim_after_reload): New.
4528         * passes.c (init_optimization_passes): Add it.
4529         * recog.h: Protect against re-inclusion.
4530         * target.def (TARGET_FLAGS_REGNUM): New POD hook.
4531         * doc/invoke.texi (-fcompare-elim): Document it.
4532         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
4533         * doc/tm.texi: Rebuild.
4534
4535 2011-01-22  Nick Clifton  <nickc@redhat.com>
4536
4537         * config/rx/rx.md (cstoresf4): Pass comparison operator to
4538         rx_split_fp_compare.
4539
4540 2011-01-22  Nick Clifton  <nickc@redhat.com>
4541
4542         * config/rx/rx.md (UNSPEC_CONST): New.
4543         (deallocate_and_return): Wrap the amount popped off the stack in
4544         an UNSPEC_CONST in order to stop it being rejected by
4545         -mmax-constant-size.
4546         (pop_and_return): Add a "(return)" rtx.
4547         (call): Drop the immediate operand.
4548         (call_internal): Likewise.
4549         (call_value): Likewise.
4550         (call_value_internal): Likewise.
4551         (sibcall_internal): Likewise.
4552         (sibcall_value_internal): Likewise.
4553         (sibcall): Likewise.  Generate an explicit call using
4554         sibcall_internal.
4555         (sibcall_value): Likewise.
4556         (mov<>): FAIL if a constant operand is not legitimate.
4557         (addsi3_unpsec): New pattern.
4558
4559         * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
4560         (ok_for_max_constant): New function.
4561         (gen_safe_add): New function.
4562         (rx_expand_prologue): Use gen_safe_add.
4563         (rx_expand_epilogue): Likewise.
4564         (rx_is_legitimate_constant): Use ok_for_max_constant.  Handle
4565         UNSPEC CONSTs.
4566
4567 2011-01-21  Jeff Law  <law@redhat.com>
4568
4569         PR tree-optimization/47053
4570         * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
4571         (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
4572         statements are deleted.
4573         (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP.  If NEED_EH_CLEANUP
4574         is nonempty, then purge dead edges and cleanup the CFG.
4575
4576 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
4577
4578         PR debug/47402
4579         Temporarily revert:
4580         2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
4581         PR debug/47106
4582         * tree-dfa.c (create_var_ann): Mark variable as used.
4583
4584 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
4585
4586         PR middle-end/45566
4587         * except.c (convert_to_eh_region_ranges): Emit queued no-region
4588         notes from other section in hot/cold partitioning even if
4589         last_action is -3.  Increment call_site_base.
4590
4591         PR rtl-optimization/47366
4592         * fwprop.c (forward_propagate_into): Return bool.  If
4593         any changes are made, -fnon-call-exceptions is used and
4594         REG_EH_REGION note is present, call purge_dead_edges
4595         and return true if it purged anything.
4596         (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
4597         any EH edges were purged.
4598
4599 2011-01-21  Jeff Law  <law@redhat.com>
4600
4601         PR rtl-optimization/41619
4602         * caller-save.c (setup_save_areas): Break out code to determine
4603         which hard regs are live across calls by examining the reload chains
4604         so that it is always used.
4605         Eliminate code which checked REG_N_CALLS_CROSSED.
4606
4607 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
4608
4609         PR tree-optimization/47355
4610         * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
4611         NOP has non-debug uses beyond PHIs in new_bb.
4612
4613 2011-01-21  Alexandre Oliva  <aoliva@redhat.com>
4614
4615         PR debug/47106
4616         * cfgexpand.c (account_used_vars_for_block): Only account vars
4617         that are annotated as used.
4618         (estimated_stack_frame_size): Don't set TREE_USED.
4619         * tree-dfa.c (create_var_ann): Mark variable as used.
4620
4621 2011-01-21  Richard Guenther  <rguenther@suse.de>
4622
4623         PR middle-end/47395
4624         * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
4625
4626 2011-01-21  Richard Guenther  <rguenther@suse.de>
4627
4628         PR tree-optimization/47365
4629         * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
4630         (vn_reference_lookup_pieces): Adjust.
4631         (vn_reference_lookup): Likewise.
4632         * tree-ssa-sccvn.c (vn_walk_kind): New static global.
4633         (vn_reference_lookup_3): Only look through kills if in
4634         VN_WALKREWRITE mode.
4635         (vn_reference_lookup_pieces): Adjust.
4636         (vn_reference_lookup): Likewise.
4637         (visit_reference_op_load): Likewise.
4638         (visit_reference_op_store): Likewise.
4639         * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
4640         (compute_avail): Likewise.
4641         (eliminate): Likewise.
4642
4643 2011-01-21  Jakub Jelinek  <jakub@redhat.com>
4644
4645         * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
4646         DECL_IGNORED_P non-reg vars if they are used.
4647
4648         PR tree-optimization/47391
4649         * varpool.c (const_value_known_p): Return false if
4650         decl is volatile.
4651
4652 2011-01-21  Kai Tietz  <kai.tietz@onevision.com>
4653
4654         PR bootstrap/47215
4655         * config/i386/i386.c (ix86_local_alignment): Handle
4656         case for va_list_type_node is nil.
4657         (ix86_canonical_va_list_type): Likewise.
4658
4659 2011-01-21  Alan Modra  <amodra@gmail.com>
4660
4661         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
4662         builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
4663
4664 2011-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4665
4666         * config/arm/arm.md (define_attr type): Rename f_load
4667         and f_store to f_fpa_load and f_fpa_store. Update.
4668         (write_conflict): Deal with rename fallout.
4669         (*push_fp_multi): Likewise.
4670         * config/arm/fpa.md (f_load): Use f_fpa_load.
4671         (f_store): Use f_fpa_store.
4672         (*movsf_fpa): Likewise.
4673         (*movdf_fpa): Likewise.
4674         (*movxf_fpa): Likewise.
4675         (*thumb2_movsf_fpa): Likewise.
4676         (*thumb2_movdf_fpa): Likewise.
4677         (*thumb2_movxf_fpa): Likewise.
4678         * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
4679         f_loadd and f_stored.
4680         (*thumb2_movdi_vfp): Likewise.
4681         (*thumb2_movsf_vfp): Fix attribute to f_loads.
4682         (*thumb2_movsi_vfp): Likewise.
4683         * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
4684         Use f_loads instead of f_load.
4685         * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
4686
4687 2011-01-20  Anatoly Sokolov  <aesok@post.ru>
4688
4689         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4690         * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
4691         * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4692         (xtensa_mode_dependent_address_p): New function.
4693         (constantpool_address_p): Make static. Change return type to bool.
4694         Change argument type to const_rtx. Use CONST_INT_P predicate.
4695
4696 2011-01-20  Alexandre Oliva  <aoliva@redhat.com>
4697
4698         PR debug/46583
4699         * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
4700
4701 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
4702
4703         PR debug/47283
4704         * cfgexpand.c (expand_debug_expr): Instead of generating
4705         (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
4706         etc. handling.
4707
4708 2011-01-20  Richard Guenther  <rguenther@suse.de>
4709
4710         PR middle-end/47370
4711         * tree-inline.c (remap_gimple_op_r): Recurse manually for
4712         the pointer operand of MEM_REFs.
4713
4714 2011-01-20  Jakub Jelinek  <jakub@redhat.com>
4715
4716         PR tree-optimization/46130
4717         * ipa-split.c (consider_split): If return_bb contains non-virtual
4718         PHIs other than for retval or if split_function would not adjust it,
4719         refuse to split.
4720
4721 2011-01-20  Richard Guenther  <rguenther@suse.de>
4722
4723         PR tree-optimization/47167
4724         * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
4725         Revert previous change, only avoid enumeral type changes.
4726
4727 2011-01-19  Mike Stump  <mikestump@comcast.net>
4728
4729         * doc/tm.texi.in (BRANCH_COST): Englishify.
4730         * doc/tm.texi (BRANCH_COST): Likewise.
4731
4732 2011-01-19  Dodji Seketeli  <dodji@redhat.com>
4733
4734         PR c++/47291
4735         * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
4736         (gen_scheduled_generic_parms_dies): New functions.
4737         (gen_struct_or_union_type_die): Schedule template parameters DIEs
4738         generation for the end of CU compilation.
4739         (dwarf2out_finish): Generate template parameters DIEs here.
4740
4741 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
4742
4743         PR debug/46240
4744         * tree-into-ssa.c (maybe_register_def): Do not attempt to add
4745         debug bind stmt on merge edges.
4746
4747 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
4748
4749         PR debug/47079
4750         PR debug/46724
4751         * function.c (instantiate_expr): Instantiate incoming rtl of
4752         implicit arguments, and recurse on VALUE_EXPRs.
4753         (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
4754         * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
4755
4756 2011-01-19  Alexandre Oliva  <aoliva@redhat.com>
4757
4758         * c-parser.c (c_parser_for_statement): Initialize
4759         collection_expression.
4760
4761 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4762
4763         * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
4764
4765 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4766
4767         * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
4768         (LINK_SHLIB_SPEC): Don't use %(link_path).
4769         (SUBTARGET_EXTRA_SPECS): Remove link_path.
4770
4771 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4772
4773         * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
4774         (NO_SHARED_LIB_SUPPORT): Remove.
4775         (LINK_SHLIB_SPEC): Remove one conditional definition.
4776
4777 2011-01-19  Joseph Myers  <joseph@codesourcery.com>
4778
4779         * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
4780         %{call_shared}.
4781         * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
4782         * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
4783         * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
4784         %{call_shared} and conditionals on these options not being passed.
4785         * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
4786         %{call_shared}.
4787
4788 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
4789
4790         * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
4791         simplify.
4792
4793         * ipa-split.c: Spelling fixes.
4794
4795 2011-01-19  Richard Henderson  <rth@redhat.com>
4796
4797         * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
4798         (*mulsi3): Likewise.
4799
4800         * longlong.h [__mn10300__] (count_leading_zeros): New.
4801         [__mn10300__] (umul_ppmm, smul_ppmm): New.
4802         [__mn10300__] (add_ssaaaa, subddmmss): New.
4803         [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
4804         [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
4805
4806 2011-01-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4807
4808         * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
4809
4810 2011-01-19  Richard Henderson  <rth@redhat.com>
4811
4812         * config/mn10300/mn10300.md (addsi3_flags): New.
4813         (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
4814         (subsi3_flags, subc_internal, subdi3): New.
4815         (subdi3_internal, *subdi3_degenerate): New.
4816         * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
4817
4818         * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
4819         (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
4820         (mn10300_expand_epilogue): Use it.  Compute REG_SAVE_BYTES once.
4821         * config/mn10300/mn10300-protos.h: Update.
4822         * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
4823         (return_ret): Likewise.  Rename from return_internal_regs.
4824         (return_internal): Remove.
4825
4826         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
4827         (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
4828         (mn10300_legitimate_constant_p): Likewise.
4829         (mn10300_can_use_return_insn): Use mn10300_initial_offset.
4830         (mn10300_frame_size): New.
4831         (mn10300_expand_prologue): Use it.
4832         (mn10300_expand_epilogue): Likewise.
4833         (mn10300_initial_offset): Likewise.
4834         * config/mn10300/mn10300-protos.h: Update.
4835         * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
4836         * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
4837         (prologue, epilogue, return_internal): Tidy output code.
4838         (mn10300_store_multiple_operation, return): Likewise.
4839         (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
4840         (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
4841         (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
4842         (load_pic, am33_load_pic): New.
4843         (mn10300_load_pic0, mn10300_load_pic1): New.
4844
4845         * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
4846         * config/mn10300/mn10300.c (CC_FLAG_Z): New.
4847         (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
4848         (cc_flags_for_mode, cc_flags_for_code): New.
4849         (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
4850         overflow flag is not valid.  Validate that the flags we need
4851         for the comparison are valid.
4852         (mn10300_output_cmp): Remove.
4853         (mn10300_output_add): New.
4854         (mn10300_select_cc_mode): Use cc_flags_for_code.
4855         (mn10300_split_cbranch): New.
4856         (mn10300_match_ccmode): New.
4857         (mn10300_split_and_operand_count): New.
4858         * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
4859         to the function.
4860         * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
4861         (addsi3): ... here.  Use mn10300_output_add.
4862         (*addsi3_flags): New.
4863         (*am33_subsi3, *mn10300_subsi3): Merge...
4864         (subsi3): ... here.  Use attribute isa.
4865         (*subsi3_flags): New.
4866         (negsi2): Rewrite from expander to insn_and_split.  Use NOT+INC
4867         when possible.
4868         (*am33_andsi3, *mn10300_andsi3): Merge...
4869         (andsi3): ... here.
4870         (*andsi3_flags): New.
4871         (andsi3 splitters): New.
4872         (*am33_iorsi3, *mn10300_iorsi3): Merge...
4873         (iorsi3): ... here.
4874         (*iorsi3_flags): New.
4875         (*am33_xorsi3, *mn10300_xorsi3): Merge...
4876         (xorsi3): ... here.
4877         (*xorsi3_flags): New.
4878         (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
4879         (one_cmplsi2): ... here.
4880         (*one_cmplsi2_flags): New.
4881         (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload.  Use "r"
4882         instead of "dax" in constraints.  Use mn10300_split_cbranch.
4883         (*cmpsi): Rename from cmpsi.  Do not use mn10300_output_cmp.  Do not
4884         use matching constraints to eliminate a self-comparison.
4885         (*integer_conditional_branch): Rename from integer_conditional_branch.
4886         Use int_mode_flags to match CC_REG.
4887         (*cbranchsi4_btst, *btstsi): New.
4888         (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload.  Use
4889         mn10300_split_cbranch.
4890         (*am33_cmpsf): Rename from am33_cmpsf.
4891         (*float_conditional_branch): Rename from float_conditional_branch.
4892         (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
4893         (zero_extendqisi2): ... here.
4894         (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
4895         (zero_extendhisi2): ... here.
4896         (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
4897         (extendqisi2): ... here.
4898         (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
4899         (extendhisi2): ... here.
4900         (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
4901         (ashlsi3): ... here.
4902         (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
4903         (lshrsi3): ... here.
4904         (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
4905         (ashrsi3): ... here.
4906         (consecutive add peephole): Remove.
4907         * config/mn10300/predicates.md (label_ref_operand): New.
4908         (int_mode_flags): New.
4909         (CCZN_comparison_operator): New.
4910
4911         * config/mn10300/mn10300.md (UNSPEC_EXT): New.
4912         (throughput_42_latency_43): New reservation.
4913         (mulsidi3, umulsidi3): New expanders.
4914         (mulsidi3_internal): Rewrite from old mulsidi3 pattern.  Expose
4915         the MDR register to allocation; separately allocate the low and
4916         high parts of the DImode result.
4917         (umulsidi3_internal): Similarly.
4918         (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
4919         (*mulsi3): ... here.  Clobber MDR as a scratch as necessary.
4920         (udivsi3, umodsi3): Remove.
4921         (udivmodsi4, divmodsi4): New expanders.
4922         (*udivmodsi4): Rename from udivmodsi4.  Expose MDR properly.
4923         (*divmodsi4): Simiarly.
4924         (ext_internal): New.
4925
4926         * config/mn10300/constraints.md ("z"): New constraint.
4927         * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
4928         (FIXED_REGISTERS): Don't fix MDR.
4929         (CALL_USED_REGSITERS): Reformat nicely.
4930         (REG_ALLOC_ORDER): Add MDR.
4931         (enum regclass): Add MDR_REGS.
4932         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
4933         (IRA_COVER_CLASSES): Add MDR_REGS.
4934         (REGNO_REG_CLASS): Handle MDR_REG.
4935         * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
4936         (mn10300_register_move_cost): Likewise.
4937         * config/mn10300/mn10300.md (MDR_REG): New.
4938         (*movsi_internal): Handle moves to/from MDR_REGS.
4939
4940         * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
4941         POST_MODIFY.
4942         (mn10300_secondary_reload): Tidy combination reload classes.
4943         (mn10300_legitimate_address_p): Allow post-modify and reg+reg
4944         addresses for AM33.  Allow symbolic offsets for reg+imm.
4945         (mn10300_regno_in_class_p): New.
4946         (mn10300_legitimize_reload_address): New.
4947         * config/mn10300/mn10300.h (enum reg_class): Remove
4948         DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
4949         SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS.  Add
4950         SP_OR_GENERAL_REGS.
4951         (REG_CLASS_NAMES): Update to match.
4952         (REG_CLASS_CONTENTS): Likewise.
4953         (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
4954         (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
4955         (REGNO_IN_RANGE_P): Remove.
4956         (REGNO_DATA_P): Use mn10300_regno_in_class_p.
4957         (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
4958         (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
4959         (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
4960         (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
4961         (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
4962         (REGNO_GENERAL_P): New.
4963         (HAVE_POST_MODIFY_DISP): New.
4964         (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
4965         (LEGITIMIZE_RELOAD_ADDRESS): New.
4966         * config/mn10300/mn10300-protos.h: Update.
4967
4968         * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
4969         DATA_REGS for AM33 stack-pointer destination.
4970         (mn10300_preferred_output_reload_class): Likewise.
4971         (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
4972         into a form appropriate for ...
4973         (TARGET_SECONDARY_RELOAD): New.
4974         * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
4975         * config/mn10300/mn10300-protos.h: Update.
4976         * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
4977         reload_insi; use the "A" constraint for the scratch; handle AM33
4978         moves of sp to non-address registers.
4979
4980         * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
4981         (*movqi_internal): ... here.
4982         (*am33_movhi, *mn10300_movhi): Merge into...
4983         (*movhi_internal): ... here.
4984         (*movsi_internal): Use "r" instead of "dax" in constraints.  Use "A"
4985         as the source/destination of moves from/to SP.
4986         (movsf): Only allow for AM33-2.
4987         (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
4988         any integer constant constraint.  Only allow for AM33-2.  Tidy
4989         all of the alternative outputs.
4990         (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
4991         (udivmodsi4): Delete expander and promote *udivmodsi4.  Disallow
4992         for MN103.
4993         (udivsi3, umodsi3): New patterns for MN103 only.
4994
4995 2011-01-19  Joern Rennecke  <amylaar@spamcop.net>
4996
4997         * doc/tm.texi.in: Spell out that a lack of register class unions
4998         can lead to ICEs.
4999         * doc/tm.texi: Regenerate.
5000
5001 2011-01-19  Jakub Jelinek  <jakub@redhat.com>
5002
5003         PR rtl-optimization/47337
5004         * dce.c (check_argument_store): New function.
5005         (find_call_stack_args): Ignore debug insns.  Use check_argument_store.
5006
5007         PR tree-optimization/47290
5008         * tree-eh.c (infinite_empty_loop_p): New function.
5009         (cleanup_empty_eh): Use it.
5010
5011 2011-01-18  Steve Ellcey  <sje@cup.hp.com>
5012
5013         PR target/46997
5014         * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
5015         (a64_expand_widen_sum): Ditto.
5016         * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
5017         (vec_extract_evenodd_help): Ditto.
5018         (vec_extract_evenv4hi): Ditto.
5019         (vec_extract_oddv4hi): Ditto.
5020         (vec_extract_evenv2si): Ditto.
5021         (vec_extract_oddv2si): Ditto.
5022         (vec_extract_evenv2sf): Ditto.
5023         (vec_extract_oddv2sf): Ditto.
5024         (vec_pack_trunc_v4hi: Ditto.
5025         (vec_pack_trunc_v2si): Ditto.
5026         (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
5027         (vec_interleave_highv8qi): Ditto.
5028         (mix1_r): Ditto.
5029         (vec_extract_oddv8qi): Ditto.
5030         (vec_interleave_lowv4hi): Ditto.
5031         (vec_interleave_highv4hi): Ditto.
5032         (vec_interleave_lowv2si): Ditto.
5033         (vec_interleave_highv2si): Ditto.
5034
5035 2011-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5036
5037         * doc/extend.texi: Mention __float128 support on hppa HP-UX.
5038         * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
5039         * config/pa/pa.c (pa_expand_builtin): New.  Include "langhooks.h".
5040         (pa_c_mode_for_suffix): New.
5041         (TARGET_EXPAND_BUILTIN): Define.
5042         (TARGET_C_MODE_FOR_SUFFIX): Define.
5043         (pa_builtins): Define.
5044         (pa_init_builtins): Register __float128 type and init new support
5045         builtins.
5046         * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
5047         * config/pa/quadlib.c (_U_Qfcopysign): New.
5048
5049 2011-01-18  Eric Botcazou  <ebotcazou@adacore.com>
5050
5051         PR middle-end/46894
5052         * explow.c (allocate_dynamic_stack_space): Do not assume more than
5053         BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
5054         are defined.
5055
5056 2011-01-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5057
5058         PR tree-optimization/47179
5059         * config/spu/spu.c (spu_ref_may_alias_errno): New function.
5060         (TARGET_REF_MAY_ALIAS_ERRNO): Define.
5061
5062 2011-01-18  Richard Guenther  <rguenther@suse.de>
5063
5064         PR rtl-optimization/47216
5065         * emit-rtl.c: Include tree-flow.h.
5066         (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
5067         of replicating it with different semantics.
5068         * Makefile.in (emit-rtl.o): Adjust.
5069
5070 2011-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5071
5072         * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
5073         (cortex_a9_dp): Handle neon types correctly.
5074
5075 2011-01-18  Jakub Jelinek  <jakub@redhat.com>
5076
5077         PR rtl-optimization/47299
5078         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
5079         subtarget.  Use normal multiplication if both operands are constants.
5080         * expmed.c (expand_widening_mult): Don't try to optimize constant
5081         multiplication if op0 has VOIDmode.  Convert op1 constant to mode
5082         before using it.
5083
5084 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5085
5086         * doc/lto.texi (LTO): Ensure two spaces after period.  Fix
5087         spacing after 'e.g.', typos, comma, hyphenation.
5088
5089 2011-01-17  Richard Henderson  <rth@redhat.com>
5090
5091         * config/rx/predicates.md (rx_constshift_operand): Use match_test.
5092         (rx_restricted_mem_operand): New.
5093         (rx_shift_operand): Use register_operand.
5094         (rx_source_operand, rx_compare_operand): Likewise.
5095         * config/rx/rx.md (addsi3_flags): New expander.
5096         (adddi3): Rewrite as expander.
5097         (adc_internal, *adc_flags, adddi3_internal): New patterns.
5098         (subsi3_flags): New expander.
5099         (subdi3): Rewrite as expander.
5100         (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
5101
5102         * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
5103         (rx_init_builtins): Remove sat builtin.
5104         (rx_expand_builtin): Likewise.
5105         * config/rx/rx.md (ssaddsi3): New.
5106         (*sat): Rename from sat.  Represent the CC_REG input.
5107
5108         * config/rx/predicates.md (rshift_operator): New.
5109         * config/rx/rx.c (rx_expand_insv): Remove.
5110         * config/rx/rx-protos.h: Update.
5111         * config/rx/rx.md (*bitset): Rename from bitset.  Swap the ashift
5112         operand to the canonical position.
5113         (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
5114         (*bitclr, *bitclr_in_memory): Similarly.
5115         (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
5116         (insv): Retain the zero_extract in the expansion.
5117
5118         * config/rx/rx.md (bswapsi2): Use = not + for output reload.
5119         (bswaphi2, bitinvert, revw): Likewise.
5120
5121         * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
5122         (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
5123         * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
5124         (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
5125         (bitset, bitset_in_memory): Likewise.
5126         (bitinvert, bitinvert_in_memory): Likewise.
5127         (bitclr, bitclr_in_memory): Likewise.
5128         (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
5129         (rx_strend, rx_cmpstrn): Likewise.
5130         (rx_setmem): Likewise.  Make the source BLKmode to match the dest.
5131         (bitop peep2 patterns): Remove.
5132
5133         * config/rx/rx.c (rx_match_ccmode): New.
5134         * config/rx/rx-protos.h: Update.
5135         * config/rx/rx.md (abssi2): Clobber, don't set flags.
5136         (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
5137         (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
5138         (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
5139         (fix_truncsfsi2, floatsisf2): Likewise.
5140         (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
5141         (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
5142         (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
5143         (*subsi3_flags, *xorsi3_flags): New.
5144
5145         * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
5146
5147         * config/rx/rx.c (rx_print_operand): Remove workaround for
5148         unsplit comparison operations.
5149
5150         * config/rx/rx.md (movsicc): Split after reload.
5151         (*movsicc): Merge *movsieq and *movsine via match_operator.
5152         (*stcc): New pattern.
5153
5154         * config/rx/rx.c (rx_float_compare_mode): Remove.
5155         * config/rx/rx.h (rx_float_compare_mode): Remove.
5156         * config/rx/rx.md (cstoresi4): Split after reload.
5157         (*sccc): New pattern.
5158
5159         * config/rx/predicates.md (label_ref_operand): New.
5160         (rx_z_comparison_operator): New.
5161         (rx_zs_comparison_operator): New.
5162         (rx_fp_comparison_operator): New.
5163         * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
5164         Validate that the flags are set properly for the comparison.
5165         (rx_gen_cond_branch_template): Remove.
5166         (rx_cc_modes_compatible): Remove.
5167         (mode_from_flags): New.
5168         (flags_from_code): Rename from flags_needed_for_conditional.
5169         (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
5170         (rx_select_cc_mode): Likewise.
5171         (rx_split_fp_compare): New.
5172         (rx_split_cbranch): New.
5173         * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
5174         (*cbranchsi4): Use match_operator and rx_split_cbranch.
5175         (*cbranchsf4): Similarly.
5176         (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>.  Use
5177         match_operator and rx_split_cbranch.
5178         (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
5179         tstbranchsi4m_ne.  Use match_operator and rx_split_cbranch.
5180         (*cmpsi): Rename from cmpsi.
5181         (*tstsi): Rename from tstsi.
5182         (*cmpsf): Rename from cmpsf; use CC_Fmode.
5183         (*conditional_branch): Rename from conditional_branch.
5184         (*reveresed_conditional_branch): Remove.
5185         (b<code>): Remove expander.
5186         * config/rx/rx-protos.h: Update.
5187
5188         * config/rx/rx.c (rx_compare_redundant): Remove.
5189         * config/rx/rx.md (cmpsi): Don't use it.
5190         * config/rx/rx-protos.h: Update.
5191
5192         * config/rx/rx-modes.def (CC_F): New mode.
5193         * config/rx/rx.c (rx_select_cc_mode): New.
5194         * config/rx/rx.h (SELECT_CC_MODE): Use it.
5195         * config/rx/rx-protos.h: Update.
5196
5197 2011-01-17  Richard Henderson  <rth@redhat.com>
5198
5199         * except.c (dump_eh_tree): Fix stray ; after for statement.
5200
5201 2011-01-17  Richard Guenther  <rguenther@suse.de>
5202
5203         PR tree-optimization/47313
5204         * tree-inline.c (tree_function_versioning): Move DECL_RESULT
5205         handling before copying the body.  Properly deal with
5206         by-reference result in SSA form.
5207
5208 2011-01-17  Ian Lance Taylor  <iant@google.com>
5209
5210         PR target/47219
5211         * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
5212         (struct_value_alias_set): Don't define.
5213         (sparc_option_override): Don't set sparc_sr_alias_set and
5214         struct_value_alias_set.
5215         (save_or_restore_regs): Use gen_frame_mem rather than calling
5216         set_mem_alias_set.
5217         (sparc_struct_value_rtx): Likewise.
5218
5219 2011-01-17  H.J. Lu  <hongjiu.lu@intel.com>
5220
5221         PR target/47318
5222         * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
5223         __m128i.
5224         (_mm_maskstore_pd): Likewise.
5225         (_mm_maskload_ps): Likewise.
5226         (_mm_maskstore_ps): Likewise.
5227         (_mm256_maskload_pd): Change mask to __m256i.
5228         (_mm256_maskstore_pd): Likewise.
5229         (_mm256_maskload_ps): Likewise.
5230         (_mm256_maskstore_ps): Likewise.
5231
5232         * config/i386/i386-builtin-types.def: Updated.
5233         (ix86_expand_special_args_builtin): Likewise.
5234
5235         * config/i386/i386.c (bdesc_special_args): Update
5236         __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
5237         __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
5238         __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
5239         __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
5240
5241         * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
5242         Use <avxpermvecmode> on mask register.
5243         (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
5244
5245 2011-01-17  Olivier Hainque  <hainque@adacore.com>
5246             Michael Haubenwallner  <michael.haubenwallner@salomon.at>
5247             Eric Botcazou  <ebotcazou@adacore.com>
5248
5249         PR target/46655
5250         * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
5251         if <= USHRT_MAX in 32-bit mode.
5252
5253 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5254
5255         * doc/install.texi (Configuration, Specific): Wrap long
5256         lines in examples.  Allow line wrapping in long options
5257         and URLs where beneficial for PDF output.
5258
5259 2011-01-16  Richard Sandiford  <rdsandiford@googlemail.com>
5260
5261         * config/mips/mips.c (mips_classify_symbol): Don't return
5262         SYMBOL_PC_RELATIVE for nonlocal labels.
5263
5264 2011-01-15  Eric Botcazou  <ebotcazou@adacore.com>
5265
5266         * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
5267
5268 2011-01-15  Jan Hubicka  <jh@suse.cz>
5269
5270         PR tree-optimization/47276
5271         * ipa.c (function_and_variable_visibility): Do not try to mark alias
5272         declarations as needed.
5273
5274 2011-01-15  Martin Jambor  <mjambor@suse.cz>
5275
5276         * common.opt (fdevirtualize): New flag.
5277         * doc/invoke.texi (Option Summary): Document it.
5278         * opts.c (default_options_table): Add devirtualize flag.
5279         * ipa-prop.c (detect_type_change): Return immediately if
5280         devirtualize flag is not set.
5281         (detect_type_change_ssa): Likewise.
5282         (compute_known_type_jump_func): Likewise.
5283         (ipa_analyze_virtual_call_uses): Likewise.
5284
5285 2011-01-14  Martin Jambor  <mjambor@suse.cz>
5286
5287         PR tree-optimization/45934
5288         PR tree-optimization/46302
5289         * ipa-prop.c (type_change_info): New type.
5290         (stmt_may_be_vtbl_ptr_store): New function.
5291         (check_stmt_for_type_change): Likewise.
5292         (detect_type_change): Likewise.
5293         (detect_type_change_ssa): Likewise.
5294         (compute_complex_assign_jump_func): Check for dynamic type change.
5295         (compute_complex_ancestor_jump_func): Likewise.
5296         (compute_known_type_jump_func): Likewise.
5297         (compute_scalar_jump_functions): Likewise.
5298         (ipa_analyze_virtual_call_uses): Likewise.
5299         (ipa_analyze_node): Push and pop cfun, set current_function_decl.
5300
5301 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5302
5303         * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
5304         * config/i386/i386.opt (msse5): New Alias.
5305
5306 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5307
5308         * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
5309         * config/sparc/linux64.h (CC1_SPEC): Likewise.
5310         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
5311         * config/sparc/sparc.h (CC1_SPEC): Likewise.
5312
5313 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5314
5315         * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
5316         -mcpu options.
5317         * config/sparc/linux64.h (CC1_SPEC): Likewise.
5318         * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
5319         * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
5320         * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
5321         Likewise.
5322         * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
5323
5324 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5325
5326         * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
5327
5328 2011-01-14  Mike Stump  <mikestump@comcast.net>
5329
5330         * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
5331         * config/fr30/fr30.md: Likweise
5332         (movsi_push): Likewise.
5333         (movsi_pop): Likewise.
5334         (enter_func): Likewise.
5335         * config/moxie/moxie.md (movsi_push): Likewise.
5336         (movsi_pop): Likewise.
5337
5338 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5339
5340         * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
5341         %{no_archive} %{exact_version}.
5342         * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
5343         * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
5344         %{no_archive} %{exact_version}.
5345         * config/mips/openbsd.h (LINK_SPEC): Likewise.
5346         * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
5347         * config/mips/vxworks.h: Likewise.
5348
5349 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5350
5351         * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
5352
5353 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5354
5355         * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
5356         ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
5357
5358 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5359
5360         * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
5361         -nodefaultlib.
5362
5363 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5364
5365         * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
5366         for mcpu not cpu.
5367         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
5368         CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
5369         not cpu.
5370         (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
5371         Don't handle -shlib.
5372
5373 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5374
5375         * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
5376         (CC1_SPEC): Don't handle -profile.
5377
5378 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5379
5380         * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
5381         * config/mips/mips.h (CC1_SPEC): Likewise.
5382
5383 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5384
5385         * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
5386         * config/mips/mips.h (CC1_SPEC): Likewise.
5387
5388 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5389
5390         * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
5391         * config/m32r/linux.h (LINK_SPEC): Likewise.
5392         * config/mips/linux.h (LINK_SPEC): Likewise.
5393         * config/mips/linux64.h (LINK_SPEC): Likewise.
5394         * config/sparc/linux.h (LINK_SPEC): Likewise.
5395         * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
5396         LINK_SPEC): Likewise.
5397         * config/xtensa/linux.h (LINK_SPEC): Likewise.
5398
5399 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5400
5401         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
5402         %{version:-v}.
5403         * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
5404
5405 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5406
5407         * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
5408         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
5409
5410 2011-01-14  Joseph Myers  <joseph@codesourcery.com>
5411
5412         * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
5413
5414 2011-01-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5415
5416         * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
5417         supports -Bstatic/-Bdynamic.
5418         * configure: Regenerate.
5419
5420 2011-01-14  Jan Hubicka  <jh@suse.cz>
5421             Jack Howarth  <howarth@bromo.med.uc.edu>
5422
5423         PR target/46037
5424         * config/darwin.c (darwin_override_options): Honor flag_gtoggle
5425         when checking debug_info_level. Test write_symbols instead of
5426         debug_hooks->var_location when setting flag_var_tracking_uninit.
5427
5428 2011-01-14  Richard Guenther  <rguenther@suse.de>
5429
5430         PR tree-optimization/47179
5431         * target.def (ref_may_alias_errno): New target hook.
5432         * targhooks.h (default_ref_may_alias_errno): Declare.
5433         * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
5434         (default_ref_may_alias_errno): New function.
5435         * target.h (struct ao_ref_s): Declare.
5436         * tree-ssa-alias.c: Include target.h.
5437         (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
5438         * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
5439         (targhooks.o): Likewise.
5440         * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
5441         * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
5442
5443 2011-01-14  Richard Guenther  <rguenther@suse.de>
5444
5445         * tree-ssa-structalias.c  (new_var_info): Use DECL_HARD_REGISTER.
5446
5447 2011-01-14  Richard Guenther  <rguenther@suse.de>
5448
5449         PR tree-optimization/47280
5450         * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
5451         return CFG changes.
5452         (tree_ssa_forward_propagate_single_use_vars): Deal with
5453         CFG changes from associate_plusminus.
5454
5455 2011-01-14  Richard Guenther  <rguenther@suse.de>
5456
5457         PR middle-end/47281
5458         Revert
5459         2011-01-11  Richard Guenther  <rguenther@suse.de>
5460
5461         PR tree-optimization/46076
5462         * tree-ssa.c (useless_type_conversion_p): Conversions from
5463         unprototyped to empty argument list function types are useless.
5464
5465 2011-01-14  Richard Guenther  <rguenther@suse.de>
5466
5467         PR tree-optimization/47286
5468         * tree-ssa-structalias.c (new_var_info): Register variables are global.
5469
5470 2011-01-14  Martin Jambor  <mjambor@suse.cz>
5471
5472         PR middle-end/46823
5473         * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
5474
5475 2011-01-13  Anatoly Sokolov  <aesok@post.ru>
5476
5477         * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
5478         LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
5479         * config/xtensa/xtensa.c (xtensa_libcall_value,
5480         xtensa_function_value_regno_p): New functions.
5481         (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
5482
5483 2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
5484
5485         PR c++/47213
5486         * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
5487         PE specific hook.
5488         * config/i386/i386-protos.h (i386_pe_assemble_visibility):
5489         New function prototype.
5490         * config/i386/winnt.c (i386_pe_assemble_visibility):
5491         Warn only if attribute was specified by user.
5492
5493 2011-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
5494
5495         PR target/47251
5496         * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
5497         floating point.
5498         (floatunsdidf2_fcfidu): Ditto.
5499
5500 2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5501
5502         * config/s390/s390.c (print_operand_address): Replace 'error' with
5503         'output_operand_lossage'.
5504         (print_operand): Likewise.
5505
5506 2011-01-13  Jeff Law  <law@redhat.com>
5507
5508         PR rtl-optimization/39077
5509         * doc/invoke.texi (max-gcse-insertion-ratio): Document.
5510         * params.h (MAX_GCSE_INSERTION_RATIO): Define.
5511         * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
5512         * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
5513         * gcse.c (prune_insertions_deletions): New function.
5514         (compute_pre_data): Use it.
5515
5516 2011-01-13  Dodji Seketeli  <dodji@redhat.com>
5517
5518         PR debug/PR46973
5519         * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
5520         static function.
5521         (prune_unused_types_mark): Use it.
5522
5523 2011-01-13  Andrey Belevantsev  <abel@ispras.ru>
5524
5525         PR rtl-optimization/45352
5526         * sel-sched.c: Update copyright years.
5527         (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
5528         in the advancing loop when we have issued issue_rate insns.
5529
5530 2011-01-12  Richard Henderson  <rth@redhat.com>
5531
5532         * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
5533         (TARGET_MD_ASM_CLOBBERS): New.
5534
5535         * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
5536         (TARGET_DELEGITIMIZE_ADDRESS): New.
5537
5538         * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
5539         (clzsi2, *bsch): New patterns.
5540
5541         * config/mn10300/mn10300.md (INT): New mode iterator.
5542         (*mov<INT>_clr): New pattern, and peep2 to generate it.
5543
5544         * config/mn10300/mn10300.c (mn10300_option_override): Force enable
5545         flag_split_wide_types.
5546
5547         * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
5548         (mn10300_trampoline_init): Rewrite without a template, an immediate
5549         load and a direct branch.
5550         * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
5551
5552 2011-01-12  Anatoly Sokolov  <aesok@post.ru>
5553
5554         * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5555         * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
5556         * config/s390/s390.c (s390_output_addr_const_extra): Make static.
5557         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5558
5559 2011-01-12  Kai Tietz  <kai.tietz@onevision.com>
5560
5561         PR debug/47209
5562         * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
5563         of type.
5564
5565 2011-01-12  Jan Hubicka  <jh@suse.cz>
5566
5567         PR driver/47244
5568         * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
5569         (PLUGIN_COND_CLOSE): New macro.
5570         (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
5571
5572 2011-01-12  Richard Guenther  <rguenther@suse.de>
5573
5574         PR lto/47259
5575         * lto-streamer-out.c (output_gimple_stmt): Do not wrap
5576         register variables in a MEM_REF.
5577
5578 2011-01-12  Joseph Myers  <joseph@codesourcery.com>
5579
5580         * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
5581         crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
5582         hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
5583         i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
5584         i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
5585         x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
5586         ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
5587         m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
5588         mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
5589         s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
5590         sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
5591         am33_2.0-*-linux*): Use gnu-user.h before linux.h.
5592         * config/gnu-user.h: New.  Copied from linux.h.
5593         (LINUX_TARGET_STARTFILE_SPEC): Rename to
5594         GNU_USER_TARGET_STARTFILE_SPEC.
5595         (LINUX_TARGET_ENDFILE_SPEC): Rename to
5596         GNU_USER_TARGET_ENDFILE_SPEC.
5597         (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
5598         (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
5599         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
5600         LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
5601         CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
5602         UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
5603         BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
5604         BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
5605         LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
5606         TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
5607         * config/arm/linux-eabi.h (CC1_SPEC): Use
5608         GNU_USER_TARGET_CC1_SPEC.
5609         (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
5610         (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
5611         (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
5612         * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
5613         LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
5614         LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
5615         CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
5616         LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
5617
5618 2011-01-12  Richard Guenther  <rguenther@suse.de>
5619
5620         PR other/46946
5621         * doc/invoke.texi (ffast-math): Document it is turned on
5622         with -Ofast.
5623
5624 2011-01-12  Jan Hubicka  <jh@suse.cz>
5625
5626         PR tree-optimization/47233
5627         * opts.c (common_handle_option): Disable ipa-reference with profile
5628         feedback.
5629
5630 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
5631
5632         * c-parser.c (c_parser_objc_at_property_declaration): Improved
5633         error message.
5634
5635 2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
5636
5637         * c-parser.c (c_lex_one_token): Updated and reindented some
5638         comments.  No changes in code.
5639
5640 2011-01-11  Ian Lance Taylor  <iant@google.com>
5641
5642         * godump.c (go_output_var): Don't output the variable if there is
5643         already a type with the same name.
5644
5645 2011-01-11  Ian Lance Taylor  <iant@google.com>
5646
5647         * godump.c (go_format_type): Don't generate float80.
5648
5649 2011-01-11  Richard Henderson  <rth@redhat.com>
5650
5651         * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
5652         declaration.  Rewrite for both speed and size.
5653         (mn10300_address_cost_1): Remove.
5654         (mn10300_register_move_cost): New.
5655         (mn10300_memory_move_cost): New.
5656         (mn10300_rtx_costs): Rewrite for both speed and size.  Don't handle
5657         ZERO_EXTRACT.  Do handle UNSPEC, arithmetic, logicals, compare,
5658         extensions, shifts, BSWAP, CLZ.
5659         (mn10300_wide_const_load_uses_clr): Remove.
5660         (TARGET_REGISTER_MOVE_COST): New.
5661         (TARGET_MEMORY_MOVE_COST): New.
5662         * config/mn10300/mn10300-protos.h: Update.
5663         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
5664
5665         * config/mn10300/constraints.md ("R", "T"): Remove constraints.
5666         * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
5667         * config/mn10300/mn10300-protos.h: Update.
5668         * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
5669         (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
5670         (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
5671         (*test_int_bitfield, *test_byte_bitfield): Remove.
5672         (*bit_test, *subreg_bit_test): Remove.
5673         * config/mn10300/predicates.md (const_8bit_operand): Remove.
5674
5675         * config/mn10300/constraints.md ("c"): Rename from "A".
5676         ("A", "D"): New constraint letters.
5677         * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
5678         (fmssf4, fnmasf4, fnmssf4): Likewise.
5679
5680         * config/mn10300/mn10300.md (isa): New attribute.
5681         (enabled): New attribute.
5682
5683         * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
5684         (abssf2, negsf2): Define only for hardware fp.
5685         (sqrtsf2): Reformat.
5686         (addsf3, subsf3, mulsf3): Merge expander and insn.
5687
5688         * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
5689         (DEBUGGER_AUTO_OFFSET): Remove.
5690         (DEBUGGER_ARG_OFFSET): Remove.
5691
5692         * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
5693         Emit register stores with the same offsets as the hardware.
5694         (mn10300_store_multiple_operation): Don't check that the register
5695         save offsets are monotonic.
5696         * config/mn10300/mn10300-protos.h: Update.
5697
5698         * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
5699
5700         * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
5701         in terms of the value on the stack, not the MDR register.
5702
5703 2011-01-11  Jan Hubicka  <jh@suse.cz>
5704
5705         PR lto/45721
5706         PR lto/45375
5707         * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
5708         (symbol_alias_set_destroy, symbol_alias_set_contains,
5709         propagate_aliases_backward): Declare.
5710         * lto-streamer-out.c (struct sets): New sturcture.
5711         (trivally_defined_alias): New function.
5712         (output_alias_pair_p): Rewrite.
5713         (output_unreferenced_globals): Fix output of alias pairs.
5714         (produce_symtab): Likewise.
5715         * ipa.c (function_and_variable_visibility): Set weak alias destination
5716         as needed in lto.
5717         * varasm.c (symbol_alias_set_t): Remove.
5718         (symbol_alias_set_destroy): Export.
5719         (propagate_aliases_forward, propagate_aliases_backward): New functions
5720         based on ...
5721         (compute_visible_aliases): ... this one; remove.
5722         (trivially_visible_alias): New
5723         (trivially_defined_alias): New.
5724         (remove_unreachable_alias_pairs): Rewrite.
5725         (finish_aliases_1): Reorganize code checking if alias is defined.
5726         * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
5727         in LTO mode.
5728
5729 2011-01-11  Richard Guenther  <rguenther@suse.de>
5730
5731         PR tree-optimization/46076
5732         * tree-ssa.c (useless_type_conversion_p): Conversions from
5733         unprototyped to empty argument list function types are useless.
5734
5735 2011-01-11  Richard Guenther  <rguenther@suse.de>
5736
5737         PR middle-end/45235
5738         * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
5739         volatile MEMs as MEM_READONLY_P.
5740
5741 2011-01-11  Richard Guenther  <rguenther@suse.de>
5742
5743         PR tree-optimization/47239
5744         * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
5745
5746 2011-01-11  Jeff Law  <law@redhat.com>
5747
5748         PR tree-optimization/47086
5749         * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
5750         IVs from statements that might throw.
5751
5752 2011-01-10  Jan Hubicka  <jh@suse.cz>
5753
5754         PR lto/45375
5755         * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
5756
5757 2011-01-10  Jan Hubicka  <jh@suse.cz>
5758
5759         PR lto/45375
5760         * profile.c (read_profile_edge_counts): Ignore profile inconistency
5761         when correcting profile.
5762
5763 2011-01-10  Jan Hubicka  <jh@suse.cz>
5764
5765         PR lto/46083
5766         * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
5767         DECL_FINI_PRIORITY.
5768         * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
5769         Restore DECL_FINI_PRIORITY.
5770
5771 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5772
5773         * doc/gimple.texi: Fix quoting of multi-word return values in
5774         @deftypefn statements.  Ensure presence of return value.  Wrap
5775         overlong @deftypefn lines.
5776         (is_gimple_operand, is_gimple_min_invariant_address): Remove
5777         descriptions of removed functions.
5778         * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
5779         of multi-word return value in @deftypefn statement.
5780
5781 2011-01-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5782
5783         * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
5784         (Conditional Expressions, Logical Operators)
5785         (Statement and operand traversals): Do not indent smallexample
5786         code.  Fix duplicate function argument in example.
5787
5788 2011-01-10  Jeff Law  <law@redhat.com>
5789
5790         PR tree-optimization/47141
5791         * ipa-split.c (split_function): Handle case where we are
5792         returning a value and the return block has a virtual operand phi.
5793
5794 2011-01-10  Jan Hubicka  <jh@suse.cz>
5795
5796         PR tree-optimization/47234
5797         * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
5798         (pass_feedback_split_functions): Declare.
5799         * passes.c (init_optimization_passes): Add ipa-split as subpass of
5800         tree-profile.
5801         * ipa-split.c (gate_split_functions): Update comments; disable
5802         split-functions for profile_arc_flag and branch_probabilities.
5803         (gate_feedback_split_functions): New function.
5804         (execute_feedback_split_functions): New function.
5805         (pass_feedback_split_functions): New global var.
5806
5807 2011-01-10  H.J. Lu  <hongjiu.lu@intel.com>
5808
5809         PR lto/46760
5810         * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
5811         calling gimple_call_set_cannot_inline.
5812
5813 2011-01-10  Iain Sandoe  <iains@gcc.gnu.org>
5814
5815         * config/darwin-sections.def: Remove unused section.
5816
5817 2011-01-10  Dave Korn  <dave.korn.cygwin@gmail.com>
5818
5819         PR c++/47218
5820         * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
5821
5822 2011-01-09  Nicola Pero  <nicola.pero@meta-innovation.com>
5823
5824         PR objc/47232
5825         * c-parser.c (c_parser_declaration_or_fndef): Improved
5826         error message.
5827
5828 2011-01-09  Kai Tietz  <kai.tietz@onevision.com>
5829
5830         * config/i386/winnt.c (i386_pe_start_function): Make sure
5831         to switch back to function's section.
5832
5833 2011-01-09  Iain Sandoe  <iains@gcc.gnu.org>
5834
5835         PR gcc/46902
5836         PR testsuite/46912
5837         * plugin.c: Move include of dlfcn.h from here...
5838         * system.h: ... to here.
5839
5840 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5841
5842         * doc/cpp.texi (C++ Named Operators): Fix markup for header
5843         file name.
5844         * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
5845         two extra empty pages in PDF output.
5846
5847 2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
5848
5849         PR objc/47078
5850         * c-parser.c (c_parser_objc_type_name): If the type is unknown,
5851         for error recovery purposes behave as if it was not specified so
5852         that the default type is usd.
5853
5854 2011-01-07  Jan Hubicka  <jh@suse.cz>
5855
5856         PR tree-optmization/46469
5857         * ipa.c (function_and_variable_visibility): Clear needed flags on
5858         nodes with external decls; handle weakrefs merging correctly.
5859
5860 2011-01-07  Joseph Myers  <joseph@codesourcery.com>
5861
5862         * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
5863         not false.
5864
5865 2011-01-07  Jan Hubicka  <jh@suse.cz>
5866
5867         * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
5868         and no longer claim that gold is required for linker plugin.
5869         * configure: Regenerate.
5870         * gcc.c (PLUGIN_COND): New macro.
5871         (LINK_COMMAND_SPEC): Use it.
5872         (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
5873         * config.in (HAVE_LTO_PLUGIN): New.
5874         * configure.ac (--with-lto-plugin): New parameter; autodetect
5875         HAVE_LTO_PLUGIN.
5876
5877 2011-01-07  Jan Hubicka  <jh@suse.cz>
5878
5879         PR tree-optimization/46367
5880         * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
5881         when we can update original.
5882         (cgraph_mark_inline_edge): Sanity check.
5883         * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
5884
5885 2011-01-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5886
5887         * config/spu/spu.h (ASM_COMMENT_START): Define.
5888
5889 2011-01-07  H.J. Lu  <hongjiu.lu@intel.com>
5890
5891         PR driver/42445
5892         * gcc.c (%>S): New.
5893         (SWITCH_KEEP_FOR_GCC): Likewise.
5894         (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
5895         (do_spec_1): Handle "%>".
5896
5897         * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
5898
5899 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
5900
5901         PR target/47201
5902         * config/i386/i386.c (ix86_delegitimize_address): If
5903         simplify_gen_subreg fails, return orig_x.
5904
5905         PR bootstrap/47187
5906         * value-prof.c (gimple_stringop_fixed_value): Handle
5907         lhs of the call properly.
5908
5909 2011-01-07  Jan Hubicka  <jh@suse.cz>
5910
5911         PR lto/45375
5912         * lto-opt.c (lto_reissue_options): Set flag_shlib.
5913
5914 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
5915
5916         * target.def (function_switched_text_sections): New hook.
5917         * doc/tm.texi: Regenerated.
5918         * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
5919         * final.c (default_function_switched_text_sections): New.
5920         (final_scan_insn): Call function_switched_text_sections when a
5921         mid-function section change occurs.
5922         * output.h (default_function_switched_text_sections): Declare.
5923         * config/darwin-protos.h (darwin_function_switched_text_sections):
5924         Likewise.
5925         * config/darwin.c (darwin_function_switched_text_sections): New.
5926         * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
5927
5928 2011-01-07  Iain Sandoe  <iains@gcc.gnu.org>
5929
5930         * dwarf2out.c (gen_subprogram_die):  Add pubnames with code ranges for
5931         DWARF >= 3.  Add pubnames for the primary section and a reduced DIE for
5932         the secondary code fragment when outputting for DWARF == 2.
5933
5934 2011-01-07  Anatoly Sokolov  <aesok@post.ru>
5935
5936         * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5937         * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
5938         Remove.
5939         * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
5940         (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5941
5942 2011-01-06  Eric Botcazou  <ebotcazou@adacore.com>
5943
5944         PR debug/46704
5945         * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
5946         when it is not empty.
5947
5948 2011-01-06  Changpeng Fang  <changpeng.fang@amd.com>
5949
5950         Bobcat Enablement
5951         * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
5952         (case ${target}): Add btver1.
5953         * config/i386/driver-i386.c (host_detect_local_cpu): Let
5954         -march=native recognize btver1 processors.
5955         * config/i386/i386-c.c (ix86_target_macros_internal): Add
5956         btver1 def_and_undef
5957         * config/i386/i386.c (struct processor_costs btver1_cost): New
5958         btver1 cost table.
5959         (m_BTVER1): New definition.
5960         (m_AMD_MULTIPLE): Includes m_BTVER1.
5961         (initial_ix86_tune_features): Add btver1 tune.
5962         (processor_target_table): Add btver1 entry.
5963         (static const char *const cpu_names): Add btver1 entry.
5964         (software_prefetching_beneficial_p): Add btver1.
5965         (ix86_option_override_internal): Add btver1 instruction sets.
5966         (ix86_issue_rate): Add btver1.
5967         (ix86_adjust_cost): Add btver1.
5968         * config/i386/i386.h (TARGET_BTVER1): New definition.
5969         (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
5970         (enum processor_type): Add PROCESSOR_BTVER1.
5971         * config/i386/i386.md (define_attr "cpu"): Add btver1.
5972
5973 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5974
5975         PR target/43309
5976         * config/i386/i386.c (legitimize_tls_address)
5977         <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
5978         * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
5979         (tls_initial_exec_64_sun): New pattern.
5980
5981 2011-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
5982
5983         * doc/invoke.texi (Overall Options): Improve wording and markup
5984         of the description of -wrapper.
5985
5986 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
5987
5988         * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
5989         rdynamic, threads): New Driver options.
5990
5991 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5992
5993         PR target/38118
5994         * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
5995         if coming from .tdata.
5996         * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
5997
5998 2011-01-06  Jan Hubicka  <jh@suse.cz>
5999
6000         PR lto/47188
6001         * collect2.c (main): Do not enable LTOmode when plugin is active.
6002
6003 2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6004
6005         PR other/45915
6006         * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
6007         --version output if supported.
6008         * configure: Regenerate.
6009
6010 2011-01-06  Joseph Myers  <joseph@codesourcery.com>
6011
6012         * config/linux-android.opt (tno-android-cc, tno-android-ld): New
6013         Driver options.
6014
6015 2011-01-06  Jakub Jelinek  <jakub@redhat.com>
6016
6017         PR c/47150
6018         * c-convert.c (convert): When converting a complex expression
6019         other than COMPLEX_EXPR to a different complex type, ensure
6020         c_save_expr is called instead of save_expr, unless in_late_binary_op.
6021         * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
6022         when converting COMPLEX_TYPE.
6023
6024 2011-01-06  Ira Rosen  <irar@il.ibm.com>
6025
6026         PR tree-optimization/47139
6027         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
6028         only the last reduction value is used outside the loop.  Update
6029         documentation.
6030
6031 2011-01-05  Joseph Myers  <joseph@codesourcery.com>
6032
6033         * config/rtems.opt: New.
6034         * config.gcc (*-*-rtems*): Use rtems.opt.
6035
6036 2011-01-05  Changpeng Fang  <changpeng.fang@amd.com>
6037
6038         * config/i386/i386.c (ix86_option_override_internal): Bulldozer
6039         processors do not support 3DNow instructions.
6040
6041 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6042
6043         * config/spu/spu.c (spu_option_override): Set parameter
6044         PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
6045
6046 2011-01-05  Jan Hubicka  <jh@suse.cz>
6047
6048         * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
6049         at the command line.
6050
6051 2011-01-05  Martin Jambor  <mjambor@suse.cz>
6052
6053         PR lto/47162
6054         * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
6055         deltas on streamed outgoing edges.
6056         (output_node_opt_summary): Output info for outgoing edges only when
6057         the node is in new parameter set.
6058         (output_cgraph_opt_summary): New parameter set, passed to the two
6059         aforementioned functions.  Update its forward declaration and its
6060         callee too.
6061
6062 2011-01-05  Tom Tromey  <tromey@redhat.com>
6063
6064         * c-parser.c (c_parser_omp_atomic): Pass location of assignment
6065         operator to c_finish_omp_atomic.
6066         * c-typeck.c (lvalue_or_else): Add 'loc' argument.
6067         (build_unary_op): Update.
6068         (build_modify_expr): Update.
6069         (build_asm_expr): Update.
6070
6071 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6072
6073         * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
6074         newly inserted insns.
6075         (pad_bb): Likewise.
6076         (spu_emit_branch_hint): Likewise.
6077         (insert_hbrp_for_ilb_runout): Likewise.
6078         (spu_machine_dependent_reorg): Call df_finish_pass after
6079         schedule_insns returns.
6080
6081 2011-01-05  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6082
6083         * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
6084
6085 2011-01-05  Eric Botcazou  <ebotcazou@adacore.com>
6086
6087         PR tree-optimization/47005
6088         * tree-sra.c (struct access): Add 'non_addressable' bit.
6089         (create_access): Set it for a DECL_NONADDRESSABLE_P field.
6090         (decide_one_param_reduction): Return 0 if the parameter is passed by
6091         reference and one of the accesses in the group is non_addressable.
6092
6093 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
6094
6095         PR tree-optimization/47056
6096         * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
6097         (mark_load): Likewise.  Handle FUNCTION_DECL specially.
6098         (mark_store): Likewise.  Pass STMT to ipa_record_reference.
6099
6100 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
6101
6102         * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
6103         initializer.  Skip view conversions from aggregate types.
6104
6105 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
6106
6107         PR bootstrap/47055
6108         * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
6109
6110 2011-01-04  Philipp Thomas  <pth@suse.de>
6111
6112         * config/microblaze/microbalse.opt (mxl-float-convert): Fix
6113         obvious typo.
6114
6115 2011-01-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6116
6117         * function.c (thread_prologue_and_epilogue_insns): Do not crash
6118         on empty epilogue sequences.
6119
6120 2011-01-04  Joseph Myers  <joseph@codesourcery.com>
6121
6122         * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
6123         non-static): New Driver options.
6124
6125 2011-01-04  Jie Zhang  <jie@codesourcery.com>
6126
6127         PR driver/47137
6128         * gcc.c (default_compilers[]): Set combinable field to 0
6129         for all assembly languages.
6130
6131 2011-01-04  Mingjie Xing  <mingjie.xing@gmail.com>
6132
6133         * config/mips/loongson3a.md: New file.
6134         * config/mips/mips.md: Include loongson3a.md.
6135         * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
6136         TUNE_LOONGSON_3A.
6137
6138 2011-01-03  Eric Botcazou  <ebotcazou@adacore.com>
6139
6140         PR middle-end/47017
6141         * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
6142         instead of convert_memory_address_addr_space on the base expression.
6143
6144 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6145
6146         * config/spu/spu.c (spu_option_override): Update error text
6147         for bad -march= / -mtune= values.
6148
6149 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6150
6151         * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
6152         if branch-hint optimization will be performed.
6153
6154 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
6155
6156         PR tree-optimization/47148
6157         * ipa-split.c (split_function): Convert arguments to
6158         DECL_ARG_TYPE if possible.
6159
6160         PR tree-optimization/47155
6161         * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
6162         when computing uns.
6163
6164         PR rtl-optimization/47157
6165         * combine.c (try_combine): If undobuf.other_insn becomes
6166         (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
6167         and set *new_direct_jump_p too.
6168
6169 2011-01-03  Sebastian Pop  <sebastian.pop@amd.com>
6170
6171         PR tree-optimization/47021
6172         * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
6173
6174 2011-01-03  Jakub Jelinek  <jakub@redhat.com>
6175
6176         * gcc.c (process_command): Update copyright notice dates.
6177         * gcov.c (print_version): Likewise.
6178         * gcov-dump.c (print_version): Likewise.
6179         * mips-tfile.c (main): Likewise.
6180         * mips-tdump.c (main): Likewise.
6181
6182 2011-01-03  Martin Jambor  <mjambor@suse.cz>
6183
6184         PR tree-optimization/46801
6185         * tree-sra.c (type_internals_preclude_sra_p): Check whether
6186         aggregate fields start at byte boundary instead of the bit-field flag.
6187
6188 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
6189
6190         PR driver/47137
6191         * gcc.c (main): Revert revision 168407.
6192
6193 2011-01-03  Martin Jambor  <mjambor@suse.cz>
6194
6195         * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
6196
6197 2011-01-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
6198
6199         * tree-vect-generic.c (expand_vector_operations_1): When using vector/
6200         vector optab to expand vector/scalar shift, update gimple to vector.
6201
6202 2011-01-03  Martin Jambor  <mjambor@suse.cz>
6203
6204         * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
6205         a thunk.
6206
6207 2011-01-03  Martin Jambor  <mjambor@suse.cz>
6208
6209         PR tree-optimization/46984
6210         * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
6211         HOST_WIDE_INT.
6212         (cgraph_create_indirect_edge): Fixed line length.
6213         (cgraph_indirect_call_info): Declare.
6214         (cgraph_make_edge_direct) Update declaration.
6215         * cgraph.c (cgraph_allocate_init_indirect_info): New function.
6216         (cgraph_create_indirect_edge): Use it.
6217         (cgraph_make_edge_direct): Made delta HOST_WIDE_INT.  Updated all
6218         callees.
6219         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
6220         the new thunk_delta representation.
6221         * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
6222         HOST_WIDE_INT.
6223         (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
6224         (ipa_read_indirect_edge_info): Likewise.
6225         * lto-cgraph.c (output_edge_opt_summary): New function.
6226         (output_node_opt_summary): Call it on all outgoing edges.
6227         (input_edge_opt_summary): New function.
6228         (input_node_opt_summary): Call it on all outgoing edges.
6229
6230 2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
6231
6232         PR driver/47137
6233         * gcc.c (main): Don't check have_o when settting combine_inputs.
6234
6235 2011-01-02  Eric Botcazou  <ebotcazou@adacore.com>
6236
6237         * regrename.c: Add general comment describing the pass.
6238         (struct du_head): Remove 'length' field.
6239         (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
6240         (regrename_optimize): Do not sort chains.  Rework comments, add others.
6241         Force renaming to the preferred class (if any) in the first pass and do
6242         not consider registers that belong to it in the second pass.
6243         (create_new_chain): Do not set 'length' field.
6244         (scan_rtx_reg): Likewise.
6245
6246 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
6247
6248         PR tree-optimization/47140
6249         * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
6250         TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
6251         to bit_value_binop.
6252
6253         PR rtl-optimization/47028
6254         * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
6255         parm_birth_insn instead of at the beginning of first bb.
6256
6257 2011-01-02  Mingjie Xing  <mingjie.xing@gmail.com>
6258
6259         * doc/generic.texi: Remove duplicated "@subsubsection Statements".
6260         Remove the word "see" before "@pxref".
6261         * doc/rtl.texi: Remove the word "see" before "@pxref".
6262
6263 2011-01-01  Jan Hubicka  <jh@suse.cz>
6264
6265         * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
6266         memory.
6267
6268 2011-01-01  Kai Tietz  <kai.tietz@onevision.com>
6269
6270         PR target/38662
6271         * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
6272
6273 \f
6274 Copyright (C) 2011 Free Software Foundation, Inc.
6275
6276 Copying and distribution of this file, with or without modification,
6277 are permitted in any medium without royalty provided the copyright
6278 notice and this notice are preserved.