OSDN Git Service

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