OSDN Git Service

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