- 24 Apr, 2015 17 commits
-
-
[gcc] 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/65849 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that save to independent variables use the Save attribute. This will allow these options to be modified with the #pragma/attribute target support. (-mallow-movmisalign): Likewise. (-mallow-df-permute): Likewise. (-msched-groups): Likewise. (-malways-hint): Likewise. (-malign-branch-targets): Likewise. (-mvectorize-builtins): Likewise. (-msave-toc-indirect): Likewise. * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that can be set via the #pragma/attribute target support. (rs6000_opt_vars): Likewise. (rs6000_inner_target_options): If VSX was set, also set -mno-avoid-indexed-addresses. [gcc/testsuite] 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/65849 * gcc.target/powerpc/pr65849-1.c: New test to verify being able to set new options. * gcc.target/powerpc/pr65849-2.c: Likewise. From-SVN: r222417
Michael Meissner committed -
* config/arm/iterators.md (shiftable_ops): Rename to... (SHIFTABLE_OPS): ... This. Update use in comments. (ior_xor): Rename to... (IOR_XOR): ... This. (vqh_ops): Rename to... (VQH_OPS): ... This. (vqhs_ops): Rename to... (VQHS_OPS): ... This. (rshifts): Rename to... (RSHIFTS): ... This. (returns): Rename to... (RETURNS): ... This. * config/arm/arm.md: Update uses of the above. * config/arm/neon.md: Likewise. From-SVN: r222416
Kyrylo Tkachov committed -
* config.host (case ${host}): Add aarch64*-*-linux case. * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER fields to all the cores. * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS): Add MCPU_MTUNE_NATIVE_SPECS. * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING field to all extensions. * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE. * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE. Adjust definition of AARCH64_OPT_EXTENSION. * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE. (MCPU_MTUNE_NATIVE_SPECS): Define. * config/aarch64/driver-aarch64.c: New file. * config/aarch64/x-arch64: New file. * doc/invoke.texi (AArch64 Options): Document native value for -mcpu, -mtune and -march. From-SVN: r222415
Kyrylo Tkachov committed -
* constexpr.c (potential_constant_expression_1) [MINUS_EXPR]: Remove obsolete code. [NE_EXPR]: Likewise. From-SVN: r222414
Jason Merrill committed -
2015-04-24 Tom de Vries <tom@codesourcery.com> PR tree-optimization/65802 * g++.dg/pr65802.C: Move to ... * gcc.dg/pr65802.c: ... here. Add -fexceptions to dg-options. Include stdarg.h. Rewrite for C. (fn1): Use va_list and va_arg. Make variable args function. Add use of va_start and va_end. Remove unnecessary inline asm. From-SVN: r222413
Tom de Vries committed -
* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New. * config/i386/i386.c (extract_base_offset_in_addr): New function. (ix86_operands_ok_for_move_multiple): Ditto. * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern. (movlpd/movhpd to movupd peephole2): Ditto. testsuite/ChangeLog: * gcc.target/i386/sse2-load-multi.c: New test. * gcc.target/i386/sse2-store-multi.c: Ditto. Co-Authored-By: Wei Mi <wmi@google.com> From-SVN: r222410
Uros Bizjak committed -
PR c/63357 * c-common.c (warn_logical_operator): Warn if the operands have the same expressions. * doc/invoke.texi: Update description of -Wlogical-op. * c-c++-common/Wlogical-op-1.c: New test. From-SVN: r222408
Marek Polacek committed -
PR c/65830 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative and OPT_Wshift_count_overflow. * c-c++-common/pr65830.c: New test. From-SVN: r222407
Marek Polacek committed -
PR c/61534 * input.h (from_macro_expansion_at): Define. * c-common.c (warn_logical_operator): Bail if either operand comes from a macro expansion. * c-c++-common/pr61534-1.c: New test. From-SVN: r222406
Marek Polacek committed -
* config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>): Mark operand1 commutative. From-SVN: r222403
Uros Bizjak committed -
unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in fprintf and harmonize spacing. 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com> * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in fprintf and harmonize spacing. From-SVN: r222401
Thomas Preud'homme committed -
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both input operands in memory. (*vec_concatv2si_sse4_1): Ditto. (*vec_concatv2df): Ditto, except for SSE3 and equal input operands. (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to register_operand. (vec_extract_hi_v32hi): Ditto. (vec_extract_hi_v64hi): Ditto. (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto. From-SVN: r222400
Uros Bizjak committed -
2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com> Steven Bosscher <steven@gcc.gnu.org> gcc/ PR rtl-optimization/34503 * cprop.c (cprop_reg_p): New. (hash_scan_set): Use above function to check if register can be propagated. (find_avail_set): Return up to two sets, one whose source is a register and one whose source is a constant. Sets are returned in an array passed as parameter rather than as a return value. (cprop_insn): Use a do while loop rather than a goto. Try each of the sets returned by find_avail_set, starting with the one whose source is a constant. Use cprop_reg_p to check if register can be propagated. (do_local_cprop): Use cprop_reg_p to check if register can be propagated. (implicit_set_cond_p): Likewise. gcc/testsuite/ PR rtl-optimization/34503 * gcc.target/arm/pr64616.c: New file. Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org> From-SVN: r222398
Thomas Preud'homme committed -
gcc/testsuite/ChangeLog * gcc.target/arm/pr42172-1.c: Check str instead of ldr. From-SVN: r222396
Bin Cheng committed -
2015-04-24 Terry Guo <terry.guo@arm.com> * gcc.target/arm/pr65710.c: Update the options. From-SVN: r222393
Terry Guo committed -
* ipa-icf.c (sem_function::equals_wpa): Compare thunk info. (sem_function::equals): IGNORED_NODES parameter is now unused; update call of equals_private. (sem_function::equals_private): Do not call equals_wpa; skip gimple body matching if there is no body. (sem_function::init): Add logic to hash tthunk info. (sem_function::parse): Also parse thunks. * ipa-icf.h (equals_private): Update declaration. From-SVN: r222392
Jan Hubicka committed -
From-SVN: r222391
GCC Administrator committed
-
- 23 Apr, 2015 23 commits
-
-
altivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this can be generated directly. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this can be generated directly. (*altivec_stvx_<mode>_internal): Likewise. * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert that this is never called during or after reload/lra. (rs6000_frame_related): Remove split_reg argument and logic that references it. (emit_frame_save): Remove last parameter from call to rs6000_frame_related. (rs6000_emit_prologue): Remove last parameter from eight calls to rs6000_frame_related. Force generation of stvx instruction for Altivec register saves. Remove split_reg handling, which is no longer needed. (rs6000_emit_epilogue): Force generation of lvx instruction for Altivec register restores. From-SVN: r222385
Bill Schmidt committed -
Revert:PR c++/50800 * tree.c (strip_typedefs): Add remove_attributes parm. (strip_typedefs_expr): Likewise. (apply_identity_attributes): New subroutine of strip_typedefs. * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs. (convert_nontype_argument, unify): Likewise. * cp-tree.h: Adjust. From-SVN: r222384
Jason Merrill committed -
* gcc.target/i386/pr65523.c: Skip x32. From-SVN: r222382
H.J. Lu committed -
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.opt (mcrypto): Change option description to match category changes in ISA 2.07B. From-SVN: r222381
Bill Schmidt committed -
* tree.h (attribute_value_equal): Declare. * tree.c (attribute_value_equal): Export. From-SVN: r222380
Jan Hubicka committed -
* config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code iterators. (cmp_op, cmp_type): New code attributes. (NEON_VCMP, NEON_VACMP): New int iterators. (cmp_op_unsp): New int attribute. * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand. (neon_vceq<mode>): Delete. (neon_vc<cmp_op><mode>_insn): New pattern. (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise. (neon_vcgeu<mode>): Delete. (neon_vcle<mode>): Likewise. (neon_vclt<mode>: Likewise. (neon_vcage<mode>): Likewise. (neon_vcagt<mode>): Likewise. (neon_vca<cmp_op><mode>): New define_expand. (neon_vca<cmp_op><mode>_insn): New pattern. (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise. * gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns to look for vcl* where appropriate. From-SVN: r222379
Kyrylo Tkachov committed -
From-SVN: r222378
Jan Hubicka committed -
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute) PR c++/50800 * tree.c (strip_typedefs): Add remove_attributes parm. (strip_typedefs_expr): Likewise. (apply_identity_attributes): New subroutine of strip_typedefs. * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs. (convert_nontype_argument, unify): Likewise. * cp-tree.h: Adjust. From-SVN: r222377
Jason Merrill committed -
PR c++/65646 * pt.c (check_explicit_specialization): Don't SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template headers. * decl.c (grokvardecl): Revert earlier fix. From-SVN: r222376
Jason Merrill committed -
From-SVN: r222375
Ramana Radhakrishnan committed -
* ipa-icf.c (sem_item::compare_attributes): New function. (sem_item::compare_referenced_symbol_properties): Compare variable attributes. (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN. (sem_function::param_used_p): New function. (sem_function::equals_wpa): Fix attribute comparsion; match parameter type codes; do not compare paremter flags when they are not used; compare edge flags; compare indirect calls. (sem_item::update_hash_by_addr_refs): Hash reference type. (sem_function::equals_private): Do not match DECL_ATTRIBUTES. (sem_variable::equals_wpa): Do not match DECL_ALIGN; match reference use type. (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p. * ipa-icf.h (compare_attributes, param_used_p): Declare. From-SVN: r222374
Jan Hubicka committed -
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace vect_no_align with vect_no_align && { ! vect_hw_misalign }. From-SVN: r222373
Bill Schmidt committed -
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection): cleanup. (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW. (sem_item::compare_referenced_symbol_properties): New. (sem_item::hash_referenced_symbol_properties): New. (sem_item::compare_cgraph_references): Rename to ... (sem_item::compare_symbol_references): ... this one; use compare_referenced_symbol_properties. (sem_function::equals_wpa): Do not compare DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P, DECL_IS_OPERATOR_NEW; compare pointer sizes. (sem_item::update_hash_by_addr_refs): Call hash_referenced_symbol_properties. (sem_item::update_hash_by_local_refs): Cleanup. (sem_function::merge): Do not mix up symbol properties. (sem_variable::equals_wpa): Use compare_symbol_references. * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New. (sem_item::hash_referenced_symbol_properties): New. (sem_item::compare_symbol_references): New. (sem_item::compare_cgraph_references): Remove. From-SVN: r222372
Jan Hubicka committed -
Fix PR target/26702 For Kwok Cheung Yeung. From-SVN: r222371
Ramana Radhakrishnan committed -
PR c/65345 * c-decl.c (set_labels_context_r): New function. (store_parm_decls): Call it via walk_tree_without_duplicates. * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw instead of create_tmp_var. Build TARGET_EXPR instead of COMPOUND_EXPR. (build_atomic_assign): Use create_tmp_var_raw instead of create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR. * gcc.dg/pr65345-1.c: New test. * gcc.dg/pr65345-2.c: New test. From-SVN: r222370
Marek Polacek committed -
* config/rl78/rl78.c (rl78_preferred_reload_class): Add ATTRIBUTE_UNUSED to x parameter. * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78. From-SVN: r222369
Nick Clifton committed -
[gcc] 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change TARGET_CRYPTO to TARGET_P8_VECTOR> (crypto_vpermxor_<mode>): Likewise. * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define. (BU_CRYPTO_3A): Likewise. (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2. (BU_CRYPTO_OVERLOAD_3A): New #define. (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A. (VPMSUMH): Likewise. (VPMSUMW): Likewise. (VPMSUMD): Likewise. (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A. (VPERMXOR_V4SI): Likewise. (VPERMXOR_V8HI): Likewise. (VPERMXOR_V16QI): Likewise. (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to BU_CRYPTO_OVERLOAD_2A. (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to BU_CRYPTO_OVERLOAD_3A. * config/rs6000/rs6000.opt (mcrypto): Change description of option. [gcc/testsuite] 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/crypto-builtin-2.c: New. From-SVN: r222362
Bill Schmidt committed -
gcc/testsuite/ChangeLog: 2015-04-23 Andre Vehreschild <vehre@gmx.de> PF fortran/60322 * gfortran.dg/class_allocate_19.f03: New test. * gfortran.dg/class_array_20.f03: New test. * gfortran.dg/class_array_21.f03: New test. * gfortran.dg/finalize_10.f90: Corrected scan-trees. * gfortran.dg/finalize_15.f90: Fixing comparision to model initialization correctly. * gfortran.dg/finalize_29.f08: New test. gcc/fortran/ChangeLog: 2015-04-23 Andre Vehreschild <vehre@gmx.de> PR fortran/60322 * expr.c (gfc_lval_expr_from_sym): Code to select the regular or class array added. * gfortran.h: Add IS_CLASS_ARRAY macro. * trans-array.c (gfc_add_loop_ss_code): Treat class objects to be referenced always. (build_class_array_ref): Adapt retrieval of array descriptor. (build_array_ref): Likewise. (gfc_conv_array_ref): Hand the vptr or the descriptor to build_array_ref depending whether the sym is class or not. (gfc_trans_array_cobounds): Select correct gfc_array_spec for regular and class arrays. (gfc_trans_array_bounds): Likewise. (gfc_trans_dummy_array_bias): Likewise. (gfc_get_dataptr_offset): Correcting call of build_array_ref. (gfc_conv_expr_descriptor): Set the array's offset to -1 when lbound in inner most dim is 1 and symbol non-pointer/assoc. * trans-decl.c (gfc_build_qualified_array): Select correct gfc_array_spec for regular and class arrays. (gfc_build_dummy_array_decl): Likewise. (gfc_get_symbol_decl): Get a dummy array for class arrays. (gfc_trans_deferred_vars): Tell conv_expr that the descriptor is desired. * trans-expr.c (gfc_class_vptr_get): Get the class descriptor from the correct location for class arrays. (gfc_class_len_get): Likewise. (gfc_conv_intrinsic_to_class): Add handling of _len component. (gfc_conv_class_to_class): Prevent access to unset array data when the array is an optional argument. Add handling of _len component. (gfc_copy_class_to_class): Check that _def_init is non-NULL when used in _vptr->copy() (gfc_trans_class_init_assign): Ensure that the rank of _def_init is zero. (gfc_conv_component_ref): Get the _vptr along with _data refs. (gfc_conv_variable): Make sure the temp array descriptor is returned for class arrays, too, and that class arrays are dereferenced correctly. (gfc_conv_procedure_call): For polymorphic type initialization the initializer has to be a pointer to _def_init stored in a dummy variable, which then needs to be used by value. * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the temporary array descriptor for class arrays, too. (gfc_conv_intrinsic_storage_size): Likewise. (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS expressions. * trans-stmt.c (trans_associate_var): Use a temporary array for the associate variable of class arrays, too, making the array one-based (lbound == 1). * trans-types.c (gfc_is_nodesc_array): Use the correct array data. * trans.c (gfc_build_array_ref): Use the dummy array descriptor when present. * trans.h: Add class_vptr to gfc_se for storing a class ref's vptr. From-SVN: r222361
Andre Vehreschild committed -
2015-04-23 Richard Biener <rguenther@suse.de> * passes.def: Remove copy propagation passes run directly after CCP. * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for SSA names. (ccp_visit_phi_node): Rework to handle first executable edge specially. From-SVN: r222360
Richard Biener committed -
* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove. (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove. (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove. * config/arm/arm.c (arm_legimitimize_reload_address): Remove. (thumb_legimitimize_reload_address): Remove. * config/arm/arm-protos.h (arm_legimitimize_reload_address): Remove. (thumb_legimitimize_reload_address): Remove. From-SVN: r222359
Matthew Wahab committed -
* conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT. From-SVN: r222358
Kyrylo Tkachov committed -
* config/arm/arm.md (load_multiple): Reject operand 2 greater than MAX_LDM_STM_OPS. (store_multiple): Likewise. From-SVN: r222357
Kyrylo Tkachov committed -
* config/arm/arm-protos.h (struct tune_params): Add issue_rate field. * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune): Specify issue_rate value. (arm_issue_rate): Look up issue rate from tuning structs. Remove large switch statement. (arm_marvell_pj4_tune): New struct. * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune struct. From-SVN: r222356
Kyrylo Tkachov committed
-