OSDN Git Service

2010-10-20 Vladimir Makarov <vmakarov@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-10-20  Vladimir Makarov  <vmakarov@redhat.com>
2
3         PR fortran/42169
4         * ira-emit.c (store_can_be_removed_p): Return false instead of
5         gcc_unreachable.
6
7 2010-10-20  Dmitry Melnik  <dm@ispras.ru>
8
9         * fold-const.c (fold_binary_loc): New transformation.
10
11 2010-10-20  H.J. Lu  <hongjiu.lu@intel.com>
12
13         PR target/46085
14         * config/i386/sse.md (reduc_splus_v8sf): Updated.
15         (reduc_splus_v4df): Likewise.
16
17 2010-10-20  Richard Guenther  <rguenther@suse.de>
18
19         PR tree-optimization/45860
20         * tree-ssa-phiopt.c (cond_store_replacement): Do not do
21         conditional store replacement for non-register type stores.
22
23 2010-10-20  Eric Botcazou  <ebotcazou@adacore.com>
24
25         * stor-layout.c (skip_simple_constant_arithmetic): New function.
26         (self_referential_size): Use it instead of skip_simple_arithmetic.
27
28 2010-10-20  Olivier Hainque  <hainque@adacore.com>
29
30         * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
31         If the current function calls eh_return, claim live all registers
32         that we need to check for liveness otherwise.
33
34 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
35
36         * c-decl.c (c_write_global_declarations): Call
37         objc_write_global_declarations when compiling Objective-C.
38         * c-lang.c (finish_file): Removed.
39
40 2010-10-19  DJ Delorie  <dj@redhat.com>
41
42         * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
43         (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
44         (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
45         (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
46         * doc/tm.texi: Regenerate.
47         * targhooks.h (default_label_align_after_barrier_max_skip,
48         default_loop_align_max_skip, default_label_align_max_skip,
49         default_jump_align_max_skip): Declare.
50         * target.def (label_align_after_barrier_max_skip): New.
51         (loop_align_max_skip): New.
52         (label_align_max_skip): New.
53         (jump_align_max_skip): New.
54         * system.h (poison): Add those macros to the list.
55         * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
56         (LOOP_ALIGN_MAX_SKIP): Remove.
57         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
58         (JUMP_ALIGN_MAX_SKIP): Remove.
59         (default_label_align_after_barrier_max_skip): New.
60         (default_loop_align_max_skip): New.
61         (default_label_align_max_skip): New.
62         (default_jump_align_max_skip): New.
63         (compute_alignments): Use the new hooks.
64         (shorten_branches): Likewise.
65         
66 2010-10-19  Richard Henderson  <rth@redhat.com>
67
68         * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
69         * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
70         (fma4i_fmadd_<mode>): New.
71         (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
72         fma4_fm*_<mode> and adjust to be pre-reload splitters to the 
73         standard fma patterns.
74         (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
75         enable for FMA.
76         (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
77         (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
78         (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
79
80 2010-10-19  Paul Koning  <pkoning@equallogic.com>
81
82         * lower-subreg.c (resolve_shift_zext): Delete conditional code for
83         WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
84
85 2010-10-19  Richard Henderson  <rth@redhat.com>
86
87         * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
88         (fmadf4, *fmsdf4, *nfmadf4): New.
89         (fmaxf4, *fmsxf4, *nfmaxf4): New.
90
91 2010-10-19  Michael Eager  <eager@eagercon.com>
92
93         * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO): 
94         Use sjlj unwind info for exceptions.
95
96 2010-10-19  Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
97
98         PR fortran/43414
99         * dwarf2out.c (add_calling_convention_attribute): Flag main
100         Fortran subroutine with DW_AT_main_subprogram.
101
102 2010-10-19  Nick Clifton  <nickc@redhat.com>
103
104         * config/rx/rx.c (rx_function_value): Small integer types are
105         promotes to SImode.
106         (rx_promote_function_mode): New function.
107         (TARGET_PROMOTE_FUNCTION_MODE): Define.
108
109 2010-10-19  Nick Clifton  <nickc@redhat.com>
110
111         * config/mep/mep.c (mep_print_operand): Use
112         targetm.strip_name_encoding.
113         (mep_output_aligned_common): Likewise.
114
115 2010-10-19  Basile Starynkevitch  <basile@starynkevitch.net>
116         * gengtype.c (new_structure): Remove ad-hoc "location_s"
117         processing.
118
119 2010-10-18  Richard Henderson  <rth@redhat.com>
120
121          * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
122         (fma (neg a) (neg b) c) and (fma a (neg b) c).
123
124 2010-10-18  Richard Henderson  <rth@redhat.com>
125
126         * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
127         IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
128         IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
129         IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
130         IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
131         IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
132         IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
133         IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
134         IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
135         IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
136         (bdesc_multi_arg): Remove the corresponding builtins.
137         * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
138         (UNSPEC_FMA4_FMSUBADD): Remove.
139         (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
140         * config/i386/sse.md (FMA4MODEF4): Remove.
141         (FMAMODE): Add.
142         (fma<mode>4): New expander.
143         (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
144         and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
145         (*fma4i_fmsub_<mode>): Similarly.
146         (*fma4i_fnmadd_<mode>): Similarly.
147         (*fma4i_fnmsub_<mode>): Similarly.
148         (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
149         with the first operand.
150         (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
151         of explicit arithmetic.  Macroize with AVXMODEF2P.
152         (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
153         (xop_frcz<mode>2): Macroize with FMAMODE.
154         (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
155         the first operand.
156         * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
157         extra negations.
158         (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
159         (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
160         (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
161         (_mm256_msub_ps, _mm256_msub_pd): Likewise.
162         (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
163         (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
164         (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
165         (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
166
167 2010-10-18  Bernd Schmidt  <bernds@codesourcery.com>
168
169         PR rtl-optimization/45966
170         * combine.c (try_combine): If added_sets_2, deal with the case
171         where i0 feeds i1 and i1 feeds i2.
172
173 2010-10-18  Jan Hubicka  <jh@suse.cz>
174
175         * ipa.c (cgraph_externally_visible_p): Handle externally visible and
176         preserve flags before trying to guess on visibility.
177         (varpool_externally_visible_p): New function.
178         (function_and_variable_visibility): Use it.
179
180 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
181
182         Implemented parsing @synthesize and @dynamic for Objective-C.
183         * c-parser.c (c_parser_external_declaration): Recognize
184         RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
185         (c_parser_objc_at_synthesize_declaration): New.
186         (c_parser_objc_at_dynamic_declaration): New.
187
188 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
189         
190         * c-parser.c (c_parser_objc_class_declaration): After finding an
191         error, parse the whole declaration then reset parser->error.
192         
193 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
194
195         PR target/46041
196         * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
197         * builtins.c (mode_has_fma): Ditto.
198
199 2010-10-18  Steve Ellcey  <sje@cup.hp.com>
200
201         PR target/36898
202         PR middle-end/43760
203         * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
204
205 2010-10-18  Joseph Myers  <joseph@codesourcery.com>
206
207         * config/i386/i386.c (ix86_option_override_internal): Define and
208         use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
209         default.
210         * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
211         (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
212
213 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
214
215         Merge from 'apple/trunk' branch on FSF servers. 
216         * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
217         following Objective-C change:
218
219         2005-10-10  Fariborz Jahanian <fjahanian@apple.com>
220
221         Radar 4301047
222         * c-parse.in (objc_quals): Build objc qualifier list same way
223         as gcc-3.3
224
225 2010-10-18  Jan Hubicka  <jh@suse.cz>
226
227         * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
228         function_and_variable_visibility): Revert accidental commit.
229
230 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
231
232         Merge from 'apple/trunk' branch on FSF servers.
233         * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
234         the following Objective-C change:
235
236         2005-10-07  Fariborz Jahanian <fjahanian@apple.com>
237
238         Radar 4204796
239         * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
240         'volatilized' type used in a typeof operator.
241
242 2010-10-18  Eric Botcazou  <ebotcazou@adacore.com>
243
244         * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
245         * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
246         rewrite modelled on gimple_purge_dead_eh_edges.
247         (gimple_purge_all_dead_abnormal_call_edges): New function.
248         * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
249         directly instead of through gimple_purge_dead_abnormal_call_edges.
250         * tree-ssa-pre.c (need_ab_cleanup): New static variable.
251         (eliminate): Set bit in need_ab_cleanup for the basic block if we have
252         removed AB side-effects from one of its statements.
253         (init_pre): Initialize need_ab_cleanup.
254         (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
255         are set in need_ab_cleanup.  Free need_ab_cleanup afterward.
256
257 2010-10-18  Jakub Jelinek  <jakub@redhat.com>
258
259         PR c/46015
260         * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
261         on computed goto argument.
262
263 2010-10-18  Richard Guenther  <rguenther@suse.de>
264
265         PR tree-optimization/45967
266         * tree-ssa-structalias.c (type_could_have_pointers): Remove.
267         (could_have_pointers): Likewise.
268         (handle_rhs_call, handle_const_call, handle_pure_call,
269         find_func_aliases, intra_create_variable_infos): Remove calls to them.
270         (struct fieldoff): Add must_have_pointers field.
271         (type_must_have_pointers): New function.
272         (field_must_have_pointers): Likewise.
273         (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
274         Adjust field merging.
275         (create_function_info_for): May-have-pointers of varinfo is
276         almost always true.
277         (create_variable_info_for_1): Likewise.
278
279 2010-10-18  Tejas Belagod  <tejas.belagod@arm.com>
280
281         * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
282         of operands to vec_concat.
283
284 2010-10-18  Richard Guenther  <rguenther@suse.de>
285
286         PR lto/44950
287         * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
288         also clear references to entries of it.
289
290 2010-10-18  Andi Kleen  <ak@linux.intel.com>
291
292         PR other/43448
293         * gccbug.in: Remove.
294         * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
295         (doc, distclean, install-common): Remove reference to gccbug.
296         * configure: Regenerate.
297         * configure.ac (all_outputs): Remove gccbug.
298         * doc/configfiles.texi: Remove references to gccbug.
299         * doc/sourcebuild.texi: Dito.
300
301 2010-10-18  Jakub Jelinek  <jakub@redhat.com>
302
303         PR middle-end/46019
304         * fold-const.c (fold_binary_loc): If integer_pow2p has
305         TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
306
307 2010-10-18  Basile Starynkevitch  <basile@starynkevitch.net>
308             Jeremie Salvucci  <jeremie.salvucci@free.fr>
309
310         * gengtype.c (verbosity_level): Add variable.
311         (set_gc_used): Count variables for verbosity.
312         (close_output_files): Backing up files, counting written ones
313         verbosily.
314         (write_types): Count emitted functions for verbosity. Added
315         debug messages.
316         (write_enum_defn): Count structures for verbosity. Added debug
317         messages.
318         (gengtype_long_options): Add "verbose" & "backupdir".
319         (print_usage): Ditto.
320         (main): Verbose display of parsed files.
321
322         * gengtype.h (verbosity_level): Add declaration.
323
324 2010-10-18  Basile Starynkevitch  <basile@starynkevitch.net>
325
326         * gengtype.c (parse_program_options): Add allocation of
327         plugin_files, and correct test on nb_plugin_files.
328
329 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
330
331         Merge from 'apple/trunk' branch on FSF servers.
332         
333         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
334
335         Radar 4133425
336         * c-decl.c (undeclared_variable): Issue diagnostic on
337         private 'ivar' access.
338         
339 2010-10-17  Uros Bizjak  <ubizjak@gmail.com>
340
341         PR target/46051
342         * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
343         generated sequence to match *avx_vperm2f128<mode>_nozero.
344         (vec_interleave_lowv4df): Ditto.
345         (vec_interleave_highv8sf): Ditto.
346         (vec_interleave_lowv8sf): Ditto.
347
348 2010-10-17  Kai Tietz  <kai.tietz@onevision.com>
349
350         * libgcov.c (create_file_directory): Enable it for win32 case.
351         (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
352         * doc/gcov.texi (GCOV_PREFIX): Adjusted.
353         (GCOV_PREFIX_SKIP): Likewise.
354
355 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
356
357         * doc/objc.texi (GNU Objective-C runtime API): New section.
358         (Modern GNU Objective-C runtime API): New section.
359         (Traditional GNU Objective-C runtime API): New section.
360         (Executing code before main): Mention that this section is
361         specific to the GNU Objective-C runtime.
362         (Garbage Collection): Same.
363
364 2010-10-17  Uros Bizjak  <ubizjak@gmail.com>
365
366         * c-parser.c (c_parser_for_statement): Move initialization of
367         cond and incr before if.
368
369 2010-10-17  Anatoly Sokolov  <aesok@post.ru>
370
371         * target.def (preferred_output_reload_class): New hook.
372         * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
373         * doc/tm.texi: Regenerate.
374         * targhooks.c (default_preferred_output_reload_class): New function.
375         * targhooks.h (default_preferred_output_reload_class): Declare.
376         * reload.c (find_dummy_reload): Change rclass argument type from
377         enum reg_class to reg_class_t. Change this_alternative array type
378         from enum reg_class to reg_class_t.
379         Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
380         (push_reload): Change preferred_class variable type to reg_class_t.
381         Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
382         * recog.c (reg_fits_class_p): Change result type to bool. Change cl
383         argument type from enum reg_class to reg_class_t. Use
384         HARD_REGISTER_NUM_P predicate.
385         * recog.h (reg_fits_class_p): Update prototype.
386
387         * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
388         * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
389         Remove.
390         * config/i386/i386.c (ix86_preferred_output_reload_class): Make
391         static. Change regclass argument and result types from enum reg_class
392         to reg_class_t.
393         (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
394
395 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
396
397         * c-parser.c (c_parser_objc_class_instance_variables): Update to use
398         visibility enum, and handle @package.
399
400 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
401
402         * doc/objc.texi (What you can and what you cannot do in +load):
403         Document that sending messages to constant string objects in +load
404         is not guaranteed to work.
405
406 2010-10-16  Jan Hubicka  <jh@suse.cz>
407
408         PR middle-end/44206
409         * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
410         existence of refrences before removing the function.
411
412 2010-10-16  Jan Hubicka  <jh@suse.cz>
413
414         * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
415         only_called_at_startup and only_called_at_exit.
416         (cgraph_propagate_frequency): Compute only_called_at_startup and
417         only_called_at_exit.
418         * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
419         only_called_at_exit.
420         * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
421         flags.
422         * predict.c (compute_function_frequency): Initialize the new flags.
423
424 2010-10-16  Eric Botcazou  <ebotcazou@adacore.com>
425
426         * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
427         ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
428         on the bounds of its domain.
429         * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
430
431 2010-10-16  Anatoly Sokolov  <aesok@post.ru>
432
433         * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
434         * config/avr/avr-protos.h (preferred_reload_class): Remove.
435         * config/avr/avr.c (preferred_reload_class): Remove.
436         * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
437         * config/pa/pa.c (emit_move_sequence): Update comment
438         * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
439         * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
440         * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
441         * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
442         * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
443         * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
444         * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
445         * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
446         * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
447         * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
448         * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
449         * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
450         * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
451
452 2010-10-16  Joseph Myers  <joseph@codesourcery.com>
453
454         * opts.c (set_fast_math_flags,
455         set_unsafe_math_optimizations_flags): Make static.
456         * toplev.h (set_fast_math_flags,
457         set_unsafe_math_optimizations_flags): Remove prototypes.
458
459 2010-10-16  Joseph Myers  <joseph@codesourcery.com>
460
461         * config/arm/arm.c (arm_option_optimization): Set
462         flag_section_anchors to 1 not 2.
463         * config/i386/i386.c (ix86_option_override_internal): Check
464         global_options_set.x_flag_zee and
465         global_options_set.x_flag_omit_frame_pointer.
466         (ix86_option_optimization): Don't set flag_omit_frame_pointer and
467         flag_zee to 2.
468         * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
469         global_options_set.x_flag_omit_frame_pointer.
470         * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
471         opts->x_flag_section_anchors to 1 not 2.
472         * config/sh/sh.c (sh_option_optimization): Don't set
473         flag_schedule_insns to 2.
474         (sh_option_override): Check
475         global_options_set.x_flag_schedule_insns.
476         * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
477
478 2010-10-16  Kai Tietz  <kai.tietz@onevision.com>
479
480         * configure.ac: Make sure inhibit_libc remains false for mingw targets
481         as cross.
482         * configure: Regenerated.
483
484 2010-10-15  Xinliang David Li  <davidxl@google.com>
485
486         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
487         function.
488         (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
489         into a recursive function.
490
491 2010-10-15  Uros Bizjak  <ubizjak@gmail.com>
492
493         * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
494         (*movdfcc_1): ditto.
495
496 2010-10-15  Joseph Myers  <joseph@codesourcery.com>
497
498         * target.def (target_option.init_struct): New hook.
499         * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
500         * doc/tm.texi: Regenerate.
501         * hooks.c (hook_void_gcc_optionsp): New.
502         * hooks.h (hook_void_gcc_optionsp): Declare.
503         * langhooks-def.h (lhd_init_options_struct): Remove.
504         (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
505         * langhooks.c (lhd_init_options_struct): Remove.
506         * opts.c (init_options_struct): Also call
507         targetm.target_option.init_struct.
508         * config/i386/i386.c (ix86_option_init_struct,
509         TARGET_OPTION_INIT_STRUCT): New.
510         (ix86_option_optimization): Move some settings to
511         ix86_option_init_struct.
512         * config/pdp11/pdp11.c (pdp11_option_init_struct,
513         TARGET_OPTION_INIT_STRUCT): New.
514         (pdp11_option_optimization): Move some settings to
515         pdp11_option_init_struct.
516         * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
517         rs6000_option_init_struct.  Use options structure pointer.
518         (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
519         * config/s390/s390.c (s390_option_init_struct,
520         TARGET_OPTION_INIT_STRUCT): New.
521         (s390_option_optimization): Don't set
522         flag_asynchronous_unwind_tables here.
523         * config/sh/sh.c (sh_option_init_struct,
524         TARGET_OPTION_INIT_STRUCT): New.
525         (sh_option_optimization): Don't set flag_finite_math_only here.
526         * config/spu/spu.c (spu_option_optimization): Replace by
527         spu_option_optimization.  Use options structure pointer.
528         (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
529
530 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
531
532         * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
533
534         * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary.  Add
535         SIGN_EXTRACT and ZERO_EXTRACT which were missing.
536         (Standard names): Document fma.
537
538         * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
539         __FP_FAST_FMAF, __FP_FAST_FMAL.
540
541         * builitns.c (expand_builtin_mathfn_ternary): New function for
542         expanding ternary math functions, like fma.
543         (expand_builtin): Call it for the fma builtins.
544
545         * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
546         ops at present.
547
548         * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
549         vectorizable functions to support vectorizing fma.
550
551         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
552         Handle fma builtins.
553
554         * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
555         (UNSPEC_VSX_MSUB): Ditto.
556         (UNSPEC_VSX_NMADD): Ditto.
557         (UNSPEC_VSX_NMSUB): Ditto.
558         (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
559         of UNSPEC. Renumber combiner patterns.
560         (vsx_fmsub<mode>4*): Ditto.
561         (vsx_fnmadd<mode>4*): Ditto.
562         (vsx_fnmsub<mode>4*): Ditto.
563
564         * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
565         (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
566         multiply/add.  Rename combiner pattern, and add TARGET_FUSED_MADD test.
567         (altivec_vmaddfp_1): Ditto.
568         (altivec_vmaddfp_2): Ditto.
569         (atlivec_mulv4sf3): Ditto.
570         (altivec_vnmsubfp): Ditto.
571         (altivec_vnmsubfp_1): Ditto.
572         (altivec_vnmsubfp_2): Ditto.
573         (altivec_vnmsubfp_3): Delete.
574
575         * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
576         (fmasf4_fpr): Ditto.
577         (fmssf4_fpr): Ditto.
578         (fnmasf4_fpr): Ditto.
579         (fnmssf4_fpr): Ditto.
580         (fmadf4): Ditto.
581         (fmadf4_fpr): Ditto.
582         (fmsdf4_fpr): Ditto.
583         (fnmadf4_fpr): Ditto.
584         (fnmsdf4_fpr): Ditto.
585
586         * optabs.h (OTI_fma): Add fma optab.
587         (fma_optab): Ditto.
588
589         * genopinit.c (optabs): Set fma optab.
590
591         * rtl.def (FMA): Add FMA rtl.
592
593         * tree.h (mode_has_fma): New function to return if MODE supports a
594         fast multiply and add instruction.
595         * builtins.c (mode_has_fma): Ditto.
596
597 2010-10-15  Jan Hubicka  <jh@suse.cz>
598
599         * lto-streamer-out.c (write_symbol): Use pointer set of seen
600         objects instead of bitmap.
601         (produce_symtab): Likewise; output defined symbols first.
602
603 2010-10-15  Jie Zhang  <jie@codesourcery.com>
604
605         * doc/invoke.texi: Add -fstrict-volatile-bitfields to
606         Option Summary and Index.
607
608 2010-10-15  Richard Guenther  <rguenther@suse.de>
609
610         * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
611         for automatic variables again.
612
613 2010-10-15  Joseph Myers  <joseph@codesourcery.com>
614
615         * doc/extend.texi (Variable Length): Don't refer to VLAs not
616         conforming to C99.
617
618 2010-10-15  Joseph Myers  <joseph@codesourcery.com>
619
620         * config/rx/rx.c (rx_option_optimization): Change to
621         rx_override_options_after_change.  Don't change
622         flag_lto_compression_level.  Don't check for changes to whether
623         FPU instructions can be used.  Check and set only
624         flag_finite_math_only, not other fast-math flags.
625         (rx_option_override): Call rx_override_options_after_change.
626         (TARGET_OPTION_OPTIMIZATION): Remove.
627         (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
628
629 2010-10-15  Joseph Myers  <joseph@codesourcery.com>
630
631         * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
632         disable section anchors for lang_hooks.name[4] != 'O'.
633
634 2010-10-15  Joseph Myers  <joseph@codesourcery.com>
635
636         * config/frv/frv.c (frv_option_optimization,
637         TARGET_OPTION_OPTIMIZATION): Remove.
638         * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
639
640 2010-10-15  Michael Matz  <matz@suse.de>
641
642         * cgraphunit.c (clone_of_p): Define unconditionally.
643
644 2010-10-15  Richard Guenther  <rguenther@suse.de>
645
646         PR lto/45957
647         * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
648
649 2010-10-15  Chung-Lin Tang  <cltang@codesourcery.com>
650
651         * ifcvt.c (find_active_insn_before): New function.
652         (find_active_insn_after): New function.
653         (cond_exec_process_if_block): Use new functions to replace
654         prev_active_insn() and next_active_insn().
655
656 2010-10-14  Yao Qi  <yao@codesourcery.com>
657
658         PR target/45447
659         * config/arm/arm.c (arm_build_builtin_va_list): Assign
660         va_list_name to TYPE_STUB_DECL (va_list_type).
661
662 2010-10-14  Jan Hubicka  <jh@suse.cz>
663
664         PR middle-end/45621
665         * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
666         redirected to clone, be happy.
667         * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
668         * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
669         former_clone_of unconditionally.
670
671 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
672
673         Merge from FSF apple 'trunk' branch.
674         2006 Fariborz Jahanian <fjahanian@apple.com>
675
676         Radars 4436866, 4505126, 4506903, 4517826
677         * c-parser.c (c_parser, objc_property_attr_context) New flag.
678         (c_lex_one_token): Handle property attributes.
679         (c_parser_external_declaration): Handle @property.
680         (c_parser_declaration_or_fndef): Warn on invalid attributes before
681         @alias, @class, @end and @property objc keywords.
682         (c_parser_objc_methodprotolist): Handle @property.
683         (c_parser_objc_property_attrlist): New.
684         (c_parser_objc_at_property): New.
685         * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
686         (build_modify_expr): Likewise.
687
688 2010-10-14  Jakub Jelinek  <jakub@redhat.com>
689
690         PR tree-optimization/46008
691         * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
692
693 2010-10-14  Richard Guenther  <rguenther@suse.de>
694
695         PR tree-optimization/44913
696         * tree-data-ref.c (disjoint_objects_p): Remove.
697         (dr_may_alias_p): Simplify.  Only hand the base object to
698         the alias-oracle.
699         * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
700         some more trees, bail out instead of asserting.
701         (ptr_derefs_may_alias_p): Likewise.  Export.
702         (refs_may_alias_p_1): Handle STRING_CSTs.
703         * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
704
705 2010-10-14  Joseph Myers  <joseph@codesourcery.com>
706
707         PR c/45969
708         * c-typeck.c (build_binary_op): Don't try to compute a semantic
709         type with excess precision for boolean operations.
710
711 2010-10-14  Jeremie Salvucci  <jeremie.salvucci@free.fr>
712             Basile Starynkevitch  <basile@starynkevitch.net>
713
714         * gengtype.c:  Include getopt.h and version.h.
715
716         (lang_bitmap, struct outf, outf_p)
717         (get_output_file_with_visibility, oprintf): Definitions moved to
718         gengtype.h
719         (output_files, header_file, srcdir, srcdir_len, this_file)
720         (do_dump): No more static variables.
721         (do_debug): New.
722         (dbgprint_count_type_at): Added new function.
723         (gengtype_long_options): New.
724         (print_usage, print_version, parse_program_options): New.
725         (main): Call parse_program_options, and removed old option
726         handling code.  Added some debug output.
727
728         * gengtype.h:  Updated copyright year.
729         (lang_bitmap, struct outf, outf_p, header_file, oprintf)
730         (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
731         Moved from gengtype.c to here.
732         (do_debug, read_state_filename, write_state_filename): New variables.
733         (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
734
735         * Makefile.in:
736         (REVISION): Always defined.
737         (version.o): Removed ifdef REVISION_c.
738         (s-gtype): Pass arguments to build/gengtype program.
739         (build/version.o): Added building rule.
740         (build/gengtype$(build_exeext)): Added build/version.o.
741
742 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
743
744         Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
745         * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
746         __strong macros.
747
748 2010-10-14  Eric Botcazou  <ebotcazou@adacore.com>
749
750         * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
751         may_trap_or_fault_p instead of may_trap_p predicate.
752         * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
753         (substitute_placeholder_in_expr): Likewise.
754         * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
755         flag on MEM_REF nodes.
756         (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
757         flags on INDIRECT_REF nodes.
758
759 2010-10-14  Nathan Froyd  <froydnj@codesourcery.com>
760
761         * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
762         (arm*-*-uclinux*eabi) <tm_file>: Likewise.
763         (arm*-*-eabi*) <tm_file>: Likewise.
764         (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
765         (frv-*-*linux*) <tm_file>: Likewise.
766         * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
767         and associated helper macros.
768         * config/frv/frv-abi.h: Delete.
769
770 2010-10-14  Richard Guenther  <rguenther@suse.de>
771
772         PR lto/44561
773         * tree.def (NULLPTR_TYPE): New tree code.
774         * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
775         * dwarf2out.c (is_base_type): Likewise.
776         (gen_type_die_with_usage): Likewise.
777         * sdbout.c (plain_type_1): Likewise.
778         * tree.c (build_int_cst_wide): Likewise.
779         * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
780
781 2010-10-14  Joseph Myers  <joseph@codesourcery.com>
782
783         * params.c (params_finished): New.
784         (add_params): Assert !params_finished.
785         (finish_params): New.
786         (set_param_value_internal): Take params and params_set
787         parameters.  Assert params_finished.
788         (set_param_value, maybe_set_param_value): Take params and
789         params_set parameters.  Update calls to set_param_value_internal.
790         (set_default_param_value): Assert !params_finished.  Don't use
791         set_param_value_internal.
792         (default_param_value, init_param_values): New.
793         * params.h (struct param_info): Change value to default_value.
794         Remove set.
795         (set_param_value, maybe_set_param_value): Add params and
796         params_set parameters.
797         (PARAM_VALUE): Get parameters from global_options.
798         (PARAM_SET_P): Remove.
799         (finish_params, default_param_value, init_param_values): New.
800         * common.opt (param_values): New Variable.
801         * config/arm/arm.c (arm_option_override): Pass extra arguments to
802         maybe_set_param_value.
803         * config/i386/i386.c (ix86_option_override_internal): Pass extra
804         arguments to maybe_set_param_value.
805         * config/picochip/picochip.c (picochip_option_override): Pass
806         extra arguments to maybe_set_param_value.
807         * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
808         extra arguments to maybe_set_param_value.
809         * config/s390/s390.c (s390_option_override): Use
810         maybe_set_param_value instead of set_param_value.  Pass extra
811         arguments to maybe_set_param_value.
812         * config/sparc/sparc.c (sparc_option_override): Pass extra
813         arguments to maybe_set_param_value.
814         * config/spu/spu.c (spu_option_override): Pass extra arguments to
815         maybe_set_param_value.
816         * opts.c (handle_param): Take opts and opts_set parameters.
817         Update call to set_param_value.
818         (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
819         initial_loop_invariant_max_bbs_in_loop): Remove.
820         (init_options_once): Don't set them.
821         (init_options_struct): Initialize parameters structures.
822         (default_options_optimization): Use default_param_value when
823         restoring defaults.  Update calls to maybe_set_param_value.
824         (finish_options): Update calls to maybe_set_param_value.
825         (common_handle_option): Update calls to handle_param and
826         set_param_value.
827         * toplev.c (DEFPARAM): Update definition for changes to param_info.
828         (general_init): Call finish_params.
829
830 2010-10-14  Nick Clifton  <nickc@redhat.com>
831
832         * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
833         (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
834         (FIRST_PSEUDO_REGISTER): Increase by one.
835         (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
836         (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
837         (MODES_TIEABLE): Call mn10300_modes_tieable.
838         (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
839         (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
840         (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
841         (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
842         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
843         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
844         (mn10300_cc_status_mdep): Delete.
845         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
846         * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
847         the combine-stack-adjust pass.
848         (print_operand): Use the mode of the comparison operation to
849         select the comparison suffix.
850         (notice_update_cc): Delete.
851         (mn10300_secondary_reload_class): Remove test for stack pointer
852         based arithmetic.
853         (output_tst): Rename to mn10300_output_cmp.
854         (impossible_plus_operand): Move into predicates.md.
855         (mn10300_legitimize_address): Make static.
856         (mn10300_legitimate_address_p): Make static.  Only allow SI sized
857         constant pic operands.
858         (mn10300_legitimate_constant_p): New function.
859         (mn10300_case_values_threshold): Make static.
860         (mn10300_hard_regno_mode_ok): New function.
861         (mn10300_modes_tieable): New function.
862         (mn10300_select_cc_mode): New function.
863         * config/mn10300/predicates.md (impossible_plus_operand): Define.
864         * config/mn10300/mn10300-protos.h: Tidy.
865         (mn10300_legitimate_constant_p, mn10300_modes_tieable)
866         (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
867         * config/mn10300/mn10300.md (cc attribute): Delete.  Replace
868         with clobbers or sets of CC_REG.
869         (CC_REG): Define.
870         (mov*): Remove use of CLR instruction.
871         (cbranch_si4_<code>): New pattern/split.
872         (integer_conditional_branch): New pattern.
873         (cbranch_sf4_<code>): New pattern/split.
874         (float_conditional_branch): New pattern.
875         (casesi): Use addsi3 pattern instead of movsi pattern to add and
876         move a value at the same time.
877         (cc0 peepholes): Remove.
878
879 2010-10-14  Andrey Belevantsev  <abel@ispras.ru>
880
881         * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
882         on RTX_FRAME_RELATED_P insns and the insn to which
883         NOTE_INSN_EPILOGUE_BEG is attached.
884         * sched-vis.c (print_value): Allow NULL value.
885
886 2010-10-14  Andrey Belevantsev  <abel@ispras.ru>
887
888         PR rtl-optimization/45570
889         * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
890         assert that we are pipelining outer loops.  Allow returning
891         zero predecessors.
892
893 2010-10-14  Andrey Belevantsev  <abel@ispras.ru>
894
895         * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
896         (tidy_control_flow): Tidy vertical space.
897         (sel_remove_bb): New variable idx.  Use it to remember the basic
898         block index before deleting the block.
899         (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
900         (sel_merge_blocks): ... here.
901         * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
902
903 2010-10-14  Jakub Jelinek  <jakub@redhat.com>
904
905         * cse.c (is_dead_reg): Change into inline function that is not
906         called through for_each_rtx.
907         (set_live_p): Adjust caller.
908         (insn_live_p): Don't reset DEBUG_INSNs here.
909         (struct dead_debug_insn_data): New data.
910         (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
911         (delete_trivially_dead_insns): If there is just one setter for the
912         dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
913         and add DEBUG_INSN for it right before the removed setter and
914         use the DEBUG_EXPR instead of the dead pseudo.
915
916 2010-10-14  Zdenek Dvorak  <rakdver@kam.uniff.cz>
917
918         * et-forest.c (et_nca): Return NULL immediately when
919         the dominance forest has disjoint components.
920
921 2010-10-13  Vladimir Makarov  <vmakarov@redhat.com>
922
923         * ira.c (setup_class_hard_regs): Fix typo in indexing
924         ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
925
926 2010-10-14  Tijs Wiebe Lefering  <twlevo@gmail.com>
927
928         * graph.c (inbb): New variable.
929         (start_bb): Set inbb to 1 if output is inside of a building block.
930         (end_bb): Check if output is inside of a building block.
931
932 2010-10-13  Eric Botcazou  <ebotcazou@adacore.com>
933
934         PR rtl-optimization/45912
935         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
936         regno of registers instead of their index to compute the alignment.
937
938 2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>
939
940         * config/i386/i386.c (ix86_build_const_vector): Check vector
941         mode instead of scalar mode.
942         (ix86_build_signbit_mask): Likewise.
943         (ix86_expand_fp_absneg_operator): Updated.
944         (ix86_expand_copysign): Likewise.
945         (ix86_expand_int_vcond): Likewise.
946         (ix86_emit_swdivsf): Likewise.
947         (ix86_sse_copysign_to_positive): Likewise.
948         (ix86_expand_sse_fabs): Likewise.
949         * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
950         * config/i386/sse.md (copysign<mode>3): Likewise.
951         (sse2_cvtudq2ps): Likewise.
952         (vec_unpacku_float_hi_v4si): Likewise.
953         (vec_unpacku_float_lo_v4si): Likewise.
954
955         * config/i386/i386.c (ix86_builtins): Add
956         IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
957         (bdesc_args): Likewise.
958         (ix86_builtin_vectorized_function): Support
959         IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
960         IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
961         and IX86_BUILTIN_CVTPS2DQ256.
962         (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
963
964         * config/i386/sse.md (STORENT_MODE): New.
965         (VEC_FLOAT_MODE): Likewise.
966         (VEC_EXTRACT_MODE): Likewise.
967         (*avx_cvtdq2pd256_2): Likewise.
968         (vec_pack_trunc_v4df): Likewise.
969         (vec_interleave_highv8sf): Likewise.
970         (vec_interleave_lowv8sf): Likewise.
971         (storent<mode>): Macroized.
972         (<code><mode>2: absneg): Likewise.
973         (copysign<mode>3): Likewise.
974         (vec_extract<mode>): Likewise.
975
976         PR target/44180
977         * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
978         for V8SFmode.
979
980 2010-10-13  Richard Guenther  <rguenther@suse.de>
981             H.J. Lu  <hongjiu.lu@intel.com>
982
983         * config/i386/sse.md (reduc_splus_v8sf): Add.
984         (reduc_splus_v4df): Likewise.
985         (vec_unpacks_hi_v8sf): Likewise.
986         (vec_unpacks_lo_v8sf): Likewise.
987         (*avx_cvtps2pd256_2): Likewise.
988         (vec_unpacks_float_hi_v8si): Likewise.
989         (vec_unpacks_float_lo_v8si): Likewise.
990         (vec_interleave_highv4df): Likewise.
991         (vec_interleave_lowv4df): Likewise.
992
993 2010-10-13  Richard Guenther  <rguenther@suse.de>
994
995         PR objc/45878
996         * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
997         alone if there are no virtual methods.
998
999 2010-10-13  Richard Henderson  <rth@redhat.com>
1000
1001         * expr.c (build_personality_function): Take parameter LANG instead
1002         of parameter NAME.  Build the name based on the lang prefix and the
1003         unwind method in use.
1004         * tree.c (lhd_gcc_personality): Update call to
1005         build_personality_function.
1006
1007 2010-10-13  Richard Guenther  <rguenther@suse.de>
1008
1009         PR objc/45878
1010         * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
1011
1012 2010-10-13  Eric Botcazou  <ebotcazou@adacore.com>
1013
1014         * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
1015         Canonicalize input operands of ASM_OPERANDS insns.
1016
1017 2010-10-13  Richard Guenther  <rguenther@suse.de>
1018
1019         PR tree-optimization/45788
1020         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
1021         EH update until fixup-cfg.
1022
1023 2010-10-13  Julian Brown  <julian@codesourcery.com>
1024
1025         * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
1026         from CORE_REGS and GENERAL_REGS classes.
1027         * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
1028         final constraint for register preferencing.
1029
1030 2010-10-13  Richard Guenther  <rguenther@suse.de>
1031
1032         PR tree-optimization/45970
1033         * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
1034         * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
1035         (stmt_kills_ref_p): Likewise.
1036         * tree-ssa-dse.c (dse_optimize_stmt): Use it.
1037
1038 2010-10-13  Richard Guenther  <rguenther@suse.de>
1039
1040         PR tree-optimization/45982
1041         * tree-ssa-structalias.c (make_constraints_to): New function.
1042         (make_constraint_to): Implement in terms of make_constraints_to.
1043         (find_func_aliases): Properly make return values of pure/const
1044         functions escape if they assign to sth that is not a pointer.
1045
1046 2010-10-13  Richard Guenther  <rguenther@suse.de>
1047
1048         PR middle-end/45874
1049         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
1050         Fixup the CFG when EH was fixed up.
1051
1052 2010-10-13  Ira Rosen  <irar@il.ibm.com>
1053
1054         * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
1055         Use operand's type for POINTER_PLUS_EXPR.
1056
1057 2010-10-13  Alexandre Oliva  <aoliva@redhat.com>
1058
1059         * c-parser.c (c_parser_for_statement): Initialize incr.
1060
1061 2010-10-12  Xinliang David Li  <davidxl@google.com>
1062
1063         PR tree-optimization/45972
1064         * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
1065         with too many arguments.
1066
1067 2010-10-12  Jakub Jelinek  <jakub@redhat.com>
1068
1069         PR fortran/45636
1070         * tree-ssa-forwprop.c: Include expr.h.
1071         (constant_pointer_difference, simplify_builtin_call): New functions.
1072         (tree_ssa_forward_propagate_single_use_vars): Call
1073         simplify_builtin_call on builtin calls.
1074
1075 2010-10-12  Eric Botcazou  <ebotcazou@adacore.com>
1076
1077         * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
1078         (*adddi3_extend_sp32): Likewise.
1079         (*subdi3_insn_sp32): Likewise.
1080         (*subdi3_extend_sp32): Likewise.
1081         (*negdi2_sp32): Use negative test for consistency.
1082
1083 2010-10-12  Nathan Froyd  <froydnj@codesourcery.com>
1084
1085         * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
1086         (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
1087         * config/fixed-bit.h: Likewise.
1088         * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
1089         * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
1090         * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
1091         * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
1092         (DF_SIZE): Likewise.
1093         * doc/tm.texi: Regenerate.
1094
1095 2010-10-12  Nathan Froyd  <froydnj@codesourcery.com>
1096
1097         * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
1098         * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
1099         (*isel_reversed_unsigned_<mode>): New.
1100         * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
1101         as valid comparisons and adjust operands and output appropriately.
1102         (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
1103
1104 2010-10-12  Chung-Lin Tang  <cltang@codesourcery.com>
1105
1106         * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
1107         DATA_ALIGNMENT and add COND parameter. Update comments above.
1108         (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
1109         (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
1110
1111 2010-10-12  H.J. Lu  <hongjiu.lu@intel.com>
1112
1113         PR bootstrap/45958
1114         * exec-tool.in: Support '-plugin' as the second option to the linker.
1115
1116 2010-10-12  Richard Henderson  <rth@redhat.com>
1117
1118         PR middle-end/45962
1119         * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
1120         (expand_stack_vars): Assert large base allocated when used.
1121
1122 2010-10-12  Richard Guenther  <rguenther@suse.de>
1123
1124         * tree-ssa-structalias.c (get_constraint_for_1): Constants
1125         only point to nonlocal, not anything.
1126
1127 2010-10-11  Hariharan Sandanagobalane  <hariharan@picochip.com>
1128
1129         * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
1130         unwind info for exceptions.
1131
1132 2010-10-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1133
1134         PR testsuite/45851
1135         * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
1136         Document optional target selector.
1137
1138 2010-10-12  Joseph Myers  <joseph@codesourcery.com>
1139
1140         * flag-types.h: New.
1141         * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
1142         (FLAGS_H): Include flag-types.h.  Include $(OPTIONS_H) instead of
1143         options.h.
1144         (OPTIONS_H): Define.
1145         (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
1146         of options.h.
1147         * configure.ac (tm_include_list): Include options.h not flags.h.
1148         * configure: Regenerate.
1149         * flags.h: Include flag-types.h.  Include options.h at top of file
1150         again.
1151         (enum debug_info_type, enum debug_info_level, enum
1152         debug_info_usage, enum symbol_visibility, struct visibility_flags,
1153         enum ira_algorithm, enum ira_region, enum excess_precision, enum
1154         graph_dump_types, enum stack_check_type,
1155         enum warn_strict_overflow_code): Move to flag-types.h
1156         * opth-gen.awk: Include flag-types.h in options.h.
1157
1158 2010-10-12  Jakub Jelinek  <jakub@redhat.com>
1159
1160         * expr.c (store_expr): Share code for STRING_CST and
1161         MEM_REF of &STRING_CST cases.  Don't require BLKmode, instead
1162         check if target is a MEM.
1163
1164         * rtl.h: Include hashtab.h.
1165         (iterative_hash_rtx): New prototype.
1166         * rtl.c (iterative_hash_rtx): New function.
1167         * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
1168         (output_loc_list): Return immediately if emitted is set, set it.
1169         (hash_loc_operands, hash_locs, hash_loc_list,
1170         compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
1171         optimize_location_lists_1, optimize_location_lists): New function.
1172         (dwarf2out_finish): Call optimize_location_lists.
1173         * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
1174
1175 2010-10-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1176
1177         PR testsuite/45974
1178         Revert:
1179         * Makefile.in ($(lang_checks_parallel))
1180         ($(lang_checks_parallelized)): Use single quotes for
1181         $(RUNTESTFLAGS), to allow passing quoted content.
1182
1183 2010-10-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1184
1185         * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
1186         actual_oldval.  Use __builtin_expect.
1187         (SUBWORD_VAL_CAS): Likewise.
1188
1189 2010-10-11  Nathan Froyd  <froydnj@codesourcery.com>
1190
1191         * recog.c (nonmemory_operand): Call immediate_operand for
1192         CONSTANT_P operands.
1193
1194 2010-10-11  Uros Bizjak  <ubizjak@gmail.com>
1195
1196         * config/i386/i386.md (movmem<mode>): Macroize expander from
1197         movmem{si,di} using SWI48 mode iterator.
1198         (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
1199         *strmovsi_rex_1 using P mode iterator.
1200         (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
1201         (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
1202         (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
1203         (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
1204         (setmem<mode>): Macroize expander from setmem{si,di} using
1205         SWI48 mode iterator.
1206         (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
1207         *strsetsi_rex_1 using P mode iterator.
1208         (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
1209         (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
1210         (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
1211         (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
1212         (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
1213         (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
1214         (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
1215         mode iterator.
1216         (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
1217         *strlenqi_rex_1 using P mode iterator.
1218
1219 2010-10-11  Bernd Schmidt  <bernds@codesourcery.com>
1220
1221         PR bootstrap/45445
1222         * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
1223         static functions.
1224         (mark_ref_live, mark_ref_dead): Use them.
1225         (make_pseudo_conflict): New arg ORIG_DREG.  All callers changed.
1226         Save the original reg, and use the new functions.
1227         (check_and_make_def_use_conflict): New arg ORIG_DREG.  All callers
1228         changed.
1229         (check_and_make_def_conflict): Save the original reg.
1230
1231 2010-10-11  Martin Jambor  <mjambor@suse.cz>
1232
1233         PR middle-end/45699
1234         * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
1235         thunks.
1236
1237 2010-10-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1238
1239         * Makefile.in ($(lang_checks_parallel))
1240         ($(lang_checks_parallelized)): Use single quotes for
1241         $(RUNTESTFLAGS), to allow passing quoted content.
1242
1243         PR bootstrap/35855
1244         * opt-functions.awk (BEGIN): New section.
1245         (lower, upper, digit, alnum): New variables.
1246         (static_var, opt_sanitized_name): Use alnum instead of character
1247         classes, for non-C locale.
1248         * optc-gen.awk: Likewise.
1249         * opth-gen.awk: Likewise.
1250
1251 2010-10-11  Anatoly Sokolov  <aesok@post.ru>
1252
1253         * target.def (preferred_reload_class): New hook.
1254         * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
1255         * doc/tm.texi: Regenerate.
1256         * targhooks.c (default_preferred_reload_class): New function.
1257         * targhooks.h (default_preferred_reload_class): Declare.
1258         * reload.c (find_dummy_reload): Change preferred_class variable type
1259         from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
1260         target hook.
1261         (find_reloads): Change goal_alternative array type from int to
1262         reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
1263         (push_reload, find_reloads_address_part): Use
1264         TARGET_PREFERRED_RELOAD_CLASS target hook.
1265         * reload1.c (emit_input_reload_insns): Ditto.
1266         * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
1267         hook. Change rclass argument and secondary_class variable types from
1268         'enum reg_class' to reg_class_t.
1269
1270         * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
1271         * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
1272         * config/i386/i386.c (ix86_preferred_reload_class): Make static.
1273         Change regclass argument and result types from enum reg_class to
1274         reg_class_t.
1275         (TARGET_PREFERRED_RELOAD_CLASS): Define.
1276
1277 2010-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1278
1279         * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
1280         in masking operations.
1281         (simplify_const_unary_operation): Likewise.
1282         (simplify_binary_operation_1): Likewise.
1283         (simplify_const_binary_operation): Likewise.
1284         (simplify_const_relational_operation): Likewise.
1285         (simplify_ternary_operation): Likewise.
1286         (simplify_immed_subreg): Likewise.
1287
1288 2010-10-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1289
1290         PR middle-end/45862
1291         * doc/tm.texi.in (SUPPORTS_WEAK): Update.
1292         (TARGET_SUPPORTS_WEAK): New.
1293         * doc/tm.texi: Regenerate.
1294         * defaults.h (SUPPORTS_WEAK): Update comment.
1295         (TARGET_SUPPORTS_WEAK): New.
1296         * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
1297         * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
1298         SUPPORTS_WEAK.
1299         (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
1300         make_decl_one_only): Likewise.
1301         * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
1302         TARGET_SUPPORTS_WEAK.
1303         (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
1304         instead of SUPPORTS_WEAK.
1305
1306 2010-10-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1307
1308         * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
1309
1310 2010-10-11  Nathan Froyd  <froydnj@codesourcery.com>
1311
1312         * vec.h (VEC_qsort): Define.
1313         * dbxout.c (output_used_types): Use it.
1314         * df-scan.c (df_sort_and_compress_refs): Likewise.
1315         (df_sort_and_compress_mws): Likewise.
1316         * genautomata.c (uniq_sort_alt_states): Likewise.
1317         (evaluate_equiv_classes): Likewise.
1318         (output_trans_table): Likewise.
1319         (output_state): Likewise.
1320         * gimplify.c (compare_case_labels): Likewise.
1321         * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
1322         * ipa.c (build_cdtor_fns): Likewise.
1323         * lto.c (lto_wpa_write_files): Likewise.
1324         * sel-sched.c (fill_vec_av_set): Likewise.
1325         * tree-predcom.c (determine_roots_comp): Likewise.
1326         * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
1327         (splice_param_accesses): Likewise.
1328         * tree-ssa-live.c (dump_enumerated_decls): Likewise.
1329         * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
1330         (reassociate_bb): Likewise.
1331         * tree-ssa-sccvn.c (sort_scc): Likewise.
1332         * tree-ssa-structalias.c (sort_fieldstack): Likewise.
1333
1334 2010-10-11  Ian Lance Taylor  <iant@google.com>
1335
1336         * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
1337         * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
1338         TREE_THIS_NOTRAP when appropriate.
1339         (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
1340         * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
1341         newly created MEM_REF.
1342
1343 2010-10-11  Hariharan Sandanagobalane  <hariharan@picochip.com>
1344
1345         Nathan Froyds patch to hooks FUNCTION_ARG etc.
1346         * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
1347         (picochip_incoming_function_arg): Delete.
1348         (picochip_arg_advance): Delete.
1349         * config/picochip/picochip.h (FUNCTION_ARG): Delete.
1350         (FUNCTION_INCOMING_ARG): Delete.
1351         (FUNCTION_ARG_ADVANCE): Delete.
1352         * config/picochip/picochip.c (picochip_function_arg): Take a
1353         const_tree and a bool.
1354         (picochip_incoming_function_arg): Likewise.
1355         (picochip_arg_advance): Likewise.
1356         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1357         (TARGET_FUNCTION_ARG_ADVANCE): Define.
1358
1359 2010-10-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1360
1361         PR middle-end/45955
1362         * ipa.c (build_cdtor): Delete endless loop.
1363
1364 2010-10-07  Andi Kleen  <ak@linux.intel.com>
1365
1366         * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
1367         checksum-options.
1368         (checksum-options): Add.
1369         (cc1-dummy): Remove.
1370         (cc1-checksum): Change to run checksum over object files
1371         and options only.
1372         * dummy-checksum.c: Remove.
1373         * genchecksum.c: Update copyright.
1374         (usage): Allow multiple arguments.
1375         (BLOCKSIZE): Add.
1376         (dosum): Change for incremental checksum. Remove C output.
1377         (main): Iterate over all argument files. Add C output.
1378
1379 2010-10-11  Joseph Myers  <joseph@codesourcery.com>
1380
1381         * params.c (set_param_value_internal): New.
1382         (set_param_value): Use set_param_value_internal.
1383         (maybe_set_param_value, set_default_param_value): New.
1384         * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
1385         (maybe_set_param_value, set_default_param_value): Declare.
1386         * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
1387         * config/i386/i386.c (ix86_option_override_internal): Use
1388         maybe_set_param_value.
1389         * config/ia64/ia64.c (ia64_option_default_params,
1390         TARGET_OPTION_DEFAULT_PARAMS): New.
1391         (ia64_option_optimization): Move some code to
1392         ia64_option_default_params.
1393         * config/picochip/picochip.c (picochip_option_override): Use
1394         maybe_set_param_value.
1395         * config/rs6000/rs6000.c (rs6000_option_default_params,
1396         TARGET_OPTION_DEFAULT_PARAMS): New.
1397         (rs6000_option_override_internal): Use maybe_set_param_value.
1398         (rs6000_option_optimization): Move some code to
1399         rs6000_option_default_params.
1400         * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
1401         * config/sh/sh.c (sh_option_default_params,
1402         TARGET_OPTION_DEFAULT_PARAMS): New.
1403         (sh_option_optimization): Move some code to sh_option_default_params.
1404         * config/sparc/sparc.c (sparc_option_override): Use
1405         maybe_set_param_value.
1406         * config/spu/spu.c (spu_option_default_params,
1407         TARGET_OPTION_DEFAULT_PARAMS): New.
1408         (spu_option_optimization): Move some code to spu_option_default_params.
1409         (spu_option_override): Use maybe_set_param_value.
1410         * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
1411         * doc/tm.texi: Regenerate.
1412         * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
1413         * opts.c (init_options_once): Use PARAM_VALUE not direct access to
1414         compiler_params.
1415         (default_options_optimization): Use maybe_set_param_value.
1416         (finish_options): Use maybe_set_param_value.
1417         * target.def (target_option.default_params): New hook.
1418         * toplev.c (general_init): Call targetm.target_option.default_params.
1419
1420 2010-10-11  Ira Rosen  <irar@il.ibm.com>
1421
1422         PR tree-optimization/45902
1423         * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
1424         vector type for constants, unless it's a pointer.
1425
1426 2010-10-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1427
1428         * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
1429
1430 2010-10-11  Jakub Jelinek  <jakub@redhat.com>
1431
1432         PR target/45870
1433         * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
1434         (ix86_delegitimize_address): Use it.
1435
1436 2010-10-10  Eric Botcazou  <ebotcazou@adacore.com>
1437
1438         * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
1439
1440 2010-10-10  Uros Bizjak  <ubizjak@gmail.com>
1441
1442         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
1443         to cum struct in the call to function_arg_advance.
1444         (alpha_function_arg_advance): Mark named as unused.
1445
1446 2010-10-10  Richard Sandiford  <rdsandiford@googlemail.com>
1447
1448         * config/mips/mips.c (mips_handle_option): Make "value" with
1449         ATTRIBUTE_UNUSED.
1450
1451 2010-10-09  Richard Henderson  <rth@redhat.com>
1452
1453         PR rtl-opt/33721
1454         * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
1455         remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN.  Honor
1456         required_align, tidy the code a bit.  Emit split_stack code in the
1457         right place.  Mark the return value with the alignment properly.
1458         * expr.h (allocate_dynamic_stack_space): Update decl.
1459         * builtins.c (expand_builtin_apply): Update call to
1460         allocate_dynamic_stack_space.
1461         (expand_builtin_alloca): Likewise.  Remove TARGET parameter.
1462         * calls.c (initialize_argument_information): Update call to
1463         allocate_dynamic_stack_space.
1464         (expand_call): Likewise.
1465
1466         * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
1467         Don't update_stack_alignment here.
1468         (alloc_stack_frame_space): Make ALIGN unsigned.
1469         (stack_var_cmp): Sort by alignment too.
1470         (partition_stack_vars): Don't merge large and small alignment vars.
1471         (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
1472         Take care when BASE is not virtual_stack_vars_rtx.
1473         (expand_stack_vars): Allocate dynamic stack space for large
1474         alignment variables.
1475         (expand_one_stack_var): Update all to expand_one_stack_var_at.
1476         (defer_stack_allocation): True for large alignment vars.
1477         (update_stack_alignment): Merge into ...
1478         (expand_one_var): ... here.
1479         (gimple_expand_cfg): Place code from expand_stack_vars.
1480
1481 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1482
1483         * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1484         * config/pdp11/pdp11.c (pdp11_function_arg): New function.
1485         (pdp11_function_arg_advance): New function.
1486         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1487
1488 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1489
1490         * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
1491         * libgcc2.c: Likewise.
1492
1493 2010-10-09  Richard Guenther  <rguenther@suse.de>
1494
1495         PR lto/45956
1496         * lto-streamer-in.c (lto_register_var_decl_in_symtab):
1497         Properly check if a decl is an automatic var.
1498
1499 2010-10-09  Richard Guenther  <rguenther@suse.de>
1500
1501         PR lto/45947
1502         * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
1503
1504 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1505
1506         * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
1507         * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1508         * config/mmix/mmix.c (mmix_function_arg): Rename to...
1509         (mmix_function_arg_1): ...this.  Make static.  Take a const_tree and
1510         bool arguments.
1511         (mmix_function_arg): New function.
1512         (mmix_function_incoming_arg): New function.
1513         (mmix_function_arg_advance): New function.
1514         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
1515         (TARGET_FUNCTION_ARG_ADVANCE): Define.
1516
1517 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1518
1519         * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1520         * config/vax/vax.c (vax_function_arg): New function.
1521         (vax_function_arg_advance): New function.
1522         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1523
1524 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1525
1526         * config/pa/pa-protos.h (function_arg): Delete.
1527         * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1528         * config/pa/pa.c (function_arg): Rename to...
1529         (pa_function_arg): ...this.  Make static.  Take a const_tree and
1530         a bool.
1531         (pa_function_arg_advance): New function.
1532         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1533
1534 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1535
1536         * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1537         * config/m68k/m68k.c (m68k_function_arg): New function.
1538         (m68k_function_arg_advance): New function.
1539         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1540
1541 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1542
1543         * config/avr/avr-protos.h (function_arg): Delete.
1544         (function_arg_advance): Delete.
1545         * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1546         * config/avr/avr.c (function_arg): Rename to...
1547         (avr_function_arg): ...this.  Make static.  Take a const_tree and
1548         a bool.
1549         (function_arg_advance): Rename to...
1550         (avr_function_arg_advance): ...this.  Make static.  Take a
1551         const_tree and a bool.
1552         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1553
1554 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1555
1556         * config/alpha/alpha-protos.h (function_arg): Delete.
1557         * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1558         * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
1559         * config/alpha/alpha.c (function_arg): Rename to...
1560         (alpha_function_arg): ...this.  Make static.  Take a const_tree and
1561         a bool.  Delete TARGET_ABI_UNICOSMK code.
1562         (alpha_function_arg_advance): New function.
1563         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1564
1565 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1566
1567         * config/mep/mep-protos.h (mep_function_arg): Delete.
1568         (mep_function_arg_advance): Delete.
1569         * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1570         * config/mep/mep.c (mep_function_arg): Make static.  Take a
1571         const_tree and a bool.
1572         (mep_function_arg_advance): Likewise.
1573         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1574
1575 2010-10-09  Richard Guenther  <rguenther@suse.de>
1576
1577         PR tree-optimization/45945
1578         * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
1579
1580 2010-10-09  Eric Botcazou  <ebotcazou@adacore.com>
1581
1582         PR tree-optimization/45612
1583         * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
1584         Test LABEL_DECLs as well.  Fix formatting issues.
1585         (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
1586         whose label is present in NON_SSA_VARS.
1587         (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.  Handle LABEL_DECLs
1588         as well.  Fix formatting issues.
1589         (visit_bb): Fix typos and formatting issue.
1590
1591 2010-10-09  Nathan Froyd  <froydnj@codesourcery.com>
1592
1593         PR tree-optimization/45950
1594         * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
1595         before initializing vno->op.
1596
1597 2010-10-09  Ralf Cors├ępius <ralf.corsepius@rtems.org>
1598
1599         * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
1600         * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
1601
1602 2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>
1603
1604         PR target/45913
1605         * config/i386/i386.c (ix86_binary_operator_ok): Support
1606         "andhi/andsi/anddi" as a zero-extending move.
1607
1608 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1609
1610         * builtins.c (fold_call_stmt): Don't copy gimple call arguments
1611         into a temporary array.
1612
1613 2010-10-08  Jakub Jelinek  <jakub@redhat.com>
1614
1615         PR tree-optimization/45903
1616         * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
1617         of {A,L}SHIFTRT of MEM.
1618
1619 2010-10-08  Richard Guenther  <rguenther@suse.de>
1620
1621         * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1622         Re-construct BLOCK_VARS.
1623         (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
1624         * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1625         * tree.c (free_lang_data_in_block): Remove.
1626         (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
1627         Do not touch the BLOCK tree.
1628         * expr.c (expand_expr_real_1): Allow externals.
1629
1630 2010-10-08  Richard Guenther  <rguenther@suse.de>
1631
1632         * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
1633         Do not output BLOCK_SUBBLOCKS.
1634         * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
1635         Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
1636         Re-construct BLOCK_SUBBLOCKS of parent block.
1637         (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
1638         for BINFO_BASE_ACCESSES.
1639
1640 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
1641
1642         * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
1643         (TREE_H): Include $(FLAGS_H) instead of options.h.
1644         (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
1645         * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1646         * common.opt (flag_complex_method, flag_evaluation_order,
1647         flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
1648         Variable declarations.
1649         * configure.ac (tm_include_list): Include flags.h instead of options.h.
1650         * configure: Regenerate.
1651         * flags.h: Condition out contents for target libraries.  Include
1652         options.h at end of file.
1653         (flag_complex_method, flag_ira_algorithm, flag_ira_region,
1654         flag_evaluation_order, flag_warn_unused_result): Remove.
1655         * gcc.c (main): Intialize global_options with global_options_init.
1656         * langhooks-def.h (lhd_init_options_struct): Declare.
1657         (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
1658         (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
1659         * langhooks.c (lhd_init_options_struct): New.
1660         * langhooks.h (struct lang_hooks): Add init_options_struct.
1661         Update comment on init_options.
1662         * optc-gen.awk: Generate initializer for global_options_init, not
1663         global_options.
1664         * opth-gen.awk: Condition out structure declarations for target
1665         libraries.  Declare global_options_init.
1666         * opts-common.c: Include flags.h instead of options.h.
1667         * opts.c (flag_warn_unused_result): Remove.
1668         (read_cmdline_options): Take gcc_options parameters.  Pass them to
1669         read_cmdline_option.
1670         (initial_lang_mask, initial_min_crossjump_insns,
1671         initial_max_fields_for_field_sensitive,
1672         initial_loop_invariant_max_bbs_in_loop): Define at file scope.
1673         (init_options_once): New.  Split out of decode_options.
1674         (init_options_struct): New.  Split out of decode_options.
1675         (decode_cmdline_options_to_array_default_mask): New.
1676         (default_options_optimization): New.  Split out of decode_options.
1677         (decode_options): Move most code to other functions.  Update call
1678         to read_cmdline_options.
1679         (finish_options): New.  Split out of decode_options.
1680         * opts.h (decode_options): Add gcc_options parameters.
1681         (init_options_once, init_options_struct,
1682         decode_cmdline_options_to_array_default_mask): New.
1683         * toplev.c (flag_complex_method, flag_ira_algorithm,
1684         flag_ira_region, flag_evaluation_order): Remove.
1685         (general_init): Use global_options_init for initial flag values
1686         for global_dc.
1687         (toplev_main): Call init_options_once, init_options_struct,
1688         lang_hooks.init_options_struct,
1689         decode_cmdline_options_to_array_default_mask and
1690         lang_hooks.init_option before decode_options.  Update arguments to
1691         decode_options.
1692         * tree.h: Include flags.h instead of options.h.
1693
1694 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1695
1696         * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1697
1698 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1699
1700         * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
1701         Delete.
1702         * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
1703         (FUNCTION_INCOMING_ARG): Delete.
1704         * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
1705         (function_arg_slotno): Likewise.  Take bool arguments.
1706         (sparc_arg_partial_bytes): Update call to it.
1707         (function_arg): Rename to...
1708         (sparc_function_arg_1): ...this.  Take bool arguments.
1709         (sparc_function_arg, sparc_function_incoming_arg): New functions.
1710         (function_arg_advance): Rename to...
1711         (sparc_function_arg_advance): ...this.  Take bool argument.
1712         (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
1713         (TARGET_FUNCTION_INCOMING_ARG): Define.
1714
1715 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1716
1717         * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
1718         Delete.
1719         * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1720         * config/bfin/bfin.c (function_arg_advance): Rename to...
1721         (bfin_function_arg_advance): ...this.  Make static.  Take const_tree
1722         and bool arguments.
1723         (function_arg): Rename to...
1724         (bfin_function_arg): ...this.  Make static.  Take const_tree and bool
1725         arguments.
1726         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1727
1728 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1729
1730         * config/score/score-protos.h (score_function_arg): Delete.
1731         (score_function_arg_advance): Delete.
1732         * config/score/score3.h (score3_function_arg_advance): Take a
1733         const_tree and a bool.
1734         (score3_function_arg): Likewise.
1735         * config/score/score7.h (score7_function_arg_advance): Likewise.
1736         (score7_function_arg): Likewise.
1737         * config/score/score3.c (score3_classify_arg): Likewise.
1738         (score3_function_arg_advance, score3_function_arg): Likewise.
1739         * config/score/score7.c (score7_classify_arg): Likewise.
1740         (score7_function_arg_advance, score7_function_arg): Likewise.
1741         * config/score/score.c (score_function_arg_advance): Likewise.
1742         (score_function_arg): Likewise.  De-const-ify `cum' argument.
1743         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1744
1745 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1746
1747         * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
1748         (s390_function_arg): Delete.
1749         * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
1750         * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
1751         (s390_function_arg_integer): Likewise.
1752         (s390_function_arg_advance): Make static.  Take a const_tree and
1753         a bool.
1754         (s390_function_arg): Likewise.
1755         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1756
1757 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1758
1759         * config/spu/spu-protos.h (spu_function_arg): Delete.
1760         * config/spu/spu.h (FUNCTION_ARG): Delete.
1761         (FUNCTION_ARG_ADVANCE): Move code to ...
1762         * config/spu/spu.c (spu_function_arg_advance): New function.
1763         (spu_function_arg): Make static.  Take a const_tree and a bool.
1764         (spu_setup_incoming_varargs): Call spu_function_arg_advance.
1765         (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
1766
1767 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1768
1769         * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1770
1771 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1772
1773         * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
1774         (init_vn_nary_op_from_op): New function.
1775         (init_vn_nary_op_from_stmt): New function.
1776         (vn_nary_op_lookup_1): New function.
1777         (sizeof_vn_nary_op): New function.
1778         (alloc_vn_nary_op_noinit): New function.
1779         (alloc_vn_nary_op): New function.
1780         (vn_nary_op_insert_into): New function.
1781         (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
1782         (vn_nary_op_lookup): Likewise.
1783         (vn_nary_op_lookup_stmt): Likewise.
1784         (vn_nary_op_insert_pieces): Likewise.
1785         (vn_nary_op_insert): Likewise.
1786         (vn_nary_op_insert_stmt): Likewise.
1787         (copy_nary): Likewise.
1788         (set_value_id_for_result): New function.
1789         (set_hashtable_value_ids): Call it.
1790
1791 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1792
1793         * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1794         * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
1795
1796 2010-10-08  Nathan Froyd  <froydnj@codesourcery.com>
1797
1798         * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
1799         * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
1800
1801 2010-10-08  Alexandre Oliva  <aoliva@redhat.com>
1802
1803         PR debug/45656
1804         * cse.c (cse_extended_basic_block): Preserve cc0 info across
1805         debug isnsn.  Skip them when searching for cc0 setter.
1806         (set_live_p): Skip debug insns when searching for cc0 user.
1807
1808 2010-10-08  Alexandre Oliva  <aoliva@redhat.com>
1809
1810         PR debug/45673
1811         PR debug/45604
1812         PR debug/45419
1813         PR debug/45408
1814         * tree-pretty-print.c (dump_generic_node): Explicitly dump the
1815         type of MEM_REFs to INTEGER_CSTs.
1816
1817 2010-10-07  Nathan Froyd  <froydnj@codesourcery.com>
1818
1819         * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
1820         m68hc11_print_operand_address.
1821
1822 2010-10-07  Nathan Froyd  <froydnj@codesourcery.com>
1823
1824         * builtins.c (rewrite_call_expr): Move code to...
1825         (rewrite_call_expr_valist): ...here.  Call build_call_expr_loc_array.
1826         (rewrite_call_expr_array): New function.
1827         (fold_builtin_sprintf_chk_1): New function.
1828         (fold_builtin_sprintf_chk): Call it.
1829         (gimple_fold_builtin_sprintf_chk): Likewise.
1830         (fold_builtin_snprintf_chk_1): New function.
1831         (fold_builtin_snprintf_chk): Call it.
1832         (gimple_fold_builtin_snprintf_chk): Likewise.
1833         (gimple_rewrite_call_expr): Delete.
1834
1835 2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>
1836
1837         * config.host: Update copyright year.
1838
1839 2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>
1840
1841         * config.host (host_lto_plugin_soname): New shell variable.
1842         * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
1843         * config.in: Regenerate.
1844         * configure: Regenerate.
1845         * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
1846         LTO plugin shared library.
1847
1848 2010-10-07  Richard Henderson  <rth@redhat.com>
1849
1850         * target.h (enum unwind_info_type): Move ...
1851         * coretypes.h: ... here.
1852
1853 2010-10-07  Nicola Pero  <nicola.pero@meta-innovation.com>
1854
1855         * doc/objc.texi (Fast enumeration protocol): Mention that
1856         'unsigned int' can also be used instead of 'unsigned long' in
1857         countByEnumeratingWithState:objects:count:.
1858
1859 2010-10-07  Martin Jambor  <mjambor@suse.cz>
1860
1861         * tree-sra.c (struct access): New field grp_assignment_write.
1862         (dump_access): Dump grp_assignment_write.
1863         (build_accesses_from_assign): Set grp_assignment_write.
1864         (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
1865         (mark_read_status): Renamed to mark_rw_status, individual values
1866         renamed too.
1867         (analyze_access_subtree): Changed type of mark_write to
1868         mark_read_status.  Fixed propagating of mark_read and
1869         mark_write.  Changed benefit estimate.  Updated comment.
1870
1871 2010-10-07  Tejas Belagod  <tejas.belagod@arm.com>
1872
1873         PR Tree-Vect/45847
1874         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
1875         check for vectype_out returned by get_vectype_for_scalar_type().
1876
1877 2010-10-07  Tejas Belagod  <tejas.belagod@arm.com>
1878
1879         PR target/45805
1880         * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
1881         constraint, add register specifier in instruction template.
1882         (neon_vec_pack_trunc_<mode>): Likewise.
1883         (neon_vec_<US>mult_<mode>): Add register specifier to
1884         instruction template.
1885
1886 2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>
1887
1888         * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
1889         cygwin2.o.
1890         (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
1891         (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
1892         * config/i386/t-cygwin (cygwin1.o): Delete build rule.
1893         (cygwin2.o): Likewise.
1894         * config/i386/cygwin1.c: Delete file.
1895         * config/i386/cygwin2.c: Likewise.
1896         * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
1897         make all {%!mno-cygwin} ones unconditional.
1898         (STARTFILE_SPEC): Likewise.
1899         (REAL_LIBGCC_SPEC): Likewise.
1900         (LIB_SPEC): Likewise.
1901         (CXX_WRAP_SPEC): Likewise.
1902         (LINK_SPEC): Likewise.
1903         (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
1904         (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
1905         (cygwin_gplusplus_include_dir): Delete now-unused array.
1906         (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
1907         (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
1908         (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
1909         (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
1910         (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
1911         (cygwin_local_include_dir): Delete now-unused array.
1912         (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
1913         (cygwin_cross_include_dir): Delete now-unused array.
1914         (CROSS_INCLUDE_DIR): Don't redefine to point to it.
1915         (cygwin_tool_include_dir): Delete now-unused array.
1916         (TOOL_INCLUDE_DIR): Don't redefine to point to it.
1917         (cygwin_standard_include_dir): Delete now-unused array.
1918         (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
1919         (GEN_CVT_ARRAY): Delete now-unused macro definition.
1920         (cvt_to_mingw): Delete now-unused array.
1921         (mingw_scan): Remove prototype of deleted function.
1922         (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
1923         * config/i386/cygming.opt (mcygwin): Delete target-specific option.
1924         * doc/invoke.texi (-mcygwin): Don't document removed option.
1925         (-mno-cygwin): Likewise.
1926
1927 2010-10-07  Richard Guenther  <rguenther@suse.de>
1928
1929         * machmode.h (mode_for_vector): Declare.
1930         * stor-layout.c (mode_for_vector): New function, split out from ...
1931         (layout_type): ... here.
1932         * tree-vectorizer.h (current_vector_size): Declare.
1933         * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
1934         mask vector type is available.
1935         (get_vectype_for_scalar_type): Rename to ...
1936         (get_vectype_for_scalar_type_and_size): ... this.  Get a vector
1937         size argument.
1938         (get_vectype_for_scalar_type): New wrapper around
1939         get_vectype_for_scalar_type_and_size using current_vector_size.
1940         (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
1941         * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
1942         of vect_analyze_loop here.
1943         (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
1944         * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
1945         to autodetect.
1946         * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
1947         V8SF to V8SI conversion builtin.
1948
1949 2010-10-07  Richard Guenther  <rguenther@suse.de>
1950
1951         * target.def (autovectorize_vector_sizes): New target hook.
1952         * targhooks.c (default_autovectorize_vector_sizes): New function.
1953         * targhooks.h (default_autovectorize_vector_sizes): Declare.
1954         * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
1955         Document.
1956         * doc/tm.texi: Update.
1957         * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
1958         (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
1959
1960 2010-10-07  Richard Guenther  <rguenther@suse.de>
1961
1962         * target.def (units_per_simd_word): Rename to ...
1963         (preferred_simd_mode): ... this.  Return mode instead of size.
1964         * targhooks.c (default_units_per_simd_word): Rename to ...
1965         (default_preferred_simd_mode): ... this.  Return word_mode.
1966         * targhooks.h (default_preferred_simd_mode): Declare.
1967         * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
1968         (arm_preferred_simd_mode): ... this.  Re-implement.
1969         * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
1970         (ix86_preferred_simd_mode): ... this.  Re-implement.
1971         * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
1972         (sparc_preferred_simd_mode): ... this.  Re-implement.
1973         * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
1974         (mips_preferred_simd_mode): ... this.  Re-implement.
1975         * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
1976         (rs6000_preferred_simd_mode): ... this.  Re-implement.
1977         * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
1978         * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
1979         (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
1980         * doc/tm.texi: Update.
1981
1982 2010-10-07  Richard Guenther  <rguenther@suse.de>
1983
1984         PR middle-end/45869
1985         * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
1986         of pointers.
1987
1988 2010-10-07  Alan Modra  <amodra@gmail.com>
1989
1990         * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
1991         rather than sign extension by hand.
1992
1993 2010-10-07  Jan Hubicka  <jh@suse.cz>
1994
1995         PR middle-end/45926
1996         * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
1997
1998 2010-10-07  Richard Guenther  <rguenther@suse.de>
1999
2000         PR bootstrap/45914
2001         * configure.ac: Fix typo.
2002         * configure: Regenerated.
2003
2004 2010-10-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2005
2006         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
2007         define_builtin_std where it's unnecessary.
2008         * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
2009
2010 2010-10-06  Anatoly Sokolov  <aesok@post.ru>
2011
2012         * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
2013         * doc/tm.texi.in: Regenerate.
2014         * system.h (CLASS_LIKELY_SPILLED_P): Poison.
2015         * targhooks.c (default_class_likely_spilled_p): Don't use the
2016         CLASS_LIKELY_SPILLED_P macro.
2017
2018         * config/arm/arm.md: Update comment.
2019
2020 2010-10-06  Jan Hubicka  <jh@suse.cz>
2021
2022         * ipa.c (cgraph_remove_unreachable_nodes): External references can
2023         always be removed.
2024         (cgraph_externally_visible_p): We can not bring local comdats that
2025         are known to linker; fix handling of internal visibility.
2026         (function_and_variable_visibility): Likewise.
2027
2028 2010-10-06  Eric Botcazou  <ebotcazou@adacore.com>
2029
2030         PR rtl-optimization/45394
2031         * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
2032         (struct rtx_subst_pair): Remove AFTER field.
2033         (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
2034         (propagate_for_debug): Remove MOVE parameter and adjust.
2035         (try_combine): In the special case where I2 is a PARALLEL, combine only
2036         destinations of SETs and set I2SRC to the I2 source.
2037         Adjust calls to propagate_for_debug throughout.
2038         * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
2039         insns.
2040
2041 2010-10-06  Olivier Hainque  <hainque@adacore.com>
2042
2043         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
2044         switch on insn codes as sequence of ifs.
2045
2046 2010-10-06  Hariharan Sandanagobalane  <hariharan@picochip.com>
2047
2048         * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
2049         be UI_NONE for picochip.
2050         (picochip_option_override): Do not disable exception flags.
2051         * config/picochip/picochip-protos.h (picochip_except_unwind_info):
2052         Declare.
2053
2054 2010-10-06  Richard Guenther  <rguenther@suse.de>
2055
2056         * Makefile.in (regmove.o): Depend on $(TARGET_H).
2057
2058 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
2059
2060         Implemented fast enumeration for Objective-C.
2061         * c-parser.c (objc_could_be_foreach_context): New.
2062         (c_lex_one_token): Recognize RID_IN keyword in a potential
2063         Objective-C foreach context.
2064         (c_parser_declaration_or_fndef): Added parameter.  Accept
2065         Objective-C RID_IN keyword as terminating a declaration; in that
2066         case, return the declaration in the new parameter.
2067         (c_parser_extenral_declaration): Updated calls to
2068         c_parser_declaration_or_fndef.
2069         (c_parser_declaration_or_fndef): Same change.
2070         (c_parser_compound_statement_nostart): Same change.
2071         (c_parser_label): Same change.
2072         (c_parser_objc_methodprotolist): Same change.
2073         (c_parser_omp_for_loop): Same change.
2074         (c_parser_for_statement): Detect and parse Objective-C foreach
2075         statements.
2076         (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
2077         * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
2078         fast enumeration parsing code to turn off the c99 error but still
2079         perform checks on the loop declarations.
2080         * c-tree.h (check_for_loop_decls): Updated declaration.
2081         * doc/objc.texi: Document fast enumeration.
2082
2083 2010-10-06  Nick Clifton  <nickc@redhat.com>
2084
2085         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
2086         (MDR_REGNUM): Define.
2087         (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
2088         (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
2089         (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
2090         (REGISTER_NAMES): Add MDR.
2091         (DWARF2_DEBUGGING_INFO): Define to 1.
2092         * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
2093         (F): New function.  Sets RTX_FRAME_RELATED_P.
2094         (mn10300_gen_multiple_store): Use F.
2095         (expand_prologue): Use F.  Use gen_movsf() to push floating
2096         point registers.
2097         (expand_epilogue): Use gen_movsf() to pop floating point registers.
2098         (mn10300_option_override): Disable combine stack adjust pass.
2099
2100 2010-10-06  Thomas Schwinge  <thomas@schwinge.name>
2101
2102         PR target/45901
2103         * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
2104         LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
2105
2106 2010-10-06  Jakub Jelinek  <jakub@redhat.com>
2107
2108         * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
2109         BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
2110         BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
2111         BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
2112         BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
2113         BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
2114         BUILT_IN_TOUPPER): Mark as leaf.
2115
2116         PR middle-end/45838
2117         * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
2118         BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
2119         BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
2120         BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
2121         BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
2122         BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
2123         Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
2124
2125 2010-10-05  Anatoly Sokolov  <aesok@post.ru>
2126
2127         * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
2128         * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
2129         (m68hc11_class_likely_spilled_p): New function.
2130
2131 2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>
2132
2133         * c-parser.c (c_parser_objc_method_definition): Updated comment.
2134
2135 2010-10-05  Jan Hubicka  <jh@suse.cz>
2136
2137         * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
2138         Document.
2139         * opts.c (decode_options): Handle lto partitions.
2140         * common.opt (flto-partition=1to1, flto-partition=balanced): New.
2141         * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
2142
2143 2010-10-05  Jan Hubicka  <jh@suse.cz>
2144
2145         * cgraphunit.c (assemble_function): Output thunks and aliases before
2146         the function itself.
2147
2148 2010-09-29  Hariharan Sandanagobalane  <hariharan@picochip.com>
2149
2150         * config/picochip/picochip.c (picochip_option_override): Disable
2151         exception flags for picochip.
2152
2153 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
2154
2155         * opts-common.c (handle_option, handle_generated_option,
2156         read_cmdline_option, set_option): Add diagnostic_context
2157         parameter.  Update calls among these functions.
2158         (set_option): Don't use global_dc.
2159         * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
2160         (decode_options): Pass global_dc to enable_warning_as_error.
2161         (common_handle_option): Pass global_dc to enable_warning_as_error.
2162         (enable_warning_as_error): Add diagnostic_context parameter.
2163         Document parameters.  Don't use global_dc.  Pass
2164         diagnostic_context parameter to handle_generated_option.
2165         * opts.h (set_option, handle_option, handle_generated_option,
2166         read_cmdline_option, enable_warning_as_error): Add
2167         diagnostic_context parameter.
2168         * Makefile.in (lto-opts.o): Update dependencies.
2169         * coretypes.h (struct diagnostic_context, diagnostic_context):
2170         Declare here.
2171         * diagnostic.h (diagnostic_context): Don't declare typedef here.
2172         * gcc.c (process_command): Pass global_dc to read_cmdline_option.
2173         * langhooks-def.h (struct diagnostic_context): Don't declare here.
2174         (lhd_print_error_function, lhd_initialize_diagnostics): Declare
2175         using diagnostic_context typedef.
2176         * langhooks.c (lhd_initialize_diagnostics): Declare using
2177         diagnostic_context typedef.
2178         * langhooks.h (struct diagnostic_context): Don't declare here.
2179         (initialize_diagnostics, print_error_function): Declare using
2180         diagnostic_context typedef.
2181         * lto-opts.c: Include diagnostic.h.
2182         (lto_reissue_options): Pass global_dc to set_option.  Pass
2183         DK_UNSPECIFIED not 0.
2184         * plugin.c (plugins_internal_error_function): Declare using
2185         diagnostic_context typedef.
2186         * plugin.h (struct diagnostic_context): Don't declare here.
2187         (plugins_internal_error_function): Declare using
2188         diagnostic_context typedef.
2189
2190 2010-10-05  Olivier Hainque  <hainque@adacore.com>
2191             Nicolas Roche  <roche@adacore.com>
2192
2193         * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
2194         * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
2195
2196 2010-10-05  Ira Rosen  <irar@il.ibm.com>
2197
2198         PR tree-optimization/45752
2199         * tree-vect-slp.c (vect_get_mask_element): Remove static
2200         variables, make them function arguments.
2201         (vect_transform_slp_perm_load): Pass new arguments to
2202         vect_get_mask_element.
2203
2204 2010-10-05  Richard Guenther  <rguenther@suse.de>
2205
2206         * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
2207         (gimple_mod_pow2): Likewise.
2208         (gimple_mod_subtract): Likewise.
2209         (gimple_ic): Likewise.
2210         (gimple_stringop_fixed_value): Likewise.
2211         * tree-profile.c (tree_init_edge_profiler): Mark profile
2212         functions nothrow and leaf.
2213         (add_abnormal_goto_call_edges): Remove.
2214         (tree_gen_edge_profiler): Work on SSA form.
2215         (tree_gen_ic_profiler): Likewise.  Simplify.
2216         (do_tree_profiling): Update SSA form.
2217         (pass_tree_profile): Remove.
2218         (do_tree_profiling): Likewise.
2219         (gate_tree_profile_ipa): New function.
2220         (pass_ipa_tree_profile): New.
2221         (tree_profiling): Re-write as IPA pass.  Properly drop const/pure
2222         state of instrumented functions.
2223         * passes.c (init_optimization_passes): Remove early non-SSA
2224         inlining.  Move profiling after early optimizations.
2225         * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
2226         (pass_ipa_early_inline): Likewise.
2227         * tree-pass.h (pass_ipa_early_inline): Remove.
2228         (pass_tree_profile): Likewise.
2229         (pass_ipa_tree_profile): Declare.
2230
2231 2010-10-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2232             Christian Borntraeger  <Christian.Borntraeger@de.ibm.com>
2233
2234         * gcc/config/s390/s390.c (z196_cost): New.
2235         (s390_handle_arch_option): Add -march=z196.
2236         (s390_option_override): Use the new cost function and use the z10
2237         defaults also for z196.
2238         (legitimate_reload_constant_p): Adjust comment.
2239         (legitimate_reload_fp_constant_p): New function.
2240         (s390_preferred_reload_class): Distingiush between FP and Int constants.
2241         (preferred_la_operand_p): Avoid la with index on z196.
2242         (s390_adjust_priority): Trigger also for z196.
2243         (s390_issue_rate): Issue rate for z196 is 3.
2244         (s390_z10_fix_long_loop_prediction): Rename to ...
2245         (s390_fix_long_loop_prediction): ... this.
2246         (s390_reorg): Apply the z10 adjustments also for z196.
2247         (s390_loop_unroll_adjust): Do this also for z196.
2248         * gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
2249         (enum processor_flags): Add PF_Z196.
2250         (TARGET_AVOID_CMP_AND_BRANCH): New macro.
2251         (TARGET_CPU_Z196, TARGET_Z196): New macros.
2252         * gcc/config.gcc: Enable z196 for --with-arch.
2253         * gcc/config/s390/2817.md: New file.
2254         * gcc/config/s390/2084.md: New type for multiply and add.
2255         * gcc/config/s390/2097.md: Likewise.
2256         * gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
2257         (UNSPECV_ATOMIC_OP): New constants.
2258         (fmadddf, fmaddsf): New values for type attribute.
2259         (z196prop): New insn attribute.
2260         (cpu, cpu_facility): Add z196.
2261         (ATOMIC_Z196): New code iterator.
2262         (noxa): New code attribute.
2263         (gk): New mode attribute.
2264         (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
2265         Support load zero for fp constants.
2266         (fixuns_truncdddi2, fixuns_trunctddi2)
2267         (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
2268         for z196.
2269         (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
2270         (popcounthi2, popcountqi2): New expander.
2271         (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
2272         (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
2273         (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
2274         insn definition.
2275         (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
2276         (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
2277         (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
2278         (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
2279         (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
2280         (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
2281         (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
2282         (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
2283         (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
2284         (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
2285         (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
2286         (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
2287         (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
2288         Support new z196 instructions.
2289
2290 2010-10-05  Richard Guenther  <rguenther@suse.de>
2291
2292         PR middle-end/45877
2293         * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
2294         case where gimplification optimizes away the stmt.
2295
2296 2010-10-04  Jakub Jelinek  <jakub@redhat.com>
2297
2298         PR debug/45849
2299         * var-tracking.c (strip_pointer_flags): New function.
2300         (emit_note_insn_var_location): If rtx_equal_p check failed,
2301         retry on locations simplified with simplify_replace_fn_rtx
2302         and strip_pointer_flags as its callback.
2303
2304 2010-10-04  Jan Hubicka  <jh@suse.cz>
2305
2306         * gimple-fold.c (static_object_in_other_unit_p): Rename to...
2307         (can_refer_decl_in_current_unit_p): ... this one; reverse return
2308         value; handle comdats too.
2309         (canonicalize_constructor_val): Use it; handle function_decls
2310         correctly.
2311         (gimple_fold_obj_type_ref_known_binfo): Likewise.
2312         * gimple.c (get_base_address): Accept all kinds of decls.
2313
2314 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2315
2316         * flags.h (g_switch_value, g_switch_set): Remove.
2317         * opts.c (g_switch_value, g_switch_set): Remove.
2318         * config/g.opt (G): Add Var(g_switch_value).
2319         * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
2320         (alpha_option_override): Check global_options_set.x_g_switch_value
2321         instead of g_switch_set.
2322         (alpha_in_small_data_p): Remove cast in comparison with
2323         g_switch_value.
2324         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
2325         g_switch_value to unsigned HOST_WIDE_INT.
2326         * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
2327         with g_switch_value.
2328         (frv_handle_option): Don't handle -G here.
2329         (frv_option_override): Check global_options_set.x_g_switch_value
2330         instead of g_switch_set.  Don't modify g_switch_set.
2331         (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
2332         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
2333         g_switch_value to unsigned HOST_WIDE_INT.
2334         * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
2335         (ia64_option_override): Check global_options_set.x_g_switch_value
2336         instead of g_switch_set.
2337         * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
2338         Remove.
2339         (lm32_in_small_data_p): Remove cast in comparison with
2340         g_switch_value.
2341         * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
2342         ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
2343         HOST_WIDE_INT.
2344         * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
2345         (m32r_init): Check global_options_set.x_g_switch_value instead of
2346         g_switch_set.
2347         (m32r_in_small_data_p): Remove cast in comparison with
2348         g_switch_value.
2349         (m32r_file_start): Format g_switch_value with %d.
2350         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
2351         ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
2352         * config/microblaze/microblaze.c (microblaze_handle_option): Don't
2353         handle -G here.
2354         (microblaze_option_override): Check
2355         global_options_set.x_g_switch_value instead of g_switch_set.
2356         * config/mips/mips.c (mips_handle_option): Don't handle -G here.
2357         (mips_option_override): Check global_options_set.x_g_switch_value
2358         instead of g_switch_set.
2359         * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
2360         (rs6000_file_start): Format g_switch_value with %d.
2361         (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
2362         comparisons with g_switch_value.
2363         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
2364         global_options_set.x_g_switch_value instead of g_switch_set.
2365         * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2366         global_options_set.x_g_switch_value instead of g_switch_set.
2367         * config/score/score.c (score_handle_option): Don't handle -G here.
2368         * config/score/score3.c (score3_option_override): Check
2369         global_options_set.x_g_switch_value instead of g_switch_set.
2370         * config/score/score7.c (score7_option_override): Check
2371         global_options_set.x_g_switch_value instead of g_switch_set.
2372
2373 2010-10-04  Vladimir Makarov  <vmakarov@redhat.com>
2374
2375         * common.opt (fira-coalesce): Remove.
2376
2377         * doc/invoke.texi (flag_ira_coalesce): Remove.
2378
2379         * ira-color.c (allocno_coalesced_p): Move before
2380         copy_freq_compare_func.
2381         processed_coalesced_allocno_bitmap): Ditto.
2382         (update_conflict_hard_regno_costs): Don't use
2383         ALLOCNO_FIRST_COALESCED_ALLOCNO.
2384         (allocno_cost_compare_func, print_coalesced_allocno): Remove.
2385         (assign_hard_reg): Assume no coalesced allocnos.
2386         (get_coalesced_allocnos_attributes): Remove.
2387         (bucket_allocno_compare_func): Assume no coalesced allocnos.
2388         (push_allocno_to_stack): Ditto.
2389         (remove_allocno_from_bucket_and_push): Use
2390         ira_print_expanded_allocno instead of print_coalesced_allocno.
2391         (push_allocnos_to_stack): Assume uncoalesced allocnos.
2392         (all_conflicting_hard_regs_coalesced): Ditto.  Rename to
2393         all_conflicting_hard_regs.
2394         (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
2395         (setup_allocno_left_conflicts_size): Ditto.
2396         (put_allocno_into_bucket): Ditto.
2397         (copy_freq_compare_func): Remove.
2398         (copy_freq_compare_func, merge_allocnos): Move before
2399         coalesced_pseudo_reg_freq_compare.
2400         coalesced_allocno_conflict_p): Ditto.
2401         (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto.  Remove
2402         parameter.  Assume it true.
2403         (color_allocnos): Assume uncoalesced allocnos.  Use
2404         ira_print_expanded_allocno instead of print_coalesced_allocno.
2405         (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
2406         parameter.
2407
2408         * ira.c: Remove comment about coalescing.
2409
2410 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2411
2412         * config/mips/mips.h (target_flags_explicit): Declare for
2413         GENERATOR_FILE.
2414
2415 2010-10-04  Andi Kleen <ak@linux.intel.com>
2416
2417         * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
2418         gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
2419
2420 2010-10-04  Matthias Klose  <doko@ubuntu.com>
2421
2422         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
2423         multilib osdirname if it exists.
2424         * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
2425
2426 2010-10-04  Jakub Jelinek  <jakub@redhat.com>
2427
2428         PR middle-end/45876
2429         * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
2430         arg0's type or its unsigned counterpart as utype.  Convert
2431         arg1 to utype unconditionally.
2432
2433 2010-10-04  Julian Brown  <julian@codesourcery.com>
2434
2435         * expr.c (expand_assignment): Add assertion to prevent emitting
2436         null rtx for movmisalign pattern.
2437         (expand_expr_real_1): Likewise.
2438         * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
2439         (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
2440         (arm_vector_alignment_reachable): New.
2441         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
2442         (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
2443         (arm_print_operand): Include alignment qualifier in %A.
2444         * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
2445         (movmisalign<mode>): New expander.
2446         (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
2447         insn patterns.
2448
2449 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
2450
2451         * optc-gen.awk: Define global_options_set.  Don't define
2452         target_flags_explicit.
2453         * opth-gen.awk: Declare global_options_set.  Define
2454         target_flags_explicit as macro.
2455         * opts-common.c (handle_option): Take opts_set and generated_p
2456         parameters.
2457         (handle_generated_option, read_cmdline_option, set_option): Take
2458         opts_set parameter.
2459         (set_option): Use opts_set instead of hardcoding target_flags and
2460         target_flags_explicit.
2461         * opts.c (sel_sched_switch_set, profile_arc_flag_set,
2462         flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
2463         flag_value_profile_transformations_set, flag_peel_loops_set,
2464         flag_branch_probabilities_set, flag_inline_functions_set,
2465         flag_ipa_cp_set, flag_ipa_cp_clone_set,
2466         flag_predictive_commoning_set, flag_unswitch_loops_set,
2467         flag_gcse_after_reload_set): Remove.
2468         (common_handle_option, lang_handle_option, target_handle_option):
2469         Take opts_set parameter.  Assert that it is &global_options_set.
2470         (common_handle_option): Don't set _set variables.  Check opts_set
2471         instead of such variables.
2472         (enable_warning_as_error): Pass &global_options_set to
2473         handle_generated_option.
2474         * opts.h (cl_option_handler_func.handler, set_option,
2475         handle_option, handle_generated_option, read_cmdline_option): Add
2476         opts_set parameters.
2477         (handle_option): Add generated_p parameter.
2478         * config/i386/i386.c (ix86_function_specific_save,
2479         ix86_function_specific_restore): Updat for renaming of
2480         target_flags_explicit field.
2481         * config/i386/i386.opt (target_flags_explicit): Rename to
2482         ix86_target_flags_explicit.
2483         * config/ia64/ia64.c (ia64_override_options_after_change): Check
2484         global_options_set.x_flag_selective_scheduling and
2485         global_options_set.x_flag_selective_scheduling2, not
2486         sel_sched_switch_set.
2487         * flags.h (sel_sched_switch_set,
2488         flag_speculative_prefetching_set): Remove.
2489         * gcc.c (driver_handle_option): Take opts_set parameter.  Assert
2490         that it is &global_options_set.
2491         (process_command): Pass &global_options_set to read_cmdline_option.
2492         * lto-opts.c (lto_reissue_options): Pass &global_options_set to
2493         set_option.
2494         * toplev.c (target_flags_explicit): Remove.
2495
2496 2010-10-04  Jan Hubicka  <jh@suse.cz>
2497
2498         PR middle-end/45871
2499         * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
2500         use get_ref_base_and_offset to handle references.
2501         (fold_const_aggregate_ref): Update.
2502
2503 2010-10-04  Martin Jambor  <mjambor@suse.cz>
2504
2505         PR tree-optimization/45572
2506         * ipa-prop.c (ipa_make_edge_direct_to_target): Call
2507         ipa_check_create_node_params.
2508         * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
2509
2510 2010-10-04  Yao Qi  <yao@codesourcery.com>
2511
2512         * doc/passes.texi: Clean up.
2513
2514 2010-10-03  Ian Lance Taylor  <iant@google.com>
2515
2516         * c-typeck.c (lookup_field): If -fplan9-extensions, permit
2517         referring to a field using a typedef name.
2518         (find_anonymous_field_with_type): New static function.
2519         (convert_to_anonymous_field): New static function.
2520         (convert_for_assignment): If -fplan9-extensions, permit converting
2521         pointer to struct to pointer to anonymous field.
2522         * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
2523         (is_duplicate_field): New static function.
2524         (detect_field_duplicates_hash): If -fplan9-extensions, check for
2525         typedef names duplicating field names.
2526         (detect_field_duplicates): Likewise.
2527         * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
2528         (C Dialect Options): Document -fplan9-extensions.
2529         * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
2530
2531 2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>
2532
2533         * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
2534         revision 164914.
2535         (vect_create_data_ref_ptr): Likewise.
2536         * tree-vect-stmts.c (vectorizable_store): Likewise.
2537         (perm_mask_for_reverse): Likewise.
2538         (reverse_vec_elements): Likewise.
2539         (vectorizable_load): Likewise.
2540
2541 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2542
2543         * cppbuiltin.c: New file.
2544         * cppbuiltin.h: New file.
2545         * Makefile.in: Take into account cppbuiltin.{h,c}.
2546
2547 2010-10-03  Andi Kleen <ak@linux.intel.com>
2548
2549         * lto-cgraph.c (input_cgraph): Check for missing sections.
2550
2551 2010-10-03  Uros Bizjak  <ubizjak@gmail.com>
2552
2553         * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
2554         to nonimmediate_operand.  Force operand 2 to register when allowed.
2555         (*<shiftrt_insn><mode>3_mask): Ditto.
2556         (*<rotate_insn><mode>3_mask): Ditto.
2557
2558 2010-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2559
2560         PR tree-optimization/45720
2561         PR tree-optimization/45764
2562         * tree-vect-data-refs.c (vect_analyze_data_ref_access):
2563         Don't accept backwards consecutive accesses.
2564         (vect_create_data_ref_ptr): Disallow negative steps.
2565
2566         * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
2567         (perm_mask_for_reverse): Removed.
2568         (reverse_vec_elements): Likewise.
2569         (vectorizable_load): Don't handle negative steps.
2570
2571 2010-10-02  Jan Hubicka  <jh@suse.cz>
2572
2573         * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
2574         call destination is known.
2575
2576 2010-10-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2577
2578         PR target/45820
2579         * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
2580         earlier.
2581
2582 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2583
2584         * doc/install.texi (Configuration): Document build_configargs,
2585         host_configargs, target_configargs.
2586
2587 2010-10-01  Uros Bizjak  <ubizjak@gmail.com>
2588
2589         * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
2590         (*<shiftrt_insn><mode>3_mask): Ditto.
2591         (*<rotate_insn><mode>3_mask): Ditto.
2592
2593 2010-10-01  Steve Ellcey  <sje@cup.hp.com>
2594
2595         PR tree-optimization/44716
2596         * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
2597         (HOT_TEXT_SECTION_NAME): Define.
2598
2599 2010-10-01  Nick Clifton  <nickc@redhat.com>
2600
2601         * common.opt: Add -fcombine-stack-adjustments.
2602         * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
2603         * combine-stack-adj.c (gate_handle_stack_adjustments): Check
2604         flag_combine_stack_adjustments.
2605         * doc/invoke.texi: Document the new option.
2606
2607 2010-10-01  Richard Guenther  <rguenther@suse.de>
2608
2609         PR tree-optimization/45854
2610         * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
2611
2612 2010-10-01  Anthony Green  <green@moxielogic.com>
2613
2614         * config.gcc: Fix moxie-*-rtems* configuration.
2615
2616 2010-10-01  Richard Guenther  <rguenther@suse.de>
2617
2618         * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
2619         (gen_decl_die): Likewise.
2620
2621 2010-10-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2622
2623         * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
2624         to the function code for SPU MD builtins.
2625         (spu_expand_builtin): Update.
2626         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
2627
2628 2010-10-01  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2629
2630         * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
2631         sjlj_except_unwind_info.
2632
2633 2010-10-01  Tristan Gingold  <gingold@adacore.com>
2634
2635         * configure.ac: Define the nop insn for avr*-*-*
2636         * configure: Regenerate.
2637
2638 2010-10-01  Alan Modra  <amodra@gmail.com>
2639
2640         PR target/45807
2641         * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
2642         extend toc_restore_insn.
2643
2644 2010-09-30  Richard Guenther  <rguenther@suse.de>
2645
2646         PR tree-optimization/43959
2647         * function.c (gimplify_parameters): Use create_tmp_reg instead of
2648         create_tmp_var.
2649
2650 2010-09-30  Kaz Kojima  <kkojima@gcc.gnu.org>
2651
2652         * config/sh/sh.c (sh_expand_prologue): Set
2653         current_function_static_stack_size.
2654
2655 2010-09-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2656
2657         * configure.ac: Check for Solaris 8 ld with .hidden support.
2658         * configure: Regenerate.
2659
2660 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2661
2662         PR middle-end/45758
2663         * graphite.c (graphite_initialize): Call scev_reset.
2664
2665 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2666
2667         * sese.h (scev_analyzable_p): Return false for real or floating
2668         point.  Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
2669
2670 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2671
2672         * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
2673         and ps.
2674         * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
2675         domain.
2676         * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
2677         Do not allocate ub_expr, it is passed in initialized.
2678
2679 2010-09-30  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
2680
2681         * graphite-clast-to-gimple.c (init_cloog_input_file): New.
2682         (build_cloog_prog): Dump CLooG input file when
2683         flag_graphite_dump_cloog is set.  This is disabled on trunk.
2684         * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
2685
2686 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2687
2688         * graphite-clast-to-gimple.c (graphite_verify): Remove call to
2689         verify_dominators for CDI_POST_DOMINATORS.
2690         * sese.h: Remove comment about CDI_POST_DOMINATORS.
2691         (recompute_all_dominators): Remove call to free_dominance_info
2692         for CDI_POST_DOMINATORS.  Remove call to calculate_dominance_info
2693         for CDI_POST_DOMINATORS.
2694
2695 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2696
2697         * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
2698         over pbb_dim_iter_domain.
2699
2700 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2701
2702         * graphite-flattening.c: Fix comments.
2703
2704 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2705
2706         * Makefile.in (OBJS-common): Add graphite-flattening.o.
2707         (graphite-flattening.o): New rule.
2708         * common.opt (floop-flatten): New flag.
2709         * doc/invoke.texi (-floop-flatten): Documented.
2710         * graphite-flattening.c: New.
2711         * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
2712         * graphite-poly.h (flatten_all_loops): Declared.
2713         (lst_remove_loop_and_inline_stmts_in_loop_father): New.
2714         * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
2715         is set, also set flag_graphite.
2716
2717 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2718
2719         * graphite-poly.c (cloog_checksum): New.
2720         * graphite-poly.h (cloog_checksum): Declared.
2721
2722 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2723
2724         * graphite-poly.c (pbb_number_of_iterations): Removed.
2725         (pbb_number_of_iterations_at_time): Correctly compute the number
2726         of iterations in the transformed loop.
2727         * graphite-poly.h (pbb_number_of_iterations): Removed.
2728
2729 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2730
2731         * graphite-poly.h (lst_update_scattering_seq): Removed.
2732         (lst_update_scattering): Correctly handle outermost loop dewey
2733         renumbering.
2734
2735 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2736
2737         * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
2738         lst_strip_mine_profitable_p.  Call lst_niter_for_loop.
2739         * graphite-poly.h (lst_niter_for_loop): New.
2740
2741 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2742
2743         * graphite-poly.c (apply_poly_transforms): Do not abort when the
2744         transform read from disk is not legal.  Call fatal_error instead.
2745
2746 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2747
2748         * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
2749         (print_scop_header): Removed.  Inlined in the only call place...
2750         (print_scop): ... here.
2751
2752 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2753
2754         * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
2755
2756 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2757
2758         * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
2759
2760 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2761
2762         * graphite-dependences.c (dot_deps): Avoid set but not used warning.
2763         (dot_deps_stmt): Same.
2764         * graphite-poly.c (dot_lst): Same.
2765
2766 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2767
2768         * graphite-blocking.c (scop_do_strip_mine): Do not call
2769         graphite_legal_transform.
2770         (scop_do_block): Same.
2771
2772 2010-09-30  Vladimir Kargov  <kargov@gmail.com>
2773
2774         * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
2775         description.
2776
2777 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2778
2779         * tree-scalar-evolution.c (instantiate_array_ref): New.
2780         (instantiate_scev_r): Also handle ARRAY_REFs.
2781
2782 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2783
2784         * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
2785         Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
2786         RESULT_DECL, and FIELD_DECL.  Return false for an
2787         SSA_NAME_IS_DEFAULT_DEF.
2788         (compute_scalar_evolution_in_loop): Do not further analyze the
2789         scalar evolution when no_evolution_in_loop_p returns true.
2790
2791 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2792
2793         * tree-chrec.h (evolution_function_is_affine_p): Do not check
2794         whether CHREC_LEFT is invariant.  A function is affine when
2795         CHREC_RIGHT is invariant.
2796
2797 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2798
2799         * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
2800         is_gimple_reg.
2801         (rewrite_degenerate_phi): Same.
2802         (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
2803
2804 2010-09-30  Vladimir Kargov  <kargov@gmail.com>
2805
2806         * graphite-scop-detection.c (graphite_can_represent_scev,
2807         graphite_can_represent_expr, stmt_has_simple_data_refs_p,
2808         graphite_can_represent_loop): Remove outermost_loop.
2809
2810 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2811
2812         PR middle-end/45229
2813         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
2814         handle GIMPLE_CALLs with no LHS.
2815
2816 2010-09-30  Riyadh Baghdadi <baghdadi.mr@gmail.com>
2817
2818         * graphite-poly.c (init_graphite_out_file): New.
2819         (init_graphite_in_file): New.
2820         (apply_poly_transforms): Updated to enable reading and writing of
2821         multiple scop files.
2822
2823 2010-09-30  Tobias Grosser  <grosser@fim.uni-passau.de>
2824
2825         * graphite-scop-detection.c (graphite_can_represent_scev): Remove
2826         redundant checks.
2827
2828 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2829
2830         * graphite-clast-to-gimple.c (precision_for_value): Adjust
2831         computation of precision by 1.
2832
2833 2010-09-30  Riyadh Baghdadi <baghdadi.mr@gmail.com>
2834
2835         * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
2836         (openscop_read_polyhedron_matrix): New.
2837         * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
2838         (openscop_read_N_int): Same.
2839         * graphite-poly.c (openscop_read_N_int): New.
2840         (openscop_read_one_int): New.
2841         (openscop_read_N_string): New.
2842         (openscop_read_one_string): New.
2843         (openscop_read_powerset_matrix): New.
2844         (graphite_read_transforms): Remove.
2845         (graphite_read_scatt): New.
2846         (graphite_read_scop_file): New.
2847         (apply_poly_transforms): Updated to call graphite_read_scop_file.
2848
2849 2010-09-30  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
2850
2851         * graphite-poly.c: Change include order.
2852
2853 2010-09-30  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
2854
2855         * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
2856         (cloog_matrix_nrows): New.
2857
2858 2010-09-30  Riyadh Baghdadi <baghdadi.mr@gmail.com>
2859
2860         * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
2861         from matrix lines.
2862         * graphite-poly.c (openscop_print_scattering_function_1): Same.
2863         (print_scattering_function_1): Same.
2864         (openscop_print_pbb_domain): Same.
2865         (openscop_print_scop_context): Same.
2866         (print_scop_context): Same.
2867
2868 2010-09-30  Riyadh Baghdadi <baghdadi.mr@gmail.com>
2869
2870         * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
2871         (openscop_print_pdr_polyhedron): Print pph.
2872
2873 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2874
2875         * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
2876         priority signed types.
2877
2878 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
2879
2880         * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
2881         the call to lang_hooks.types.type_for_size.  Call
2882         build_nonstandard_integer_type.
2883
2884 2010-09-30  Riyadh Baghdadi <baghdadi.mr@gmail.com>
2885
2886         * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
2887         (openscop_print_polyhedron_matrix): New.
2888         * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
2889         * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
2890         (openscop_print_pdr_powerset): New.
2891         (openscop_print_powerset_matrix): New.
2892         (openscop_print_scattering_function_1): New.
2893         (print_scattering_function): Add support for scattering names and
2894         OpenScop format.
2895         (graphite_write_transforms): Remove.
2896         (print_pdr_access_layout): Updated to support OpenScop format.
2897         (print_pdr): Same.
2898         (openscop_print_pbb_domain): New.
2899         (print_pbb_body): Added a parameter to allow indicating that pbb_body
2900         is not provided.
2901         (print_pbb): Updated to call the new print_pbb_body.
2902         (openscop_print_scop_context): New.
2903         (print_scop_header): New.
2904         (print_scop): Updated to call print_scop_header.
2905         * graphite-poly.h: Document OpenScop format.
2906
2907 2010-09-30  Anatoly Sokolov  <aesok@post.ru>
2908
2909         * config/cris/m32c.c (cris_memory_move_cost): New.
2910         (cris_register_move_cost): Make static. Change arguments type from
2911         enum reg_class to reg_class_t.
2912         (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2913         * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2914         * config/cris/cris-protos.h (cris_register_move_cost): Remove.
2915
2916 2010-09-30  Jakub Jelinek  <jakub@redhat.com>
2917
2918         PR target/45843
2919         * config/i386/i386.c (ix86_gimplify_va_arg): Use
2920         INTVAL (XEXP (slot, 1)) as prev_size.
2921
2922 2010-09-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
2923
2924         PR target/45837
2925         * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
2926         * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
2927         defined.
2928         * config/rs6000/option-defaults.h (toplevel): Change #if
2929         TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
2930         global option changes.
2931
2932 2010-09-30  Jakub Jelinek  <jakub@redhat.com>
2933
2934         * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
2935
2936         PR tree-optimization/31261
2937         * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
2938         for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
2939
2940 2010-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2941
2942         PR bootstrap/45796
2943         * Makefile.in (build/gen%$(build_exeext)): Move rule after all
2944         special-casing for generators and turn into ...
2945         ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
2946         rule, for better error messages in case of toplevel dependency errors.
2947         (genprog): Add hooks, rename to ...
2948         (genprogerr): ... this, and let genprog also contain check,
2949         checksum, condmd.
2950         ((genprog:%=build/gen%$(build_exeext))): Rename to ...
2951         ((genprogerr:%=build/gen%$(build_exeext))): ... this.
2952         (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
2953
2954 2010-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
2955             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2956
2957         * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
2958         for GMP, MPFR and MPC.
2959
2960 2010-09-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2961
2962         * config/sparc/sparc.opt (mimpure-text): Move ...
2963         * config/sol2.opt: ... here.  Correct description.
2964         * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
2965         * doc/invoke.texi (Option Summary, SPARC Options): Move
2966         -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
2967         (Option Summary, Solaris 2 Options): ... here.
2968         (Submodel Options, Solaris 2 Options): New menu entry.
2969         (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
2970         (Solaris 2 Options): ... here.
2971
2972 2010-09-30  Michael Eager  <eager@eagercon.com>
2973
2974         * extend.texi (interrupt_handler): Add MicroBlaze to list.
2975         (save_volatiles): Describe option for MicroBlaze.
2976         * invoke.texi: Add MicroBlaze Options.
2977         * contrib.texi: Add acknowledgment.
2978         * md.texi: Add MicroBlaze d and z constraints.
2979         * install.texi: Add microblaze-*-elf.
2980         * configure.ac: Add microblaze-*-* to target list.
2981         * configure: Regenerate.
2982         * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
2983         * config/microblaze/microblaze-protos.h: New.
2984         * config/microblaze/crti.s: New.
2985         * config/microblaze/predicates.md: New.
2986         * config/microblaze/linux.h: New.
2987         * config/microblaze/microblaze.md: New.
2988         * config/microblaze/constraints.md: New.
2989         * config/microblaze/crtn.s: New.
2990         * config/microblaze/microblaze.opt: New.
2991         * config/microblaze/microblaze-c.c: New.
2992         * config/microblaze/t-microblaze: New.
2993         * config/microblaze/microblaze.c: New.
2994         * config/microblaze/microblaze.h: New.
2995
2996 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
2997
2998         * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
2999         parse @optional/@required and set the flags as appropriate.
3000
3001 2010-09-30  Nathan Froyd  <froydnj@codesourcery.com>
3002
3003         * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
3004
3005 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
3006
3007         * opt-functions.awk (static_var): Update comment.
3008         (var_ref): Return offsetof expression or -1, not variable address.
3009         * optc-gen.awk: Generate structure field initializers instead of
3010         static variables.  Expect -1 for missing variables instead of null
3011         pointer.  Add gcc_options parameters to generated functions.
3012         * opth-gen.awk: Generate structure fields for static variables.
3013         Add gcc_options parameters to generated functions.
3014         * common.opt (optimize, optimize_size): Add variables.
3015         * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
3016         &global_options to cl_target_option_restore.
3017         * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
3018         &global_options to cl_optimization_restore, cl_target_option_save
3019         and cl_target_option_restore.
3020         (ix86_set_current_function): Pass &global_options to
3021         cl_target_option_restore.
3022         * config/pdp11/pdp11.h (optimize): Remove.
3023         * config/rs6000/rs6000.h (optimize): Remove.
3024         * config/sh/sh.h (optimize): Remove.
3025         * config/xtensa/xtensa.h (optimize): Remove.
3026         * coretypes.h (struct gcc_options): Declare.
3027         * diagnostic.c (diagnostic_initialize): Initialize
3028         context->option_state.
3029         (diagnostic_report_diagnostic): Pass option_state to
3030         option_enabled hook.
3031         * diagnostic.h (diagnostic_context.option_enabled): Add void *
3032         parameter.
3033         (diagnostic_context.option_state): New field.
3034         * final.c (final_start_function, final, final_scan_insn): Rename
3035         optimize parameter to optimize_p.
3036         * flags.h (optimize, optimize_size): Remove.
3037         * function.c (invoke_set_current_function_hook): Pass
3038         &global_options to cl_optimization_restore.
3039         * gcc.c (driver_handle_option): Take gcc_options parameter.
3040         Assert that it is &global_options.
3041         (process_command): Pass &global_options to read_cmdline_option.
3042         * ipa-pure-const.c (suggest_attribute): Pass &global_options to
3043         option_enabled.
3044         * lto-opts.c (lto_reissue_options): Use option_flag_var.  Pass
3045         &global_options to set_option.
3046         * opts-common.c (handle_option, handle_generated_option,
3047         read_cmdline_option, set_option): Take explicit gcc_options
3048         parameters.  Use option_flag_var.
3049         (option_flag_var): New.
3050         * opts.c (common_handle_option, lang_handle_option,
3051         target_handle_option): Take gcc_options parameter.  Assert that it
3052         is &global_options.
3053         (read_cmdline_options): Pass &global_options to read_cmdline_option.
3054         (print_filtered_help): Use option_flag_var.  Pass &global_options
3055         to option_enabled.
3056         (common_handle_option): Use option_flag_var.
3057         (option_enabled): Take opts parameter.  Use option_flag_var.
3058         (get_option_state): Take gcc_options parameter.  Use
3059         option_flag_var.  Pass gcc_options parameter to option_enabled.
3060         (enable_warning_as_error): Pass &global_options to
3061         handle_generated_option.
3062         * opts.h (struct cl_option): Change flag_var to flag_var_offset.
3063         (cl_option_handler_func.handler): Take gcc_options parameter.
3064         (option_enabled, get_option_state, set_option, handle_option,
3065         handle_generated_option, read_cmdline_option): Take gcc_options
3066         parameters.
3067         * toplev.c (optimize, optimize_size): Remove.
3068         (print_switch_values): Pass &global_options to option_enabled.
3069         (option_affects_pch_p): Use option_flag_var.  Pass &global_options
3070         to get_option_state.
3071         (general_init): Initialize global_dc->option_state.
3072         * tree.c (build_optimization_node): Pass &global_options to
3073         cl_optimization_save.
3074         (build_target_option_node): Pass &global_options to
3075         cl_target_option_save.
3076
3077 2010-09-30  Martin Jambor  <mjambor@suse.cz>
3078
3079         * tree-sra.c (type_consists_of_records_p): Do not check for trailing
3080         zero sized bit-fields.
3081
3082 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3083
3084         * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
3085         Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
3086         (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
3087         (c_parser_objc_class_declaration): Same change.
3088         (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
3089         RID_TRY and RID_AT_CATCH instead of RID_CATCH.
3090         (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
3091         instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
3092         and RID_AT_PUBLIC instead of RID_PUBLIC.
3093         (c_parser_statement_after_labels): Use RID_AT_TRY instead of
3094         RID_TRY and RID_AT_CATCH instead of RID_CATCH.
3095
3096 2010-09-30  Tom G. Christensen <tgc@jupiterrise.com>
3097
3098         * doc/install.texi (Binaries): Update link to HP-UX porting centre.
3099         Add links to current providers of packages for Solaris and IRIX.
3100
3101 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3102
3103         Merge from 'apple/trunk' branch on FSF servers.
3104         * c-parser.c: Applied change originally in c-parse.in.
3105
3106         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
3107
3108         Radar 4281748
3109         * c-decl.c (start_decl): Check for redeclaration of class name.
3110         * c-parse.in (after_type_declarator): Recognize CLASSNAME.
3111
3112 2010-09-29  Steve Ellcey  <sje@cup.hp.com>
3113
3114         * config/ia64/ia64.c (ia64_builtin_decl): New.
3115         (TARGET_BUILTIN_DECL): Define.
3116         (ia64_builtins): New.
3117         (ia64_init_builtins): Save decls in ia64_builtins.
3118
3119 2010-09-29  Bernd Schmidt  <bernds@codesourcery.com>
3120
3121         PR target/40457
3122         * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
3123         (move2add_use_add3_insn): Likewise.
3124         (reload_cse_move2add): Likewise.
3125         * rtlanal.c (get_full_rtx_cost): New function.
3126         * rtl.h (struct full_rtx_costs): New.
3127         (init_costs_to_max, init_costs_to_zero, costs_lt_p,
3128         costs_add_n_insns): New inline functions.
3129         (get_full_rtx_cost): Declare.
3130
3131         PR c/45054
3132         * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
3133         invariants.  Check for reg_equiv_invariant.
3134         (reload): Assert that spilled_pseudos is empty when returning.
3135
3136 2010-09-29  Kai Tietz  <kai.tietz@onevision.com>
3137
3138         * config/i386/mingw32.h (TARGET_64BIT): replaced by
3139         TARGET_64BIT_DEFAULT in #if check.
3140
3141 2010-09-29  Jack Howarth <howarth@bromo.med.uc.edu>
3142
3143         * varasm.c (assemble_alias): Add error message for unsupported ifunc.
3144
3145 2010-09-29  Mike Stump  <mikestump@comcast.net>
3146
3147         * config/darwin.h (flag_mkernel): Remove.
3148         (flag_apple_kext): Likewise.
3149
3150 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3151             Jack Howarth <howarth@bromo.med.uc.edu>
3152
3153         * config/darwin.opt (undefined): Add.
3154
3155 2010-09-29  Nathan Sidwell  <nathan@codesourcery.com>
3156
3157         PR testsuite/45664
3158         * configure.ac: Add --enable-indirect-function option.
3159         * config.gcc: Add default_gnu_indirect_function.
3160         * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
3161         (HAVE_GNU_INDIRECT_FUNCTION): ... this.
3162         * varasm.c (do_assemble_alias): Adjust for macro name change.
3163         * configure: Rebuilt.
3164         * doc/install.texi: Document --enable-indirect-function.
3165
3166 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3167
3168         * doc/options.texi (Variable, Var, Init): Update documentation
3169         without reference to VarExists.
3170         (VarExists): Remove.
3171         * common.opt, config/i386/i386.opt, config/linux.opt,
3172         config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
3173         Don't use VarExists.
3174
3175 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
3176
3177         * optc-gen.awk: Generate global_options initializer instead of
3178         individual variables.  Add x_ prefix to names of structure members.
3179         * opth-gen.awk: Generate gcc_options structure.  Add x_ prefix to
3180         names of structure members.
3181         * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3182         HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
3183         * doc/tm.texi: Regenerate.
3184         * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3185         * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
3186         * c-parser.c (disable_extension_diagnostics,
3187         restore_extension_diagnostics): Update names of cpp_options members.
3188         * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3189         * common.opt (fcompare-debug-second): Don't use Var.
3190         * config/alpha/alpha.h (target_flags): Remove.
3191         * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3192         HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
3193         * config/bfin/bfin.h (target_flags): Remove.
3194         * config/cris/cris.h (target_flags): Remove.
3195         * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
3196         cl_target_option members.
3197         * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
3198         (ix86_function_specific_print, ix86_valid_target_attribute_tree,
3199         ix86_can_inline_p): Update names of cl_target_option members.
3200         * config/i386/i386.h (ix86_isa_flags): Remove.
3201         * config/lm32/lm32.h (target_flags): Remove.
3202         * config/mcore/mcore.h (mcore_stack_increment): Remove.
3203         * config/mcore/mcore.md (addsi3): Remove extern declaration of
3204         flag_omit_frame_pointer.
3205         * config/mep/mep.h (target_flags): Remove.
3206         * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3207         HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
3208         * config/mmix/mmix.h (target_flags): Remove.
3209         * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
3210         flag_expensive_optimizations): Remove.
3211         * config/s390/s390.h (flag_pic): Remove.
3212         * config/score/score-conv.h (target_flags): Remove.
3213         * config/sh/sh.h (sh_fixed_range_str): Remove.
3214         * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
3215         * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
3216         * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3217         * diagnostic.c (diagnostic_initialize): Update names of
3218         diagnostic_context members.
3219         * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
3220         warn_system_headers.
3221         (diagnostic_report_warnings_p): Update for new names.
3222         * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
3223         * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
3224         HARD_FRAME_POINTER_IS_ARG_POINTER.
3225         * flags.h (flag_compare_debug): Declare.
3226         * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3227         * opts.c (flag_compare_debug): Define.
3228         (common_handle_option): Update names of diagnostic_context
3229         members.  Handle -fcompare-debug-second.
3230         (fast_math_flags_struct_set_p): Update names of cl_optimization
3231         members.
3232         * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3233         * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3234         * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3235         * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3236         * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
3237         * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
3238         HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
3239         * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
3240         * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
3241
3242 2010-09-29  Hariharan Sandanagobalane  <hariharan@picochip.com>
3243
3244         * config/picochip/picochip.c (picochip_output_internal_label):
3245         This function can now be called for debug CFI labels, which can come
3246         in the middle of a vliw instruction.  Postpone until end of vliw.
3247
3248 2010-09-29  Richard Guenther  <rguenther@suse.de>
3249
3250         * tree.h (SCOPE_FILE_SCOPE_P): New macro.
3251         (DECL_FILE_SCOPE_P): Use it.
3252         (TYPE_FILE_SCOPE_P): New macro.
3253
3254 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3255
3256         * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
3257         a CPP_NAME which is a reserved word, clearly separate cases for
3258         OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
3259
3260 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3261
3262         * c-parser.c (c_lex_one_token): In Objective-C, do not replace
3263         token->value with the canonical spelling.  Do exactly like C and
3264         C++ and leave it as it is.
3265
3266 2010-09-28  Richard Henderson  <rth@redhat.com>
3267
3268         * config/alpha/alpha.c (alpha_builtins): New.
3269         (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
3270         (alpha_builtin_function): New.
3271         (alpha_add_builtins, alpha_init_builtins): Use it.
3272
3273 2010-09-28  Nicola Pero  <nicola.pero@meta-innovation.com>
3274
3275         * doc/standards.texi (Standards): Expanded the section on
3276         Objective-C and Objective-C++.
3277
3278 2010-09-28  DJ Delorie  <dj@redhat.com>
3279
3280         PR target/45800
3281         * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
3282         volatile MEMs.
3283
3284 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3285
3286         * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
3287         attributes on methods.
3288          (c_parser_objc_method_definition): Handle attributes.
3289         (c_parser_objc_methodproto): Likewise.
3290         (c_parser_objc_maybe_method_attributes): New.
3291         (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
3292         missing definition, similar to that in ObjC++.
3293
3294 2010-09-28  Richard Henderson  <rth@redhat.com>
3295
3296         * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
3297         (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3298         (CONFIG_SJLJ_EXCEPTIONS): Remove.
3299         (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
3300         (STACK_CHECK_PROTECT): Likewise.
3301         * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
3302         (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
3303         (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
3304         (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
3305         (dwarf2out_assembly_start): Likewise.
3306         * except.c (init_eh): Use targetm.except_unwind_info.
3307         (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
3308         (output_one_function_exception_table): Likewise.
3309         * final.c: Unconditionally include dwarf2out.h.
3310         (final_start_function): Unconditionally call dwarf2out routines.
3311         (final_end_function, final_scan_insn): Likewise.
3312         * function.c (expand_function_end): Use targetm.except_unwind_info.
3313         * opts.c (decode_options): Use targetm.except_unwind_info.
3314         * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
3315         * target.def (debug_unwind_info, except_unwind_info): New.
3316         * target.h (enum unwind_info_type): New.
3317         * targhooks.c (default_debug_unwind_info): New.
3318         (default_except_unwind_info): New.
3319         (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
3320         * targhooks.h: Declare them.
3321         * tree-tailcall.c: Include "target.h"
3322         (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
3323         * Makefile.in (tree-tailcall.o): Update.
3324         * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
3325         (lhd_gcc_personality): Likewise.
3326
3327         * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
3328         (TARGET_EXCEPT_UNWIND_INFO): New.
3329         (DWARF2_UNWIND_INFO): Update.
3330         (TARGET_DEBUG_UNWIND_INFO): New.
3331         * doc/tm.texi: Rebuild.
3332
3333         * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
3334         targetm.except_unwind_info.
3335
3336         * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
3337         (arm_except_unwind_info): New.
3338         (arm_compute_func_type): Use it.
3339         (arm_expand_prologue, thumb_pushpop): Likewise.
3340         (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
3341         (arm_unwind_emit, arm_output_fn_unwind): Likewise.
3342         * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
3343         * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
3344         (DWARF2_UNWIND_INFO): Remove.
3345         (MUST_USE_SJLJ_EXCEPTIONS): Remove.
3346         (ARM_EABI_UNWIND_TABLES): Remove.
3347
3348         * config/ia64/ia64.c (ia64_debug_unwind_info): New.
3349         (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
3350         (ia64_except_unwind_info): New.
3351         (ia64_output_function_prologue): Use it.
3352         (ia64_add_bundle_selector_before): Likewise.
3353         (ia64_reorg, ia64_asm_unwind_emit): Likewise.
3354         * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
3355         (TARGET_UNWIND_INFO): Remove.
3356
3357         * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
3358
3359 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3360
3361         * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
3362         (c_parser_objc_protocol_definition): Likewise.
3363         (c_parser_external_declaration): Provide dummy attribute arguments.
3364         (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
3365         (c_parser_objc_class_definition): Handle attributes.
3366         (c_parser_objc_protocol_definition): Likewise.
3367
3368 2010-09-28  Tobias Burnus  <burnus@net-b.de>
3369
3370         PR fortran/40569
3371         PR fortran/40568
3372         * toplev.h (save_decoded_options, save_decoded_options_count):
3373         New global variables.
3374         * toplev.c (save_decoded_options, save_decoded_options_count):
3375         Export variables.
3376
3377 2010-09-28  Ian Lance Taylor  <iant@google.com>
3378
3379         * config/i386/i386.c (ix86_supports_split_stack): Test
3380         HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
3381
3382 2010-09-28  Ian Lance Taylor  <iant@google.com>
3383
3384         PR target/45815
3385         * opts.c (decode_options): Don't test whether the target supports
3386         split stack if flag_split_stack == 0.
3387
3388 2010-09-28  Jan Hubicka  <jh@suse.cz>
3389
3390         * builtin-attrs.def (ATTR_LEAF): New attribute.
3391         (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
3392         ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
3393         ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
3394         ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
3395         ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
3396         ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
3397         ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
3398         * sync-builtins.def: Annotate all builtins by leaf.
3399         * omp-builtins.def: Annotate all builtins by leaf.
3400         * builtins.def: Annotate relevant builtins with leaf attribute.
3401         (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3402         ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
3403         leaf.
3404
3405 2010-09-28  Jan Hubicka  <jh@suse.cz>
3406
3407         * tree-ssa-ccp.c (fold_ctor_reference): New function.
3408         (fold_const_aggregate_ref): Use it.
3409         * fold-const.c (canonicalize_constructor_val): Check that we don't fold
3410         into external static.
3411
3412 2010-09-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3413
3414         PR target/44452
3415         * config/i386/i386.opt (mvect8-ret-in-mem): Define.
3416         * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
3417         (ix86_solaris_return_in_memory): Remove.
3418         * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
3419         * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3420         (TARGET_SUBTARGET_DEFAULT): Redefine.
3421         * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
3422         * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
3423         (TARGET_SUBTARGET_DEFAULT): Redefine.
3424         * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
3425         -mvect8-ret-in-mem.
3426         (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
3427