OSDN Git Service

2007-07-16 Rafael Avila de Espindola <espindola@google.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2007-07-16  Rafael Avila de Espindola  <espindola@google.com>
2
3        * c-decl.c (merge_decls): Keep DECL_SOURCE_LOCATION and
4        DECL_IN_SYSTEM_HEADER in sync.
5
6 2008-07-15  Daniel Berlin  <dberlin@dberlin.org>
7
8         * tree-ssa-sccvn.c (expressions_equal_p): Check type equality.
9         * tree-ssa-pre.c (pre_expr_eq): Ditto
10         (get_constant_for_value_id): Take a type as an argument.
11         (fully_constant_expression): Pass in type.
12         (find_or_generate_expression): Short circuit constant case.
13         (create_expression_by_pieces): Remove special casing of
14         pointer_plus.
15         (do_regular_insertion): Short circuit constant case.
16         (do_partial_partial_insertion): Ditto.
17
18 2008-07-15  Kaz Kojima  <kkojima@gcc.gnu.org>
19
20         PR target/36782
21         * config/sh/sh.md (symGOT_load): Don't add REG_EQUAL note.
22
23 2008-07-15  Bob Wilson  <bob.wilson@acm.org>
24         
25         * config/xtensa/libgcc-xtensa.ver: New file.
26         * config/xtensa/t-linux (SHLIB_MAPFILES): Append libgcc-xtensa.ver.
27         
28 2008-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29
30         * df-problems.c (df_set_note): Avoid C++ keywords.
31         * df-scan.c (df_ref_change_reg_with_loc_1): Likewise.
32         * dse.c (record_store, remove_useless_values): Likewise.
33         * emit-rtl.c (gen_reg_rtx, update_reg_offset, gen_rtx_REG_offset,
34         gen_reg_rtx_offset, operand_subword, change_address_1,
35         change_address, adjust_address_1, offset_address,
36         widen_memory_access, emit_copy_of_insn_after): Likewise.
37         * explow.c (round_push, allocate_dynamic_stack_space): Likewise.
38         * fwprop.c (should_replace_address, propagate_rtx_1,
39         propagate_rtx, try_fwprop_subst, forward_propagate_and_simplify):
40         Likewise.
41         * gcse.c (cprop_jump, find_implicit_sets, bypass_block,
42         gcse_emit_move_after, update_ld_motion_stores): Likewise.
43         * lcm.c (compute_insert_delete, pre_edge_lcm,
44         compute_rev_insert_delete, pre_edge_rev_lcm): Likewise.
45         * lower-subreg.c (resolve_reg_notes): Likewise.
46         * mode-switching.c (optimize_mode_switching): Likewise.
47
48 2008-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
49
50         * bt-load.c (add_btr_def, migrate_btr_def,
51         branch_target_load_optimize): Avoid C++ keywords.
52         * caller-save.c (insert_restore, insert_save, insert_one_insn):
53         Likewise.
54         * combine.c (subst, simplify_set, make_extraction,
55         make_compound_operation, known_cond, simplify_shift_const_1):
56         Likewise.
57         * cse.c (make_regs_eqv, merge_equiv_classes, validate_canon_reg,
58         fold_rtx, equiv_constant, cse_insn, cse_process_notes_1):
59         Likewise.
60
61 2008-07-15  Richard Guenther  <rguenther@suse.de>
62
63         PR middle-end/36369
64         * c-common.c (strict_aliasing_warning): Do not warn for
65         TYPE_REF_CAN_ALIAS_ALL pointers.
66         (c_common_get_alias_set): may_alias types are not special.
67         * tree.c (build_pointer_type_for_mode): Look up the may_alias
68         attribute and set can_ref_all accordingly.
69         (build_reference_type_for_mode): Likewise.
70         * doc/extend.texi (may_alias): Clarify.
71
72 2008-07-15  Kaz Kojima  <kkojima@gcc.gnu.org>
73
74         PR target/36780
75         * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow
76         (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress.
77
78 2008-07-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
79
80         PR target/31568
81         * config/rs6000/rs6000.c (print_operand <case 'y'>): Don't use
82         gcc_assert, instead call output_operand_lossage.
83
84 2008-07-15  Kai Tietz  <kai.tietz@onevision.com>
85
86         * builtins.c (std_canonical_va_list): Treat structure based
87         va_list types.
88
89 2008-07-15  Ben Elliston  <bje@au.ibm.com>
90
91         * emit-rtl.c (set_mem_attributes_minus_bitpos): Improve comment.
92
93 2007-07-14  Rafael Avila de Espindola  <espindola@google.com>
94
95         * c-decl.c (diagnose_mismatched_decls): Don't warn if TREE_NO_WARNING
96         is set.
97
98 2008-07-14  Jan Hubicka  <jh@suse.cz>
99
100         * i386.md (sse5 cmov pattern): Update call of ix86_sse5_valid_op_p
101         * sse.md (sse5 patterns): Update call of ix86_sse5_valid_op_p;
102         fix predicates and constraints.
103         * i386.c (ix86_sse5_valid_op_p): Add commutative parameter.
104         * i386-protos.h (ix86_sse5_valid_op_p): Update declaration.
105
106 2008-07-14  Doug Kwan  <dougkwan@google.com>
107
108         * config.gcc (arm*-*-eabi*): Include arm/eabi.h and use
109         additional option file arm/eabi.opt.
110         * config/arm/eabi.h (File): New configuration file for EABI targets.
111         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
112         SUBSUBTARGET_EXTRA_SPECS.
113         (SUBSUBTARGET_EXTRA_SPECS): Provide empty default.
114         * config/arm/unknown-elf.h (UNKNOWN_ELF_STARTFILE_SPEC): Renamed
115         from STARTFILE_SPEC so that it can be referenced in an override.
116         (STARTFILE_SPEC): Use UNKNOWN_ELF_STARTFILE_SPEC.
117         (UNKNOWN_ELF_ENDFILE_SPEC): Renamed from ENDFILE_SPEC so that it
118         can be referenced in an override.
119         (ENDFILE_SPEC): Use UNKNOWN_ELF_ENDFILE_SPEC.
120         * config/arm/bpabi.h (BPABI_LINK_SPEC): Renamed from LINK_SPEC
121         so that it can be referenced in an override.
122         (LINK_SPEC): Use BPABI_LINK_SPEC.
123         * config/arm/eabi.opt (File): New.
124
125 2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
126
127         * Makefile.in (TARGET_DEF_H): Add targhooks.h.
128         (FIXED_VALUE_H): New variable.
129         (RTL_BASE_H): Use $(INPUT_H) and $(FIXED_VALUE_H) instead of
130         input.h, fixed-value.h.
131         (TREE_H): Use $(INPUT_H), add $(SYMTAB_H).
132         (BASIC_BLOCK_H): Use $(BITMAP_H).
133         (FUNCTION_H): Add varray.h.
134         (IPA_REFERENCE_H): Use $(BITMAP_H).
135         (CGRAPH_H): Add $(BASIC_BLOCK_H).
136         (DF_H): Use $(BITMAP_H).
137         (GGC_H): Add statistics.h.
138         (INSN_ADDR_H): New.
139         (INSN_ATTR_H): Use it.
140         (SYSTEM_H): Add safe-ctype.h, filenames.h.
141         (INPUT_H): New.
142         (SYMTAB_H): Add $(OBSTACK_H).
143         (CPP_INTERNAL_H): New.
144         (TREE_DUMP_H): Add tree-pass.h.
145         (TREE_FLOW_H): Use $(BITMAP_H)
146         (PRETTY_PRINT_H): Use $(INPUT_H).
147         (EBITMAP_H): Rename from typo-ed EBIMAP_H.
148         (GSTAB_H): New.
149         (BITMAP_H): New.
150         (many object files): Fix lots of header dependencies throughout.
151
152 2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
153
154         * Makefile.in (write_entries_to_file, write_entries_to_file_split):
155         New macros.
156         (s-gtyp-input): Use them to write tmp-gi.list.
157         (echo_to_gi.list): Remove.
158
159 2008-07-14  Richard Guenther  <rguenther@suse.de>
160
161         * tree-ssa-sccvn.c (pre_info): Remove.
162         (switch_to_PRE_table): Likewise.
163         (free_scc_vn): Do not clear SSA_NAME_VALUE.
164         Do not free pre_info.
165         (set_hashtable_value_ids): Do not create value-ids for the
166         optimistic tables.
167         (run_scc_vn): Remove double test.  Remove bogus special-case
168         in value-number printing.
169         * tree-ssa-sccvn.h (switch_to_PRE_table): Remove.
170         * tree-ssa-ccp.c (get_symbol_constant_value): Do not look at
171         SSA_NAME_VALUE.
172         * tree-flow-inline.h (get_value_handle): Remove.
173         * tree-flow.h (get_value_handle): Remove.
174
175 2008-07-14  Martin Jambor  <mjambor@suse.cz>
176
177         * tree-switch-conversion.c (gen_inbound_check): Make sure the type
178         in which we generate arithmetics is not a subrange.
179
180 2008-07-14  Martin Jambor  <mjambor@suse.cz>
181
182         * Makefile.in (IPA_PROP_H): Added ipa-prop.h to IPA_PROP_H variable.
183
184 2008-07-14  Richard Guenther  <rguenther@suse.de>
185
186         * tree-ssa-pre.c (insert_into_preds_of_block): Do not call
187         convert.
188
189 2008-07-14  Andreas Krebbel  <krebbel1@de.ibm.com>
190
191         PR target/36745
192         * config/s390/s390.c: (s390_secondary_reload): Add a secondary
193         reload for symbol refs moved to r0 with -fPIC.
194         (legitimize_pic_address): Use the target register as temporary
195         reg if possible.
196         (emit_symbolic_move): Adjust comment.
197         * config/s390/s390.md (reloadsi_PIC_addr, reloaddi_PIC_addr):
198         New expanders.
199
200 2008-07-14  Ben Elliston  <bje@au.ibm.com>
201
202         * c-common.h (C_CPP_HASHNODE): New macro.
203         * coretypes.h (struct cpp_token): Forward declare.
204         * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
205         the context-sensitive keyword method.
206         * config/rs6000/rs6000-c.c (__vector_keyword, vector_keyword,
207         __pixel_keyword, pixel_keyword, __bool_keyword, bool_keyword,
208         expand_bool_pixel): New.
209         (altivec_categorize_keyword): New function.
210         (init_vector_keywords): New function.
211         (rs6000_macro_to_expand): Likewise.
212         (rs6000_cpu_cpp_builtins): Enable context-sensitive macros if not
213         compiling an ISO C dialect.
214
215 2008-07-13  Daniel Berlin  <dberlin@dberlin.org>
216
217         * tree-ssa-pre.c (fully_constant_expression): Add fold_convert
218         calls.
219         (create_expression_by_pieces): Fix typo.
220         (do_regular_insertion): Use debug counter here too.
221
222 2008-07-14  Hans-Peter Nilsson  <hp@axis.com>
223
224         PR target/35492.
225         * config/cris/cris.h (CRIS_CONST_OK_FOR_LETTER_P): Renamed from
226         CONST_OK_FOR_LETTER_P.  All port-local users changed.
227         (CONST_OK_FOR_CONSTRAINT_P): Define; implement Kc as old K,
228         implement Kp matching power-of-two.
229         (CONSTRAINT_LEN): Define to match.
230         * config/cris/cris.md: Replace all use of constraint K with Kc.
231         ("*btst*): Use Kp for operand 0 of last alternative.
232
233 2008-07-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
234
235         PR testsuite/36440
236         * tree-call-cdce.c (check_target_format): Accept MIPS single, double
237         and quad formats.
238
239 2008-07-13  Jan Hubicka  <jh@suse.cz>
240
241         * tree.c (decl_assembler_name_equal): Expect assembler name of decl
242         to be mangled too.
243
244 2008-07-13  Richard Guenther  <rguenther@suse.de>
245
246         PR middle-end/36811
247         * langhooks.c (lhd_print_error_function): Deal with recursive
248         BLOCK trees.
249
250 2008-07-12  Jan Hubicka  <jh@suse.cz>
251
252         * cgraph.c (assembler_name_hash): New static var.
253         (hash_node_by_assembler_name, eq_assembler_name): New.
254         (cgraph_node_for_asm): Use hashtable.
255         (cgraph_remove_node): Maintain hashtable.
256         (change_decl_assembler_name): Sanity check that names are not changing
257         after aliasing was processed.
258         * cgraph.h (varpoon_node): Add next GGC marker.
259         * tree.c (decl_assembler_name_equal): Constify.
260         (decl_assembler_name_hash): New.
261         * tree.h (decl_assembler_name_equal): Constify.
262         (decl_assembler_name_hash): Update.
263
264 2008-07-12  David Daney  <ddaney@avtrex.com>
265
266         * config/mips/driver-native.c (host_detect_local_cpu): Handle
267         sb1 and r5000 cpus.
268
269 2008-07-12  Richard Sandiford  <rdsandiford@googlemail.com>
270
271         * doc/md.texi: Document the MIPS "v" constraint.
272         * config/mips/mips.h (reg_class): Revert last change.
273         (REG_CLASS_NAMES): Likewise.
274         (REG_CLASS_CONTENTS): Likewise.
275         * config/mips/mips.c (mips_regno_to_class): Likewise.
276         * config/mips/constraints.md (v): Likewise, but add documentation.
277         Add a comment to say that this constraint should not be used in
278         gcc code.
279
280 2008-07-11  DJ Delorie  <dj@redhat.com>
281
282         * config/h8300/h8300.md (length): Fix branch offset limit.
283
284 2008-07-11  Anatoly Sokolov  <aesok@post.ru>    
285
286         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Remove prototype.
287         * config/avr/avr.c (avr_peep2_scratch_safe): Remove.
288         (avr_hard_regno_scratch_ok): New function.
289         (TARGET_HARD_REGNO_SCRATCH_OK): Define.
290         * config/avr/avr.md (all peepholes that request a scratch register):
291         Remove avr_peep2_scratch_safe use.
292
293 2008-07-11  Tom Tromey  <tromey@redhat.com>
294             Ian Lance Taylor  <iant@google.com>
295
296         * c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
297         (struct c_common_resword): Define.
298         (D_CONLY, D_CXXONLY, D_C99, D_CXX0X, D_EXT, D_EXT89): Define.
299         (D_ASM, D_OBJC, D_CXX_OBJC, D_CXXWARN): Define.
300         (c_common_reswords, num_c_common_reswords): Declare.
301         * c-common.c (c_common_reswords): New global const array.
302         (num_c_common_reswords): New const int.
303         * c-parser.c (struct resword, reswords): Don't define.
304         (D_C89, D_EXT, D_EXT89, D_OBJC): Don't define.
305         (c_parse_init): Clarify mask code.  Use c_common_reswords rather
306         than reswords.  If warning about C++ keywords, give them a special
307         RID code.
308         (c_lex_one_token): Warn about C++ keywords.  Call
309         objc_is_reserved_word rather than OBJC_IS_AT_KEYWORD.
310         (c_parser_external_declaration): Look for RID_xxx rather than
311         RID_AT_xxx, for ObjC++ keywords which are also C++ keywords.
312         (c_parser_statement_after_labels): Likewise.
313         (c_parser_objc_class_instance_variables): Likewise.
314         (c_parser_objc_class_declaration): Likewise.
315         (c_parser_objc_try_catch_statement): Likewise.
316         * c-decl.c (c_print_identifier): Ignore RID_CXX_COMPAT_WARN.
317         (declspecs_add_type): Likewise.
318
319 2008-07-11  Angelo Graziosi  <angelo.graziosi@alice.it>
320
321         * ggc-page.c (alloc_page):
322         Substituting xmalloc, xcalloc with
323         XNEWVEC and XCNEWVAR macros which add the
324         needed casts.
325
326 2008-07-11  Richard Guenther  <rguenther@suse.de>
327
328         PR tree-optimization/36765
329         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
330         aliases from HEAP vars to SMTs.
331
332 2008-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
333
334         * Makefile.in (LOOSE_WARN, STRICT_WARN): Update comments.
335         * configure.ac (loose_warn): Move -Wc++-compat from here...
336         (strict_warn): ...to here.
337         * configure: Regenerate.
338
339 2008-07-10  Joseph Myers  <joseph@codesourcery.com>
340
341         * config.gcc (arm-*-coff*, armel-*-coff*, h8300-*-*,
342         i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*,
343         m68k-*-coff*, sh-*-*, mips-sgi-irix[56]*, pdp11-*-bsd,
344         rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Deprecate targets,
345         excluding more specific h8300-*-* and sh-*-* targets.
346
347 2008-07-10  Daniel Berlin  <dberlin@dberlin.org>
348
349         * tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert
350         calls.
351         (eliminate): Ditto.
352         (execute_pre): Call loop_optimizer_finalize in early exit.
353
354 2008-07-10  Jakub Jelinek  <jakub@redhat.com>
355
356         PR middle-end/36790
357         * omp-low.c (lower_omp_2): If task_shared_vars, test all DECL_P
358         uids in the bitmap, not just VAR_DECL uids.
359
360         PR rtl-optimization/36419
361         * combine-stack-adj.c (adjust_frame_related_expr): New function.
362         (combine_stack_adjustments_for_block): Call it if needed.  Delete
363         correct insn.
364         * dwarf2out.c (dwarf2out_frame_debug_expr): Adjust
365         DW_CFA_GNU_args_size if CSA pass merged some adjustments into
366         prologue sp adjustment.
367
368 2008-07-10  Peter Maydell  <pmaydell@chiark.greenend.org.uk>
369
370         PR other/28322
371         * opts.c (print_ignored_options): Report postponed diagnostics for
372         unknown -Wno-* options as warnings, not errors.
373         (postpone_unknown_option_error): Renamed to...
374         (postpone_unknown_option_warning): ... this.
375
376 2008-07-09  Doug Kwan  <dougkwan@google.com>
377
378         Revert:
379         2008-07-08  Doug Kwan  <dougkwan@google.com>
380
381         * config/arm/arm.opt (mandroid): New option.
382         * config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
383         (LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
384         (CC1_SPEC): Same.
385         (CC1PLUS_SPEC): Same.
386         (LIB_SPEC): Same.
387         (STARTFILE_SPEC): Same.
388         (ENDFILE_SPEC): Same.
389         (TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
390         used.
391
392 2008-07-09  Richard Sandiford  <rdsandiford@googlemail.com>
393
394         PR target/35802
395         * config/mips/mips.h (reg_class): Remove V1_REG.
396         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
397         * config/mips/mips.c (mips_regno_to_class): Map $3 to M16_NA_REGS
398         instead of V1_REGS.
399         (mips_get_tp): New function.
400         (mips_legitimize_tls_address): Use it.
401         * config/mips/constraints.md (v): Delete.
402         * config/mips/mips.md (TLS_GET_TP_REGNUM): New constant.
403         (tls_get_tp_<mode>): Allow any GPR destination and clobber $3.
404         After reload, split into a move and ...
405         (*tls_get_tp_<mode>_split): ...this new instruction.
406
407 2008-07-09  David Daney  <ddaney@avtrex.com>
408
409         * config/mips/driver-native.c: Include coretypes.h and tm.h.
410
411 2008-07-09  Jakub Jelinek  <jakub@redhat.com>
412
413         * gimplify.c (struct gimplify_ctx): Move to tree-gimple.h.
414         (push_gimplify_context): Don't allocate temp_htab nor c itself here.
415         Add c argument.
416         (pop_gimplify_context): Check c->temp_htab instead of optimize whether
417         htab_delete should be called.  Don't free c.
418         (lookup_tmp_var): Create temp_htab lazily.
419         (gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
420         gimplify_body, force_gimple_operand): Adjust push_gimplify_context
421         callers.
422         * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
423         lower_omp_ordered, lower_omp_critical, lower_omp_for,
424         create_task_copyfn, lower_omp_taskreg, execute_lower_omp): 
425         * tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise.
426         * tree-sra.c (generate_element_init): Likewise.
427         * tree-mudflap.c (execute_mudflap_function_ops,
428         execute_mudflap_function_decls): Likewise.
429         * tree-inline.c (setup_one_parameter, optimize_inline_calls): Likewise.
430         * tree-gimple.h (struct gimplify_ctx): New type.
431         (push_gimplify_context): Adjust prototype.
432
433 2008-07-09  Daniel Berlin  <dberlin@dberlin.org>
434
435         * tree-ssa-pre.c (phi_translate_1): Update placement of
436         add_to_value calls.
437
438 2008-07-09  Anatoly Sokolov  <aesok@post.ru>
439
440         * target.h (struct gcc_target): Add hard_regno_scratch_ok field.
441         * target-def.h (TARGET_HARD_REGNO_SCRATCH_OK): New.
442         (TARGET_INITIALIZER): Use TARGET_HARD_REGNO_SCRATCH_OK.
443         * targhooks.c (default_hard_regno_scratch_ok): New function.
444         * targhooks.h (default_hard_regno_scratch_ok): Declare function.
445         * doc/tm.texi: Document TARGET_HARD_REGNO_SCRATCH_OK hook.
446         * recog.c:  Include "target.h".
447         (peep2_find_free_register): Add check for global regs. Add target
448         specific check.
449         * Makefile.in (recog.o): Depend on target.h.
450
451 2008-07-09  Kaz Kojima  <kkojima@gcc.gnu.org>
452
453         * config/sh/sh.c (sh_canonical_va_list_type): New.
454         (TARGET_CANONICAL_VA_LIST_TYPE): Define.
455
456 2008-07-09  Raksit Ashok <raksit@google.com>
457
458         * doc/invoke.texi (Option Summary): Mention new option
459         -Wdisallowed-function-list=...
460         (Warning Options): Document -Wdisallowed-function-list=...
461         * common.opt (Wdisallowed-function-list=): New flag.
462         * flags.h (warn_disallowed_functions): External definition of new
463         boolean warning flag.
464         (warn_if_disallowed_function_p): Declare new function.
465         * opts.c (warning_disallowed_functions): New static variable.
466         (warn_disallowed_functions): New boolean warning flag.
467         (warn_if_disallowed_function_p): New function.
468         (add_comma_separated_to_vector): Rename
469         add_instrument_functions_exclude_list to this.
470         (common_handle_option): Handle new option. Rename calls to
471         add_instrument_functions_exclude_list into calls to
472         add_comma_separated_to_vector.
473         * c-parser.c (c_parser_postfix_expression_after_primary): New warning
474         based on flag warn_disallowed_functions.
475
476 2008-07-09  Christian Bruel  <christian.bruel@st.com>
477
478         * final.c (get_attr_length_1): Call get_attr_length_1 with fallback_fn
479          instead of get_attr_length.
480
481 2008-07-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
482
483         * genattrtab.c (insert_right_side, evaluate_eq_attr): Avoid C++
484         keywords.
485         * genemit.c (gen_insn): Likewise.
486         * gengtype.c (note_def_vec): Likewise.
487         * gengtype.h (note_def_vec): Likewise.
488         * genoutput.c (struct data, output_insn_data, process_template,
489         gen_expand, gen_split, note_constraint): Likewise.
490         * genrecog.c (new_decision, add_to_sequence, factor_tests,
491         make_insn_sequence): Likewise.
492         * gensupport.c (record_insn_name): Likewise.
493
494 2008-07-08  Doug Kwan  <dougkwan@google.com>
495
496         * config/arm/arm.opt (mandroid): New option.
497         * config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
498         (LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
499         (CC1_SPEC): Same.
500         (CC1PLUS_SPEC): Same.
501         (LIB_SPEC): Same.
502         (STARTFILE_SPEC): Same.
503         (ENDFILE_SPEC): Same.
504         (TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
505         used.
506
507 2008-07-08  Raksit Ashok  <raksit@google.com>
508
509         * expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
510         (set_storage_via_setmem): Fix expected_align parameter.
511         * doc/invoke.texi (i386 and x86-64 Options): Add a couple of options
512         missing from the list.
513         * doc/md.texi (movmem): Explicitly state that expected alignment is
514         to be expressed in bytes.
515         (setmem): Explicitly state that expected alignment is to be expressed
516         in bytes.
517
518 2008-07-08  Joseph Myers  <joseph@codesourcery.com>
519
520         * reload.c (find_reloads_subreg_address): Do not require validity
521         of address in original mode before reloading address.
522
523 2008-07-07  Tianwei Sheng  <tianweis@google.com>
524
525         * df-core.c (df_remove_problem): Adjust the access to avoid out of
526         bounds array access.
527
528 2008-07-08  Jakub Jelinek  <jakub@redhat.com>
529
530         * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P
531         dst.
532
533 2008-07-05  Daniel Berlin  <dberlin@dberlin.org>
534         
535         Fix PR tree-optimization/23455
536         Fix PR tree-optimization/35286
537         Fix PR tree-optimization/35287
538         * Makefile.in (OBJS-common): Remove tree-vn.o.
539         tree-vn.o: Remove.
540         * dbgcnt.def: Add treepre_insert debug counter.
541         * gcc/tree-flow.h (add_to_value): Updated for other changes.
542         (debug_value_expressions): Ditto.
543         (print_value_expressions): Ditto.
544         * tree-pretty-print.c (dump_generic_node): Updated for
545         VALUE_HANDLE removal.
546         * tree-ssa-dom.c (record_equality): Ditto.
547         (cprop_operand): Ditto.
548         (lookup_avail_expr): Ditto.
549         * tree-ssa-threadedge.c
550         (record_temporary_equivalences_from_stmts_at_dest): Ditto.
551         (simplify_control_stmt_condition): Ditto.
552         * tree.c (tree_code_size): Ditto.
553         (tree_node_structure): Ditto.
554         (iterative_hash_expr): Ditto.
555         * tree.def: Ditto.
556         * tree.h (VALUE_HANDLE_ID): Ditto.
557         (VALUE_HANDLE_EXPR_SET): Ditto.
558         (struct tree_value_handle): Ditto.
559         (union tree_node): Ditto.
560         * treestruct.def: Ditto.
561         * tree-vn.c: Removed.
562         * tree-ssa-pre.c: Rewritten entirely.
563         * tree-ssa-sccvn.c (constant_to_value_id): New hashtable.
564         (constant_value_ids): Ditto.
565         (vn_nary_op_t): Moved to header.
566         (vn_phi_t): Ditto.
567         (vn_reference_op_t): Ditto
568         (vn_reference_t): Ditto.
569         (next_value_id): New variable.
570         (VN_INFO): Add an assert.
571         (vn_constant_eq): New function.
572         (vn_constant_hash): Ditto.
573         (get_or_alloc_constant_value_id): Ditto.
574         (value_id_constant_p): Ditto.
575         (vn_reference_compute_hash): De-staticify.
576         (copy_reference_ops_from_ref): Don't use get_callee_fndecl.
577         Disable some code with a FIXME.
578         Remove VALUE_HANDLE use.
579         (valueize_refs): Update opcode if it changes from ssa name to
580         constant.
581         (vn_reference_lookup_1): Add new argument.
582         (vn_reference_lookup):  Ditto.
583         (vn_reference_lookup_pieces): New function.
584         (vn_reference_insert): Add return type. Modify to deal with value
585         ids.
586         (vn_reference_insert_pieces):  New function.
587         (vn_nary_op_compute_hash): De-staticify.
588         (vn_nary_op_eq): Ditto.
589         (vn_nary_op_lookup_pieces): New function.
590         (vn_nary_op_lookup): Add new argument.  
591         (vn_nary_op_insert_pieces): New function.
592         (vn_nary_op_insert): Add return type. Modify to deal with value
593         ids.
594         (vn_phi_insert): Ditto.
595         (visit_unary_op): Update for callee changes.
596         (visit_binary_op): Ditto.
597         (visit_reference_op_load): Ditto.
598         (visit_reference_op_store): Ditto.
599         (init_scc_vn): Init next_value_id, constant_to_value_id and
600         constant_value_ids. 
601         (free_scc_vn): Free them.
602         (set_hashtable_value_ids): New function.
603         (run_scc_vn): Use it.
604         (get_max_value_id): New function.
605         (get_next_value_id): Ditto.
606         (expressions_equal_p): Moved from tree-vn.c
607         (sort_vuses): Ditto.
608         (sort_vuses_heap): Ditto.
609         * tree-ssa-sccvn.h: Structures moved from tree-ssa-sccvn.c (noted
610         above).
611         * tree.c (iterative_hash_hashval_t): Made non-static
612         * tree.h (iterative_hash_hashval_t): Declare it.
613         
614 2008-07-08  Martin Jambor  <mjambor@suse.cz>
615
616         * ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params
617         instead of ipa_create_node_params.
618         (ipcp_driver): Allocate infos with ipa_check_create_node_params and
619         ipa_check_create_edge_args, free them with
620         free_all_ipa_structures_after_ipa_cp, call ipa_register_cgraph_hooks.
621
622         * ipa-prop.c: Include flags.h and tree-inline.h.
623         (ipa_node_params_vector): New variable.
624         (ipa_edge_args_vector): New variable.
625         (edge_removal_hook_holder): New variable.
626         (node_removal_hook_holder): New variable.
627         (edge_duplication_hook_holder): New variable.
628         (node_duplication_hook_holder): New variable.
629         (ipa_detect_param_modifications): Check for presence of modified flags.
630         (ipa_compute_jump_functions): Check for presence of jump functions.
631         (ipa_free_edge_args_substructures): New function.
632         (ipa_create_node_params): Removed.
633         (ipa_free_all_edge_args): Changed to deallocate the on-the-side vector.
634         (ipa_free_node_params_substructures): New function.
635         (ipa_free_all_node_params): Changed to deallocate the on-the-side
636         vector.
637         (ipa_edge_removal_hook): New function.
638         (ipa_node_removal_hook): New function.
639         (duplicate_array): New function.
640         (ipa_edge_duplication_hook): New function.
641         (ipa_node_duplication_hook): New function.
642         (ipa_register_cgraph_hooks): New function.
643         (ipa_unregister_cgraph_hooks): New function.
644         (free_all_ipa_structures_after_ipa_cp): New function.
645         
646         * ipa-prop.h: Include vec.h.
647         (ipa_node_params_t): New typedef with vector types for it.
648         (ipa_edge_args_t):  New typedef with vector types for it.
649         (IPA_NODE_REF): Changed to access an on-the-side vector.
650         (IPA_EDGE_REF): Changed to access an on-the-side vector.
651         (ipa_check_create_node_params): New function.
652         (ipa_check_create_edge_args): New function.
653         
654         * Makefile.in (IPA_PROP_H): New variable for ipa-prop.h.  Converted
655         all users.
656         
657 2008-07-07  Tom Tromey  <tromey@redhat.com>
658
659         * configure, config.in: Rebuilt.
660         * configure.ac: Don't check for scandir or alphasort.
661
662 2008-07-07  Joseph Myers  <joseph@codesourcery.com>
663
664         * config/arm/arm.c (arm_init_neon_builtins): Register built-in
665         types immediately after creating them.
666
667 2008-07-07  Joseph Myers  <joseph@codesourcery.com>
668
669         * config/arm/aout.h (DOLLARS_IN_IDENTIFIERS): Remove.
670
671 2008-07-07  Fernando Pereira <fernando@cs.ucla.edu>
672
673         * tree-ssa-structalias.c (compute_points_to_sets): Add call to
674         dump_constraint_graph.
675         (dump_constraint_edge): New function.
676         (dump_constraint_graph): New function.
677         (debug_constraint_graph): New function.
678         (dump_constraint): Removed useless comparison.
679         * tree-ssa-structalias.h (dump_constraint_edge): Declare.
680         (dump_constraint_graph): Declare.
681         (debug_constraint_graph): Declare.
682         * tree-dump.c (struct dump_option_value_info): Declare
683         TDF_GRAPH.
684
685 2008-07-07  Kai Tietz  <kai.tietz@onevision.com>
686
687         * config/i386/i386.c (is_va_list_char_pointer): New.
688         (ix86_va_start): Replace compare with ms_va_list_type_node
689         by is_va_list_char_pointer.
690         (ix86_gimplify_va_arg): Likewise.
691
692 2008-07-07  Martin Jambor  <mjambor@suse.cz>
693
694         * cgraph.c (cgraph_edge_max_uid): New variable.
695         (struct cgraph_edge_hook_list): New type.
696         (struct cgraph_node_hook_list): New type.
697         (struct cgraph_2edge_hook_list): New type.
698         (struct cgraph_2node_hook_list): New type.
699         (first_cgraph_edge_removal_hook): New variable.
700         (first_cgraph_node_removal_hook): New variable.
701         (first_cgraph_edge_duplicated_hook): New variable.
702         (first_cgraph_node_duplicated_hook): New variable.
703         (cgraph_add_edge_removal_hook): New function.
704         (cgraph_remove_edge_removal_hook): New function.
705         (cgraph_call_edge_removal_hooks):  New function.
706         (cgraph_add_node_removal_hook):  New function.
707         (cgraph_remove_node_removal_hook):  New function.
708         (cgraph_call_node_removal_hooks):  New function.
709         (cgraph_add_edge_duplication_hook):  New function.
710         (cgraph_remove_edge_duplication_hook):  New function.
711         (cgraph_call_edge_duplication_hooks):  New function.
712         (cgraph_add_node_duplication_hook):  New function.
713         (cgraph_remove_node_duplication_hook):  New function.
714         (cgraph_call_node_duplication_hooks):  New function.
715         (cgraph_create_edge): Assign to edge uid.
716         (cgraph_remove_edge): Call edge removal hooks.
717         (cgraph_node_remove_callees): Call edge removal hooks.
718         (cgraph_node_remove_callers): Call edge removal hooks.
719         (cgraph_remove_node): Call node removal hooks.
720         (cgraph_clone_edge): Call edge duplication hooks.
721         (cgraph_clone_node): Call node duplication hooks.
722
723         * cgraph.h (cgraph_edge): New field uid.
724         (cgraph_edge_hook): New type.
725         (cgraph_node_hook): New type.
726         (cgraph_2edge_hook): New type.
727         (cgraph_2node_hook): New type.
728
729 2008-07-07  Andreas Tobler  <a.tobler@schweiz.org>
730
731         * config.in: Regenerate.
732
733 2008-07-07  Vladimir Prus  <vladimir@codesourcery.com>
734
735         * gcc.c (print_sysroot): New.
736         (option_map, display_help, process_command): Handle the
737         -print-sysroot option.
738         (main): Print the sysroot if requested.
739         * doc/invoke.texi (Debugging Options): Document -print-sysroot.
740         
741 2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
742
743         PR target/34780
744         * unwind-pe.h (size_of_encoded_value): add attribute unused.
745
746 2008-07-07  Daniel Jacobowitz  <dan@codesourcery.com>
747
748         * function.c (assign_parm_remove_parallels): Check mode of
749         entry_parm.
750         (assign_parm_setup_block_p): Also check mode of entry_parm.
751
752 2008-07-07  Richard Guenther  <rguenther@suse.de>
753
754         * tree-ssa-structalias.h (set_used_smts): Remove.
755         * tree-ssa-structalias.c (used_smts): Likewise.
756         (set_used_smts): Likewise.
757         * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove
758         call to set_used_smts.
759
760 2008-07-07  Richard Guenther  <rguenther@suse.de>
761
762         * tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
763         (new_var_info): Set it to false.
764         (solution_set_add): Correctly handle pointers outside a var and
765         inside a field.
766         (type_safe): Treat variables with is_full_var properly.
767         (do_sd_constraint): Likewise.
768         (do_ds_constraint): Likewise.
769         (process_constraint): Remove zeroing offset for !use_field_sensitive.
770         (get_constraint_for_ptr_offset): New function.
771         (get_constraint_for_component_ref): For addresses at least include
772         the last field of the variable.  Handle is_full_vars properly.
773         (get_constraint_for_1): Factor common code, handle POINTER_PLUS_EXPR.
774         (handle_ptr_arith): Remove.
775         (find_func_aliases): Simplify assignment handling.
776         (create_function_info_for): For parameter and result varinfos set
777         is_full_var flag.
778         (create_variable_info_for): Set is_full_var flag whenever we
779         just created a single varinfo for a decl.
780         (init_alias_vars): Initialize use_field_sensitive from
781         max-fields-for-field-sensitive parameter.
782
783 2008-07-07  Richard Guenther  <rguenther@suse.de>
784
785         PR tree-optimization/36713
786         * tree-flow-inline.h (is_call_used): New function.
787         * tree-nrv.c (dest_safe_for_nrv_p): Use it.
788         * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
789         * tree-outof-ssa.c (create_temp): Set call-used flag if required.
790
791 2008-07-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
792
793         * config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types.
794         
795 2008-07-07  Mark Shinwell  <shinwell@codesourcery.com>
796
797         * config/m68k/lb1sf68.asm: Add PIC macros for Linux targets.
798
799 2008-07-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
800             Nathan Sidwell  <nathan@codesourcery.com>
801
802         * config.gcc (m68k-*-linux*): Add with_arch.  Add sysroot-suffix.h
803         to tm_file.  Add m68k/t-floatlib, m68k/t-linux & m68k/t-mlibs to
804         tmake_file.
805         * config/m68k/t-linux: New.
806         * doc/install.texi: Document m68k-*-linux is now multilibbed by
807         default.
808
809 2008-07-07  Nathan Sidwell  <nathan@codesourcery.com>
810
811         * config/m68k/t-cf (MULTILIB_EXTRA_OPTS): Add no-mac.
812         * config/m68k/m68k-devices.def: Remove multilibs that only differ
813         by MAC/EMAC.
814
815 2008-07-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
816
817         * gcc.c (execute): Fix -Wc++-compat warning.
818
819 2008-07-06  H.J. Lu  <hongjiu.lu@intel.com>
820
821         PR target/36720
822         * config/ia64/ia64.c (ia64_split_tmode): Fix typo in TImode
823         constant for little endian.
824
825 2008-07-06  Richard Sandiford  <rdsandiford@googlemail.com>
826
827         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Check
828         mips_base_mips16 instead of TARGET_MIPS16.
829         (mips_base_mips16): Declare.
830         * config/mips/mips.c (mips_base_mips16): Make global.
831         (was_mips16_p): Remove GTY marker.
832         (was_mips16_pch_p): New variable.
833         (mips_set_mips16_mode): Check both was_mips16_p and was_mips16_pch_p.
834         (mips_override_options): Force to non-MIPS16 mode initially.
835         Do not complain about MIPS16 PIC incompatibilities here.
836         Only allow -mgpopt if -mexplicit-relocs is in force for
837         non-MIPS16 code.
838
839 2008-07-06  Andreas Tobler  <a.tobler@schweiz.org>
840
841         * configure.ac: Check for caddr_t, define to char * if not defined.
842         * configure: Regenerate.
843         * ggc-common.c (mmap_gt_pch_get_address): Fix -Wc++-compat warnings.
844         (mmap_gt_pch_use_address): Likewise.
845         * config/host-solaris.c (sol_gt_pch_use_address): Likewise.
846
847 2008-07-06  Richard Guenther  <rguenther@suse.de>
848
849         * tree-ssa-structalias.c (struct variable_info): Remove has_union.
850         (new_var_info): Deal with it.
851         (solution_set_add): Likewise.
852         (bitpos_of_field): Make signed, fix.
853         (struct fieldoff): Remove type and decl fields.  Make size field
854         unsigned HOST_WIDE_INT.  Add has_unknown_size and may_have_pointers
855         flags.
856         (fieldoff_compare): Deal with it.
857         (push_fields_onto_fieldstack): Remove has_union argument, glob
858         adjacent non-pointer fields together.
859         (create_function_info_for): Do not set has_union.
860         (create_variable_info_for): Simplify.
861
862 2008-07-06  Kai Tietz  <kai.tietz@onevision.com>
863
864         * config.gcc (extra_headers): Add cross-stdarg.h for target
865         x86_64-*-* and i?86-*-*.
866         * config/i386/cross-stdarg.h: New.
867         * builtins.c (std_fn_abi_va_list): New.
868         (std_canonical_va_list_type): New.
869         (stabilize_va_list): Replace va_list_type_node use by
870         mtarget.canonical_va_list_type.
871         (gimplify_va_arg_expr): Likewise.
872         (expand_builtin_va_copy): Replace va_list_type_node use by
873         mtarget.fn_abi_va_list.
874         * tree-sra.c (is_va_list_type): New helper.
875         (decl_can_be_decomposed_p): Replace
876         va_list_type_node use by is_va_list_type.
877         * tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
878         * tree-stdarg.c (execute_optimize_stdarg): Likewise.
879         * c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
880         * config/i386/i386-protos.h (ix86_get_valist_type): New.
881         (ix86_enum_va_list): New.
882         * config/i386/i386.c (sysv_va_list_type_node): New.
883         (ms_va_list_type_node): New.
884         (ix86_function_type_abi): Remove sorry.
885         (ix86_build_builtin_va_list_abi): New.
886         (ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
887         for 64-bit targets.
888         (ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
889         (ix86_init_builtins_va_builtins_abi): New.
890         (ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
891         for 64-bit targets.
892         (ix86_handle_abi_attribute): New.
893         (attribute_spec): Add sysv_abi and ms_abi.
894         (ix86_fn_abi_va_list): New.
895         (ix86_canonical_va_list_type): New.
896         (ix86_enum_va_list): New.
897         (TARGET_FN_ABI_VA_LIST): New.
898         (TARGET_CANONICAL_VA_LIST_TYPE): New.
899         * config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
900         * doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
901         (TARGET_CANONICAL_VA_LIST_TYPE): New.
902         (TARGET_ENUM_VA_LIST): New.
903         * expr.h (std_fn_abi_va_list): New.
904         (std_canonical_va_list_type): New.
905         * target-def.h (TARGET_FN_ABI_VA_LIST): New.
906         (TARGET_CANONICAL_VA_LIST_TYPE): New.
907         (TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
908         TARGET_CANONICAL_VA_LIST_TYPE.
909         * target.h (struct gcc_target): Add fn_abi_va_list hook
910         and canonical_va_list_type hook.
911
912 2008-07-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
913
914         * fold-const.c (fold_convert_const): Treat OFFSET_TYPE the same as
915         integral and pointer types.
916
917 2008-07-04  Roger Sayle  <roger@eyesopen.com>
918
919         * config/rs6000/host-darwin.c (darwin_rs6000_extra_siganls): Cast
920         the "void*" result of xmalloc to "char*" to fix bootstrap breakage.
921
922 2008-07-04  Kaz Kojima  <kkojima@gcc.gnu.org>
923
924         PR target/36684
925         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
926         for PIC.
927
928 2008-07-04  Jakub Jelinek  <jakub@redhat.com>
929
930         * tree-switch-conversion.c (build_one_array, gen_def_assigns): Use
931         build_gimple_modify_stmt.
932         (build_arrays, gen_inbound_check): Likewise.  Force RHS to be
933         gimple operand.  Use fold_build* instead of build*.
934
935 2008-07-04  Richard Guenther  <rguenther@suse.de>
936
937         * tree-ssa-structalias.c (lookup_vi_for_tree): Declare.
938         (do_sd_constraint): Handle a dereference of ESCAPED and CALLUSED
939         properly to compute the reachability set if we do field-sensitive PTA.
940         * invoke.texi (max-fields-for-field-sensitive): Document default.
941         * opts.c (decode_options): Set max-fields-for-field-sensitive to
942         100 for optimize >= 2.
943
944 2008-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
945
946         * ggc-zone.c (lookup_page_table_if_allocated,
947         set_page_table_entry, zone_find_object_size, alloc_small_page,
948         alloc_large_page, ggc_free, gt_ggc_m_S, ggc_marked_p, init_ggc,
949         new_ggc_zone, init_ggc_pch, ggc_pch_this_base, ggc_pch_read): Fix
950         -Wc++-compat and/or -Wcast-qual warnings.
951
952 2008-07-04  Alan Modra  <amodra@bigpond.net.au>
953
954         PR target/36634
955         * config/rs6000/rs6000.md (call, call_value): Don't arrange for
956         pic_offset_table_rtx to be marked as used here.
957         (call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for
958         TARGET_SECURE_PLT to "use" pic_offset_table_rtx.
959         (call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn.
960         (sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert
961         !TARGET_SECURE_PLT.
962
963 2008-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
964
965         * alloc-pool.c (hash_descriptor, eq_descriptor,
966         alloc_pool_descriptor): Fix -Wc++-compat warnings.
967         * bitmap.c (hash_descriptor, eq_descriptor, bitmap_descriptor):
968         Likewise.
969         * ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr,
970         loc_descriptor, ggc_prune_ptr, ggc_free_overhead,
971         final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics):
972         Likewise.
973         * varray.c (hash_descriptor, eq_descriptor, varray_descriptor):
974         Likewise.
975
976 2008-07-03  Eric Botcazou  <ebotcazou@adacore.com>
977
978         * tree-flow.h (loop_only_exit_p): Declare.
979         * tree-ssa-loop-niter.c (loop_only_exit_p): Make public.
980         * tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on
981         the number of iterations if it is constant.  Otherwise, if this is the
982         only possible exit of the loop, use the conservative estimate on the
983         number of iterations of the entire loop if available.
984
985 2008-07-03  Richard Sandiford  <rdsandiford@googlemail.com>
986
987         * Makefile.in (libgcc.mvars): Add LIBGCC_SYNC and LIBGCC_SYNC_CFLAGS.
988         * libgcc-std.ver (GCC_4.4.0): New version, inherited from GCC_4.3.0.
989         Add synchronization functions.
990         * config/sync.c: New file.
991         * config/mips/t-libgcc-mips16 (LIBGCC_SYNC): Define.
992         (LIBGCC_SYNC_CFLAGS): Likewise.
993
994 2008-07-03  Uros Bizjak  <ubizjak@gmail.com>
995
996         PR target/36710
997         * config/i386/i386.md (mode): Add TF to "mode" attribute.
998         (*pushtf_sse): New insn pattern.
999         (pushtf splitters): New splitters.
1000
1001 2008-07-03  Michael Meissner  <gnu@the-meissners.org>
1002
1003         PR middle-end/35736
1004         * predict.c (build_predict_expr): Use void_type_node for the tree
1005         type, instead of NULL_TREE.
1006
1007 2008-07-03  H.J. Lu  <hongjiu.lu@intel.com>
1008
1009         * config/i386/i386.c (contains_aligned_value_p): Return true
1010         for TCmode.
1011         (ix86_data_alignment): Align TCmode to 128bits.
1012         (ix86_local_alignment): Likewise.
1013
1014 2008-07-03  Andrew Haley  <aph@redhat.com>
1015
1016         PR bootstrap/33304
1017         * vec.h (VEC_TA): New.
1018         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
1019         DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
1020         * c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
1021         (C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
1022         (C_COMMON_FIXED_TYPES): Remove first arg.
1023         (C_COMMON_FIXED_MODE_TYPES): Likewise.
1024         * tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
1025         MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
1026         not to use empty macro arguments.
1027
1028 2008-07-02  Joseph Myers  <joseph@codesourcery.com>
1029
1030         * config/alpha/vms_tramp.asm, config/arm/crti.asm,
1031         config/arm/crtn.asm, config/bfin/crti.s, config/bfin/crtlibid.s,
1032         config/bfin/crtn.s, config/fr30/crti.asm, config/fr30/crtn.asm,
1033         config/frv/lib1funcs.asm, config/i386/sol2-c1.asm,
1034         config/i386/sol2-ci.asm, config/i386/sol2-cn.asm,
1035         config/i386/sol2-gc1.asm, config/ia64/crti.asm,
1036         config/ia64/crtn.asm, config/m68hc11/larith.asm,
1037         config/m68hc11/m68hc11-crt0.S, config/m68k/crti.s,
1038         config/m68k/crtn.s, config/mcore/crti.asm, config/mcore/crtn.asm,
1039         config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm,
1040         config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm,
1041         config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm,
1042         config/rs6000/crtsavres.asm, config/rs6000/e500crtres32gpr.asm,
1043         config/rs6000/e500crtres64gpr.asm,
1044         config/rs6000/e500crtres64gprctr.asm,
1045         config/rs6000/e500crtrest32gpr.asm,
1046         config/rs6000/e500crtrest64gpr.asm,
1047         config/rs6000/e500crtresx32gpr.asm,
1048         config/rs6000/e500crtresx64gpr.asm,
1049         config/rs6000/e500crtsav32gpr.asm,
1050         config/rs6000/e500crtsav64gpr.asm,
1051         config/rs6000/e500crtsav64gprctr.asm,
1052         config/rs6000/e500crtsavg32gpr.asm,
1053         config/rs6000/e500crtsavg64gpr.asm,
1054         config/rs6000/e500crtsavg64gprctr.asm, config/rs6000/eabi-ci.asm,
1055         config/rs6000/eabi-cn.asm, config/rs6000/eabi.asm,
1056         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
1057         config/rs6000/tramp.asm, config/sparc/sol2-ci.asm,
1058         config/sparc/sol2-cn.asm: Remove .file directives.
1059
1060 2008-07-02  Richard Sandiford  <rdsandiford@googlemail.com>
1061
1062         * resource.c (mark_referenced_resources): Look inside
1063         UNSPEC_VOLATILEs and ASM_INPUTs.
1064
1065 2008-07-02  Ian Lance Taylor  <iant@google.com>
1066
1067         * rtlanal.c (add_reg_note): New function.
1068         * rtl.h (add_reg_note): Declare.
1069         * auto-inc-dec.c (attempt_change): Use add_reg_note.
1070         * bb-reorder.c (add_reg_crossing_jump_notes): Likewise.
1071         * builtins.c (expand_builtin_longjmp): Likewise.
1072         (expand_builtin_nonlocal_goto): Likewise.
1073         * calls.c (emit_call_1, expand_call): Likewise.
1074         * cfgexpand.c (add_reg_br_prob_note): Likewise.
1075         * cfglayout.c (fixup_reorder_chain): Likewise.
1076         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
1077         (commit_one_edge_insertion): Likewise.
1078         * combine.c (move_deaths, distribute_notes): Likewise.
1079         * df-problems.c (df_set_note): Likewise.
1080         * emit-rtl.c (link_cc0_insns, try_split): Likewise.
1081         (set_unique_reg_note): Likewise.
1082         (emit_copy_of_insn_after): Likewise.
1083         * expr.c (expand_expr_real): Likewise.
1084         * gcse.c (add_label_notes): Likewise.
1085         * haifa-sched.c (create_check_block_twin): Likewise.
1086         * jump.c (mark_jump_label_1): Likewise.
1087         * loop-doloop.c (add_test, doloop_modify): Likewise.
1088         * loop-unswitch.c (compare_and_jump_seq): Likewise.
1089         * lower-subreg.c (move_eh_region_note): Likewise.
1090         * optabs.c (emit_libcall_block): Likewise.
1091         * predict.c (predict_insn): Likewise.
1092         (combine_predictions_for_insn): Likewise.
1093         * recog.c (peephole2_optimize): Likewise.
1094         * regmove.c (try_auto_increment): Likewise.
1095         * reg-stack.c (emit_pop_insn, move_for_stack_reg): Likewise.
1096         * reload.c (find_reloads): Likewise.
1097         * reload1.c (fixup_eh_region_note): Likewise.
1098         (reload_as_needed, add_auto_inc_notes, copy_eh_notes): Likewise.
1099         * reorg.c (delete_prior_computation): Likewise.
1100         (delete_computation, dbr_schedule): Likewise.
1101         * config/pa/pa.c (legitimize_pic_address): Likewise.
1102         * config/sh/sh.c (sh_reorg): Likewise.
1103
1104 2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>
1105
1106         PR target/36669
1107         * config/libgcc-glibc.ver: Add %exclude.
1108         * config/m32r/libgcc-glibc.ver: Likwise.
1109         * config/s390/libgcc-glibc.ver: Likwise.
1110         * config/sh/libgcc-glibc.ver: Likwise.
1111         * config/sparc/libgcc-sparc-glibc.ver: Likwise.
1112
1113         * config/i386/libgcc-glibc.ver: New.
1114
1115         * config/i386/libgcc-x86_64-glibc.ver: Removed.
1116
1117 2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>
1118
1119         * config.gcc: Remove i386/t-fprules-softfp64 soft-fp/t-softfp
1120         from tmake_file from i[34567]86-*-darwin*, x86_64-*-darwin*,
1121         i[34567]86-*-linux*, x86_64-*-linux*.  Add
1122         i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for
1123         i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-linux*,
1124         x86_64-*-linux*.  Add i386/t-linux to tmake_file for
1125         i[34567]86-*-linux*, x86_64-*-linux*.
1126
1127         * libgcc-std.ver: Add empty GCC_4.4.0.
1128
1129         * mkmap-symver.awk: Support multiple versions per symbol.
1130
1131         * config/i386/i386.c (ix86_init_builtins): Always define
1132         __builtin_fabsq and __builtin_copysignq with fallbacks.
1133         (ix86_expand_builtin): Emit normal call for __builtin_fabsq
1134         and __builtin_copysignq if SSE2 isn't available.
1135
1136         * config/i386/linux.h (LIBGCC2_HAS_TF_MODE): Defined.
1137         (LIBGCC2_TF_CEXT): Likwise.
1138         (TF_SIZE): Likwise.
1139
1140         * config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): Defined as 1.
1141
1142         * config/i386/sfp-machine.h: Moved to libgcc.
1143
1144         * config/i386/sfp-machine.h: New.
1145         * config/i386/t-linux: Likwise.
1146
1147         * config/i386/t-darwin: Remove softfp_wrap_start and
1148         softfp_wrap_end.
1149         * config/i386/t-darwin64: Likewise.
1150
1151         * config/i386/t-fprules-softfp64: Renamed to ...
1152         * config/i386/t-fprules-softfp: This.
1153
1154         * config/i386/t-linux64: Remove SHLIB_MAPFILES, softfp_wrap_start
1155         and softfp_wrap_end.
1156
1157 2008-07-02  Jason Merrill  <jason@redhat.com>
1158
1159         * tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
1160
1161         * tree.c (ctor_to_list): New fn.
1162         * tree.h: Declare it.
1163         (CONSTRUCTOR_ELT): New macro.
1164         (CONSTRUCTOR_NELTS): New macro.
1165
1166 2008-07-02  Richard Guenther  <rguenther@suse.de>
1167
1168         * tree-ssa-structalias.c (struct variable_info): Reorder
1169         to fill padding on 64bit hosts.  Make collapsed_to an int.
1170         (get_varinfo_fc): Deal with that.
1171         (new_var_info): Likewise.
1172         (collapse_rest_of_var): Likewise.
1173
1174 2008-07-02  Joshua Sumali  <jsumali@redhat.com>
1175
1176         * doc/install.texi (--enable-java-home): Document.
1177         (--enable-aot-compile-rpm): Likewise.
1178         (--with-arch-directory): Likewise.
1179         (--with-os-directory): Likewise.
1180         (--with-origin-name): Likewise.
1181         (--with-arch-suffix): Likewise.
1182         (--with-jvm-root-dir): Likewise.
1183         (--with-jvm-jar-dir): Likewise.
1184         (--with-python-dir): Likewise.
1185
1186 2008-07-02  Richard Guenther  <rguenther@suse.de>
1187
1188         * tree-ssa-forwprop.c (can_propagate_from): Exclude loads
1189         from decls explicitly.  Merge operand checking from tuples.
1190
1191 2008-07-02  Martin Jambor  <mjambor@suse.cz>
1192
1193         * tree-switch-conversion.c: Included timevar.h which I forgot before.
1194         
1195 2008-07-02  Martin Jambor  <mjambor@suse.cz>
1196
1197         * tree-switch-conversion.c: Included timevar.h
1198         (pass_convert_switch): Added a timevar id (TV_TREE_SWITCH_CONVERSION).
1199
1200         * timevar.def: Added TV_TREE_SWITCH_CONVERSION.
1201
1202 2008-07-02  Martin Jambor  <mjambor@suse.cz>
1203
1204         * tree-switch-conversion.c: Corrected various comments and
1205         whitespace issues
1206         (build_constructors): Fixed minor formatting mistakes.
1207
1208         * invoke.texi (Optimize Options): Corrected the
1209         switch-conversion-max-branch-ratio parameter.
1210
1211 2008-07-02  Mark Shinwell  <shinwell@codesourcery.com>
1212
1213         * final.c (asm_insn_count): Return zero for an empty asm body.
1214
1215 2008-07-02  Richard Guenther  <rguenther@suse.de>
1216
1217         * bitmap.h (bitmap_set_bit): Return bool.
1218         (bitmap_clear_bit): Likewise.
1219         * bitmap.c (bitmap_set_bit): Return if the bit changed.  Only
1220         write to the bitmap if it would.
1221         (bitmap_clear_bit): Likewise.
1222         * tree-ssa-structalias.c (add_implicit_graph_edge): Use
1223         bitmap_set_bit return value.
1224         (add_pred_graph_edge): Likewise.
1225         (add_graph_edge): Likewise.
1226         (do_sd_constraint): Likewise.
1227         (do_ds_constraint): Likewise.
1228
1229 2008-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1230
1231         * config/alpha/alpha.c (alpha_need_linkage, alpha_use_linkage):
1232         Fix -Wc++-compat and/or -Wcast-qual warnings.
1233         * config/i386/netware.c (gen_stdcall_or_fastcall_decoration,
1234         gen_regparm_prefix): Likewise.
1235         * vmsdbgout.c (write_modbeg, lookup_filename,
1236         vmsdbgout_source_line, vmsdbgout_init): Likewise.
1237
1238 2008-07-02  Danny Smith  <dannysmith@users.sourceforge.net>
1239
1240         * config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Undef to let
1241         defaults.h definition apply.
1242
1243 2008-07-01  Daniel Jacobowitz  <dan@codesourcery.com>
1244
1245         * function.c (assign_parm_remove_parallels): New.
1246         (assign_parm_setup_block_p): Do not return true for non-BLKmode
1247         PARALLELs.
1248         (assign_parm_setup_block): Do not handle them.
1249         (assign_parm_setup_reg, assign_parm_setup_stack): Call
1250         assign_parm_remove_parallels.
1251
1252 2008-07-01  Daniel Jacobowitz  <dan@codesourcery.com>
1253
1254         * c-typeck.c (convert_for_assignment): Use
1255         vector_targets_convertible_p.
1256         * c-common.c (vector_targets_convertible_p): New.
1257         * c-common.h (vector_targets_convertible_p): New prototype.
1258         * config/rs6000/rs6000.c (rs6000_is_opaque_type): Do not check
1259         opaque_p_V2SI_type_node.
1260
1261 2008-07-01  Steve Ellcey  <sje@cup.hp.com>
1262
1263         * config/ia64/ia64.c (ia64_cannot_force_const_mem): Do not allow
1264         RFmode constants.
1265
1266 2008-07-01  Uros Bizjak  <ubizjak@gmail.com>
1267
1268         * config/i386/i386.c (ix86_build_signbit_mask): Generate TImode and
1269         TFmode constants via two element DImode vector for hosts with
1270         HOST_BITS_PER_WIDE_INT < 64.
1271         (ix86_init_builtins): Define __builtin_fabsq and __builtin_copysignq
1272         also for HOST_BITS_PER_WIDE_INT < 64.
1273
1274 2008-07-01  Richard Guenther  <rguenther@suse.de>
1275
1276         PR tree-optimization/36666
1277         * tree-ssa-structalias.c (get_constraint_for_1): Declare.
1278         (get_constraint_exp_from_ssa_var): Split into ...
1279         (get_constraint_exp_for_temp): ... this ...
1280         (get_constraint_for_ssa_var): ... and that.
1281         Return constraint expressions for all touched sub-fields
1282         if the results address is not taken.
1283         (process_constraint): Remove assertion that aggregate
1284         assignments do not happen at this place.
1285         (get_constraint_for_component_ref): Add address_p argument.
1286         Return constraint expressions for all touched sub-fields
1287         if the results address is not taken.
1288         (do_deref): Use get_constraint_exp_for_temp.
1289         (get_constraint_for_1): Rename from ...
1290         (get_constraint_for): ... this.  Add the old function as wrapper.
1291         (do_structure_copy): Use get_constraint_for_1.
1292
1293 2008-07-01  Martin Jambor  <mjambor@suse.cz>
1294
1295         * Makefile.in (tree-switch-conversion.o): Add.
1296         (OBJS-common): Add tree-swtch-conversion.o.
1297         * passes.c (init_optimization_passes): Add pass_convert_switch.
1298         * tree-pass.h: (pass_convert_switch): Add.
1299         * tree-switch-conversion.c: New file.
1300         * gcc.dg/tree-ssa/cswtch.c: New testcase.
1301         * common.opt (ftree-cswtch): New option.
1302         * params.h (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
1303         * params.def (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
1304         * opts.c (decode_options): Set flag_tree_switch_conversion when
1305         optimization level is >= 2.
1306         * doc/invoke.texi (Optimize Options): Added description of
1307         -ftree-swtch-conversion and switch-conversion-max-branch-ratio.
1308
1309 2008-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1310
1311         * config/darwin-driver.c (darwin_default_min_version): Fix
1312         -Wc++-compat warnings.
1313
1314 2008-06-30  Uros Bizjak  <ubizjak@gmail.com>
1315
1316         * config/i386/i386.md (*movti_rex64): Add "!" to "r" constraint
1317         of operand 0.
1318
1319 2008-06-30  Kenneth Zadeck <zadeck@naturalbridge.com>
1320
1321         * ifcvt.c (cond_move_process_if_block): Free vectors on false return.
1322         
1323 2008-06-30  Kenneth Zadeck <zadeck@naturalbridge.com>
1324
1325         PR rtl-optimization/34744
1326         * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): New macros.
1327         (df_scan_free_internal): Free data structures not
1328         allocated in storage pools.
1329         (df_mw_hardreg_chain_delete_eq_uses): Use df_scan_free_mws_vec.
1330         (df_refs_add_to_chains): Use df_scan_free_ref_vec and
1331         df_scan_free_mws_vec.
1332         * dse.c (dse_step6): Free offset_map_p and offset_map_n
1333         unconditionally.
1334
1335 2008-06-30  H.J. Lu  <hongjiu.lu@intel.com>
1336
1337         * config/i386/i386.c (contains_aligned_value_p): Return true
1338         for __float128.
1339         (ix86_function_arg_boundary): Return its natural boundary
1340         for __float128.
1341         (return_in_memory_32): Don't check TDmode.
1342         (ix86_split_to_parts): Support splitting into 4 parts and
1343         support TFmode for 32bit target.
1344         (ix86_split_long_move): Support splitting into 4 parts.
1345         (bdesc_args): Enable IX86_BUILTIN_FABSQ and IX86_BUILTIN_COPYSIGNQ
1346         for SSE2.
1347         (ix86_init_mmx_sse_builtins): Move __float80 and __float128 to ...
1348         (ix86_init_builtins): Here.
1349         (ix86_scalar_mode_supported_p): Always return true for TFmode.
1350         (ix86_c_mode_for_suffix): Always return TFmode and XFmode for
1351         'q' and 'w', respectively. 
1352
1353         * config/i386/i386.md (movtf): Check TARGET_SSE2 instead of
1354         TARGET_64BIT.
1355         (movtf_internal): Likewise.
1356         (<code>tf2): Likewise.
1357         (*absnegtf2_sse): Likewise.
1358         (copysign<mode>3): Likewise.
1359         (copysign<mode>3_const): Likewise.
1360         (copysign<mode>3_var): Likewise.
1361         (define_split UNSPEC_COPYSIGN): Likewise.
1362         * config/i386/sse.md (*nandtf3): Likewise.
1363         (<code>tf3): Likewise.
1364         (*<code>tf3): Likewise.
1365
1366 2008-06-30  Joey Ye  <joey.ye@intel.com>
1367             H.J. Lu  <hongjiu.lu@intel.com>
1368
1369         * global.c (compute_regsets): Set frame_pointer_needed here.
1370         * reload1.c (init_elim_table): Don't set frame_pointer_needed here.
1371
1372 2008-06-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1373
1374         * doc/install.texi (specific): Expand Windows build notes.
1375
1376 2008-06-30  Ira Rosen  <irar@il.ibm.com>
1377
1378         PR tree-optimization/36648
1379         * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Divide
1380         number of prolog iterations by step. Fix the comment.
1381
1382 2008-06-30  Richard Guenther  <rguenther@suse.de>
1383
1384         PR middle-end/36671
1385         * tree-ssa-structalias.c (handle_lhs_call): Add flags argument,
1386         handle calls from ECF_MALLOC functions.
1387         (handle_pure_call): ECF_MALLOC functions do not return
1388         call-used memory.
1389         (find_func_aliases): Handle all calls, adjust calls to handle_lhs_call.
1390
1391 2008-06-29  Andreas Schwab  <schwab@suse.de>
1392
1393         * config/m68k/m68k.c (print_operand): Always print a float
1394         constant in hex.
1395         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND)
1396         (ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND):
1397         Remove macros.
1398
1399         * config/rs6000/x-linux64: Remove never used file.
1400
1401 2008-06-29  Richard Guenther  <rguenther@suse.de>
1402
1403         * tree-ssa-structalias.h (compute_points_to_sets): Adjust
1404         prototype.
1405         (struct alias_info): Move ...
1406         * tree-ssa-alias.c: ... here.
1407         (update_alias_info): Declare.
1408         (compute_may_aliases): Call it.
1409         (update_alias_info): New function.
1410         * tree-ssa-structalias.c (update_alias_info): Move ...
1411         * tree-ssa-alias.c (update_alias_info_1): ... here.
1412         * tree-ssa-structalias.c (process_constraint_1): Remove
1413         unused from_call argument.  Rename to ...
1414         (process_constraint): ... this.  Delete old wrapper.
1415         (make_constraint_to): Adjust callers.
1416         (handle_const_call): Likewise.
1417         (handle_pure_call): Likewise.
1418         (init_base_vars): Likewise.
1419         (handle_lhs_call): Likewise.  Remove unnecessary constraint.
1420         (find_func_aliases): We don't need structure copies for
1421         complex types.
1422         (make_constraint_from_anything): Remove.
1423         (create_variable_info_for): For globals make constraints
1424         from escaped, not from anything.
1425         (compute_points_to_sets): Do not call update_alias_info.
1426         (ipa_pta_execute): Use make_constraint_from.
1427
1428 2008-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1429
1430         * Makefile.in (CXX_COMPAT_WARN, cxx_compat_warn): Delete.
1431         (bitmap.o-warn, dominance.o-warn): New.
1432         * configure.ac (cxx_compat_warn): Delete.
1433         (loose_warn): Add -Wcast-qual and -Wc++-compat.
1434         * system.h: Remove #pragma diagnostic for -Wcast-qual and
1435         -Wc++-compat.
1436         * configure: Regenerate.
1437
1438         * optabs.c (libfunc_decl_hash, libfunc_decl_eq): Fix -Wcast-qual
1439         warnings.
1440
1441 2008-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1442
1443         * alloc-pool.c (create_alloc_pool): Fix -Wc++-compat warnings.
1444         * df-scan.c (df_notes_rescan): Likewise.
1445         * ggc-page.c (set_page_table_entry): Likewise.
1446         * intl.c (gcc_gettext_width): Likewise.
1447         * varasm.c (get_unnamed_section, get_noswitch_section,
1448         get_section): Likewise.
1449
1450 2008-06-28  Andrew Jenner  <andrew@codesourcery.com>
1451
1452         * regrename.c (build_def_use): Don't copy RTX.
1453
1454 2008-06-28  Sandra Loosemore  <sandra@codesourcery.com>
1455
1456         * doc/extend.texi (Variable Attributes): Use @ref instead of @xref.
1457         (Type Attributes): Fix nesting of @table and @subsection.  Adjust
1458         punctuation.  Use @ref instead of @xref.
1459         (Function Names): Remove stray @display/@end display.
1460         (C++ Attributes): Use @ref instead of @xref.
1461         (Deprecated Features): Fix punctuation around @xref.
1462         (Backwards Compatibility): Likewise.
1463         * doc/rtl.texi (Incdec): Remove stray @table/@end table.
1464
1465 2008-06-28  Joseph Myers  <joseph@codesourcery.com>
1466
1467         * config/rs6000/predicates.md (easy_fp_constant): Reject TFmode
1468         constants for E500 double.
1469
1470 2008-06-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1471
1472         * doc/rtl.texi (const_vector): Document const_fixed as legitimate
1473         element type of const_vector.
1474
1475 2008-06-28  Uros Bizjak  <ubizjak@gmail.com>
1476
1477         * config/i386/i386.md (addti3, adddi3, addsi3, addhi3, addqi3):
1478         Remove FLAGS_REG clobber from expander pattern.
1479         (subti3, subdi3, subsi3, subhi3, subqi3): Ditto.
1480         (anddi3, andsi3, andhi3, andqi3): Ditto.
1481         (iordi3, iorsi3, iorhi3, iorqi3): Ditto.
1482         (xordi3, xorsi3, xorhi3, xorqi3): Ditto.
1483         (negti2, negdi2, negsi2, neghi2, negqi2): Ditto.
1484         (ashlsi3, ashlhi3, ashlqi3): Ditto.
1485         (ashrsi3, ashrhi3, ashrqi3): Ditto.
1486         (lshrsi3, lshrhi3, lshrqi3): Ditto.
1487         (rotldi3, rotlsi3, rotlhi3, rotlqi3): Ditto.
1488         (rotrdi3, rotrsi3, rotrhi3, rotrqi3): Ditto.
1489
1490 2008-06-28  Richard Guenther  <rguenther@suse.de>
1491
1492         * tree-ssa-structalias.c (callused_id, var_callused,
1493         callused_tree): Add.
1494         (handle_pure_call): New function.
1495         (find_func_aliases): Call it.
1496         (find_what_p_points_to): Handle the call-used set.
1497         (clobber_what_escaped): Likewise.
1498         (compute_call_used_vars): New function.
1499         (init_base_vars): Init the call-used variable.
1500         (do_sd_constraint): Do not propagate the solution from CALLUSED
1501         but use CALLUSED as a placeholder.
1502         (solve_graph): Likewise.
1503         * tree-flow-inline.h (gimple_call_used_vars): New function.
1504         * tree-flow.h (struct gimple_df): Add call_used_vars bitmap.
1505         (compute_call_used_vars): Declare.
1506         * tree-ssa-alias.c (set_initial_properties): Call
1507         compute_call_used_vars.
1508         (reset_alias_info): Clear call-used variables.
1509         (add_call_clobber_ops): Assert we are not called for const/pure
1510         functions.  Remove handling of them.
1511         (add_call_read_ops): Handle pure functions by adding the
1512         call-used set of variables as VUSEs.
1513         * tree-ssa.c (init_tree_ssa): Allocate call-used bitmap.
1514         (delete_tree_ssa): Free it.
1515         * tree-dfa.c (remove_referenced_var): Clear the var from the
1516         call-used bitmap.
1517
1518 2008-06-28  Kai Tietz  <kai.tietz@onevision.com>
1519
1520         * tree.c (build_varargs_function_type_list): New.
1521         (build_function_type_list_1): New.
1522         (build_function_type_list): Use build_function_type_list_1.
1523         * tree.h (build_varargs_function_type_list): New.
1524
1525 2008-06-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1526
1527         PR target/34856
1528         * config/spu/spu.c (spu_builtin_splats): Do not generate
1529         invalid CONST_VECTOR expressions.
1530         (spu_expand_vector_init): Likewise.
1531
1532 2008-06-28  Richard Sandiford  <rdsandiford@googlemail.com>
1533
1534         * optabs.c (libfunc_decls): New variable.
1535         (libfunc_decl_hash, libfunc_decl_eq): New functions.
1536         (init_one_libfunc): Reuse decls and SYMBOL_REFs when asked
1537         for the same function twice.
1538
1539 2008-06-27  Uros Bizjak  <ubizjak@gmail.com>
1540
1541         * config/i386/i386.md (ashlti3, ashrti3, lshrti3): Expand using
1542         ix86_expand_binary_operator directly.
1543         (*ashlti3_1): Rename from ashlti3_1.  Use nonmemory_operand predicate
1544         for operand 2.
1545         (*ashrti3_1): Ditto.
1546         (*lshrti3_1): Ditto.
1547         (*ashlti3_2, *ashrti3_2, *lshrti3_2): Remove insn patterns.
1548         (ashlti, ashrti and lshrti splitters): Handle nonmemory operand 2
1549         using only one splitter.  Conditionaly execute splitter before or
1550         after peephole2 pass.
1551         (ashlti, ashrti and lshrti peephole2): Define peephole2 patterns.
1552         (x86_shld): Rename from x86_shld_1.  Compress operand 2 constraints.
1553         Use only one alternative in asm template.
1554         (x86_64_shld): Compress operand 2 constraints. Use only one alternative
1555         in asm template.
1556         (*ashldi3_cmp_rex64): Use const_1_to_63_operand operand predicate and
1557         "J" operand constraint for operand 2.
1558         (*ashldi3_cconly_rex64): Ditto.
1559         (*ashrdi3_cmp_rex64): Ditto.
1560         (*ashrdi3_cconly_rex64): Ditto.
1561         (*lshrdi3_cmp_rex64): Ditto.
1562         (*lshrdi3_cconly_rex64): Ditto.
1563         * config/i386/predicates.md (const_1_to_63_operand): New predicate.
1564         * config/i386/i386.md (print_operand) ['s']: Print ", " using fputs.
1565         (split_ashr, split_ashl, split_lshr): Use gen_x86_shrd instead of
1566         gen_x86_shrd_1.
1567
1568 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
1569
1570         * gimplify.c (omp_is_private): Don't return true if decl is not
1571         already private on #pragma omp for or #pragma omp parallel for.
1572
1573         PR debug/36617
1574         * tree-cfg.c (struct move_stmt_d): Replace block field with
1575         orig_block and new_block fields.
1576         (move_stmt_r): Only set TREE_BLOCK to p->new_block if
1577         if it used to be NULL, p->orig_block or if p->orig_block is NULL.
1578         (move_block_to_fn): Replace vars_map and new_label_map arguments
1579         with struct move_stmt_d pointer.
1580         (replace_block_vars_by_duplicates): New function.
1581         (move_sese_region_to_fn): Add ORIG_BLOCK argument.  Adjust
1582         move_block_to_fn caller.  If ORIG_BLOCK is non-NULL, move over
1583         all subblocks of ORIG_BLOCK to the new function.  Call
1584         replace_block_vars_by_duplicates.
1585         * tree-flow.h (move_sese_region_to_fn): Adjust prototype.
1586         * omp-low.c (expand_omp_taskreg): Set TREE_USED on DECL_INITIAL
1587         BLOCK of the new function.  Adjust move_sese_region_to_fn caller.
1588         Prune vars with original DECL_CONTEXT from child_cfun->local_decls.
1589         (expand_omp): Temporarily set input_location to the location of
1590         region's controlling stmt.
1591         (lower_omp_sections, lower_omp_for): Add a BLOCK into outermost
1592         BIND_EXPR, push ctx->block_vars and gimplification vars into
1593         the BIND_EXPR and its block's BLOCK_VARS instead of directly
1594         into dest function.
1595         (lower_omp_single): Set TREE_USED on the BIND_EXPR's BLOCK if
1596         there are any BLOCK_VARS.
1597         (lower_omp_taskreg): Set BLOCK on a BIND_EXPR containing the
1598         OMP_PARALLEL or OMP_TASK stmt.
1599         (lower_omp): Save and restore input_location around the lower_omp_1
1600         call.
1601
1602 2008-06-27  Richard Guenther  <rguenther@suse.de>
1603
1604         PR tree-optimization/36400
1605         PR tree-optimization/36373
1606         PR tree-optimization/36344
1607         * tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
1608         var_nonlocal, nonlocal_tree, nonlocal_id): New globals
1609         (update_alias_info): Remove call clobbering code.
1610         (make_constraint_to): New helper function.
1611         (make_escape_constraint): Likewise.
1612         (handle_rhs_call): Use it on all pointer containing arguments.
1613         Also mark the static chain escaped.
1614         (handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
1615         instead of ANYTHING.
1616         (make_constraint_from): New helper split out from ...
1617         (make_constraint_from_anything): ... here.
1618         (find_func_aliases): Add constraints for escape sites.
1619         (intra_create_variable_infos): Make constraints from NONLOCAL
1620         for parameters.
1621         (find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
1622         as ANYTHING.
1623         (clobber_what_p_points_to): Remove.
1624         (clobber_what_escaped): New function.
1625         (init_base_vars): Init NONLOCAL and ESCAPED.
1626         (do_sd_constraint): Do not propagate the solution from ESCAPED
1627         but use ESCAPED as a placeholder.
1628         (solve_graph): Likewise.
1629         * tree-flow.h (clobber_what_p_points_to): Remove.
1630         (clobber_what_escaped): Declare.
1631         * tree-ssa-alias.c (set_initial_properties): Call it.
1632         Remove code clobbering escaped pointers.
1633
1634 2008-06-27  Richard Sandiford  <rdsandiford@googlemail.com>
1635
1636         * function.c (allocate_struct_function): Only allocate a unique
1637         funcdef_no if the decl is nonzero.
1638
1639 2008-06-27  Richard Sandiford  <rdsandiford@googlemail.com>
1640
1641         * config/mips/mips-protos.h (mips_split_const_insns): Declare.
1642         * config/mips/mips.c (mips_split_const_insns): New function.
1643         * config/mips/mips.md (move_type): New attribute.
1644         (mode): Move attribute definition earlier in file.  Add "TI" and "TF".
1645         (dword_mode): New attribute.
1646         (type): Avoid long line.  Map "move_type"s to "type"s,
1647         choosing "multi" for doubleword moves if appropriate.
1648         Swap MTC/MFC comments to match their declaration order.
1649         (extended_mips16): Default to "yes" if "move_type" is "sll0",
1650         "type" is "branch" or "jal" is "direct".
1651         (length): Handle "extended_mips16" first.  Make the default
1652         "0" for "ghost" instructions.  Set the length from "move_type".
1653         (truncdisi2, truncdihi2, truncdiqi2): Use "move_type" instead
1654         of "type", with "sll0" for the register alternative.  Remove the
1655         "extended_mips16" attribute.
1656         (zero_extendsidi2, *clear_upper32): Use "move_type" instead
1657         of "type", with "shift_shift" for the register alternative.
1658         Remove the "length" attribute.
1659         (*extend<SHORT:mode><GPR:mode>2, *extendqihi2): Likewise.
1660         (*zero_extend<SHORT:mode><GPR:mode>2): Use "move_type" instead
1661         of "type", with "andi" for the register alternative.
1662         (*zero_extendqihi2): Likewise.
1663         (*zero_extend<SHORT:mode><GPR:mode>2_mips16e): Use a "move_type"
1664         of "andi" instead of a "type" of "arith".
1665         (*zero_extend<SHORT:mode><GPR:mode>2_mips16): Use "move_type"
1666         instead of "type".
1667         (*zero_extendqihi2_mips16, mov_<load>l, mov_<load>r, mov_<store>l)
1668         (mov_<store>r, *mov<mode>_ra): Likewise.
1669         (extendsidi2): Use "move_type" instead of "type", with "move"
1670         for the register alternative.
1671         (*extend<SHORT:mode><GPR:mode>2_mips16e): Use "move_type" instead
1672         of "type", with "signext" for the register alternative.
1673         (*extend<SHORT:mode><GPR:mode>2_se<SHORT:size>): Likewise.
1674         (*extendqihi2_mips16e, *extendqihi2_seb): Likewise.
1675         (fix_truncdfsi2_insn, fix_truncsfsi2_insn, fix_truncdfdi2)
1676         (fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2, floatdisf2)
1677         (floatdisf2, *branch_equality<mode>_mips16): Likewise.
1678         (unnamed branch insn): Likewise.
1679         (*movdi_gp32_fp64): Fold into...
1680         (*movdi_32bit): ...here.
1681         (*movdf_hardfloat_64bit, *movdf_hardfloat_32bit): Combine into...
1682         (*movdf_hardfloat): ...this new pattern.
1683         (*movdf_softfloat): Remove redundant FPR alternatives.
1684         (*movti, *movti_mips16, *movtf, *movtf_mips16): Add "mode" attributes.
1685         (*movv2sf_hardfloat_64bit, *movv2sf_hardfloat_32bit): Combine into...
1686         (*movv2sf): ...this new pattern.  Use "DF" rather than "SF" for
1687         the "move" attribute.
1688         (*movdi_32bit): Use "move_type" instead of "type" and remove the
1689         "length" attribute.  Use "fpload" and "fpstore" instead of "load"
1690         and "store" for COP loads and stores.
1691         (*movdi_32bit_mips16, *movdi_64bit, *movsi_internal, movcc)
1692         (*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16)
1693         (*movsf_hardfloat, *movsf_softfloat, *movsi_mips16, *movdf_hardfloat)
1694         (*movdf_softfloat, *movdf_mips16, *movti, *movti_mips16, *movtf)
1695         (*movtf_mips16, *movv2sf): Likewise.
1696         (mfhi<GPR:mode>_<HILO:mode>, mflo<GPR:mode>_<HILO:mode>)
1697         (load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>)
1698         (mfhc1<mode>): Use "move_type" instead of "move".
1699         (*low<mode>_mips16): Use "extended_mips16" instead of "length".
1700         (loadgp_blockage): Remove the "length" attribute.
1701         (blockage, set_got_version, update_got_version): Likewise.
1702         (call_internal): Remove the "extended_mips16" attribute.
1703         (call_value_internal, call_value_multiple_internal): Likewise.
1704         * config/mips/loongson.md (mov<mode>_internal): Use "move_type"
1705         instead of "move".
1706         * config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Remove
1707         the "length" attribute.
1708
1709 2008-06-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1710
1711         * c-format.c (handle_format_attribute): Fix -Wc++-compat and/or
1712         -Wcast-qual warnings.
1713         * c-pragma.c (dpm_eq, handle_pragma_push_macro,
1714         handle_pragma_pop_macro): Likewise.
1715         * collect2.c (resolve_lib_name): Likewise.
1716         * config/arc/arc.c (arc_init): Likewise.
1717         * config/arm/arm.c (neon_builtin_compare,
1718         locate_neon_builtin_icode): Likewise.
1719         * config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section): Likewise.
1720         * config/bfin/bfin.c (bfin_init_machine_status,
1721         bfin_optimize_loop): Likewise.
1722         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1723         * config/cris/cris.c (cris_init_expanders): Likewise.
1724         * config/darwin-c.c (frameworks_in_use, add_framework): Likewise.
1725         * config/darwin.c (machopic_indirection_eq,
1726         machopic_indirection_name, machopic_output_indirection): Likewise.
1727         * config/frv/frv.c (frv_init_machine_status, frv_compare_insns,
1728         frv_io_check_address, frv_io_handle_set, frv_io_handle_use_1,
1729         frv_optimize_membar): Likewise.
1730         * config/i386/cygwin.h (mingw_scan,
1731         GCC_DRIVER_HOST_INITIALIZATION): Likewise.
1732         * config/i386/cygwin1.c (mingw_scan): Likewise.
1733         * config/i386/i386.c (machopic_output_stub): Likewise.
1734         * config/i386/winnt.c (gen_stdcall_or_fastcall_suffix,
1735         i386_pe_unique_section): Likewise.
1736         * config/ia64/ia64.c (ia64_init_machine_status,
1737         ia64_h_i_d_extended, get_free_bundle_state, bundling, ia64_reorg):
1738         Likewise.
1739         * config/iq2000/iq2000.c, iq2000_init_machine_status): Likewise.
1740         * config/m68hc11/m68hc11.c (m68hc11_encode_label): Likewise.
1741         * config/m68k/m68k.c (m68k_handle_option,
1742         m68k_sched_md_init_global): Likewise.
1743         * config/mcore/mcore.c (mcore_mark_dllexport, mcore_mark_dllimport,
1744         mcore_unique_section): Likewise.
1745         * config/mips/mips.c (mips_block_move_straight,
1746         mips16_rewrite_pool_refs, mips_sim_wait_regs_2, mips_sim_record_set):
1747         Likewise.
1748         * config/mmix/mmix.c (mmix_init_machine_status,
1749         mmix_encode_section_info): Likewise.
1750         * config/pa/pa.c (pa_init_machine_status, hppa_encode_label): Likewise.
1751         * config/rs6000/rs6000.c (rs6000_init_machine_status,
1752         print_operand_address, output_toc, redefine_groups,
1753         rs6000_elf_encode_section_info, machopic_output_stub): Likewise.
1754         * config/s390/s390.c (s390_init_machine_status): Likewise.
1755         * config/score/score.c (score_block_move_straight,
1756         score_block_move_loop_body): Likewise.
1757         * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
1758         * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
1759         * emit-rtl.c (find_auto_inc): Likewise.
1760         * gcc.c (translate_options, process_command): Likewise.
1761         * reorg.c (dbr_schedule): Likewise.
1762         * sdbout.c (sdbout_start_source_file, sdbout_init): Likewise.
1763         * xcoffout.c (xcoffout_declare_function): Likewise.
1764
1765 2008-06-27  Daniel Berlin  <dberlin@dberlin.org>
1766
1767         * tree-ssa-structalias.c (find_func_aliases): Trivial fix to get
1768         ipa-pta working again.
1769
1770 2008-06-27  David Edelsohn  <edelsohn@gnu.org>
1771
1772         * config/rs6000/t-aix52: Append large data option to LDFLAGS for
1773         genautomata.
1774
1775 2008-06-27  Edmar Wienskoski  <edmar@freescale.com>
1776
1777         * config.gcc (powerpc*-*-*): Add new core e500mc.
1778         * config/rs6000/e500mc.md: New file.
1779         * config/rs6000/rs6000.c (processor_costs): Add new costs for
1780         e500mc.
1781         (rs6000_override_options): Add e500mc case to
1782         processor_target_table. Altivec and Spe options not allowed
1783         with e500mc. Add isel instruction to e500mc by
1784         default. Initialize rs6000_cost for e500mc.
1785         (rs6000_issue_rate): Set issue rate for e500mc.
1786         * config/rs6000/rs6000.h (processor_type): Add
1787         PROCESSOR_PPCE500MC.
1788         (ASM_CPU_SPEC): Add e500mc.
1789         Set TARGET_ISEL to rs6000_isel.
1790         * config/rs6000/e500.h: Remove redefinition of TARGET_ISEL.
1791         (CHECK_E500_OPTIONS): Remove TARGET_ISEL.
1792         * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc.
1793         Include e500mc.md.
1794         * doc/invoke.texi: Add e500mc to list of cpus.
1795
1796 2008-06-27  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1797
1798         PR c/34867
1799         * c-lex.c (lex_charconst): Initialize unsignedp.
1800
1801 2008-06-27  Olivier Hainque  <hainque@adacore.com>
1802
1803         * gimplify.c (gimplify_modify_expr_to_memset): Assert our
1804         documented assumptions.
1805
1806 2008-06-26  H.J. Lu  <hongjiu.lu@intel.com>
1807
1808         * dwarf2out.c: Remove trailing white spaces.  Break long line
1809         in comments.
1810
1811 2008-06-26  Richard Sandiford  <rdsandiford@googlemail.com>
1812
1813         * libfuncs.h (LTI_synchronize): New libfunc_index.
1814         (synchronize_libfunc): Declare.
1815         * builtins.c (expand_builtin_synchronize): Consider using
1816         synchronize_libfunc before falling back on an asm blockage.
1817         * config/mips/mips.c: Include libfuncs.h
1818         (mips_init_libfuncs): Initialize synchronize_libfunc for TARGET_MIPS16.
1819
1820 2008-06-26  Nathan Froyd  <froydnj@codesourcery.com>
1821
1822         * config/rs6000/rs6000.c (emit_allocate_stack): Add copy_r11
1823         parameter.  Copy stack_reg to r11 where appropriate.
1824         (no_global_regs_above): Add gpr parameter.
1825         (rs6000_stack_info): Only add padding for SPE save area if we
1826         are saving SPE GPRs and CR.
1827         (saveres_routine_syms): New variable.
1828         (FIRST_SAVRES_REGISTER, LAST_SAVRES_REGISTER, N_SAVRES_REGISTERS):
1829         Define.
1830         (rs6000_savres_routine_sym): New function.
1831         (rs6000_emit_stack_reset, rs6000_restore_saved_cr): New functions,
1832         split out of...
1833         (rs6000_emit_epilogue): ...here.  Use rs6000_use_multiple_p and
1834         rs6000_savres_strategy.  Restore GPRs out-of-line if appropriate.
1835         Tweak FPR out-of-line saving.
1836         (rs6000_make_savres_rtx): New function.
1837         (rs6000_use_multiple_p): New function.
1838         (rs6000_savres_strategy): New function.
1839         (rs6000_emit_prologue): Use rs6000_savres_strategy.  Save GPRs
1840         out-of-line if appropriate.
1841         * config/rs6000/sysv4.h (FP_SAVE_INLINE): Save FPRs out-of-line
1842         if we are optimizing for size.
1843         (GP_SAVE_INLINE): Define.
1844         (SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX): Only use _l on 64-bit targets.
1845         * config/rs6000/darwin.h (GP_SAVE_INLINE): Define.
1846         * config/rs6000/aix.h (GP_SAVE_INLINE): Define.
1847         * config/rs6000/rs6000.md (*save_gpregs_<mode>): New insn.
1848         (*save_fpregs_<mode>): Add use of r11.
1849         (*restore_gpregs_<mode>): New insn.
1850         (*return_and_restore_gpregs_<mode>): New insn.
1851         (*return_and_restore_fpregs_<mode>): Adjust to clobber LR and
1852         use r11.
1853         * config/rs6000/spe.md (*save_gpregs_spe): New insn.
1854         (*restore_gpregs_spe): New insn.
1855         (*return_and_restore_gpregs_spe): New insn.
1856         * config/rs6000/predicates.md (save_world_operation): Fix check.
1857
1858 2008-06-26  Steven Bosscher  <steven@gcc.gnu.org>
1859
1860         * tree-into-ssa (insert_phi_nodes_for): 'var' must be a DECL at
1861         this point, so assert that.
1862
1863 2008-06-26  Steven Bosscher  <steven@gcc.gnu.org>
1864
1865         * cfganal.c: Include vec.h and vecprim.h.
1866         (compute_idf): Import from...
1867         * tree-into-ssa (compute_idf): ...here.
1868         * basic-block.h (compute_idf): Export.
1869
1870 2008-06-26  Joseph Myers  <joseph@codesourcery.com>
1871
1872         * c-decl.c (merge_decls): Use !current_function_decl to check for
1873         extern declaration of C99 inline function being at file scope.
1874
1875 2008-06-25  John David Anglin  <dave.anglin@gcc-cnrc.gc.ca>
1876
1877         * config.gcc (hppa[12]*-*-hpux10*): Don't use fixproto.
1878
1879 2008-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1880
1881         * alias.c (record_alias_subset, init_alias_analysis): Fix
1882         -Wc++-compat and/or -Wcast-qual warnings.
1883         * attribs.c (lookup_attribute_spec): Likewise.
1884         * bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
1885         copy_bb, connect_traces,
1886         find_rarely_executed_basic_blocks_and_cr): Likewise.
1887         * bt-load.c (find_btr_def_group, add_btr_def, new_btr_user,
1888         note_btr_set, migrate_btr_defs): Likewise.
1889         * builtins.c (result_vector, expand_builtin_memcpy,
1890         expand_builtin_mempcpy_args, expand_builtin_strncpy,
1891         builtin_memset_read_str, expand_builtin_printf,
1892         fold_builtin_memchr, rewrite_call_expr, fold_builtin_printf):
1893         Likewise.
1894         * caller-save.c (mark_set_regs): Likewise.
1895         * calls.c (expand_call, emit_library_call_value_1): Likewise.
1896         * cgraph.c (cgraph_edge): Likewise.
1897         * combine.c (likely_spilled_retval_1): Likewise.
1898         * coverage.c (htab_counts_entry_hash, htab_counts_entry_eq,
1899         htab_counts_entry_del, get_coverage_counts): Likewise.
1900         * cselib.c (new_elt_list, new_elt_loc_list, entry_and_rtx_equal_p,
1901         new_cselib_val): Likewise.
1902         * dbgcnt.c (dbg_cnt_process_opt): Likewise.
1903         * dbxout.c (dbxout_init, dbxout_type, output_used_types_helper):
1904         Likewise.
1905         * df-core.c (df_compact_blocks): Likewise.
1906         * df-problems.c (df_grow_bb_info, df_chain_create): Likewise.
1907         * df-scan.c (df_grow_reg_info, df_ref_create,
1908         df_insn_create_insn_record, df_insn_rescan, df_notes_rescan,
1909         df_ref_compare, df_ref_create_structure, df_bb_refs_record,
1910         df_record_entry_block_defs, df_record_exit_block_uses,
1911         df_bb_verify): Likewise.
1912         * df.h (DF_REF_EXTRACT_WIDTH_CONST, DF_REF_EXTRACT_OFFSET_CONST,
1913         DF_REF_EXTRACT_MODE_CONST): New.
1914         * dominance.c (get_immediate_dominator, get_dominated_by,
1915         nearest_common_dominator, root_of_dom_tree,
1916         iterate_fix_dominators, first_dom_son, next_dom_son): Fix
1917         -Wc++-compat and/or -Wcast-qual warnings.
1918         * dse.c (clear_alias_set_lookup, get_group_info, gen_rtx_MEM,
1919         record_store, replace_read, check_mem_read_rtx, scan_insn,
1920         dse_step1, dse_record_singleton_alias_set): Likewise.
1921         * dwarf2asm.c (dw2_force_const_mem): Likewise.
1922
1923 2008-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1924
1925         * dwarf2out.c (new_cfi, queue_reg_save, dwarf2out_begin_prologue,
1926         dwarf2out_frame_init, new_loc_descr, new_die, lookup_decl_die,
1927         lookup_decl_loc, add_var_loc_to_decl, compute_section_prefix,
1928         assign_symbol_names, htab_cu_hash, htab_cu_eq, htab_cu_del,
1929         build_abbrev_table, new_loc_list, output_comp_unit, add_arange,
1930         add_ranges_num, add_ranges_by_labels, file_info_cmp,
1931         file_name_acquire, output_file_names, add_const_value_attribute,
1932         premark_used_types_helper, file_table_eq, file_table_hash,
1933         lookup_filename, dwarf2out_var_location, dwarf2out_source_line,
1934         dwarf2out_init, file_table_relative_p): Fix -Wc++-compat and/or
1935         -Wcast-qual warnings.
1936         * ebitmap.c (ebitmap_array_grow, ebitmap_array_init,
1937         ebitmap_alloc, ebitmap_ior, ebitmap_and_compl): Likewise.
1938         * emit-rtl.c (get_mem_attrs, get_reg_attrs, gen_rtvec,
1939         gen_reg_rtx, start_sequence, init_emit): Likewise.
1940         * et-forest.c (et_new_occ, et_new_tree): Likewise.
1941         * except.c (init_eh_for_function, gen_eh_region,
1942         remove_unreachable_regions, add_ehl_entry, duplicate_eh_regions_1,
1943         arh_to_landing_pad, arh_to_label, add_action_record,
1944         add_call_site, switch_to_exception_section): Likewise.
1945         * expmed.c (synth_mult): Likewise.
1946         * expr.c (gen_group_rtx, emit_group_load, emit_group_store,
1947         store_expr): Likewise.
1948         * final.c (shorten_branches, final_scan_insn, debug_queue_symbol):
1949         Likewise.
1950         * function.c (assign_stack_temp_for_type,
1951         allocate_struct_function, match_asm_constraints_1): Likewise.
1952         * gcov-io.c (gcov_allocate): Likewise.
1953         * gcse.c (GNEW, GCNEW, GNEWVEC, GCNEWVEC, GRESIZEVEC, GNEWVAR,
1954         GCNEWVAR, GRESIZEVAR, GOBNEW, GOBNEWVAR): New.
1955         (gcse_main, alloc_gcse_mem, alloc_gcse_mem, alloc_reg_set_mem,
1956         record_one_set, insert_expr_in_table, insert_set_in_table,
1957         dump_hash_table, compute_hash_table_work, alloc_hash_table,
1958         pre_ldst_expr_hash, pre_ldst_expr_eq, find_rtx_in_ldst,
1959         reg_set_info, reg_clear_last_set): Fix -Wc++-compat and/or
1960         -Wcast-qual warnings.
1961
1962 2008-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1963
1964         * cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or
1965         -Wcast-qual warnings.
1966         * gcc.c (process_command): Likewise.
1967         * genattrtab.c (oballoc): Use XOBNEW.
1968         (oballocvec): Define.
1969         (attr_hash_add_rtx, attr_hash_add_string, attr_string,
1970         get_attr_value, fill_attr, make_length_attrs, gen_attr, gen_insn,
1971         gen_delay, find_attr, gen_insn_reserv, gen_bypass_1): Fix
1972         -Wc++-compat and/or -Wcast-qual warnings.
1973         * genautomata.c (XCREATENODE, XCREATENODEVEC, XCREATENODEVAR,
1974         XCOPYNODE, XCOPYNODEVEC, XCOPYNODEVAR): New.
1975         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1976         gen_presence_absence_set, gen_automaton, gen_regexp_el,
1977         gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
1978         gen_regexp_sequence, gen_reserv, gen_insn_reserv, process_excls,
1979         add_excls, process_presence_absence_names,
1980         process_presence_absence_patterns, add_presence_absence,
1981         process_regexp, add_advance_cycle_insn_decl, get_free_alt_state,
1982         get_free_state, add_arc, get_free_automata_list_el,
1983         form_reserv_sets_list, copy_insn_regexp, transform_1, transform_2,
1984         transform_3, cache_presence, create_ainsns, create_automata,
1985         create_state_ainsn_table, dfa_insn_code_enlarge,
1986         output_trans_func, output_min_issue_delay_func,
1987         output_dead_lock_func, output_reset_func,
1988         output_get_cpu_unit_code_func, output_dfa_start_func,
1989         expand_automata): Likewise.
1990         * genextract.c (gen_insn): Likewise.
1991         * gengtype-lex.l: Likewise.
1992         * gengtype.c (read_input_list, adjust_field_type,
1993         process_gc_options): Likewise.
1994         * genoutput.c (note_constraint): Likewise.
1995         * genpreds.c (mangle, add_constraint): Likewise.
1996         * genrecog.c (process_define_predicate, new_decision,
1997         add_to_sequence): Likewise.
1998         * gensupport.c (record_insn_name): Likewise.
1999
2000 2008-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2001
2002         * config/i386/driver-i386.c (detect_caches_amd,
2003         detect_caches_intel, host_detect_local_cpu): Fix -Wc++-compat
2004         and/or -Wcast-qual warnings.
2005         *ggc-common.c (ggc_mark_roots, gt_pch_note_object,
2006         gt_pch_note_reorder, relocate_ptrs, write_pch_globals,
2007         gt_pch_save): Likewise.
2008         * ggc-page.c (push_depth, push_by_depth, alloc_anon, alloc_page,
2009         gt_ggc_m_S, clear_marks, ggc_pch_read): Likewise.
2010         * global.c (compute_regsets): Likewise.
2011         * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
2012         finish_graph_dump_file): Likewise.
2013         * haifa-sched.c (schedule_block, extend_h_i_d, extend_ready,
2014         unlink_bb_notes): Likewise.
2015         * integrate.c (get_hard_reg_initial_val): Likewise.
2016         * ipa-prop.c (ipa_push_func_to_list): Likewise.
2017         * ipa-struct-reorg.c (gen_var_name, gen_cluster_name): Likewise.
2018         * local-alloc.c (update_equiv_regs): Likewise.
2019         * loop-invariant.c (check_invariant_table_size,
2020         hash_invariant_expr, eq_invariant_expr, find_or_insert_inv):
2021         Likewise.
2022         * loop-iv.c (check_iv_ref_table_size, analyzed_for_bivness_p,
2023         altered_reg_used, mark_altered): Likewise.
2024         * loop-unroll.c (si_info_eq, ve_info_eq, allocate_basic_variable,
2025         insert_var_expansion_initialization,
2026         combine_var_copies_in_loop_exit, apply_opt_in_copies,
2027         release_var_copies): Likewise.
2028         * matrix-reorg.c (mat_acc_phi_hash, mat_acc_phi_eq, mtt_info_eq,
2029         analyze_matrix_decl, add_allocation_site, analyze_transpose,
2030         analyze_accesses_for_phi_node, check_var_notmodified_p,
2031         check_allocation_function, find_sites_in_func,
2032         record_all_accesses_in_func, transform_access_sites,
2033         transform_allocation_sites): Likewise.
2034         * omp-low.c (new_omp_region, create_omp_child_function_name,
2035         check_omp_nesting_restrictions, check_combined_parallel,
2036         lower_omp_2, diagnose_sb_1, diagnose_sb_2): Likewise.
2037         * optabs.c (no_conflict_move_test, gen_libfunc, gen_fp_libfunc,
2038         gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
2039         gen_intraclass_conv_libfunc, set_optab_libfunc, set_conv_libfunc):
2040         Likewise.
2041         * opts-common.c (prune_options): Likewise.
2042         * opts.c (add_input_filename, print_filtered_help,
2043         get_option_state): Likewise.
2044         * params.c (add_params): Likewise.
2045         * passes.c (set_pass_for_id, next_pass_1,
2046         do_per_function_toporder, pass_fini_dump_file): Likewise.
2047         * postreload.c (reload_cse_simplify_operands): Likewise.
2048         * predict.c (tree_predicted_by_p, tree_predict_edge,
2049         clear_bb_predictions, combine_predictions_for_bb): Likewise.
2050
2051 2008-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2052
2053         * ra.h (add_neighbor): Fix -Wc++-compat and/or -Wcast-qual
2054         warnings.
2055         * recog.c (check_asm_operands, validate_change_1): Likewise.
2056         * reg-stack.c (check_asm_stack_operands, subst_asm_stack_regs,
2057         subst_asm_stack_regs): Likewise.
2058         * regclass.c (regclass, som_hash, som_eq, record_subregs_of_mode,
2059         cannot_change_mode_set_regs, invalid_mode_change_p): Likewise.
2060         * regmove.c (reg_is_remote_constant_p): Likewise.
2061         * regrename.c (regrename_optimize, scan_rtx_reg,
2062         kill_clobbered_value, kill_set_value, kill_autoinc_value):
2063         Likewise.
2064         * regstat.c (regstat_init_n_sets_and_refs, regstat_compute_ri,
2065         regstat_compute_calls_crossed): Likewise.
2066         * reload1.c (init_reload, new_insn_chain,
2067         has_nonexceptional_receiver, reload, copy_reloads,
2068         calculate_needs_all_insns, init_elim_table): Likewise.
2069         * rtl-factoring.c (compute_rtx_cost, fill_hash_bucket): Likewise.
2070         * rtl.c (shallow_copy_rtx_stat): Likewise.
2071         * rtlanal.c (parms_set): Likewise.
2072         * sbitmap.c (sbitmap_alloc, sbitmap_alloc_with_popcount,
2073         sbitmap_resize, sbitmap_vector_alloc): Likewise.
2074         * sched-ebb.c (earliest_block_with_similiar_load,
2075         add_deps_for_risky_insns): Likewise.
2076         * sched-rgn.c (find_rgns, gather_region_statistics, extend_rgns,
2077         schedule_region): Likewise.
2078         * see.c (eq_descriptor_pre_extension,
2079         hash_descriptor_pre_extension, hash_del_pre_extension,
2080         eq_descriptor_properties, hash_descriptor_properties,
2081         hash_del_properties, see_seek_pre_extension_expr,
2082         see_initialize_data_structures, see_print_register_properties,
2083         see_print_pre_extension_expr, see_delete_merged_def_extension,
2084         see_delete_unmerged_def_extension, see_emit_use_extension,
2085         see_pre_delete_extension, see_map_extension, see_commit_changes,
2086         see_analyze_merged_def_local_prop,
2087         see_analyze_merged_def_local_prop,
2088         see_analyze_unmerged_def_local_prop, see_analyze_use_local_prop,
2089         see_set_prop_merged_def, see_set_prop_unmerged_def,
2090         see_set_prop_unmerged_use, see_print_one_extension,
2091         see_merge_one_use_extension, see_merge_one_def_extension,
2092         see_store_reference_and_extension, see_update_uses_relevancy,
2093         see_update_defs_relevancy): Likewise.
2094         * statistics.c (hash_statistics_hash, hash_statistics_eq,
2095         hash_statistics_free, curr_statistics_hash): Likewise.
2096         * stmt.c (parse_output_constraint, decl_overlaps_hard_reg_set_p,
2097         expand_asm_operands, expand_return, case_bit_test_cmp,
2098         expand_case): Likewise.
2099         * stor-layout.c (start_record_layout): Likewise.
2100         * stringpool.c (ggc_alloc_string, gt_pch_n_S,
2101         gt_pch_save_stringpool): Likewise.
2102         * tree-data-ref.c (hash_stmt_vertex_info,
2103         have_similar_memory_accesses_1, ref_base_address_1): Likewise.
2104         * tree-ssa-phiopt.c (name_to_bb_hash): Likewise.
2105
2106 2008-06-25  Uros Bizjak  <ubizjak@gmail.com>
2107
2108         PR target/36627
2109         * config/i386/i386.md : Change constraints of HImode and QImode
2110         immediate operands from "i" to "n".  Change SImode "ni" constraint to
2111         "i" and SImode "rmi" constraint to "g".  Remove all constraints
2112         from const0_operand and const1_operand predicated operands.
2113         (i): Change QImode and HImode attribute from "i" to "n".
2114         (*subqi_2): Change HImode operands to QImode.
2115         (*subqi_3): Ditto.
2116
2117 2008-06-25  Olivier Hainque  <hainque@adacore.com>
2118
2119         * Makefile.in (GTFILES_H): Use | instead of ; as separator in
2120         sed substitutions.
2121
2122 2008-06-25  Richard Guenther  <rguenther@suse.de>
2123
2124         * tree-ssa-structalias.c (fieldoff_compare): Make sure to
2125         not overflow the result type.
2126
2127 2008-06-25  Richard Guenther  <rguenther@suse.de>
2128
2129         * tree-vn.c (vn_add): Handle TRUTH_*_EXPR.
2130         (vn_lookup): Likewise.
2131
2132 2008-06-25  Richard Guenther  <rguenther@suse.de>
2133
2134         PR tree-optimization/35518
2135         * fold-const.c (fold_ternary): Strip trivial BIT_FIELD_REFs.
2136         * tree-sra.c (instantiate_element): Use fold_build3 to build
2137         BIT_FIELD_REFs.
2138         (try_instantiate_multiple_fields): Likewise.
2139
2140 2008-06-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2141
2142         * config/rs6000/rs6000.md: Change all string instruction's clobber to
2143         be early clobbers.
2144
2145 2008-06-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2146
2147         * config/rs6000/rs6000.c (rs6000_emit_epilogue): Set
2148         use_backchain_to_restore_sp to true
2149         if the offset of the link register save area would go over the 32k - 1
2150         offset limit of the load
2151         instructions.
2152
2153 2008-06-25  Hans-Peter Nilsson  <hp@axis.com>
2154
2155         * doc/invoke.texi (Optimize Options) <fstrict-aliasing>: Add
2156         anchor for the type-punning blurb.  Cross-reference "Structures
2157         unions enumerations and bit-fields implementation".  Provide a
2158         cast-through-pointer example.  Make final sentence self-contained.
2159         * doc/implement-c.texi (Structures unions enumerations and
2160         bit-fields implementation): Cross-reference the type-punning blurb
2161         in the -fstrict-aliasing documentation.
2162
2163 2008-06-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2164
2165         PR middle-end/36594
2166         * builtins.c (expand_builtin_nonlocal_goto): Stabilize the address of
2167         the memory instead of the memory itself for the save area.
2168
2169 2008-06-24  Olivier Hainque  <hainque@adacore.com>
2170             Nicolas Roche  <roche@adacore.com>
2171
2172         * gengtype.c (srcdir_len): size_t instead of int.
2173         (get_file_realbasename): New function.  For F a filename, the real
2174         basename of F, with all the path components stripped.
2175         (get_file_srcdir_relative_path): New function.  For F a filename, the
2176         relative path to F from $(srcdir).
2177         (get_file_basename): Rewrite using get_file_srcdir_relative_path and
2178         get_file_realbasename.  Adjust the head comment.
2179         (get_prefix_langdir_index): New function. For F a filename, return the
2180         lang_dir_names[] relative index of the language directory that is
2181         a prefix in F.
2182         (get_file_langdir): For F a filename, return the name of the language
2183         directory where F is located.
2184         (get_file_gtfilename): New function. The gt- output file name for an
2185         input filename F.
2186         (get_output_file_with_visibility): Replace in-line computations with
2187         uses of get_file_gtfilename and get_prefix_langdir_index.
2188         * Makefile.in (GTFILES_H): Adjust to match what gengtype generates.
2189
2190 2008-06-24  Jakub Jelinek  <jakub@redhat.com>
2191
2192         PR tree-optimization/36504
2193         * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Skip
2194         references without base address.
2195
2196 2008-06-23  Uros Bizjak  <ubizjak@gmail.com>
2197
2198         PR middle-end/36584
2199         * calls.c (expand_call): Increase alignment for recursive functions.
2200
2201 2008-06-23  Anatoly Sokolov  <aesok@post.ru>
2202
2203         * config/avr/avr.c (avr_function_value): Add new 'outgoing' argument.
2204         (TARGET_FUNCTION_VALUE): New define.
2205         * config/avr/avr-protos.h (avr_function_value): Remove declaration.
2206         * config/avr/avr.h (FUNCTION_VALUE): Remove.
2207
2208 2008-06-23  Uros Bizjak  <ubizjak@gmail.com>
2209
2210         * config/i386/i386.md (fmodxf3): Change sequence of move instructions.
2211         (fmod<mode>3): Ditto.
2212         (remainderxf3): Ditto.
2213         (remainder<mode>3): Ditto.
2214
2215 2008-06-23  Jakub Jelinek  <jakub@redhat.com>
2216
2217         PR target/36533
2218         * emit-rtl.c (set_reg_attrs_from_value): Do nothing if
2219         REG is a hard register.
2220
2221         PR tree-optimization/36508
2222         * tree-ssa-pre.c (compute_antic): Allow num_iterations up to
2223         499, don't check it at all in release compilers.
2224
2225 2008-06-23  Uros Bizjak  <ubizjak@gmail.com>
2226
2227         * config/i386/i386.md (*fop_<mode>_1_i387): Use SSE_FLOAT_MODE_P
2228         together with SSE_TARGET_MATH to disable insn pattern.
2229         (*fop_<MODEF:mode>_2_i387): Ditto.
2230         (*fop_<MODEF:mode>_3_i387): Ditto.
2231
2232 2008-06-22  Andy Hutchinson  <hutchinsonandy@aim.com>
2233
2234         * config/avr/avr.h (SUPPORTS_INIT_PRIORITY): Define.
2235         
2236 2008-06-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
2237
2238         PR middle-end/34906
2239         * gimplify.c (gimplify_asm_expr): Check the return code of
2240         parse_output_constraint call, set function return and is_inout
2241         value if it failed.
2242
2243 2008-06-22  Ian Lance Taylor  <iant@google.com>
2244
2245         * c-lex.c (narrowest_unsigned_type): Change itk to int.
2246         (narrowest_signed_type): Likewise.
2247         * c-typeck.c (c_common_type): Change local variable mclass to enum
2248         mode_class, twice.
2249         (parser_build_binary_op): Compare the TREE_CODE_CLASS with
2250         tcc_comparison, not the tree code itself.
2251         * c-common.c (def_fn_type): Pass int, not an enum, to va_arg.
2252         (c_expand_expr): Cast modifier to enum expand_modifier.
2253         * c-common.h (C_RID_CODE): Add casts.
2254         (C_SET_RID_CODE): Define.
2255         * c-parser.c (c_parse_init): Use C_SET_RID_CODE.
2256         (c_lex_one_token): Add cast to avoid warning.
2257         (c_parser_objc_type_name): Rename local typename to type_name.
2258         (check_no_duplicate_clause): Change code parameter to enum
2259         omp_clause_code.
2260         (c_parser_omp_var_list_parens): Change kind parameter to enum
2261         omp_clause_code.
2262         (c_parser_omp_flush): Pass OMP_CLAUSE_ERROR, not 0, to
2263         c_parser_omp_list_var_parens.
2264         (c_parser_omp_threadprivate): Likewise.
2265         * cp/lex.c (init_reswords): Use C_SET_RID_CODE.
2266         * cp/parser.c (cp_lexer_get_preprocessor_token): Likewise.
2267         * c-format.c (NO_FMT): Define.
2268         (printf_length_specs): Use NO_FMT.
2269         (asm_fprintf_length_specs): Likewise.
2270         (gcc_diag_length_specs): Likewise.
2271         (scanf_length_specs): Likewise.
2272         (strfmon_length_specs): Likewise.
2273         (gcc_gfc_length_specs): Likewise.
2274         (printf_flag_specs): Change 0 to STD_C89.
2275         (asm_fprintf_flag_specs): Likewise.
2276         (gcc_diag_flag_specs): Likewise.
2277         (gcc_cxxdiag_flag_specs): Likewise.
2278         (scanf_flag_specs): Likewise.
2279         (strftime_flag_specs): Likewise.
2280         (strfmon_flag_specs): Likewise.
2281         (print_char_table): Likewise.
2282         (asm_fprintf_char_table): Likewise.
2283         (gcc_diag_char_table): Likewise.
2284         (gcc_tdiag_char_table): Likewise.
2285         (gcc_cdiag_char_table): Likewise.
2286         (gcc_cxxdiag_char_table): Likewise.
2287         (gcc_gfc_char_table): Likewise.
2288         (scan_char_table): Likewise.
2289         (time_char_table): Likewis.
2290         (monetary_char_table): Likewise.
2291         * c-format.h (BADLEN): Likewise.
2292
2293 2008-06-21  Ian Lance Taylor  <iant@google.com>
2294
2295         * tree.h (enum tree_code): Include all-tree.def, not tree.def.
2296         Define END_OF_BASE_TREE_CODES around inclusion.
2297         * tree.c (tree_code_type): New global array.
2298         (tree_code_length, tree_code_name): Likewise.
2299         * Makefile.in (TREE_H): Add all-tree.def, c-common.def, and
2300         $(lang_tree_files).
2301         (all-tree.def, s-alltree): New targets.
2302         (gencheck.h, s-gencheck): Remove.
2303         (tree.o): Depend upon all-tree.def.
2304         (build/gencheck.o): Remove gencheck.h dependency.
2305         (mostlyclean): Don't remove gencheck.h.
2306         * c-common.h (enum c_tree_code): Remove.
2307         * c-lang.c (tree_code_type): Remove.
2308         (tree_code_length, tree_code_name): Remove.
2309         * gencheck.c (tree_codes): Include all-tree.def, rather than
2310         tree.def, c-common.def, and gencheck.h.  Undefined DEFTREECODE
2311         after it is used.
2312         * tree-browser.c (tb_tree_codes): Include all-tree.def, rather
2313         than tree.def.
2314         * cp/cp-tree.h (enum cplus_tree_code): Remove.
2315         (operator_name_info): Size to MAX_TREE_CODES.
2316         (assignment_operator_name_info): Likewise.
2317         * cp/cp-lang.c (tree_code_type): Remove.
2318         (tree_code_length, tree_code_name): Remove.
2319         * cp/lex.c (operator_name_info): Size to MAX_TREE_CODES.
2320         (assignment_operator_name_info): Likewise.
2321         * cp/decl.c (grok_op_properties): Change LAST_CPLUS_TREE_CODE to
2322         MAX_TREE_CODES.
2323         * cp/mangle.c (write_expression): Likewise.
2324         * cp/Make-lang.in (CXX_TREE_H): Remove cp/cp-tree.def.
2325         * fortran/f95-lang.c (tree_code_type): Remove.
2326         (tree_code_length, tree_code_name): Remove.
2327         * java/java-tree.h (enum java_tree_code): Remove.
2328         * java/lang.c (tree_code_type): Remove.
2329         (tree_code_length, tree_code_name): Remove.
2330         * java/Make-lang.in (JAVA_TREE_H): Remove java/java-tree.def.
2331         * objc/objc-act.h (enum objc_tree_code): Remove.
2332         * objc/objc-lang.c (tree_code_type): Remove.
2333         (tree_code_length, tree_code_name): Remove.
2334         * objcp/objcp-lang.c (tree_code_type): Remove.
2335         (tree_code_length, tree_code_name): Remove.
2336         * ada/ada-tree.h (enum gnat_tree_code): Remove.
2337         * ada/Make-lang.in (ADA_TREE_H): Remove ada/ada-tre.def.
2338         * ada/misc.c (tree_code_type): Remove.
2339         (tree_code_length, tree_code_name): Remove.
2340
2341 2008-06-21  Bernhard Fischer  <aldot@gcc.gnu.org>
2342
2343         * tree-ssa-pre.c (fini_antic): Bitmap_sets have to be freed before
2344         the grand_bitmap_obstack.
2345
2346 2008-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2347
2348         * ggc.h (GGC_RESIZEVAR): New, reorder macros.
2349         * tracer.c (tail_duplicate): Fix for -Wc++-compat.
2350         * tree-affine.c (aff_combination_expand, free_name_expansion): Likewise.
2351         * tree-cfg.c (replace_by_duplicate_decl, replace_ssa_name,
2352         move_stmt_r, new_label_mapper): Likewise.
2353         * tree-complex.c (cvc_lookup): Likewise.
2354         * tree-dfa.c (create_function_ann): Likewise.
2355         * tree-dump.c (dump_register): Likewise.
2356         * tree-if-conv.c (tree_if_conversion, add_to_predicate_list,
2357         find_phi_replacement_condition): Likewise.
2358         * tree-inline.c (copy_phis_for_bb, estimate_num_insns_1,
2359         tree_function_versioning): Likewise.
2360         * tree-into-ssa.c (cmp_dfsnum): Likewise.
2361         * tree-iterator.c (tsi_link_before, tsi_link_after): Likewise.
2362         * tree-nested.c (lookup_field_for_decl, lookup_tramp_for_decl,
2363         get_nonlocal_debug_decl, convert_nonlocal_reference,
2364         convert_nonlocal_omp_clauses, get_local_debug_decl,
2365         convert_local_reference, convert_local_omp_clauses,
2366         convert_nl_goto_reference, convert_nl_goto_receiver,
2367         convert_tramp_reference, convert_call_expr): Likewise.
2368         * tree-outof-ssa.c (contains_tree_r): Likewise.
2369         * tree-parloops.c (reduction_phi, initialize_reductions,
2370         eliminate_local_variables_1, add_field_for_reduction,
2371         add_field_for_name, create_phi_for_local_result,
2372         create_call_for_reduction_1, create_loads_for_reductions,
2373         create_stores_for_reduction, create_loads_and_stores_for_name):
2374         Likewise.
2375         * tree-phinodes.c (allocate_phi_node): Likewise.
2376         * tree-predcom.c (order_drefs, execute_pred_commoning_cbck): Likewise.
2377         * tree-sra.c (sra_elt_hash, sra_elt_eq, lookup_element): Likewise.
2378         * tree-ssa-alias.c (get_mem_sym_stats_for): Likewise.
2379         * tree-ssa-coalesce.c (compare_pairs): Likewise.
2380         * tree-ssa-loop-im.c (mem_ref_in_stmt, memref_hash, memref_eq,
2381         memref_free, gather_mem_refs_stmt, vtoe_hash, vtoe_eq, vtoe_free,
2382         record_vop_access, get_vop_accesses, get_vop_stores): Likewise.
2383         * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise. 
2384         * tree-ssa-sccvn.c (VN_INFO_GET, free_phi, free_reference,
2385         vn_nary_op_insert): Likewise.
2386         * tree-ssa.c (redirect_edge_var_map_add,
2387         redirect_edge_var_map_clear, redirect_edge_var_map_dup): Likewise.
2388         * tree-vectorizer.c (vectorize_loops): Likewise.
2389         * tree.c (make_node_stat, copy_node_stat, build_int_cst_wide,
2390         build_fixed, build_real, make_tree_binfo_stat, make_tree_vec_stat,
2391         tree_cons_stat, build1_stat, build_variant_type_copy,
2392         decl_init_priority_lookup, decl_fini_priority_lookup,
2393         decl_priority_info, decl_restrict_base_lookup,
2394         decl_restrict_base_insert, decl_debug_expr_lookup,
2395         decl_debug_expr_insert, decl_value_expr_lookup,
2396         decl_value_expr_insert, type_hash_eq, type_hash_lookup,
2397         type_hash_add, get_file_function_name, tree_check_failed,
2398         tree_not_check_failed, tree_range_check_failed,
2399         omp_clause_range_check_failed, build_omp_clause,
2400         build_vl_exp_stat): Likewise.
2401         * value-prof.c (gimple_histogram_value,
2402         gimple_duplicate_stmt_histograms): Likewise.
2403         * var-tracking.c (attrs_list_insert, attrs_list_copy,
2404         unshare_variable, variable_union_info_cmp_pos, variable_union,
2405         dataflow_set_different_1, dataflow_set_different_2,
2406         vt_find_locations, variable_was_changed, set_variable_part,
2407         emit_notes_for_differences_1, emit_notes_for_differences_2): Likewise.
2408         * varasm.c (prefix_name, emutls_decl, section_entry_eq,
2409         section_entry_hash, object_block_entry_eq,
2410         object_block_entry_hash, create_block_symbol,
2411         initialize_cold_section_name, default_function_rodata_section,
2412         strip_reg_name, set_user_assembler_name, const_desc_eq,
2413         build_constant_desc, output_constant_def, lookup_constant_def,
2414         const_desc_rtx_hash, const_desc_rtx_eq, const_rtx_hash_1,
2415         create_constant_pool, force_const_mem, compute_reloc_for_rtx_1,
2416         default_internal_label): Likewise.
2417         * varray.c (varray_init, varray_grow): Likewise.
2418         * vec.c (vec_gc_o_reserve_1, vec_heap_o_reserve_1): Likewise.
2419
2420 2008-06-20  Uros Bizjak  <ubizjak@gmail.com>
2421
2422         * config/i386/i386.md (*jcc_fused_1): Handle all valid compare
2423         operators for "test" insn.  Macroize insn using SWI mode macro.
2424         (*jcc_fused_2): Ditto.
2425         (*jcc_fused_3): Macroize insn using SWI mode macro.
2426         (*jcc_fused_4): Ditto.
2427
2428 2008-06-20  Bernhard Fischer  <aldot@gcc.gnu.org>
2429
2430         * tree-ssa-pre.c: Fix typo in comment.
2431         (init_antic, fini_antic): Add explicit funtions for
2432         initializing and deinitializing ANTIC and AVAIL sets.
2433         (create_expression_by_pieces): Fix typo in comment.
2434         Remove redundant set of new_stuff and use NULL_TREE instead of NULL.
2435         (execute_pre): Eventually dump details about ANTIC_IN.
2436
2437 2008-06-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2438
2439         * collect2.c (main, add_to_list): Fix for -Wc++-compat.
2440         * gcc.c (translate_options, init_spec, store_arg, read_specs,
2441         add_to_obstack, file_at_path, find_a_file, execute,
2442         add_preprocessor_option, add_assembler_option, add_linker_option,
2443         process_command, insert_wrapper, do_option_spec, do_self_spec,
2444         spec_path, do_spec_1, is_directory, main, used_arg,
2445         getenv_spec_function): Likewise.
2446         * tlink.c (symbol_hash_lookup, file_hash_lookup,
2447         demangled_hash_lookup, symbol_push, file_push, frob_extension):
2448         Likewise.
2449
2450 2008-06-19  Kenneth Zadeck <zadeck@naturalbridge.com>
2451
2452         * doc/rtl.texi: Updated subreg section.
2453
2454 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
2455
2456         PR c++/36523
2457         * cgraphunit.c (cgraph_process_new_functions): Don't clear
2458         node->needed and node->reachable.
2459         * cgraphbuild.c (record_reference): Handle OMP_PARALLEL and OMP_TASK.
2460         * omp-low.c (delete_omp_context): Call finalize_task_copyfn.
2461         (expand_task_call): Don't call expand_task_copyfn.
2462         (expand_task_copyfn): Renamed to...
2463         (finalize_task_copyfn): ... this.
2464
2465 2008-06-19  Jan Hubicka  <jh@suse.cz>
2466
2467         * builtins.c (expand_builtin_nonlocal_goto): Stabilize r_sp before
2468         clobbering framepointer.
2469
2470 2008-06-19  Jan Hubicka  <jh@suse.cz>
2471
2472         * tree-optimize.c (execute_early_local_optimizations): Set
2473         cgraph_state only at first invocation.
2474
2475 2008-06-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2476
2477         * system.h (-Wc++-compat): Activate as a warning, no an error.
2478
2479 2008-06-19  Uros Bizjak  <ubizjak@gmail.com>
2480
2481         * config/i386/i386.md (*jcc_fused_1): Use ASM_COMMENT_START
2482         instead of "#" in insn asm template.
2483         (*jcc_fused_2): Ditto.
2484
2485 2008-06-19  Uros Bizjak  <ubizjak@gmail.com>
2486
2487         * config/i386/i386.h (ix86_tune_indices)
2488         [X86_TUNE_FUSE_CMP_AND_BRANCH]: New.
2489         (TARGET_FUSE_CMP_AND_BRANCH): New define.
2490         * config/i386/i386.md (*jcc_fused_1): New insn pattern
2491         (*jcc_fused_2): Ditto.
2492         * config/i386/i386.c (ix86_tune_features): Add m_CORE2 to
2493         X86_TUNE_FUSE_CMP_AND_BRANCH targets.
2494         (print operand): Handle 'E' and 'e' code.
2495
2496 2008-06-19  Anatoly Sokolov  <aesok@post.ru>
2497
2498         * config/avr/avr.c (avr_mcu_t): Add attiny13a.
2499         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2500         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2501
2502 2008-06-19  Bernhard Fischer  <aldot@gcc.gnu.org>
2503
2504         * cgraphunit.c (cgraph_finalize_function): Remove redundant setting of
2505         node->decl.
2506         (cgraph_expand_function): Use local copy of decl.
2507         (cgraph_expand_all_functions): Remove redundant initialization of
2508         order_pos.
2509         (cgraph_optimize): Reword internal_error message.
2510
2511 2008-06-19  Chung-Lin Tang  <ctang@marvell.com>
2512
2513         * arm-protos.h (arm_return_in_memory): Remove public
2514         arm_return_in_memory() prototype.
2515         * arm.c (arm_return_in_memory): Add static prototype, add target
2516         hook macro, change definition and comments.
2517         * arm.h (TARGET_RETURN_IN_MEMORY): Remove.
2518
2519 2008-06-19  Ben Elliston  <bje@au.ibm.com>
2520
2521         * dfp.h, dfp.c, config/dfp-bit.h, config/dfp-bit.c, real.h,
2522         real.c: Remove references to IEEE 754R.
2523         * doc/install.texi (Configuration): IEEE 754R -> IEEE 754-2008.
2524         * doc/libgcc.texi (Decimal float library routines): Likewise.
2525
2526 2008-06-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2527
2528         * targhooks.h (struct gcc_target): New member unwind_word_mode.
2529         (default_unwind_word_mode): Add prototype.
2530         * targhooks.c (default_unwind_word_mode): New function.
2531         (default_eh_return_filter_mode): Return targetm.unwind_word_mode ()
2532         instead of word_mode.
2533         * target-def.h (TARGET_UNWIND_WORD_MODE): New macro.
2534         (TARGET_INITIALIZER): Use it.
2535
2536         * c-common.c (handle_mode_attribute): Support "unwind_word"
2537         mode attribute.
2538         * unwind-generic.h (_Unwind_Word, _Unwind_Sword): Use it.
2539
2540         * except.c (init_eh): Use targetm.unwind_word_mode () instead of
2541         word_mode to access SjLj_Function_Context member "data".
2542         (sjlj_emit_dispatch_table): Likewise.  Also, perform type
2543         conversion from targetm.eh_return_filter_mode () to
2544         targetm.unwind_word_mode () if they differ.
2545
2546         * builtin-types.def (BT_UNWINDWORD): New primitive type.
2547         (BT_FN_UNWINDWORD_PTR): New function type.
2548         (BT_FN_WORD_PTR): Remove.
2549         * builtins.def (BUILT_IN_EXTEND_POINTER): Use BT_FN_UNWINDWORD_PTR.
2550         * except.c (expand_builtin_extend_pointer): Convert pointer to
2551         targetm.unwind_word_mode () instead of word_mode.
2552
2553         * config/spu/spu-protos.h (spu_eh_return_filter_mode): Remove.
2554         * config/spu/spu.c (spu_eh_return_filter_mode): Remove.
2555         (spu_unwind_word_mode): New function.
2556         (TARGET_EH_RETURN_FILTER_MODE): Do not define.
2557         (TARGET_UNWIND_WORD_MODE): Define.
2558         * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS): Remove -D__word__=SI.
2559
2560 2008-06-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2561
2562         * config/spu/spu.c (reg_align): Remove.
2563         (regno_aligned_for_load): Also accept ARG_POINTER_REGNUM.
2564         (spu_split_load): Use regno_aligned_for_load instead of reg_align.
2565         (spu_split_store): Likewise.
2566
2567 2008-06-18  Bernhard Fischer  <aldot@gcc.gnu.org>
2568
2569         * gcc/tree-vn.c: Fix typo in comment.
2570
2571 2008-06-18  Jan Hubicka  <jh@suse.cz>
2572
2573         * cgraphunit.c (cgraph_optimize): Output debug info when doing
2574         toplevel reorder too.
2575
2576 2008-06-18  Jan Hubicka  <jh@suse.cz>
2577
2578         * c-opts.c (c_common_post_options): PCH is not compatible with
2579         no-unit-at-a-time.
2580         * opts.c (handle_options): Enable unit-at-a-time at O0 along with
2581         -fno-toplevel-reorder by default now.
2582
2583 2008-06-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2584
2585         PR documentation/30739
2586         * doc/install.texi (Prerequisites): Document dependency on awk.
2587
2588 2008-06-18  Uros Bizjak  <ubizjak@gmail.com>
2589             Ian Lance Taylor  <iant@google.com>
2590
2591         PR rtl-optimization/35604
2592         * jump.c (redirect_exp_1): Skip the condition of an IF_THEN_ELSE. We
2593         only want to change jump destinations, not eventual label comparisons.
2594
2595 2008-06-16  Jan Hubicka  <jh@suse.cz>
2596
2597         * cgraphunit.c (cgraph_expand_pending_functions): Give up at
2598         syntax errors.
2599         (cgraph_analyze_function): Likewise.
2600
2601 2008-06-16  Jan Hubicka  <jh@suse.cz>
2602
2603         * cgraph.h (cgraph_mark_if_needed): New function.
2604         * cgraphunit.c (cgraph_mark_if_needed): New function.
2605         * c-decl.c (duplicate_decl): Use it.
2606
2607 2008-06-16  Jan Hubicka  <jh@suse.cz>
2608
2609         * cgraph.c (cgraph_add_new_function): When in expansion state, do
2610         lowering.
2611
2612 2008-06-16  Jan Hubicka  <jh@suse.cz>
2613
2614         * tree-outof-ssa.c (pass_out_of_ssa): Do not depend on PROP_alias.
2615
2616 2008-06-16  Daniel Jacobowitz  <dan@codesourcery.com>
2617             Kazu Hirata  <kazu@codesourcery.com>
2618             Maxim Kuvyrkov  <maxim@codesourcery.com
2619
2620         * config.gcc (mips64el-st-linux-gnu): Use mips/st.h and mips/t-st.
2621         * config.host: Use driver-native.o and mips/x-native for mips*-linux*.
2622         * config/mips/linux.h (host_detect_local_cpu): Declare, add to
2623         EXTRA_SPEC_FUNCTIONS.
2624         (MARCH_MTUNE_NATIVE_SPECS, BASE_DRIVER_SELF_SPECS): New macros.
2625         (DRIVER_SELF_SPECS): Adjust.
2626         * config/mips/linux64.h (DRIVER_SELF_SPECS): Update.
2627         * config/mips/st.h, config/mips/t-st: New.
2628         * config/mips/driver-native.c, config/mips/x-native: New.
2629         * doc/invoke.texi (MIPS): Document 'native' value for -march and
2630         -mtune options.
2631
2632 2008-06-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
2633
2634         * config/mips/mips.h (ISA_HAS_CONDMOVE): Slice ISA_HAS_FP_CONDMOVE
2635         from it.
2636         (ISA_HAS_FP_CONDMOVE): New macro.
2637         (ISA_HAS_FP_MADD4_MSUB4, ISA_HAS_FP_MADD3_MSUB3): New macros.
2638         (ISA_HAS_NMADD_NMSUB): Rename to ISA_HAS_NMADD4_NMSUB4.
2639         (ISA_HAS_NMADD3_NMSUB3): New macro.
2640         * config/mips/mips.c (mips_rtx_costs): Update.
2641         * config/mips/mips.md (MOVECC): Don't use FP conditional moves when
2642         compiling for ST Loongson 2E/2F.
2643         (madd<mode>): Rename to madd4<mode>.  Update.
2644         (madd3<mode>): New pattern.
2645         (msub<mode>): Rename to msub4<mode>.  Update.
2646         (msub3<mode>): New pattern.
2647         (nmadd<mode>): Rename to nmadd4<mode>.  Update.
2648         (nmadd3<mode>): New pattern.
2649         (nmadd<mode>_fastmath): Rename to nmadd4<mode>_fastmath.  Update.
2650         (nmadd3<mode>_fastmath): New pattern.
2651         (nmsub<mode>): Rename to nmsub4<mode>.  Update.
2652         (nmsub3<mode>): New pattern.
2653         (nmsub<mode>_fastmath): Rename to nmsub4<mode>_fastmath.  Update.
2654         (nmsub3<mode>_fastmath): New pattern.
2655         (mov<SCALARF:mode>_on_<MOVECC:mode>, mov<mode>cc): Update.
2656
2657 2008-06-18  Steven Bosscher  <steven@gcc.gnu.org>
2658
2659         * df.h (struct df_ref): Replace 'insn' field with 'insn_info' field.
2660         (DF_REF_INSN_INFO): New.
2661         (DF_REF_INSN, DF_REF_INSN_UID): Rewrite macros using DF_REF_INSN_INFO.
2662         (DF_REF_IS_ARTIFICIAL): Artificial refs are now identified as refs
2663         with a NULL DF_REF_INSN_INFO.
2664         (DF_INSN_INFO_GET, DF_INSN_INFO_SET): Renamed from DF_INSN_GET and
2665         DF_INSN_SET.
2666         (DF_INSN_INFO_LUID, DF_INSN_INFO_DEFS, DF_INSN_INFO_USES,
2667         DF_INSN_INFO_EQ_USES): New.
2668         (DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, DF_INSN_EQ_USES,
2669         DF_INSN_UID_LUID, DF_INSN_UID_DEFS, DF_INSN_UID_USES,
2670         DF_INSN_UID_EQ_USES): Rewrite using DF_INSN_INFO_* macros.
2671         * df-core.c: Update comment for above changes.
2672         (df_insn_debug_regno): Use DF_INSN_INFO_GET instead of INSN_UID and
2673         DF_INSN_UID_* macros.
2674         (df_ref_debug): Check for NULL DF_REF_INSN_INFO.
2675         * df-scan.c (df_ref_record): Take a df_insn_info instead of an
2676         insn rtx.  Update all callers.
2677         (df_def_record_1, df_defs_record, df_uses_record, df_get_call_refs,
2678         df_ref_create_structure, df_insn_refs_collect): Likewise.
2679         (df_ref_equal_p): Compare DF_REF_INSN_INFO pointers for the refs.
2680         * df-problems.c (df_chain_dump): Test for non-NULL DF_REF_INSN_INFO.
2681         (df_live_bb_local_compute): Retrieve DF_INSN_INFO, use DF_INSN_INFO_*
2682         macros to access the insn refs.
2683         (df_chain_top_dump, df_chain_bottom_dump, df_byte_lr_alloc): Likewise.
2684         * fwprop.c (use_killed_between): Use DF_REF_INSN accessor macro.
2685         (all_uses_available): Retrieve DF_INSN_INFO for def_insn, and use it
2686         for accessing the refs.
2687         (try_fwprop_subst): Likewise.
2688         * ddg.c (add_cross_iteration_register_deps): Use DF_REF_INSN macro.
2689         * web.c (union_defs): Retrieve DF_INSN_INFO for def_insn, and use it
2690         for accessing the refs.
2691         * loop-invariant.c (invariant_for_use): Use DF_REF_BB macro.
2692         (check_dependencies): Use DF_INSN_INFO_GET, use DF_INSN_INFO_* macros
2693         to look at the insn refs.
2694         (record_uses): Likewise.
2695         * dce.c (deletable_insn_p): Don't tolerate artificial DEFs in this
2696         function anymore.
2697         (mark_artificial_uses): Don't mark_insn for artificial refs.
2698         (mark_reg_rependencies): Likewise.
2699
2700         * doc/rtl.texi: Remove documentation of ADDRESSOF.
2701
2702 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2703
2704         * configure: Regenerate.
2705
2706 2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
2707
2708         * config/avr/avr.c (avr_mcu_t): Remove atmega32hvb.
2709         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
2710         * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
2711
2712 2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
2713
2714         * config/avr/avr.c (avr_mcu_t): Add attiny167.
2715         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
2716         * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
2717
2718 2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
2719
2720         * config/avr/avr.c (avr_mcu_t): Add atmega32u4.
2721         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
2722         * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
2723
2724 2008-06-17  Bernhard Fischer  <aldot@gcc.gnu.org>
2725
2726         * tree-ssa-sccvn.c: Fix format of comments.
2727
2728 2008-06-17  Bernhard Fischer  <aldot@gcc.gnu.org>
2729
2730         * cgraph.c: Remove unneeded forward declarations of eq_node()
2731         and hash_node().
2732
2733 2008-06-17  Steven Bosscher  <steven@gcc.gnu.org>
2734
2735         * see.c (see_analyse_one_def): Do not look for REG_LIBCALL and
2736         REG_RETVAL notes.
2737         (see_update_relevancy): Likewise.
2738         * fwprop.c (try_fwprop_subst): Likewise.
2739         * rtlanal.c (noop_move_p): Likewise.
2740         * builtins.c (expand_buitlin_mathfn): Don't try to add REG_EQUAL
2741         notes to non-existing libcall blocks.
2742         * cse.c (cse_insn): Change prototype.  Don't update libcall notes.
2743         Remove orig_set.
2744         (cse_extended_basic_block): Don't track libcall and no-conflict notes.
2745         (dead_libcall_p): Remove.
2746         (delete_trivially_dead_insns): Don't use it.
2747         * web.c (union_defs): Remove comment about keeping nops.
2748         * gcse.c (hash_scan_insn): Don't take libcall pointers.
2749         (compute_hash_table_work): Don't track libcall notes.
2750         (do_local_cprop): Don't take libcall pointers.  Don't update
2751         libcall notes.
2752         (adjust_libcall_notes): Deleted.
2753         (local_cprop_pass): Remove stack for nested libcalls (which shouldn't
2754         ever have existed in the first place).
2755         (replace_store_insn): Don't try to remove libcall notes.
2756         * lower-subreg.c (move_libcall_note, move_retval_note): Deleted.
2757         (resolve_reg_notes): Don't call them.
2758         (resolve_simple_move): Likewise.
2759         (decompose_multiword_subregs): Remove block handling REG_RETVAL notes.
2760         Don't remove REG_RETVAL notes.
2761         * emit-rtl.c (try_split): Don't update libcall notes.
2762         (emit_copy_of_insn_after): Dito.
2763         * cselib.c (cselib_current_insn_in_libcall): Remove.
2764         (cselib_process_insn): Don't set/clear it.
2765         (new_elt_loc_list): Don't record it.
2766         (cselib_init): Don't initialize it.
2767         * cselib.c (struct elt_loc_list): Remove in_libcall field.
2768         * loop-invariant.c (find_invariant_insn): Don't look for libcall
2769         notes.
2770         * sched-deps.c (sched_analyze_insn): Don't group libcall blocks.
2771         (sched_analyze): Don't set up deps->libcall_block_tail_insn.
2772         (init_deps): Don't initialize it.
2773         * sched-int.h (struct deps): Rremove libcall_block_tail_insn field.
2774         * combine.c (delete_noop_moves): Don't update libcall notes.
2775         (can_combine_p): Remove now pointless #if 0 block.
2776         (try_combine): Remove another obsolete #if 0 block.
2777         (distribute_notes): Don't distribute libcall notes.
2778         * reg-notes.def (REG_LIBCALL, REG_RETVAL): Remove.
2779         * dce.c (libcall_dead_p): Remove.
2780         (delete_unmarked_insns): Don't handle libcall blocks.
2781         (preserve_libcall_for_dce): Remove.
2782         (prescan_insns_for_dce): Don't special-case libcall block insns.
2783         * reload1 (reload): Don't handle libcall notes. 
2784         * doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove
2785         documentation.
2786
2787 2008-06-16  Eric B. Weddington  <eric.weddington@atmel.com>
2788
2789         * config/avr/avr.c (avr_mcu_t): Add atmega32c1.
2790         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2791         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2792
2793 2008-06-16  Eric B. Weddington  <eric.weddington@atmel.com>
2794
2795         * config/avr/avr.c (avr_mcu_t): Add atmega32m1.
2796         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
2797         * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
2798
2799 2008-06-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2800
2801         * Makefile.in (FLAGS_TO_PASS): Add $(datarootdir).
2802
2803 2008-06-16  Ira Rosen  <irar@il.ibm.com>
2804
2805         PR tree-optimization/36493
2806         * tree-vect-transform.c (vect_create_data_ref_ptr): Remove TYPE from
2807         the arguments list. Use VECTYPE to create vector pointer.
2808         (vectorizable_store): Fail if accesses through a pointer to vectype
2809         do not alias the original memory reference operands.
2810         Call vect_create_data_ref_ptr without the removed argument.
2811         (vectorizable_load): Likewise.
2812         (vect_setup_realignment): Call vect_create_data_ref_ptr without the
2813         removed argument.
2814
2815 2008-06-015  Andy Hutchinson  <hutchinsonandy@aim.com>
2816
2817         PR target/36336
2818         * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for 
2819         reg_equiv_constant.
2820
2821 2008-06-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
2822
2823         * config/mips/loongson2ef.md: New file.
2824         * config/mips/mips.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
2825         (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
2826         (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
2827         (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): New constants.
2828         (define_attr "cpu"): Rename loongson2e and loongson2f to loongson_2e
2829         and loongson_2f.
2830         (loongson2ef.md): New include.
2831         * config/mips/loongson.md (vec_pack_ssat_<mode>, vec_pack_usat_<mode>)
2832         (add<mode>3, paddd, ssadd<mode>3, usadd<mode>3)
2833         (loongson_and_not_<mode>, loongson_average_<mode>, loongson_eq_<mode>)
2834         (loongson_gt_<mode>, loongson_extract_halfword)
2835         (loongson_insert_halfword_0, loongson_insert_halfword_2)
2836         (loongson_insert_halfword_3, loongson_mult_add, smax<mode>3)
2837         (umax<mode>3, smin<mode>3, umin<mode>3, loongson_move_byte_mask)
2838         (umul<mode>3_highpart, smul<mode>3_highpart, loongson_smul_lowpart)
2839         (loongson_umul_word, loongson_pasubub, reduc_uplus_<mode>)
2840         (loongson_psadbh, loongson_pshufh, loongson_psll<mode>)
2841         (loongson_psra<mode>, loongson_psrl<mode>, sub<mode>3, psubd)
2842         (sssub<mode>3, ussub<mode>3, vec_interleave_high<mode>)
2843         (vec_interleave_low<mode>): Define type attribute.
2844         * config/mips/mips.c (mips_ls2): New static variable.
2845         (mips_issue_rate): Update to handle tuning for Loongson 2E/2F.
2846         (mips_ls2_init_dfa_post_cycle_insn, mips_init_dfa_post_cycle_insn)
2847         (sched_ls2_dfa_post_advance_cycle, mips_dfa_post_advance_cycle):
2848         Implement target scheduling hooks.
2849         (mips_multipass_dfa_lookahead): Update to handle tuning for
2850         Loongson 2E/2F.
2851         (mips_sched_init): Initialize data for Loongson scheduling.
2852         (mips_ls2_variable_issue): New static function.
2853         (mips_variable_issue): Update to handle tuning for Loongson 2E/2F.
2854         Add sanity check.
2855         (TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN)
2856         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Override target hooks.
2857         * config/mips/mips.h (TUNE_LOONGSON_2EF): New macros.
2858         (ISA_HAS_XFER_DELAY, ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS):
2859         Handle ST Loongson 2E/2F cores.
2860         (CPU_UNITS_QUERY): Define macro to enable querying of DFA units.
2861
2862 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2863
2864         * omp-low.c (extract_omp_for_data): Fix comment typo.
2865         * c.opt: Fix typo.
2866
2867 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2868
2869         * doc/sourcebuild.texi (Config Fragments): Remove obsolete
2870         FIXME note about gcc/config.guess.
2871         * doc/options.texi (Option file format): Remove non-ASCII bytes.
2872         * doc/cpp.texi: Expand TABs, drop indentation outside examples.
2873         * doc/cppopts.texi: Likewise.
2874         * doc/extend.texi: Likewise.
2875         * doc/gcc.texi: Likewise.
2876         * doc/gccint.texi: Likewise.
2877         * doc/gcov.texi: Likewise.
2878         * doc/gty.texi: Likewise.
2879         * doc/hostconfig.texi: Likewise.
2880         * doc/install.texi: Likewise.
2881         * doc/invoke.texi: Likewise.
2882         * doc/loop.texi: Likewise.
2883         * doc/makefile.texi: Likewise.
2884         * doc/md.texi: Likewise.
2885         * doc/passes.texi: Likewise.
2886         * doc/tm.texi: Likewise.
2887         * doc/tree-ssa.texi: Likewise.
2888         * doc/trouble.texi: Likewise.
2889
2890 2008-06-15  Mark Shinwell  <shinwell@codesourcery.com>
2891             Nathan Sidwell  <nathan@codesourcery.com>
2892             Maxim Kuvyrkov  <maxim@codesourcery.com>
2893             Richard Sandiford  <rdsandiford@googlemail.com>
2894         
2895         * config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes.
2896         * config/mips/mips-protos.h (mips_expand_vector_init): New.
2897         * config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F
2898         builtins.
2899         * config/mips/mips.c (mips_split_doubleword_move): Handle new modes.
2900         (mips_hard_regno_mode_ok_p): Allow 64-bit vector modes for Loongson.
2901         (mips_vector_mode_supported_p): Add V2SImode, V4HImode and
2902         V8QImode cases.
2903         (LOONGSON_BUILTIN, LOONGSON_BUILTIN_ALIAS): New.
2904         (CODE_FOR_loongson_packsswh, CODE_FOR_loongson_packsshb,
2905         (CODE_FOR_loongson_packushb, CODE_FOR_loongson_paddw,
2906         (CODE_FOR_loongson_paddh, CODE_FOR_loongson_paddb,
2907         (CODE_FOR_loongson_paddsh, CODE_FOR_loongson_paddsb)
2908         (CODE_FOR_loongson_paddush, CODE_FOR_loongson_paddusb)
2909         (CODE_FOR_loongson_pmaxsh, CODE_FOR_loongson_pmaxub)
2910         (CODE_FOR_loongson_pminsh, CODE_FOR_loongson_pminub)
2911         (CODE_FOR_loongson_pmulhuh, CODE_FOR_loongson_pmulhh)
2912         (CODE_FOR_loongson_biadd, CODE_FOR_loongson_psubw)
2913         (CODE_FOR_loongson_psubh, CODE_FOR_loongson_psubb)
2914         (CODE_FOR_loongson_psubsh, CODE_FOR_loongson_psubsb)
2915         (CODE_FOR_loongson_psubush, CODE_FOR_loongson_psubusb)
2916         (CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw)
2917         (CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh)
2918         (CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): New.
2919         (mips_builtins): Add Loongson builtins.
2920         (mips_loongson_2ef_bdesc): New.
2921         (mips_bdesc_arrays): Add mips_loongson_2ef_bdesc.
2922         (mips_builtin_vector_type): Handle unsigned versions of vector modes.
2923         (MIPS_ATYPE_UQI, MIPS_ATYPE_UDI, MIPS_ATYPE_V2SI, MIPS_ATYPE_UV2SI)
2924         (MIPS_ATYPE_V4HI, MIPS_ATYPE_UV4HI, MIPS_ATYPE_V8QI, MIPS_ATYPE_UV8QI):
2925         New.
2926         (mips_expand_vector_init): New.
2927         * config/mips/mips.h (HAVE_LOONGSON_VECTOR_MODES): New.
2928         (TARGET_CPU_CPP_BUILTINS): Define __mips_loongson_vector_rev
2929         if appropriate.
2930         * config/mips/mips.md: Add unspec numbers for Loongson
2931         builtins.  Include loongson.md.
2932         (MOVE64): Include Loongson vector modes.
2933         (SPLITF): Include Loongson vector modes.
2934         (HALFMODE): Handle Loongson vector modes.
2935         * config/mips/loongson.md: New.
2936         * config/mips/loongson.h: New.
2937         * config.gcc: Add loongson.h header for mips*-*-* targets.
2938         * doc/extend.texi (MIPS Loongson Built-in Functions): New.
2939
2940 2008-06-14  Joseph Myers  <joseph@codesourcery.com>
2941
2942         * config.gcc (arc-*-elf*, avr-*-*, fr30-*-elf, frv-*-elf,
2943         h8300-*-elf*, h8300-*-*, i[34567]86-*-elf*, x86_64-*-elf*,
2944         i[34567]86-*-aout*, i[34567]86-*-coff*, ia64*-*-elf*,
2945         iq2000*-*-elf*, m32r-*-elf*, m32rle-*-elf*, m32r-*-linux*,
2946         m32rle-*-linux*, m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*,
2947         m68k-*-coff*, mcore-*-elf, mcore-*-pe*, mipsisa64sr71k-*-elf*,
2948         mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*, mips-*-elf* |
2949         mipsel-*-elf*, mips64-*-elf* | mips64el-*-elf*, mips64vr-*-elf* |
2950         mips64vrel-*-elf*, mips64orion-*-elf* | mips64orionel-*-elf*,
2951         mipstx39-*-elf* | mipstx39el-*-elf*, mn10300-*-*, pdp11-*-,
2952         powerpc-*-elf*, powerpcle-*-elf*, sh-*-elf* | sh[12346l]*-*-elf* |
2953         sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | sh-*-linux* |
2954         sh[2346lbe]*-*-linux* | sh-*-netbsdelf* | shl*-*-netbsdelf* |
2955         sh5-*-netbsd* | sh5l*-*-netbsd* | sh64-*-netbsd* |
2956         sh64l*-*-netbsd*, sh-*-*, sparc-*-elf*, sparc64-*-elf*,
2957         v850e1-*-*, v850e-*-*, v850-*-*, xstormy16-*-elf, m32c-*-elf*):
2958         Remove use_fixproto=yes.
2959         (ia64*-*-hpux*): Remove comment about using fixproto.
2960         (m68k-*-uclinuxoldabi*, m68k-*-uclinux*): Remove use_fixproto=no.
2961
2962 2008-06-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2963
2964         * configure.ac: Update gthr-default.h lazily, to avoid unneeded
2965         library rebuilds.
2966         * configure: Regenerate.
2967
2968 2008-06-13  Eric Botcazou  <ebotcazou@adacore.com>
2969
2970         PR middle-end/36520
2971         * builtins.c (get_memory_rtx): Test for the presence of DECL_SIZE_UNIT
2972         before evaluating it.
2973
2974 2008-06-13  Jakub Jelinek  <jakub@redhat.com>
2975
2976         PR c/36507
2977         * c-decl.c (merge_decls): Don't clear DECL_EXTERNAL for
2978         nested inline functions.
2979         (start_decl, start_function): Don't invert DECL_EXTERNAL
2980         for nested inline functions.
2981
2982 2008-06-13  Richard Sandiford  <rdsandiford@googlemail.com>
2983
2984         * config/mips/mips.md: Remove TARGET_DEBUG_D_MODE conditions from
2985         splits that must be made for correctness.
2986
2987 2008-06-13  Richard Sandiford  <rdsandiford@googlemail.com>
2988
2989         * config/mips/mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.
2990         (AVAIL_NON_MIPS16): Likewise.
2991         (mips_builtin_description): Replace target_flags with a predicate.
2992         (paired_single, sb1_paired_single, mips3d, dsp, dspr2, dsp_32)
2993         (dspr2_32): New availability predicates.
2994         (MIPS_BUILTIN): New macro.
2995         (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS)
2996         (CMP_4S_BUILTINS, MOVTF_BUILTINS, CMP_BUILTINS)
2997         (DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): Use it.
2998         Replace the TARGET_FLAGS parameters with AVAIL parameters.
2999         (mips_ps_bdesc, mips_sb1_bdesc, mips_dsp_bdesc)
3000         (mips_dsp_32only_bdesc): Merge into...
3001         (mips_builtins): ...this new array.
3002         (mips_bdesc_map, mips_bdesc_arrays): Delete.
3003         (mips_init_builtins): Update after above changes.
3004         (mips_expand_builtin_1): Merge into...
3005         (mips_expand_builtin): ...here and update after above changes.
3006
3007 2008-06-12  Paul Brook  <paul@codesourcery.com>
3008
3009         * longlong.h (__arm__): Define count_leading_zeros.
3010         * config/arm/lib1funcs.asm (xxh, xxl, yyh, yyl): Define.
3011         (clzsi2, clzdi2): New functions.
3012         * config/arm/bpabi-v6m.S (xxh, xxl, yyh, yyl): Remove.
3013         * config/arm/bpabi.S (xxh, xxl, yyh, yyl): Remove.
3014         * config/arm/t-strongarm-elf (LIB1ASMFUNCS): Ditto.
3015         * config/arm/t-vxworks (LIB1ASMFUNCS): Ditto.
3016         * config/arm/t-pe (LIB1ASMFUNCS): Ditto.
3017         * config/arm/t-arm-elf (LIB1ASMFUNCS): Ditto.
3018         * config/arm/t-arm-coff (LIB1ASMFUNCS): Ditto.
3019         * config/arm/t-linux (LIB1ASMFUNCS): Ditto.
3020         * config/arm/t-symbian (LIB1ASMFUNCS): Ditto.
3021         * config/arm/t-wince-pe (LIB1ASMFUNCS): Ditto.
3022
3023 2008-06-12  Kazu Hirata  <kazu@codesourcery.com>
3024
3025         * config/m68k/m68k.c (m68k_tune_flags): New.
3026         (override_options): Compute m68k_tune_flags.
3027         (MULL_COST, MULW_COST): Update for various variants of CFV2.
3028         * config/m68k/m68k.h (TUNE_MAC, TUNE_EMAC): New.
3029
3030 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
3031
3032         PR middle-end/36506
3033         * omp-low.c (expand_omp_sections): Initialize l2 to avoid bogus warning.
3034
3035 2008-06-12  Eric Botcazou  <ebotcazou@adacore.com>
3036
3037         * tree-inline.c (copy_body_r): Copy TREE_SIDE_EFFECTS along with
3038         TREE_THIS_VOLATILE on INDIRECT_REF nodes.
3039
3040 2008-06-12  Eric Botcazou  <ebotcazou@adacore.com>
3041
3042         * expr.c (store_field): Do a block copy from BLKmode to BLKmode-like.
3043         (get_inner_reference): Use BLKmode for byte-aligned BLKmode bitfields.
3044
3045 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
3046
3047         PR middle-end/36506
3048         * omp-low.c (expand_omp_sections): Handle #pragma omp sections with
3049         reductions.
3050
3051 2008-06-12  Richard Guenther  <rguenther@suse.de>
3052
3053         PR tree-optimization/36345
3054         * tree-flow.h (struct ptr_info_def): Align escape_mask,
3055         add memory_tag_needed flag.
3056         (may_alias_p): Declare.
3057         * tree-ssa-alias.c (may_alias_p): Export.
3058         (set_initial_properties): Use memory_tag_needed flag.
3059         (update_reference_counts): Likewise.
3060         (reset_alias_info): Reset memory_tag_needed flag.
3061         (create_name_tags): Check memory_tag_needed flag.
3062         (dump_points_to_info_for): Dump it.
3063         * tree-ssa-structalias.c (struct variable_info): Remove
3064         directly_dereferenced flag.
3065         (new_var_info): Do not initialize it.
3066         (process_constraint_1): Do not set it.
3067         (update_alias_info): Set is_dereferenced flag.
3068         (set_uids_in_ptset): Use may_alias_p.
3069         (set_used_smts): Check memory_tag_needed flag.
3070         (find_what_p_points_to): Likewise.  Pass is_dereferenced flag.
3071         * tree-ssa-alias.c (verify_flow_sensitive_alias_info): Check
3072         memory_tag_needed flag.
3073         * tree-ssa-alias-warnings.c (dsa_named_for): Try to recover
3074         from broken design.
3075
3076 2008-06-12  Kai Tietz  <kai.tietz@onevision.com>
3077
3078         * config/i386/i386.c (ix86_compute_frame_layout): Disable
3079         red zone for w64 abi.
3080         (ix86_expand_prologue): Likewise.
3081         (ix86_force_to_memory): Likewise.
3082         (ix86_free_from_memory): Likewise.
3083
3084 2008-06-11  Edmar Wienskoski  <edmar@freescale.com>
3085
3086         PR target/36425
3087         * config/rs6000/rs6000.c (rs6000_override_options): Set
3088         rs6000_isel conditionally to the absence of comand line override.
3089         * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
3090         Remove duplicate rs6000_isel setting.
3091         * config/rs6000/eabispe.h: Ditto.
3092
3093 2008-06-11  Richard Guenther  <rguenther@suse.de>
3094
3095         * alias.c (get_alias_set): Use the element alias-set for arrays.
3096         (record_component_aliases): For arrays and vectors do nothing.
3097         * c-common.c (strict_aliasing_warning): Handle the cases
3098         of alias set zero explicitly.
3099         * Makefile.in (dfp.o-warn): Add -Wno-error.
3100
3101 2008-06-11  Joseph Myers  <joseph@codesourcery.com>
3102
3103         * config.gcc (all_defaults): Add arch_32 arch_64 cpu_32 cpu_64
3104         tune_32 tune_64.
3105         (i[34567]86-*-* | x86_64-*-*): Add arch_32 arch_64 cpu_32 cpu_64
3106         tune_32 tune_64 to supported_defaults.  Allow values not
3107         supporting 64-bit mode for arch_32, cpu_32 and tune_32 for
3108         x86_64.  Do not override cpu_32 or cpu_64 values from target name.
3109         (i[34567]86-*-linux*, i[34567]86-*-solaris2.1[0-9]*): Only default
3110         with_cpu_64 to generic for 64-bit-supporting configurations, not
3111         with_cpu.  Remove FIXMEs.
3112         * doc/install.texi (--with-cpu-32, --with-cpu-64, --with-arch-32,
3113         --with-arch-64, --with-tune-32, --with-tune-64): Document.
3114         * config/i386/i386.h (OPT_ARCH32, OPT_ARCH64): Define.
3115         (OPTION_DEFAULT_SPECS): Add tune_32, tune_64, cpu_32, cpu_64,
3116         arch_32 and arch_64.
3117
3118 2008-06-11  Eric Botcazou  <ebotcazou@adacore.com>
3119             Olivier Hainque  <hainque@adacore.com>
3120
3121         * builtins.c (get_memory_rtx): Accept byte-addressable bitfields.
3122         Use DECL_SIZE_UNIT to retrieve the size of the field.
3123
3124 2008-06-11  Joseph Myers  <joseph@codesourcery.com>
3125
3126         * config/arm/arm.c (arm_init_neon_builtins): Move initialization
3127         with function calls after declarations.  Lay out
3128         neon_float_type_node before further use.
3129
3130 2008-06-11  Richard Guenther  <rguenther@suse.de>
3131
3132         * tree-flow.h (may_point_to_global_var): Declare.
3133         * tree-ssa-alias.c (may_point_to_global_var): New function.
3134         * tree-ssa-sink.c (is_hidden_global_store): Use it.
3135
3136 2008-06-10  Kazu Hirata  <kazu@codesourcery.com>
3137
3138         * configure.ac: Teach that fido supports .debug_line.
3139         * configure: Regenerate.
3140
3141 2008-06-10  Tom Tromey  <tromey@redhat.com>
3142
3143         * c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file
3144         debug hook.
3145
3146 2008-06-10  Joseph Myers  <joseph@codesourcery.com>
3147
3148         * dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined.
3149         (encode_decimal64, decode_decimal64, encode_decimal128,
3150         decode_decimal128): Reverse order of 32-bit parts of value if host
3151         and target endianness differ.
3152
3153 2008-06-10  Vinodha Ramasamy  <vinodha@google.com>
3154
3155         * value_prob.c (tree_divmod_fixed_value_transform): Use gcov_type.
3156         Avoid division by 0.
3157         (tree_mod_pow2_value_transform): Likewise.
3158         (tree_ic_transform): Likewise.
3159         (tree_stringops_transform): Likewise.
3160         (tree_mod_subtract_transform): Likewise.
3161         * tree-inline-c (copy_bb): Corrected int type to gcov_type.
3162         (copy_edges_for_bb): Likewise.
3163         (initialize_cfun): Likewise.
3164
3165 2008-06-10  Uros Bizjak  <ubizjak@gmail.com>
3166
3167         * config/i386/i386.md (*btdi_rex64): Change operand 1 predicate to
3168         nonmemory_operand. Add "N" operand constraint.
3169         (*btsi): Ditto.
3170         (*jcc_btdi_mask_rex64): New instruction and split pattern.
3171         (*jcc_btsi_mask): Ditto.
3172         (*jcc_btsi_mask_1): Ditto.
3173
3174 2008-06-10  Joseph Myers  <joseph@codesourcery.com>
3175
3176         * config/rs6000/rs6000.c (build_opaque_vector_type): Set
3177         TYPE_CANONICAL for copied element type.
3178
3179 2008-06-10  Uros Bizjak  <ubizjak@gmail.com>
3180
3181         PR target/36473
3182         * config/i386/i386.c (ix86_tune_features) [TUNE_USE_BT]:
3183         Add m_CORE2 and m_GENERIC.
3184         * config/i386/predicates.md (bt_comparison_operator): New predicate.
3185         * config/i386/i386.md (*btdi_rex64): New instruction pattern.
3186         (*btsi): Ditto.
3187         (*jcc_btdi_rex64): New instruction and split pattern.
3188         (*jcc_btsi): Ditto.
3189         (*jcc_btsi_1): Ditto.
3190         (*btsq): Fix Intel asm dialect operand order.
3191         (*btrq): Ditto.
3192         (*btcq): Ditto.
3193
3194 2008-06-09  Andy Hutchinson  <hutchinsonandy@aim.com>
3195
3196         PR middle-end/36447
3197         * simplify-rtx.c (simplify_subreg): Add check for shift count 
3198         greater than size.
3199
3200 2008-06-09  Richard Sandiford  <rdsandiford@googlemail.com>
3201
3202         * doc/md.texi: Synchronize with later constraints.md change.
3203         * longlong.h (umul_ppmm): Replace the MIPS asm implementation
3204         with a C implementation.
3205         * config/mips/mips.c (mips_legitimize_move): Remove MFHI and
3206         MFLO handling.
3207         (mips_subword): Assume TImode for CONST_INTs if TARGET_64BIT.
3208         (mips_split_doubleword_move): Use special MTHI and MFHI instructions
3209         when moving to and from MD_REGNUM.
3210         (mips_output_move): Don't handle moves from GPRs to HI_REGNUM.
3211         Handle moves from LO_REGNUM to GPRs using MFLO, MACC or DMACC.
3212         Handle byte and halfword moves.
3213         (mips_hard_regno_mode_ok_p): Handle MD_REGS and DSP_ACC_REGS
3214         separately.
3215         * config/mips/constraints.md (h): Turn into NO_REGS.
3216         (l, x): Update documentation.
3217         * config/mips/mips.md (UNSPEC_MFHILO): Delete.
3218         (UNSPEC_MFHI, UNSPEC_MTHI, UNSPEC_SET_HILO): New.
3219         (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): Renumber.
3220         (HILO): New mode iterator.
3221         (MOVE128): Add TI.
3222         (any_div): New code iterator.
3223         (u): Extend code attribute to div and udiv.
3224         (*add<mode>3_mips16, *movdi_64bit_mips16, *movsi_mips16): Use
3225         d_operand in the splitters.  Remove redundant CONST_INT checks.
3226         (mulsi3_mult3, mul<mode>3_internal, mul<mode>3_r4000, *mul_acc_si)
3227         (*macc, *msac, *msac_using_macc, *macc2, *msac2, *mul_sub_si)
3228         (*muls): Remove "=h" clobbers.  Adjust peephole2s and define_splits
3229         accordingly, using normal moves instead of unspecs to move LO into
3230         a GPR.  Use d_operand and lo_operand instead of *_REG_P checks.
3231         (<u>mulsidi3): Handle expansion in C code.
3232         (<u>mulsidi3_32bit_internal): Rename to...
3233         (<u>mulsidi3_32bit): ...this.
3234         (<u>mulsidi3_32bit_r4000): Fix insn separator.
3235         (*<u>mulsidi3_64bit): Rename to...
3236         (<u>mulsidi3_64bit): ...this.  Combine DImode "=h" and "=l" clobbers
3237         into a TImode "=x" clobber.  In the split, use an UNSPEC_SET_HILO
3238         to set LO and HI to the multiplication result.  Use a normal move
3239         for MFLO and an unspec for MFHI.
3240         (*<u>mulsidi3_64bit_parts): Replace with...
3241         (<u>mulsidi3_64bit_hilo): ...this new instruction.
3242         (<su>mulsi3_highpart): Extend to TARGET_FIX_R4000.
3243         (<su>mulsi3_highpart_internal): Turn into a define_insn_and_split
3244         and extend it to TARGET_FIX_R4000.  Store the destination in a GPR
3245         instead of HI.  Split the instruction into a separate multiplication
3246         and MFHI if !TARGET_FIX_R4000.
3247         (<su>muldi3_highpart): Likewise.
3248         (<su>mulsi3_highpart_mulhi_internal): Remove the first alternative
3249         and the "=h" clobber.
3250         (*<su>mulsi3_highpart_neg_mulhi_internal): Likewise.
3251         (<u>mulditi3): New expander.
3252         (<u>mulditi3_internal, <u>mulditi3_r4000): New patterns.
3253         (madsi): Remove "=h" clobber.
3254         (divmod<mode>4, udivmod<mode>4): Turn into define_insn_and_splits.
3255         Force the modulus result to be a GPR and split the instruction into
3256         a division followed by an MFHI after reload.
3257         (<u>divmod<GPR:mode>4_hilo_<HILO:mode>): New instruction.
3258         (*lea_high64): Use d_operand in the define_peephole2.  Likewise
3259         the MIPS16 HIGH define_split.
3260         (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16): Change type
3261         of acc<->gpr moves to "multi".
3262         (*movdi_64bit): Replace the single "x" alternative with
3263         alternatives for moving into and out of "a".
3264         (*movhi_internal, *movqi_internal): Likewise.  Use mips_output_move.
3265         (*movsi_internal): Extend the "d<-A" alternative to "d<-a".
3266         (*movdi_64bit_mips16, *movsi_mips16): Add d<-a alternatives.
3267         Use d_operand in the splitters.  Remove redundant CONST_INT checks.
3268         (*movhi_mips16, *movqi_mips16): Likewise.  Use mips_output_move.
3269         (movti): New expander.
3270         (*movti, *movti_mips16): New insns.
3271         (mfhilo_<mode>, *mfhilo_<mode>, *mfhilo_<mode>_macc): Delete.
3272         (mfhi<GPR:mode>_<HILO:mode>): New pattern.
3273         (mthi<GPR:mode>_<HILO:mode>): Likewise.
3274         * config/mips/predicates.md (fpr_operand): Delete.
3275         (d_operand): New predicate.
3276
3277 2008-06-09  Michael Meissner  <michael.meissner@amd.com>
3278
3279         * config.gcc (i[34567]86-*-*): Put test in quotes to prevent
3280         failure on some Bourne shells.
3281         (x86_64-*-*): Ditto.
3282
3283 2008-06-09  Kai Tietz  <kai.tietz@onevision.com>
3284
3285         * config/i386/cygming.h (TARGET_SUBTARGET64_DEFAULT): New.
3286
3287 2008-06-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3288
3289         * doc/install.texi (*-*-solaris2*): Remove obsolete contents.
3290         (sparc-sun-solaris2*): Likewise.
3291
3292 2008-06-09  Arnaud Charlet  <charlet@adacore.com
3293
3294         * doc/install.texi: Update requirements to build the Ada compiler.
3295
3296 2008-06-08  Steven Bosscher  <stevenb.gcc@gmail.com>
3297
3298         * df-scan.c (struct df_scan_problem_data): Remove the
3299         mw_link_pool alloc pool.
3300         (df_scan_free_internal): Don't free it.
3301         (df_scan_alloc): Don't allocate it.
3302         * df.h (struct df_link): Update comment.
3303
3304 2008-06-08  Nathan Sidwell  <nathan@codesourcery.com>
3305
3306         * except.h: Correct checks for when SJLJ exceptions must be used.
3307
3308 2008-06-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3309
3310         * doc/invoke.texi (Wenum-compare): Mention that it is enabled by
3311         default.
3312         
3313 2008-06-08  Joseph Myers  <joseph@codesourcery.com>
3314
3315         PR tree-optimization/36218
3316         * configure.ac: Use LDFLAGS="${LDFLAGS_FOR_BUILD}" when running
3317         configure for the build system.
3318         (BUILD_LDFLAGS): Define.
3319         * configure: Regenerate.
3320         * Makefile.in (BUILD_LDFLAGS): Define to @BUILD_LDFLAGS@.
3321
3322 2008-07-08  Anatoly Sokolov  <aesok@post.ru>
3323
3324         PR target/36424
3325         * config/avr/avr.h (HARD_REGNO_RENAME_OK): Define.
3326         * config/avr/avr.c (avr_hard_regno_rename_ok): New function. 
3327         * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype. 
3328
3329 2008-06-07  Danny Smith  <dannysmith@users.sourceforge.net>
3330
3331         * config/i386/cygming.h (MAYBE_UWIN_CPP_BUILTINS): Remove.
3332
3333 2008-06-07  Joseph Myers  <joseph@codesourcery.com>
3334
3335         * config.gcc (Obsolete configurations): Remove list of
3336         configurations.
3337         (Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*,
3338         *-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*.  Remove other
3339         targets matched by those patterns.
3340         (strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*,
3341         m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
3342         alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
3343         arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
3344         hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
3345         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3346         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
3347         i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
3348         i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
3349         mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
3350         powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
3351         powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
3352         strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
3353         vax-*-ultrix*, xscale-*-elf, xscale-*-coff,
3354         i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove.
3355         Make code for Solaris 7 and greater unconditional for Solaris.
3356         (ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*):
3357         Remove --with-* handling.
3358         * config/rs6000/sysv4.h (-mwindiss): Remove from all specs.
3359         (LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC,
3360         ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC,
3361         LINK_OS_WINDISS_SPEC): Remove.
3362         * config/rs6000/sysv4.opt (mwindiss): Remove.
3363         * configure.ac (strongarm*-*-*, xscale*-*-*): Remove.
3364         * configure: Regenerate.
3365         * doc/cpp.texi: Don't mention BeOS.
3366         * doc/extend.texi (interrupt): Don't mention MS1.
3367         * doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv,
3368         m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv,
3369         alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout,
3370         i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4,
3371         powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix):
3372         Remove.
3373         * doc/invoke.texi (MT Options): Remove.
3374         (-mwindiss): Remove.
3375         (CRIS Options): Remove cris-axis-aout references.
3376         (HPPA Options): Don't mention hppa1.1-*-pro.
3377         * doc/md.texi: (MorphoTech family): Remove.
3378         * libgcc2.c: Don't handle UWIN.
3379         * config/alpha/t-unicosmk: Remove.
3380         * config/alpha/unicosmk.h: Remove.
3381         * config/arm/kaos-arm.h: Remove.
3382         * config/arm/kaos-strongarm.h: Remove.