- 04 Feb, 2014 3 commits
-
-
* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer; check for type consistency and turn inconsitent facts into UNREACHABLE. * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on type inconsistent querries; return UNREACHABLE instead. * g++.dg/ipa/devirt-25.C: New testcase. From-SVN: r207447
Jan Hubicka committed -
PR tree-optimization/59924 * gcc.dg/pr59924.c: New test. From-SVN: r207446
Jakub Jelinek committed -
From-SVN: r207445
GCC Administrator committed
-
- 03 Feb, 2014 21 commits
-
-
PR tree-opt/59924 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've already processed this node. (normalize_one_pred_1): Pass along mark_set. (normalize_one_pred): Create and destroy a pointer_set_t. (normalize_one_pred_chain): Likewise. From-SVN: r207442
Richard Henderson committed -
PR gcov-profile/58602 * gcc/gcov-io.c (gcov_open): Open with truncation when mode<0 From-SVN: r207441
Laurent Alfonsi committed -
PR ipa/59831 * g++.dg/ipa/devirt-24.C: New testcase. * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize; Try to devirtualize by the knowledge of virtual table pointer given by aggregate propagation. * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. ipa_print_node_jump_functions): Dump also offset that is relevant for polymorphic calls. (determine_known_aggregate_parts): Add arg_type parameter; use it instead of determining the type from pointer type. (ipa_compute_jump_functions_for_edge): Update call of determine_known_aggregate_parts. * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ... (gimple_get_virt_method_for_binfo): ... here; simplify using vtable_pointer_value_to_vtable. * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare. * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable. (vtable_pointer_value_to_vtable): Break out from ...; handle also POINTER_PLUS_EXPR. (vtable_pointer_value_to_binfo): ... here. * ipa-utils.h (vtable_pointer_value_to_vtable): Declare. From-SVN: r207439
Jan Hubicka committed -
2014-02-03 Teresa Johnson <tejohnson@google.com> * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid redef of outer loop index variable. From-SVN: r207437
Teresa Johnson committed -
2014-02-03 Marc Glisse <marc.glisse@inria.fr> PR c++/53017 PR c++/59211 gcc/c-family/ * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute, handle_vector_size_attribute, handle_nonnull_attribute): Call default_conversion on the attribute argument. (handle_nonnull_attribute): Increment the argument number. gcc/cp/ * tree.c (handle_init_priority_attribute): Call default_conversion on the attribute argument. gcc/ * doc/extend.texi (Function Attributes): Typo. gcc/testsuite/ * c-c++-common/attributes-1.c: New testcase. * g++.dg/cpp0x/constexpr-attribute2.C: Likewise. From-SVN: r207436
Marc Glisse committed -
/cp 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58871 * method.c (synthesized_method_walk): If vbases is non-null but is_empty is true, likewise don't worry about the virtual bases. /testsuite 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58871 * g++.dg/cpp0x/pr58871.C: New. From-SVN: r207434
Paolo Carlini committed -
2014-02-03 Cong Hou <congh@google.com> PR tree-optimization/60000 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL if the vectorized statement is a store. A store statement can only appear at the end of pattern statements. 2014-02-03 Cong Hou <congh@google.com> PR tree-optimization/60000 * g++.dg/vect/pr60000.cc: New test. From-SVN: r207433
Cong Hou committed -
From Rainer Orth. From-SVN: r207432
Ian Lance Taylor committed -
From-SVN: r207429
Brooks Moses committed -
gcc/ * config/i386/i386.c (flag_opts): Add -mlong-double-128. (ix86_option_override_internal): Default long double to 64-bit for 32-bit Bionic and to 128-bit for 64-bit Bionic. * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if TARGET_LONG_DOUBLE_128 is true. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise. * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64. (mlong-double-64): Negate -mlong-double-128. (mlong-double-128): New option. * config/i386/i386-c.c (ix86_target_macros): Define __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128. * doc/invoke.texi: Document -mlong-double-128. gcc/testsuite/ * gcc.target/i386/long-double-64-1.c: Verify __multf3 isn't used. * gcc.target/i386/long-double-64-4.c: Likewise. * gcc.target/i386/long-double-80-1.c: Likewise. * gcc.target/i386/long-double-80-2.c: Likewise. * gcc.target/i386/long-double-80-3.c: Likewise. * gcc.target/i386/long-double-80-4.c: Likewise. * gcc.target/i386/long-double-80-5.c: Likewise. * gcc.target/i386/long-double-64-2.c: Limit to ia32. Verify __multf3 isn't used. * gcc.target/i386/long-double-64-3.c: Likewise. * gcc.target/i386/long-double-128-1.c: New test. * gcc.target/i386/long-double-128-2.c: Likewise. * gcc.target/i386/long-double-128-3.c: Likewise. * gcc.target/i386/long-double-128-4.c: Likewise. * gcc.target/i386/long-double-128-5.c: Likewise. * gcc.target/i386/long-double-128-6.c: Likewise. * gcc.target/i386/long-double-128-7.c: Likewise. * gcc.target/i386/long-double-128-8.c: Likewise. * gcc.target/i386/long-double-128-9.c: Likewise. * gcc.target/i386/long-double-64-5.c: Likewise. * gcc.target/i386/long-double-64-6.c: Likewise. * gcc.target/i386/long-double-64-7.c: Likewise. * gcc.target/i386/long-double-64-8.c: Likewise. * gcc.target/i386/long-double-64-9.c: Likewise. * gcc.target/i386/long-double-80-10.c: Likewise. * gcc.target/i386/long-double-80-8.c: Likewise. * gcc.target/i386/long-double-80-9.c: Likewise. From-SVN: r207428
H.J. Lu committed -
PR rtl-optimization/60024 * sel-sched.c (init_regs_for_mode): Check if mode is OK first. From-SVN: r207427
H.J. Lu committed -
2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de> * doc/invoke.texi: (fprofile-reorder-functions): Fix typo. From-SVN: r207423
Markus Trippelsdorf committed -
From-SVN: r207422
Andrey Belevantsev committed -
re PR rtl-optimization/57662 (ICE: SIGSEGV in code_motion_process_successors with -fschedule-insns2 -fselective-scheduling2) gcc/ PR rtl-optimization/57662 * sel-sched.c (code_motion_path_driver): Do not mark already not existing blocks in the visiting bitmap. testsuite/ PR rtl-optimization/57662 * g++.dg/pr57662.C: New test. From-SVN: r207421
Andrey Belevantsev committed -
* sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being emitted. From-SVN: r207420
Andrey Belevantsev committed -
2014-02-03 James Greenhalgh <james.greenhalgh@arm.com> Will Deacon <will.deacon@arm.com> * doc/gimple.texi (gimple_asm_clear_volatile): Remove. Co-Authored-By: Will Deacon <will.deacon@arm.com> From-SVN: r207419
James Greenhalgh committed -
From-SVN: r207418
Kyrylo Tkachov committed -
gcc: 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize for vector types other than V16QImode. * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a define_expand, and call altivec_expand_vec_perm_le when producing code with little endian element order. (*altivec_vperm_<mode>_internal): New insn having previous behavior of altivec_vperm_<mode>. (altivec_vperm_<mode>_uns): Change to a define_expand, and call altivec_expand_vec_perm_le when producing code with little endian element order. (*altivec_vperm_<mode>_uns_internal): New insn having previous behavior of altivec_vperm_<mode>_uns. gcc/testsuite: 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.dg/vmx/3b-15.c: Remove special handling for little endian. * gcc.dg/vmx/perm.c: New. * gcc.dg/vmx/perm-be-order.c: New. From-SVN: r207415
Bill Schmidt committed -
gcc: 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec. (altivec_vsumsws): Add handling for -maltivec=be with a little endian target. (altivec_vsumsws_direct): New. (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of gen_altivec_vsumsws. gcc/testsuite: 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.dg/vmx/vsums.c: New. * gcc.dg/vmx/vsums-be-order.c: New. From-SVN: r207414
Bill Schmidt committed -
* ipa-devirt.c (subbinfo_with_vtable_at_offset, vtable_pointer_value_to_binfo): New functions. * ipa-utils.h (vtable_pointer_value_to_binfo): Declare. * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it. * g++.dg/ipa/devirt-23.C: New testcase. * g++.dg/ipa/devirt-20.C: Fix template. From-SVN: r207413
Jan Hubicka committed -
From-SVN: r207412
GCC Administrator committed
-
- 02 Feb, 2014 14 commits
-
-
2014-02-02 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.md (load_got_register): Initialize GOT pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_. * config/nios2/nios2.c (nios2_function_profiler): Likewise. libgcc/ * config/nios2/crti.S (_init): Initialize GOT pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_. From-SVN: r207409
Sandra Loosemore committed -
2014-02-02 Fabien Chene <fabien@gcc.gnu.org> PR c++/37140 * parser.c (cp_parser_nonclass_name): Call strip_using_decl and move the code handling dependent USING_DECLs... * name-lookup.c (strip_using_decl): ...Here. 2014-02-02 Fabien Chene <fabien@gcc.gnu.org> PR c++/37140 * g++.dg/template/using27.C: New. * g++.dg/template/using28.C: New. * g++.dg/template/using29.C: New. From-SVN: r207408
Fabien Chêne committed -
2014-02-02 Fabien Chene <fabien@gcc.gnu.org> PR c++/37140 * parser.c (cp_parser_nonclass_name): Call strip_using_decl and move the code handling dependent USING_DECLs... * name-lookup.c (strip_using_decl): ...Here. 2014-02-02 Fabien Chene <fabien@gcc.gnu.org> PR c++/37140 * g++.dg/template/using27.C: New. * g++.dg/template/using28.C: New. * g++.dg/template/using29.C: New. From-SVN: r207407
Fabien Chêne committed -
ipa-prop.c (update_jump_functions_after_inlining): When type is not preserverd by passthrough, do not propagate the type. * ipa-prop.c (update_jump_functions_after_inlining): When type is not preserverd by passthrough, do not propagate the type. * g++.dg/ipa/devirt-23.C: New testcase. From-SVN: r207405
Jan Hubicka committed -
gcc/po: * gcc.pot: Regenerate. libcpp/po: * cpplib.pot: Regenerate. From-SVN: r207404
Joseph Myers committed -
libgcc/ * configure.ac: Check __mips64 when setting host_address. * configure: Regenerate. * config.host (mips*-*-*): Add t-softfp-sfdf, mips/t-softfp-tf, mips/t-mips64 and t-softfp. (mips*-*-linux*): Don't add mips/t-tpbit. * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS, FPBIT, FPBIT_CFLAGS) (DPBIT, DPBIT_CFLAGS): Delete. * config/mips/sfp-machine.h: New file. * config/mips/t-mips64: Likewise. * config/mips/t-softfp-tf: Likewise. * config/mips/t-tpbit: Delete. From-SVN: r207403
Richard Sandiford committed -
gcc/ * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros. (mips_atomic_assign_expand_fenv): New function. (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define. From-SVN: r207402
Richard Sandiford committed -
gcc/ * doc/extend.texi (__builtin_mips_get_fcsr): Document. (__builtin_mips_set_fcsr): Likewise. * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and MIPS_USI_FTYPE_VOID. * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare (mips16_expand_set_fcsr): Likewise. * config/mips/mips.c (mips16_get_fcsr_stub): New variable. (mips16_set_fcsr_stub): Likewise. (mips16_get_fcsr_one_only_stub): New class. (mips16_set_fcsr_one_only_stub): Likewise. (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions. (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed. (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros. (hard_float): New availability predicate. (mips_builtins): Add get_fcsr and set_fcsr. (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16. * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs. (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants. (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>) (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New patterns. gcc/testsuite/ * gcc.target/mips/get-fcsr-1.c, gcc.target/mips/get-fcsr-2.c, gcc.target/mips/set-fcsr-1.c, gcc.target/mips/set-fcsr-2.c: New tests. From-SVN: r207401
Richard Sandiford committed -
gcc/ * config/mips/mips.c (mips_one_only_stub): New class. (mips_need_mips16_rdhwr_p): Replace with... (mips16_rdhwr_stub): ...this new variable. (mips16_stub_call_address): New function. (mips16_rdhwr_one_only_stub): New class. (mips_expand_thread_pointer): Use mips16_stub_call_address. (mips_output_mips16_rdhwr): Delete. (mips_finish_stub): New function. (mips_code_end): Use it to handle rdhwr stubs. From-SVN: r207400
Richard Sandiford committed -
PR target/60017 * config/i386/i386.c (classify_argument): Fix handling of bit_offset when calculating size of integer atomic types. testsuite/ChangeLog: PR target/60017 * gcc.c-torture/execute/pr60017.c: New test. From-SVN: r207399
Uros Bizjak committed -
* ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments. From-SVN: r207398
H.J. Lu committed -
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r207397
Uros Bizjak committed -
fortran/ PR fortran/57033 * primary.c (gfc_convert_to_structure_constructor): Avoid null pointer dereference. testsuite/ PR fortran/57033 * gfortran.dg/default_initialization_7.f90: New test. From-SVN: r207396
Mikael Morin committed -
From-SVN: r207393
GCC Administrator committed
-
- 01 Feb, 2014 2 commits
-
-
2014-02-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/59906 * trans-stmt.c (gfc_add_loop_ss_code): In the case of character SS_REFERENCE, use gfc_conv_string_parameter to ensure that a pointer to the string is stored. * trans-expr.c (gfc_conv_expr_reference): Likewise, use gfc_conv_string_parameter to ensure that a pointer to is passed to the elemental function. 2014-02-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/59906 * gfortran.dg/elemental_subroutine_9.f90 : New test From-SVN: r207389
Paul Thomas committed -
PR other/56653 * gcc_release: Avoid printing empty line to generated MD5SUMS files. Bump copyright year. From-SVN: r207387
Dmitry Gorbachev committed
-