OSDN Git Service

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