OSDN Git Service

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