OSDN Git Service

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