Age | Commit message (Collapse) | Author | Files | Lines |
|
* tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P
dst.
From-SVN: r137633
|
|
tree-optimization/35287
2008-07-05 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/23455
Fix PR tree-optimization/35286
Fix PR tree-optimization/35287
* Makefile.in (OBJS-common): Remove tree-vn.o.
tree-vn.o: Remove.
* dbgcnt.def: Add treepre_insert debug counter.
* gcc/tree-flow.h (add_to_value): Updated for other changes.
(debug_value_expressions): Ditto.
(print_value_expressions): Ditto.
* tree-pretty-print.c (dump_generic_node): Updated for
VALUE_HANDLE removal.
* tree-ssa-dom.c (record_equality): Ditto.
(cprop_operand): Ditto.
(lookup_avail_expr): Ditto.
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Ditto.
(simplify_control_stmt_condition): Ditto.
* tree.c (tree_code_size): Ditto.
(tree_node_structure): Ditto.
(iterative_hash_expr): Ditto.
* tree.def: Ditto.
* tree.h (VALUE_HANDLE_ID): Ditto.
(VALUE_HANDLE_EXPR_SET): Ditto.
(struct tree_value_handle): Ditto.
(union tree_node): Ditto.
* treestruct.def: Ditto.
* tree-vn.c: Removed.
* tree-ssa-pre.c: Rewritten entirely.
* tree-ssa-sccvn.c (constant_to_value_id): New hashtable.
(constant_value_ids): Ditto.
(vn_nary_op_t): Moved to header.
(vn_phi_t): Ditto.
(vn_reference_op_t): Ditto
(vn_reference_t): Ditto.
(next_value_id): New variable.
(VN_INFO): Add an assert.
(vn_constant_eq): New function.
(vn_constant_hash): Ditto.
(get_or_alloc_constant_value_id): Ditto.
(value_id_constant_p): Ditto.
(vn_reference_compute_hash): De-staticify.
(copy_reference_ops_from_ref): Don't use get_callee_fndecl.
Disable some code with a FIXME.
Remove VALUE_HANDLE use.
(valueize_refs): Update opcode if it changes from ssa name to
constant.
(vn_reference_lookup_1): Add new argument.
(vn_reference_lookup): Ditto.
(vn_reference_lookup_pieces): New function.
(vn_reference_insert): Add return type. Modify to deal with value
ids.
(vn_reference_insert_pieces): New function.
(vn_nary_op_compute_hash): De-staticify.
(vn_nary_op_eq): Ditto.
(vn_nary_op_lookup_pieces): New function.
(vn_nary_op_lookup): Add new argument.
(vn_nary_op_insert_pieces): New function.
(vn_nary_op_insert): Add return type. Modify to deal with value
ids.
(vn_phi_insert): Ditto.
(visit_unary_op): Update for callee changes.
(visit_binary_op): Ditto.
(visit_reference_op_load): Ditto.
(visit_reference_op_store): Ditto.
(init_scc_vn): Init next_value_id, constant_to_value_id and
constant_value_ids.
(free_scc_vn): Free them.
(set_hashtable_value_ids): New function.
(run_scc_vn): Use it.
(get_max_value_id): New function.
(get_next_value_id): Ditto.
(expressions_equal_p): Moved from tree-vn.c
(sort_vuses): Ditto.
(sort_vuses_heap): Ditto.
* tree-ssa-sccvn.h: Structures moved from tree-ssa-sccvn.c (noted
above).
* tree.c (iterative_hash_hashval_t): Made non-static
* tree.h (iterative_hash_hashval_t): Declare it.
From-SVN: r137631
|
|
of ipa_create_node_params.
2008-07-08 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params
instead of ipa_create_node_params.
(ipcp_driver): Allocate infos with ipa_check_create_node_params and
ipa_check_create_edge_args, free them with
free_all_ipa_structures_after_ipa_cp, call ipa_register_cgraph_hooks.
* ipa-prop.c: Include flags.h and tree-inline.h.
(ipa_node_params_vector): New variable.
(ipa_edge_args_vector): New variable.
(edge_removal_hook_holder): New variable.
(node_removal_hook_holder): New variable.
(edge_duplication_hook_holder): New variable.
(node_duplication_hook_holder): New variable.
(ipa_detect_param_modifications): Check for presence of modified flags.
(ipa_compute_jump_functions): Check for presence of jump functions.
(ipa_free_edge_args_substructures): New function.
(ipa_create_node_params): Removed.
(ipa_free_all_edge_args): Changed to deallocate the on-the-side vector.
(ipa_free_node_params_substructures): New function.
(ipa_free_all_node_params): Changed to deallocate the on-the-side
vector.
(ipa_edge_removal_hook): New function.
(ipa_node_removal_hook): New function.
(duplicate_array): New function.
(ipa_edge_duplication_hook): New function.
(ipa_node_duplication_hook): New function.
(ipa_register_cgraph_hooks): New function.
(ipa_unregister_cgraph_hooks): New function.
(free_all_ipa_structures_after_ipa_cp): New function.
* ipa-prop.h: Include vec.h.
(ipa_node_params_t): New typedef with vector types for it.
(ipa_edge_args_t): New typedef with vector types for it.
(IPA_NODE_REF): Changed to access an on-the-side vector.
(IPA_EDGE_REF): Changed to access an on-the-side vector.
(ipa_check_create_node_params): New function.
(ipa_check_create_edge_args): New function.
* Makefile.in (IPA_PROP_H): New variable for ipa-prop.h. Converted
all users.
From-SVN: r137620
|
|
v8sf, v4df, u32qi, u16hi, u8si, u4di, u8sf and u4df.
2008-07-07 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/compat/struct-layout-1_generate.c (vector_types): Add
v32qi, v16hi, v8si, v4di, v8sf, v4df, u32qi, u16hi, u8si, u4di,
u8sf and u4df.
* gcc.dg/compat/union-m128-1_main.c: Run only on x86. Remove
__x86_64__ check. Include "cpuid.h".
(main): Check SSE2 at runtime.
* gcc.dg/compat/union-m128-1_x.c: Compile with -msse2. Remove
__x86_64__ check.
* gcc.dg/compat/union-m128-1_y.c: Likewise.
* gcc.dg/compat/vector-1_x.c: Add 32byte vector tests.
* gcc.dg/compat/vector-1_y.c: Likewise.
* gcc.dg/compat/vector-2_x.c: Likewise.
* gcc.dg/compat/vector-2_y.c: Likewise.
* gcc.dg/compat/vector-1a_main.c: New.
* gcc.dg/compat/vector-1a_x.c: Likewise.
* gcc.dg/compat/vector-1a_y.c: Likewise.
* gcc.dg/compat/vector-2a_main.c: Likewise.
* gcc.dg/compat/vector-2a_x.c: Likewise.
* gcc.dg/compat/vector-2a_y.c: Likewise.
* gcc.dg/compat/vector-defs.h (v32qi): New.
(v16hi): Likewise.
(v8si): Likewise.
(v4di): Likewise.
(v8sf): Likewise.
(v4df): Likewise.
(u32qi): Likewise.
(u16hi): Likewise.
(u8si): Likewise.
(u4di): Likewise.
(u8sf): Likewise.
(u4df): Likewise.
* lib/compat.exp (compat-get-options-main): Support dg-skip-if.
From-SVN: r137611
|
|
From-SVN: r137608
|
|
* configure, config.in: Rebuilt.
* configure.ac: Don't check for scandir or alphasort.
From-SVN: r137605
|
|
* Make-lang.in (java/parse.o-warn): Remove.
(java/jcf-io.o-warn): Remove.
From-SVN: r137604
|
|
* gcc.c-torture/compile/20080625-1.c: Skip for AVR target.
* gcc.dg/torture/pr36373-10.c: Correct test where target pointer is not same size as unsigned long.
From-SVN: r137603
|
|
creating them.
* config/arm/arm.c (arm_init_neon_builtins): Register built-in
types immediately after creating them.
From-SVN: r137601
|
|
From-SVN: r137600
|
|
dump_constraint_graph.
2008-07-07 Fernando Pereira <fernando@cs.ucla.edu>
* tree-ssa-structalias.c (compute_points_to_sets): Add call to
dump_constraint_graph.
(dump_constraint_edge): New function.
(dump_constraint_graph): New function.
(debug_constraint_graph): New function.
(dump_constraint): Removed useless comparison.
* tree-ssa-structalias.h (dump_constraint_edge): Declare.
(dump_constraint_graph): Declare.
(debug_constraint_graph): Declare.
* tree-dump.c (struct dump_option_value_info): Declare
TDF_GRAPH.
From-SVN: r137597
|
|
2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36670
* iresolve.c (gfc_resolve_product): Set shape of return
value from array.
(gfc_resolve_sum): Likewise.
2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36670
* gfortran.dg/product_sum_bounds_1.f90: New test case.
From-SVN: r137595
|
|
2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36341
PR fortran/34670
* m4/matmul.m4: Add bounds checking.
* m4/matmull.m4: Likewise.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/matmul_i1.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/matmul_l16.c: Regenerated.
* generated/matmul_l4.c: Regenerated.
* generated/matmul_l8.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/matmul_r8.c: Regenerated.
2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36341
PR fortran/34670
* gfortran.dg/matmul_bounds_2.f90: New test.
* gfortran.dg/matmul_bounds_3.f90: New test.
* gfortran.dg/matmul_bounds_4.f90: New test.
* gfortran.dg/matmul_bounds_5.f90: New test.
From-SVN: r137594
|
|
2008-07-07 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.c (is_va_list_char_pointer): New.
(ix86_va_start): Replace compare with ms_va_list_type_node
by is_va_list_char_pointer.
(ix86_gimplify_va_arg): Likewise.
From-SVN: r137593
|
|
2008-07-07 Martin Jambor <mjambor@suse.cz>
* cgraph.c (cgraph_edge_max_uid): New variable.
(struct cgraph_edge_hook_list): New type.
(struct cgraph_node_hook_list): New type.
(struct cgraph_2edge_hook_list): New type.
(struct cgraph_2node_hook_list): New type.
(first_cgraph_edge_removal_hook): New variable.
(first_cgraph_node_removal_hook): New variable.
(first_cgraph_edge_duplicated_hook): New variable.
(first_cgraph_node_duplicated_hook): New variable.
(cgraph_add_edge_removal_hook): New function.
(cgraph_remove_edge_removal_hook): New function.
(cgraph_call_edge_removal_hooks): New function.
(cgraph_add_node_removal_hook): New function.
(cgraph_remove_node_removal_hook): New function.
(cgraph_call_node_removal_hooks): New function.
(cgraph_add_edge_duplication_hook): New function.
(cgraph_remove_edge_duplication_hook): New function.
(cgraph_call_edge_duplication_hooks): New function.
(cgraph_add_node_duplication_hook): New function.
(cgraph_remove_node_duplication_hook): New function.
(cgraph_call_node_duplication_hooks): New function.
(cgraph_create_edge): Assign to edge uid.
(cgraph_remove_edge): Call edge removal hooks.
(cgraph_node_remove_callees): Call edge removal hooks.
(cgraph_node_remove_callers): Call edge removal hooks.
(cgraph_remove_node): Call node removal hooks.
(cgraph_clone_edge): Call edge duplication hooks.
(cgraph_clone_node): Call node duplication hooks.
* cgraph.h (cgraph_edge): New field uid.
(cgraph_edge_hook): New type.
(cgraph_node_hook): New type.
(cgraph_2edge_hook): New type.
(cgraph_2node_hook): New type.
From-SVN: r137591
|
|
2008-07-07 Andreas Tobler <a.tobler@schweiz.org>
* config.in: Regenerate.
From-SVN: r137590
|
|
* gcc.c (print_sysroot): New.
(option_map, display_help, process_command): Handle the
-print-sysroot option.
(main): Print the sysroot if requested.
* doc/invoke.texi (Debugging Options): Document -print-sysroot.
From-SVN: r137584
|
|
gcc/
PR target/34780
* unwind-pe.h (size_of_encoded_value): add attribute unused.
From-SVN: r137582
|
|
* function.c (assign_parm_remove_parallels): Check mode of
entry_parm.
(assign_parm_setup_block_p): Also check mode of entry_parm.
From-SVN: r137575
|
|
2008-07-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.h (set_used_smts): Remove.
* tree-ssa-structalias.c (used_smts): Likewise.
(set_used_smts): Likewise.
* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove
call to set_used_smts.
From-SVN: r137574
|
|
2008-07-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
(new_var_info): Set it to false.
(solution_set_add): Correctly handle pointers outside a var and
inside a field.
(type_safe): Treat variables with is_full_var properly.
(do_sd_constraint): Likewise.
(do_ds_constraint): Likewise.
(process_constraint): Remove zeroing offset for !use_field_sensitive.
(get_constraint_for_ptr_offset): New function.
(get_constraint_for_component_ref): For addresses at least include
the last field of the variable. Handle is_full_vars properly.
(get_constraint_for_1): Factor common code, handle POINTER_PLUS_EXPR.
(handle_ptr_arith): Remove.
(find_func_aliases): Simplify assignment handling.
(create_function_info_for): For parameter and result varinfos set
is_full_var flag.
(create_variable_info_for): Set is_full_var flag whenever we
just created a single varinfo for a decl.
(init_alias_vars): Initialize use_field_sensitive from
max-fields-for-field-sensitive parameter.
* gcc.dg/torture/pta-ptrarith-1.c: New testcase.
* gcc.dg/torture/pta-ptrarith-2.c: Likewise.
* gcc.dg/torture/ipa-pta-1.c: Likewise.
From-SVN: r137573
|
|
PR middle-end/36726
* f95-lang.c (poplevel): Don't ever add subblocks to
global_binding_level.
* gfortran.dg/gomp/pr36726.f90: New test.
From-SVN: r137572
|
|
2008-07-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36713
* tree-flow-inline.h (is_call_used): New function.
* tree-nrv.c (dest_safe_for_nrv_p): Use it.
* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
* tree-outof-ssa.c (create_temp): Set call-used flag if required.
From-SVN: r137571
|
|
From-SVN: r137559
|
|
From-SVN: r137558
|
|
* config.gcc (m68k-*-linux*): Add with_arch. Add sysroot-suffix.h
to tm_file. Add m68k/t-floatlib, m68k/t-linux & m68k/t-mlibs to
tmake_file.
* config/m68k/t-linux: New.
* doc/install.texi: Document m68k-*-linux is now multilibbed by
default.
From-SVN: r137557
|
|
* config/m68k/t-cf (MULTILIB_EXTRA_OPTS): Add no-mac.
* config/m68k/m68k-devices.def: Remove multilibs that only differ
by MAC/EMAC.
From-SVN: r137556
|
|
* gcc.c (execute): Fix -Wc++-compat warning.
From-SVN: r137548
|
|
2008-07-06 H.J. Lu <hongjiu.lu@intel.com>
PR target/36720
* config/ia64/ia64.c (ia64_split_tmode): Fix typo in TImode
constant for little endian.
From-SVN: r137547
|
|
From-SVN: r137545
|
|
TARGET_MIPS16.
gcc/
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Check
mips_base_mips16 instead of TARGET_MIPS16.
(mips_base_mips16): Declare.
* config/mips/mips.c (mips_base_mips16): Make global.
(was_mips16_p): Remove GTY marker.
(was_mips16_pch_p): New variable.
(mips_set_mips16_mode): Check both was_mips16_p and was_mips16_pch_p.
(mips_override_options): Force to non-MIPS16 mode initially.
Do not complain about MIPS16 PIC incompatibilities here.
Only allow -mgpopt if -mexplicit-relocs is in force for
non-MIPS16 code.
gcc/testsuite/
* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Expect the
macros to be defined for MIPS16 too.
* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise.
* gcc.target/mips/gcc-have-sync-compare-and-swap-3.c: New test.
* gcc.target/mips/gcc-have-sync-compare-and-swap-4.c: Likewise.
From-SVN: r137539
|
|
2008-07-06 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Check for caddr_t, define to char * if not defined.
* configure: Regenerate.
* ggc-common.c (mmap_gt_pch_get_address): Fix -Wc++-compat warnings.
(mmap_gt_pch_use_address): Likewise.
* config/host-solaris.c (sol_gt_pch_use_address): Likewise.
From-SVN: r137538
|
|
2008-07-06 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (struct variable_info): Remove has_union.
(new_var_info): Deal with it.
(solution_set_add): Likewise.
(bitpos_of_field): Make signed, fix.
(struct fieldoff): Remove type and decl fields. Make size field
unsigned HOST_WIDE_INT. Add has_unknown_size and may_have_pointers
flags.
(fieldoff_compare): Deal with it.
(push_fields_onto_fieldstack): Remove has_union argument, glob
adjacent non-pointer fields together.
(create_function_info_for): Do not set has_union.
(create_variable_info_for): Simplify.
* gcc.dg/tree-ssa/pta-callused.c: Adjust testcase.
From-SVN: r137530
|
|
i?86-*-*.
2008-07-06 Kai Tietz <kai.tietz@onevision.com>
* config.gcc (extra_headers): Add cross-stdarg.h for target
x86_64-*-* and i?86-*-*.
* config/i386/cross-stdarg.h: New.
* builtins.c (std_fn_abi_va_list): New.
(std_canonical_va_list_type): New.
(stabilize_va_list): Replace va_list_type_node use by
mtarget.canonical_va_list_type.
(gimplify_va_arg_expr): Likewise.
(expand_builtin_va_copy): Replace va_list_type_node use by
mtarget.fn_abi_va_list.
* tree-sra.c (is_va_list_type): New helper.
(decl_can_be_decomposed_p): Replace
va_list_type_node use by is_va_list_type.
* tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
* c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
* config/i386/i386-protos.h (ix86_get_valist_type): New.
(ix86_enum_va_list): New.
* config/i386/i386.c (sysv_va_list_type_node): New.
(ms_va_list_type_node): New.
(ix86_function_type_abi): Remove sorry.
(ix86_build_builtin_va_list_abi): New.
(ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
for 64-bit targets.
(ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
(ix86_init_builtins_va_builtins_abi): New.
(ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
for 64-bit targets.
(ix86_handle_abi_attribute): New.
(attribute_spec): Add sysv_abi and ms_abi.
(ix86_fn_abi_va_list): New.
(ix86_canonical_va_list_type): New.
(ix86_enum_va_list): New.
(TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
* config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
* doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
(TARGET_ENUM_VA_LIST): New.
* expr.h (std_fn_abi_va_list): New.
(std_canonical_va_list_type): New.
* target-def.h (TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
(TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
TARGET_CANONICAL_VA_LIST_TYPE.
* target.h (struct gcc_target): Add fn_abi_va_list hook
and canonical_va_list_type hook.
From-SVN: r137525
|
|
2008-07-06 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/callabi/callabi.h: New.
* gcc.dg/callabi/vaarg-1.c: New.
* gcc.dg/callabi/vaarg-2.c: New.
* gcc.dg/callabi/vaarg-3.c: New.
* gcc.dg/callabi/func-1.c: New.
From-SVN: r137524
|
|
* jcf-io.c: Don't include fnmatch.h. Don't use JCF_USE_SCANDIR.
(compare_path): Remove.
(java_or_class_file): Likewise.
(memoized_dirlist_entry): Likewise.
(memoized_dirlist_hash): Likewise.
(memoized_dirlist_lookup_eq): Likewise.
(memoized_dirlists): Likewise.
(caching_stat): Likewise.
(find_class): Use stat.
* jcf.h (JCF_USE_SCANDIR): Remove.
From-SVN: r137523
|
|
From-SVN: r137515
|
|
2008-07-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
* g++.dg/tree-ssa/ptrmemfield.C: New testcase.
2008-07-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
* fold-const.c (fold_convert_const): Treat OFFSET_TYPE the same as
integral and pointer types.
From-SVN: r137510
|
|
* lib/gcc-dg.exp (remove-build-file): Remove files on remote host
as well as on build.
From-SVN: r137503
|
|
xmalloc to "char*" to fix bootstrap breakage.
* config/rs6000/host-darwin.c (darwin_rs6000_extra_siganls): Cast
the "void*" result of xmalloc to "char*" to fix bootstrap breakage.
From-SVN: r137500
|
|
From-SVN: r137498
|
|
PR target/36684
* config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
for PIC.
From-SVN: r137487
|
|
From-SVN: r137458
|
|
From-SVN: r137457
|
|
From-SVN: r137455
|
|
* tree-switch-conversion.c (build_one_array, gen_def_assigns): Use
build_gimple_modify_stmt.
(build_arrays, gen_inbound_check): Likewise. Force RHS to be
gimple operand. Use fold_build* instead of build*.
From-SVN: r137454
|
|
2008-07-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (lookup_vi_for_tree): Declare.
(do_sd_constraint): Handle a dereference of ESCAPED and CALLUSED
properly to compute the reachability set if we do field-sensitive PTA.
* invoke.texi (max-fields-for-field-sensitive): Document default.
* opts.c (decode_options): Set max-fields-for-field-sensitive to
100 for optimize >= 2.
* gcc.dg/tree-ssa/pta-callused.c: New testcase.
From-SVN: r137453
|
|
i?86-*-*.
2008-07-04 Kai Tietz <kai.tietz@onevision.com>
* config.gcc (extra_headers): Add cross-stdarg.h for target
x86_64-*-* and i?86-*-*.
* config/i386/cross-stdarg.h: New.
* builtins.c (std_fn_abi_va_list): New.
(std_canonical_va_list_type): New.
(stabilize_va_list): Replace va_list_type_node use by
mtarget.canonical_va_list_type.
(gimplify_va_arg_expr): Likewise.
(expand_builtin_va_copy): Replace va_list_type_node use by
mtarget.fn_abi_va_list.
* tree-sra.c (is_va_list_type): New helper.
(decl_can_be_decomposed_p): Replace
va_list_type_node use by is_va_list_type.
* tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
* c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
* config/i386/i386-protos.h (ix86_get_valist_type): New.
(ix86_enum_va_list): New.
* config/i386/i386.c (sysv_va_list_type_node): New.
(ms_va_list_type_node): New.
(ix86_function_type_abi): Remove sorry.
(ix86_build_builtin_va_list_abi): New.
(ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
for 64-bit targets.
(ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
(ix86_init_builtins_va_builtins_abi): New.
(ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
for 64-bit targets.
(ix86_handle_abi_attribute): New.
(attribute_spec): Add sysv_abi and ms_abi.
(ix86_fn_abi_va_list): New.
(ix86_canonical_va_list_type): New.
(ix86_enum_va_list): New.
(TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
* config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
* doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
(TARGET_ENUM_VA_LIST): New.
* expr.h (std_fn_abi_va_list): New.
(std_canonical_va_list_type): New.
* target-def.h (TARGET_FN_ABI_VA_LIST): New.
(TARGET_CANONICAL_VA_LIST_TYPE): New.
(TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
TARGET_CANONICAL_VA_LIST_TYPE.
* target.h (struct gcc_target): Add fn_abi_va_list hook
and canonical_va_list_type hook.
2008-07-04 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/callabi/callabi.h: New.
* gcc.dg/callabi/vaarg-1.c: New.
* gcc.dg/callabi/vaarg-2.c: New.
* gcc.dg/callabi/vaarg-3.c: New.
* gcc.dg/callabi/func-1.c: New.
From-SVN: r137452
|
|
* gcc.target/m68k/interrupt-2.c: New file.
* gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL for m68k*-*-*.
From-SVN: r137451
|
|
-Wcast-qual warnings.
* ggc-zone.c (lookup_page_table_if_allocated,
set_page_table_entry, zone_find_object_size, alloc_small_page,
alloc_large_page, ggc_free, gt_ggc_m_S, ggc_marked_p, init_ggc,
new_ggc_zone, init_ggc_pch, ggc_pch_this_base, ggc_pch_read): Fix
-Wc++-compat and/or -Wcast-qual warnings.
From-SVN: r137450
|