Bernd Schmidt
325d79974d
re PR rtl-optimization/44787 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:395)
...
PR rtl-optimization/44787
* config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
* config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
testsuite/
PR rtl-optimization/44787
* gcc.c-torture/compile/pr44788.c: New test.
* gcc.target/arm/pr44788.c: New test.
From-SVN: r161893
2010-07-06 23:44:55 +00:00
Jonathan Wakely
604b91240e
status_cxx200x.xml: Add some missing features.
...
2010-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/status_cxx200x.xml: Add some missing features.
* doc/html/*: Regenerate.
From-SVN: r161892
2010-07-06 23:14:58 +01:00
Peter Bergner
b1e2556518
* gcc.target/powerpc/altivec-volatile.c: Adjust expected warning.
...
From-SVN: r161891
2010-07-06 16:49:57 -05:00
Peter Bergner
0f5700a732
ppu-intrinsics.c: Add -Wno-unused-but-set-variable to dg-options.
...
* gcc.target/powerpc/ppu-intrinsics.c: Add -Wno-unused-but-set-variable
to dg-options.
From-SVN: r161890
2010-07-06 16:46:59 -05:00
Tobias Burnus
928f049082
re PR fortran/44742 (ICE in gfc_conv_array_initializer)
...
2010-07-06 Tobias Burnus <burnus@net-b.de>
PR fortran/44742
* array.c (gfc_expand_constructor): Add optional diagnostic.
* gfortran.h (gfc_expand_constructor): Update prototype.
* expr.c (gfc_simplify_expr, check_init_expr,
gfc_reduce_init_expr): Update gfc_expand_constructor call.
* resolve.c (gfc_resolve_expr): Ditto.
2010-07-06 Tobias Burnus <burnus@net-b.de>
PR fortran/44742
* gfortran.dg/parameter_array_init_6.f90: New.
* gfortran.dg/initialization_20.f90: Update dg-error.
* gfortran.dg/initialization_24.f90: Ditto.
From-SVN: r161888
2010-07-06 22:56:07 +02:00
Tobias Burnus
c829d0163d
trans-decl.c: Include diagnostic-core.h besides toplev.h.
...
2010-07-06 Tobias Burnus <burnus@net-b.de>
* trans-decl.c: Include diagnostic-core.h besides toplev.h.
* trans-intrinsic.c: Ditto.
* trans-types.c: Ditto.
* convert.c: Include diagnostic-core.h instead of toplev.h.
* options.c: Ditto.
* trans-array.c: Ditto.
* trans-const.c: Ditto.
* trans-expr.c: Ditto.
* trans-io.c: Ditto.
* trans-openmp.c: Ditto.
* trans.c: Ditto.
From-SVN: r161885
2010-07-06 21:57:29 +02:00
Thomas Koenig
7114ab4579
PR fortran/PR44693
...
2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/PR44693
* check.c (dim_rank_check): Also check intrinsic functions.
Adjust permissible rank for functions which reduce the rank of
their argument. Spread is an exception, where DIM can
be one larger than the rank of array.
2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/PR44693
* gfortran.dg/dim_range_1.f90: New test.
* gfortran.dg/minmaxloc_4.f90: Remove invalid test.
From-SVN: r161884
2010-07-06 19:48:58 +00:00
Jason Merrill
0060a10ae8
re PR c++/44703 ([C++0x] List initialization fail if parameter is typedef name for the std::initializer_list)
...
PR c++/44703
* call.c (is_std_init_list): Look through typedefs.
From-SVN: r161880
2010-07-06 15:23:01 -04:00
Jason Merrill
627bc93888
re PR c++/44778 (? Behaviour change with pointers to members)
...
PR c++/44778
* init.c (build_offset_ref): If scope isn't dependent,
don't exit early. Look at TYPE_MAIN_VARIANT.
* pt.c (tsubst_copy) [OFFSET_REF]: Do substitution.
From-SVN: r161879
2010-07-06 15:22:49 -04:00
Jason Merrill
89a40f593e
* error.c (dump_function_decl): Don't crash on null DECL_NAME.
...
From-SVN: r161878
2010-07-06 15:22:38 -04:00
Jan Hubicka
e10aaec029
lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
...
* lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
(lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
with body can prevail.
(lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
(lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
* cgraph.c (cgraph_get_node_or_alias): New function.
* cgraph.h (cgraph_get_node_or_alias): Declare.
From-SVN: r161877
2010-07-06 18:54:38 +00:00
Kai Tietz
4bbf141cf1
i386.c (ix86_function_ms_hook_prologue): Enable x64 support.
...
2010-07-06 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
support.
(ix86_expand_prologue): Likewise.
(ix86_handle_fndecl_attribute): Likewise.
(ix86_asm_declare_function_name): New function for
ASM_DECLARE_FUNCTION_NAME.
* config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
* config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
(SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
* config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
* doc/extend.texi: Adjust documentation about ms_hook_prologue
attribute.
From-SVN: r161876
2010-07-06 20:27:41 +02:00
Kai Tietz
15a1f8c52d
ms_hook_prologue.c: Add x64 ms_hook_prologue support.
...
2010-07-06 Kai Tietz <kai.tietz@onevision.com>
* gcc.target/i386/ms_hook_prologue.c: Add x64 ms_hook_prologue
support.
* gcc.target/i386/i386.exp: Likewise.
From-SVN: r161875
2010-07-06 20:25:26 +02:00
Peter Bergner
6b0bcc9bfe
re PR lto/44195 (gcc.dg/lto/20100518 c_lto_20100518_0.o)
...
PR testsuite/44195
* gcc.dg/lto/20100518_0.c: Limit to x86.
From-SVN: r161872
2010-07-06 11:09:13 -05:00
Uros Bizjak
9aa5922d89
i386.md (immediate_operand): New mode attribute.
...
2010-07-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (immediate_operand): New mode attribute.
(pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
pro_epilogue_adjust_stack and pro_epilogue_adjust_stack_rex64
using P mode iterator.
(pro_epilogue_adjust_stack_di_2): Rename from
pro_epilogue_adjust_stack_rex64_2.
* config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
2010-07-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
through gen_mov_insv_1 function pointer.
(fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
gen_truncxf<mode>2 through gen_truncxf function pointer.
(remainder<mode>3): Ditto.
(cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
(allocate_stack): Call gen_allocate_stack_worker_64 or
gen_allocate_stack_worker_32 through gen_allocate_stack_worker
function pointer.
(probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
function pointer.
2010-07-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
operand constraint instead of <r><i>m.
From-SVN: r161870
2010-07-06 16:05:19 +02:00
Richard Guenther
dfb8812683
re PR c/44828 (possible integer wrong code bug)
...
2010-07-06 Richard Guenther <rguenther@suse.de>
PR middle-end/44828
* convert.c (convert_to_integer): Watch out for overflowing
MULT_EXPR as well.
* gcc.c-torture/execute/pr44828.c: New testcase.
From-SVN: r161869
2010-07-06 13:37:58 +00:00
Jan Hubicka
c5d1f05852
lto-streamer.c (write_symbol_vec): Rename to ...
...
* lto-streamer.c (write_symbol_vec): Rename to ...
(write_symbol) ... this one; write only symbol given and when
present in cache. Sanity check that what is defined is present
in cgraph/varpool with body/finalized decl.
(write_symbols_of_kind): Remove.
(produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
pairs to produce symtab.
(produce_asm_for_decls): Update call of produce_symtab; don't do so
when doing WPA streaming.
From-SVN: r161868
2010-07-06 13:26:28 +00:00
Ken Werner
d414dde979
floatformat.h (floatformat_ieee_half_big): Add declaration.
...
include/ChangeLog:
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.h (floatformat_ieee_half_big): Add declaration.
(floatformat_ieee_half_little): Likewise.
libiberty/ChangeLog:
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.c (floatformat_ieee_half_big): New variable.
(floatformat_ieee_half_little): Likewise.
From-SVN: r161867
2010-07-06 13:00:59 +00:00
Jan Hubicka
6e4da08400
gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that function is still available to fold into.
...
* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
function is still available to fold into.
From-SVN: r161866
2010-07-06 11:44:34 +00:00
Shujing Zhao
ebeb2c24db
cp-tree.h (impl_conv_void): New type.
...
/cp
2010-07-06 Shujing Zhao <pearly.zhao@oracle.com>
* cp-tree.h (impl_conv_void): New type.
(convert_to_void): Adjust prototype.
* cvt.c (convert_to_void): Use impl_conv_void, emit and adjust the
diagnostic for easy translation. Change caller.
* typeck.c: Update call to convert_to_void.
* semantics.c: Likewise.
* init.c: Likewise.
/testsuite
2010-07-06 Shujing Zhao <pearly.zhao@oracle.com>
* g++.dg/warn/noeffect2.C: Adjust expected warning.
* g++.dg/warn/volatile1.C: Likewise.
* g++.dg/template/warn1.C: Likewise.
From-SVN: r161863
2010-07-06 05:53:49 +00:00
Nathan Froyd
c021f10b18
vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
...
gcc/
* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
* function.h (struct_function): Change type of local_decls field
to a VEC.
(add_local_decl): New function.
(FOR_EACH_LOCAL_DECL): New macro.
* cfgexpand.c (init_vars_expansion): Adjust for new type of
cfun->local_decls.
(estimated_stack_frame_size): Likewise.
(expand_used_vars): Likewise.
* cgraphbuild.c (build_cgraph_edges): Likewise.
* function.c (instantiate_decls_1): Likewise.
* ipa-struct-reorg.c (build_data_structure): Likewise.
* ipa-type-escape.c (analyze_function): Likewise.
* lto-streamer-in.c (input_function): Likewise.
* lto-streamer-out.c (output_function): Likewise.
* tree-ssa-live.c (remove_unused_locals): Likewise.
* tree.c (free_lang_data_in_decl): Likewise.
(find_decls_types_in_node): Likewise.
* omp-low.c (remove_exit_barrier): Likewise.
(expand_omp_taskreg): Likewise.
(list2chain): Rename to...
(vec2chain): ...this. Adjust.
* cgraphunit.c (assemble_thunk): Call add_local_decl.
* tree-cfg.c (replace_by_duplicate_decl): Likewise.
* gimple-low.c (record_vars_into): Likewise.
* tree-inline.c (remap_decls): Likewise.
(declare_return_variable): Likewise.
(declare_inline_vars): Likewise.
(copy_forbidden): Adjust for new type of cfun->local_decls.
(add_local_variables): New function.
(expand_call_inline): Call it.
(tree_function_versioning): Likewise.
gcc/cp/
* decl.c (cp_finish_decl): Call add_local_decl.
* optimize.c (clone_body): Adjust for new type of cfun->local_decls.
From-SVN: r161862
2010-07-06 02:26:33 +00:00
GCC Administrator
979cc39947
Daily bump.
...
From-SVN: r161861
2010-07-06 00:17:11 +00:00
Nathan Froyd
77641ca3bd
re PR bootstrap/44825 (Failed to bootstrap)
...
PR bootstrap/44825
* class.c (make_class_data): Cast result of VEC_length calls to int.
From-SVN: r161856
2010-07-05 22:19:22 +00:00
H.J. Lu
4ee89d5fb7
Support AVX Programming Reference (June, 2010).
...
gcc/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2010)
* config/i386/cpuid.h (bit_F16C): New.
(bit_RDRND): Likewise.
(bit_FSGSBASE): Likewise.
* config/i386/i386-builtin-types.def: Add
"DEF_FUNCTION_TYPE (UINT16)", function types for
float16 <-> float conversions and
"DEF_FUNCTION_TYPE (VOID, UINT64)".
* config/i386/i386-c.c (ix86_target_macros_internal): Support
OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
OPTION_MASK_ISA_F16C.
* config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
(OPTION_MASK_ISA_RDRND_SET): Likewise.
(OPTION_MASK_ISA_F16C_SET): Likewise.
(OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
(OPTION_MASK_ISA_RDRND_UNSET): Likewise.
(OPTION_MASK_ISA_F16C_UNSET): Likewise.
(OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
(ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and
OPT_mf16c.
(ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
(pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
(override_options): Handle them.
(ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd
and f16c.
(ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
(bdesc_args): Likewise.
(ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
(ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
Handle non-memory store.
* config/i386/i386.h (TARGET_FSGSBASE): New.
(TARGET_RDRND): Likewise.
(TARGET_F12C): Likewise.
* config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
(UNSPEC_VCVTPS2PH): Likewise.
(UNSPECV_RDFSBASE): Likewise.
(UNSPECV_RDGSBASE): Likewise.
(UNSPECV_WRFSBASE): Likewise.
(UNSPECV_WRGSBASE): Likewise.
(UNSPECV_RDRAND): Likewise.
(rdfsbase<mode>): Likewise.
(rdgsbase<mode>): Likewise.
(wrfsbase<mode>): Likewise.
(wrgsbase<mode>): Likewise.
(rdrand<mode>): Likewise.
* config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
* config/i386/immintrin.h (_rdrand_u16): New.
(_rdrand_u32): Likewise.
(_readfsbase_u32): Likewise.
(_readfsbase_u64): Likewise.
(_readgsbase_u32): Likewise.
(_readgsbase_u64): Likewise.
(_writefsbase_u32): Likewise.
(_writefsbase_u64): Likewise.
(_writegsbase_u32): Likewise.
(_writegsbase_u64): Likewise.
(_rdrand_u64): Likewise.
(_cvtsh_ss): Likewise.
(_mm_cvtph_ps): Likewise.
(_mm256_cvtph_ps): Likewise.
(_cvtss_sh): Likewise.
(_mm_cvtps_ph): Likewise.
(_mm256_cvtps_ph): Likewise.
* config/i386/sse.md (vcvtph2ps): New.
(*vcvtph2ps_load): Likewise.
(vcvtph2ps256): Likewise.
(vcvtps2ph): Likewise.
(*vcvtps2ph): Likewise.
(*vcvtps2ph_store): Likewise.
(vcvtps2ph256): Likewise.
* doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
* doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
gcc/testsuite/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2010)
* g++.dg/other/i386-2.C: Add -mfsgsbase -mrdrnd -mf16c.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/sse-12.c: Likewise.
* gcc.target/i386/f16c-check.h: New.
* gcc.target/i386/rdfsbase-1.c: Likewise.
* gcc.target/i386/rdfsbase-2.c: Likewise.
* gcc.target/i386/rdgsbase-1.c: Likewise.
* gcc.target/i386/rdgsbase-2.c: Likewise.
* gcc.target/i386/rdrand-1.c: Likewise.
* gcc.target/i386/rdrand-2.c: Likewise.
* gcc.target/i386/rdrand-3.c: Likewise.
* gcc.target/i386/vcvtph2ps-1.c: Likewise.
* gcc.target/i386/vcvtph2ps-2.c: Likewise.
* gcc.target/i386/vcvtph2ps-3.c: Likewise.
* gcc.target/i386/vcvtps2ph-1.c: Likewise.
* gcc.target/i386/vcvtps2ph-2.c: Likewise.
* gcc.target/i386/vcvtps2ph-3.c: Likewise.
* gcc.target/i386/wrfsbase-1.c: Likewise.
* gcc.target/i386/wrfsbase-2.c: Likewise.
* gcc.target/i386/wrgsbase-1.c: Likewise.
* gcc.target/i386/wrgsbase-2.c: Likewise.
* gcc.target/i386/sse-13.c: Add -mfsgsbase -mrdrnd -mf16c.
(__builtin_ia32_vcvtps2ph): New.
(__builtin_ia32_vcvtps2ph256): Likewise.
* gcc.target/i386/sse-14.c: Add -mfsgsbase -mrdrnd -mf16c.
Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.
* gcc.target/i386/sse-22.c: Add fsgsbase,rdrnd,f16c.
Test _cvtss_sh, _mm_cvtps_ph and _mm256_cvtps_ph.
* gcc.target/i386/sse-23.c (__builtin_ia32_vcvtps2ph): New.
(__builtin_ia32_vcvtps2ph256): Likewise.
Add fsgsbase,rdrnd,f16c.
* lib/target-supports.exp (check_effective_target_f16c): New.
From-SVN: r161855
2010-07-05 14:57:55 -07:00
Steven G. Kargl
9e6d8a0d27
Fix ChangeLog entry from my previous commit to include
...
the "PR" prefix.
From-SVN: r161854
2010-07-05 20:19:41 +00:00
Joern Rennecke
3341aeda75
re PR bootstrap/44512 (--enable-build-with-cxx bootstrap fails in revision 160669)
...
PR bootstrap/44512
* genenums.c (main): Output include of insn-constants.h
* Makefile.in (insn-enums.o): Depend on insn-constants.h.
From-SVN: r161853
2010-07-05 21:18:07 +01:00
Steven G. Kargl
92336ae10f
io.c (resolve_tag): Check EXIST tag is a default logical.
...
2010-07-05 Steven G. Kargl <kargl@gcc.gnu.org>
fortran/44797
* fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
From-SVN: r161852
2010-07-05 20:14:15 +00:00
Uros Bizjak
71b2fd74b9
i386.c (ix86_gen_allocate_stack_worker): New.
...
* config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
(override_options): Initialize it.
(ix86_expand_prologue): Use it.
From-SVN: r161851
2010-07-05 22:12:10 +02:00
Uros Bizjak
94dbbc8122
ChangeLog: Fix whitespace.
...
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r161850
2010-07-05 22:03:25 +02:00
Jakub Jelinek
938650d8fd
tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
...
* tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
* gcc.dg/guality/nrv-1.c: New test.
From-SVN: r161849
2010-07-05 21:42:53 +02:00
Paul Thomas
0a8c9a1379
re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)
...
2010-07-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/44596
* trans-types.c (gfc_get_derived_type): Derived type fields
with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
but build_pointer_type_for_mode must be used for this.
From-SVN: r161848
2010-07-05 19:26:12 +00:00
Anatoly Sokolov
88e0684114
double-int.h (fit_double_type): Remove declaration.
...
* double-int.h (fit_double_type): Remove declaration.
* double-int.c (fit_double_type): Remove function.
* tree.h (int_fits_type_p): Adjust prototype.
* tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
instead of fit_double_type.
(build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
instead of fit_double_type and build_int_cst_wide.
* builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
instead of fit_double_type and build_int_cst_wide.
(fold_builtin_object_size): Use double_int_fits_to_tree_p instead
of fit_double_type.
From-SVN: r161847
2010-07-05 22:45:40 +04:00
Jan Hubicka
92eb443868
cgraph.h (cgraph_node, [...]): Update docmentation of in_other_partition.
...
* cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
in_other_partition.
* lto-cgraph.c (referenced_from_other_partition_p,
reachable_from_other_partition_p): Use in_other_partition flags.
(output_node, output_varpool_node): COMDAT nodes always have private
copies and thus are never used from other partition.
* lto.c (add_cgraph_node_to_partition): Forward declare; walk also
nodes from same comdat group as well as all comdat functions referenced
here.
(add_varpool_node_to_partition, add_references_to_partition): New function.
(lto_1_1_map): Skip COMDAT fnctions/variables; use add_varpool_node_to_partition;
clear aux flags when done.
(lto_promote_cross_file_statics): Do not promote stuff that gets duplicated to
each ltrans.
From-SVN: r161846
2010-07-05 18:25:04 +00:00
Anatoly Sokolov
69e18c0985
ia64.h (MEMORY_MOVE_COST): Remove macro.
...
* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
* config/ia64/t-ia64 (ia64.o): Depend on reload.h.
* config/ia64/ia64.c Include reload.h.
(ia64_memory_move_cost): New function.
(TARGET_MEMORY_MOVE_COST): Define.
(ia64_register_move_cost): Replace MEMORY_MOVE_COST with
memory_move_cost.
From-SVN: r161845
2010-07-05 21:49:56 +04:00
Sandra Loosemore
16ad802523
re PR middle-end/42505 (loop canonicalization causes a lot of unnecessary temporary variables)
...
2010-07-05 Sandra Loosemore <sandra@codesourcery.com>
PR middle-end/42505
gcc/
* tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
comments about cost model.
(try_add_cand_for): Add second strategy for choosing initial set
based on original IVs, controlled by ORIGINALP argument.
(get_initial_solution): Add ORIGINALP argument.
(find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
(find_optimal_iv_set): Try two different strategies for choosing
the IV set, and return the one with lower cost.
gcc/testsuite/
* gcc.target/arm/pr42505.c: New test case.
From-SVN: r161844
2010-07-05 13:40:57 -04:00
Rainer Orth
22a4778a0d
configure.ac (ANONVERSCRIPT): Handle sun style.
...
* configure.ac (ANONVERSCRIPT): Handle sun style.
Define ANONVERSCRIPT_GNU, ANONVERSCRIPT_SUN automake conditionals.
* configure: Regenerate.
* Makefile.am [ANONVERSCRIPT]: Protect GNU section with
ANONVERSCRIPT_GNU.
Introduce per-library $(lib)_la_version_arg, $(lib)_la_version_dep
variables.
[ANONVERSCRIPT_GNU] (version_arg): Default ld arg for version map.
(version_dep): Likewise for dependency.
Use them to set the per-library variables.
[!ANONVERSCRIPT]: Provide them vor the unversioned case.
[ANONVERSCRIPT_SUN]: Handle Sun symbol versioning.
(libgcj_la_DEPENDENCIES): Unconditionally use
$(libgcj_la_version_dep).
(libgcj_la_LINK): Add $(libgcj_la_version_arg).
(libgcj_noncore_la_DEPENDENCIES): Unconditionally use
$(libgcj_la_version_dep).
(libgcj_tools_la_LIBADD): Move -lm ...
(libgcj_tools_la_LDFLAGS): ... here.
(libgcj_tools_la_DEPENDENCIES): Add
$(libgcj_tools_la_version_dep).
(libgcj_tools_la_LINK): Add $(libgcj_tools_la_version_arg).
(lib_gnu_awt_xlib_la_DEPENDENCIES): Add
$(lib_gnu_awt_xlib_la_version_dep).
(lib_gnu_awt_xlib_la_LINK): Add
$(lib_gnu_awt_xlib_la_version_arg).
(libgcj_bc_la_DEPENDENCIES): Add $(libgcj_bc_la_version_dep).
(libgcj_bc_la_LINK): $(libgcj_bc_la_version_arg).
[ANONVERSCRIPT && ANONVERSCRIPT_SUN] (%.ver-sun): New pattern rule.
* Makefile.in: Regenerate.
* libgcj.ver: Reformat.
From-SVN: r161843
2010-07-05 17:22:52 +00:00
Rainer Orth
6d28b93370
acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
...
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
(HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
targetting solaris2*.
* configure: Regenerate.
* config.h.in: Regenerate.
* Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
Add libgomp_version_dep.
[LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
versioning.
[!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
(libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
* Makefile.in: Regenerate.
* libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
* libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
to common block, protected by
HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
From-SVN: r161842
2010-07-05 17:19:33 +00:00
Richard Guenther
bdf0f819d5
tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
...
2010-07-05 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy
alias info.
From-SVN: r161841
2010-07-05 16:06:56 +00:00
Richard Guenther
a41e5e86c0
tree.c (reference_alias_ptr_type): New function.
...
2010-07-05 Richard Guenther <rguenther@suse.de>
* tree.c (reference_alias_ptr_type): New function.
* tree.h (reference_alias_ptr_type): Declare.
* tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
allow non-TARGET_MEM_REF new refs.
(rewrite_use_address): Pass old alias pointer type to
create_mem_ref.
* tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
Build a MEM_REF instead of a TARGET_MEM_REF if possible.
(create_mem_ref): Get alias pointer type. Adjust calls to
create_mem_ref_raw.
(maybe_fold_tmr): Likewise.
* tree-flow.h (create_mem_ref): Adjust prototype.
From-SVN: r161840
2010-07-05 14:51:16 +00:00
Nathan Froyd
5c144a5fad
constants.c (build_constants_constructor): Use build_constructor instead of build_constructor_from_list.
...
* constants.c (build_constants_constructor): Use build_constructor
instead of build_constructor_from_list.
* class.c (make_method_value): Likewise.
(get_dispatch_table): Likewise.
(make_class_data): Likewise.
(emit_indirect_register_classes): Likewise.
(emit_symbol_table): Likewise.
(add_assertion_table_entry): Likewise.
(emit_assertion_table): Likewise.
(make_field_value): Use build_constructor_single instead of
build_constructor_from_list.
From-SVN: r161839
2010-07-05 14:49:04 +00:00
Jakub Jelinek
f2896bc961
re PR c++/44808 (ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr)
...
PR c++/44808
* gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
*from_p is VAR_DECL.
* g++.dg/opt/nrv16.C: New test.
From-SVN: r161838
2010-07-05 16:42:20 +02:00
Nathan Froyd
cfe6dea201
tree.h (build_call_list): Remove.
...
* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.
From-SVN: r161837
2010-07-05 13:15:31 +00:00
Richard Biener
e22f7f3133
double-int.h (double_int_sub): Declare.
...
2010-07-05 Richard Guenther <rguenther@suse.de>
* double-int.h (double_int_sub): Declare.
* double-int.c (double_int_sub): New function.
* dwarf2out.c (field_byte_offset): Use it.
* fixed-value.c (do_fixed_add): Likewise.
(do_fixed_multiply): Likewise.
(do_fixed_divide): Likewise.
* tree-predcom.c (add_ref_to_chain): Likewise.
(determine_roots_comp): Likewise.
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
From-SVN: r161836
2010-07-05 13:14:24 +00:00
Richard Biener
bdc453866c
double-int.h (double_int_sub): Declare.
...
2010-07-05 Richard Guenther <rguenther@suse.de>
* double-int.h (double_int_sub): Declare.
* double-int.c (double_int_sub): New function.
* dwarf2out.c (field_byte_offset): Use it.
* fixed-value.c (do_fixed_add): Likewise.
(do_fixed_multiply): Likewise.
(do_fixed_divide): Likewise.
* tree-predcom.c (add_ref_to_chain): Likewise.
(determine_roots_comp): Likewise.
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
From-SVN: r161835
2010-07-05 13:06:07 +00:00
Nathan Froyd
989ea525be
vec.h (VEC_splice, [...]): New macros.
...
gcc/
* vec.h (VEC_splice, VEC_safe_splice): New macros. Add function
implementations.
gcc/fortran/
* trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
type of gfc_conv_procedure_call.
(conv_generic_with_optional_char_arg): Likewise.
* trans-stmt.c (gfc_trans_call): Likewise.
* trans-expr.c (gfc_conv_function_expr): Likewise.
(gfc_conv_procedure_call): Use build_call_vec instead of
build_call_list.
From-SVN: r161834
2010-07-05 12:46:52 +00:00
Bernd Schmidt
7ec6356e22
arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
...
* config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
* arm-modes.def (CC_NOTB): Don't define.
* config/arm/arm.md (arm_adddi3): Generate canonical RTL.
(adddi_sesidi_di, adddi_zesidi_di): Likewise.
(LTUGEU): New code_iterator.
(cnb, optab): New corresponding code_attrs.
(addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
to canonical form. Operands 1 and 2 are commutative. Parametrize
using LTUGEU.
(addsi3_carryin_shift_<optab>): Likewise.
(addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
Operands 1 and 2 are commutative. Parametrize using LTUGEU.
(addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
(subsi3_compare): Renamed from subsi3_compare0_c. Change CC_NOTB to
CC.
(arm_subsi3_insn): Allow constants for operand 0.
(compare_scc peephole for eq case): New.
(compare_scc splitters): Change CC_NOTB to CC.
From-SVN: r161831
2010-07-05 12:36:21 +00:00
Richard Guenther
75421dcdc6
tree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF.
...
2010-07-05 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-im.c (for_each_index): Do not handle
ALIGN_INDIRECT_REF.
(gen_lsm_tmp_name): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
(op_code_prio): Likewise.
(op_symbol_code): Likewise.
* tree.c (staticp): Likewise.
(build1_stat): Likewise.
* tree.h (INDIRECT_REF_P): Likewise.
* fold-const.c (maybe_lvalue_p): Likewise.
(operand_equal_p): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
(ao_ref_init_from_vn_reference): Likewise.
* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
(find_interesting_uses_address): Likewise.
* dwarf2out.c (loc_list_from_tree): Likewise.
* gimplify.c (gimplify_expr): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
* config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* expr.c (safe_from_p): Likewise.
(expand_expr_real_1): Likewise. TER BIT_AND_EXPRs into MEM_REFs.
* tree-vect-data-refs.c (vect_setup_realignment): Build
BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree.def (ALIGN_INDIRECT_REF): Remove.
From-SVN: r161830
2010-07-05 12:25:20 +00:00
Richard Guenther
5d65726326
re PR middle-end/44784 (Failed to build 403.gcc in SPEC CPU 2006)
...
2010-07-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44784
* tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
for inserted stmts.
(find_or_generate_expression): Fix SCCVN insertion check.
* gcc.c-torture/compile/pr44784.c: New testcase.
From-SVN: r161829
2010-07-05 12:20:00 +00:00
Nathan Sidwell
3cd0d4fa96
e500crtsavg64gprctr.asm: Correct done label name.
...
* config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
* config/rs6000/e500crtsav64gprctr.asm: Likewise.
* config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
directives.
From-SVN: r161828
2010-07-05 11:01:43 +00:00
Ira Rosen
9940b13ce7
tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip statements that are not vectorized.
...
* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
statements that are not vectorized.
* tree-vect-stmts.c (vect_get_load_cost): Update the value stored
in INSIDE_COST.
From-SVN: r161827
2010-07-05 10:41:25 +00:00