Age | Commit message (Collapse) | Author | Files | Lines |
|
gcc/ChangeLog:
2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-builtins.def (vec_nabs, vec_vfi): Fix builtin
flags.
From-SVN: r253544
|
|
The builtin was not correctly defined in the vecintrin.h header file.
gcc/testsuite/ChangeLog:
2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/82463
* gcc.target/s390/zvector/pr82463.c: New test.
gcc/ChangeLog:
2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/82463
* config/s390/vecintrin.h (vec_madd, vec_msub): Fix macro
definitions.
From-SVN: r253543
|
|
The vector double variant is available with z13. A wrong flag in the
s390-builtins.def file triggered an error when compiling for z13.
gcc/testsuite/ChangeLog:
2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/82465
* gcc.target/s390/zvector/pr82465.c: New test.
gcc/ChangeLog:
2017-10-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/82465
* config/s390/s390-builtins.def (vec_sqrt): Fix builtin flags.
From-SVN: r253542
|
|
for intrinsic '__builtin_s390_vec_xor')
PR target/82464
* config/s390/s390-builtins.def (s390_vec_xor_flt_a,
s390_vec_xor_flt_b, s390_vec_xor_flt_c): New.
From-SVN: r253541
|
|
Add missing -fno-short-enums to ensure this test passes on arm-none-eabi
which uses short enums.
gcc/testsuite/
* gcc.dg/tree-ssa/ssa-dse-26.c (dg-options): Add -fno-short-enums.
From-SVN: r253540
|
|
This patch uses global rather than member operators for wide-int.h,
so that the first operand can be a non-wide-int type.
The patch also removes the and_not and or_not member functions.
It was already inconsistent to have member functions for these
two operations (one of which was never used) and not other wi::
ones like udiv. After the operator change, we'd have the additional
inconsistency that "non-wi & wi" would work but "non-wi.and_not (wi)"
wouldn't.
2017-10-09 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* wide-int.h (WI_BINARY_OPERATOR_RESULT): New macro.
(WI_BINARY_PREDICATE_RESULT): Likewise.
(wi::binary_traits::operator_result): New type.
(wi::binary_traits::predicate_result): Likewise.
(generic_wide_int::operator~, unary generic_wide_int::operator-)
(generic_wide_int::operator==, generic_wide_int::operator!=)
(generic_wide_int::operator&, generic_wide_int::and_not)
(generic_wide_int::operator|, generic_wide_int::or_not)
(generic_wide_int::operator^, generic_wide_int::operator+
(binary generic_wide_int::operator-, generic_wide_int::operator*):
Delete.
(operator~, unary operator-, operator==, operator!=, operator&)
(operator|, operator^, operator+, binary operator-, operator*): New
functions.
* expr.c (get_inner_reference): Use wi::bit_and_not.
* fold-const.c (fold_binary_loc): Likewise.
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
* tree-ssa-ccp.c (get_value_from_alignment): Likewise.
(bit_value_binop): Likewise.
* tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
* tree-vrp.c (zero_nonzero_bits_from_vr): Likewise.
(extract_range_from_binary_expr_1): Likewise.
(masked_increment): Likewise.
(simplify_bit_ops_using_ranges): Likewise.
From-SVN: r253539
|
|
2017-10-09 Martin Jambor <mjambor@suse.cz>
PR hsa/82416
gcc/
* hsa-common.h (hsa_op_with_type): New method extend_int_to_32bit.
* hsa-gen.c (hsa_extend_inttype_to_32bit): New function.
(hsa_type_for_scalar_tree_type): Use it. Always force min32int for
COMPLEX types.
(hsa_fixup_mov_insn_type): New function.
(hsa_op_with_type::get_in_type): Use it.
(hsa_build_append_simple_mov): Likewise. Allow sub-32bit
immediates in an assert.
(hsa_op_with_type::extend_int_to_32bit): New method.
(gen_hsa_insns_for_bitfield): Fixup instruction and intermediary
types. Convert to dest type if necessary.
(gen_hsa_insns_for_bitfield_load): Fixup load type if necessary.
(reg_for_gimple_ssa): Pass false as min32int to
hsa_type_for_scalar_tree_type.
(gen_hsa_addr): Fixup type when creating addresable temporary.
(gen_hsa_cmp_insn_from_gimple): Extend operands if necessary.
(gen_hsa_unary_operation): Extend operands and convert to dest type if
necessary. Call hsa_fixup_mov_insn_type.
(gen_hsa_binary_operation): Changed operand types to hsa_op_with_type,
extend operands and convert to dest type if necessary.
(gen_hsa_insns_for_operation_assignment): Extend operands and convert
to dest type if necessary.
(set_output_in_type): Call hsa_fixup_mov_insn_type. Just ude dest
if conversion nt necessary and size matches.
(gen_hsa_insns_for_load): Call hsa_fixup_mov_insn_type, convert
to dest type if necessary.
(gen_hsa_insns_for_store): Call hsa_fixup_mov_insn_type.
(gen_hsa_insns_for_switch_stmt): Likewise. Also extend operands if
necessary.
(gen_hsa_clrsb): Likewise.
(gen_hsa_ffs): Likewise.
(gen_hsa_divmod): Extend operands and convert to dest type if
necessary.
(gen_hsa_atomic_for_builtin): Change type of op to hsa_op_with_type.
libgomp/
* testsuite/libgomp.hsa.c/pr82416.c: New test.
From-SVN: r253538
|
|
2017-10-09 Tom de Vries <tom@codesourcery.com>
* gcc.dg/cold-1.c (foo1): Fix warning line number. Make warning line
number relative.
(abort): Declare.
From-SVN: r253537
|
|
From-SVN: r253536
|
|
This cleans up formatting of many jump patterns. Mostly it is writing
output statements as brace blocks, and deleting default arguments. It
also makes indentation a little bit more consistent, and uses b%T0
(instead of bctr/blr alternatives) in two more places.
* config/rs6000/rs6000.md (conditional branch): Clean up formatting.
Remove empty default arguments. Use a brace block as output
statement.
(conditional return): Ditto.
(jump): Ditto.
(indirect_jump): Ditto. Use b%T0 instead of bctr/blr.
(tablejump, tablejumpsi, tablejumpdi, *tablejump<mode>_internal1):
Ditto.
(group_ending_nop): Ditto.
(doloop_end): Ditto.
(ctr<mode>, ctr<mode>_internal1, ctr<mode>_internal2): Ditto.
(splitters for those): Ditto.
From-SVN: r253532
|
|
Currently we have two patterns for every conditional jump: one jumping
if some condition is met, and the other jumping if it is not met. We
don't need that second form because all our conditions have an opposite
already, and the generic code can deal with that just fine.
This patch deletes that second form. We generated it directly in one
case; adjusted here.
* config/rs6000/rs6000-string.c (expand_strncmp_align_check): Invert
a conditional jump (and the compare for it) so that pc_rtx is the
last operand.
* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Adjust
for the deleted and renamed ctr<mode>_internal[234] patterns.
* config/rs6000/rs6000.md: Delete second conditional branch pattern.
Delete second conditional return pattern.
(ctr<mode>_internal2): Delete this second bdnz pattern.
(ctr<mode>_internal3): Rename to ctr<mode>_internal2.
(ctr<mode>_internal4): Delete this second bdz pattern.
From-SVN: r253531
|
|
* tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values.
(always_initialized_rtx_for_ssa_name_p): New predicate.
* tree-outof-ssa.c (remove_ssa_form): Initialize new field of SA.
(finish_out_of_ssa): Free new field of SA.
* tree-ssa-coalesce.h (get_undefined_value_partitions): Declare.
* tree-ssa-coalesce.c: Include tree-ssa.h.
(get_parm_default_def_partitions): Remove extern keyword.
(get_undefined_value_partitions): New function.
* expr.c (expand_expr_real_1) <expand_decl_rtl>: For a SSA_NAME, do
not set SUBREG_PROMOTED_VAR_P on the sub-register if it may contain
uninitialized bits.
* loop-iv.c (iv_get_reaching_def): Disqualify all subregs.
From-SVN: r253530
|
|
From-SVN: r253529
|
|
2017-10-08 Steven G. Kargl <kargl@gcc.gnu.org>
* check.c (gfc_check_x): Remove function.
* intrinsic.c (add_functions): Use gfc_check_fn_r.
From-SVN: r253528
|
|
* gcc.dg/stack-check-5.c: Skip with -fstack-protector.
* gcc.dg/stack-check-6.c: Likewise.
* gcc.dg/stack-check-6a.c: Likewise.
From-SVN: r253527
|
|
2017-10-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/82375
* module.c : Bump up MOD_VERSION to 15.
(mio_component): Edit comment about PDT specification list.
(mio_expr, mio_symbol): Include the expression and symbol PDT
specification lists in the same way as in mio_component.
From-SVN: r253526
|
|
2017-10-08 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump_prase_tree (show_symbol): Output list of variables in
NAMELIST.
(show_code_node): Add new line for ELSE and END DO for DO
CONCURRENT.
* invoke.texi: Document that the output of
-fdump-fortran-original, -fdump-fortran-optimized and
-fdump-parse-tree is unsable and may lead to ICEs.
From-SVN: r253525
|
|
preffer 128bit.
* i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets
that preffer 128bit.
From-SVN: r253524
|
|
From-SVN: r253523
|
|
of RTX_FRAME_RELATED_P on the insn...
2017-10-08 Olivier Hainque <hainque@adacore.com>
* config/arm/arm.c (arm_set_return_address): Use MEM_VOLATILE_P
on the target mem instead of RTX_FRAME_RELATED_P on the insn to
prevent DSE.
(thumb_set_return_address): Likewise.
From-SVN: r253522
|
|
2017-10-08 Olivier Hainque <hainque@adacore.com>
* common/config/arm/arm-common.c (arm_except_unwind_info):
Handle DWARF2_UNWIND_INFO.
From-SVN: r253521
|
|
2017-10-07 Michael Collison <michael.collison@arm.com>
* config/aarch64/aarch64.md (*aarch64_reg_<optab>_minus<mode>3):
New pattern.
2017-10-07 Michael Collison <michael.collison@arm.com>
* gcc.target/aarch64/var_shift_mask_2.c: New test.
From-SVN: r253520
|
|
From-SVN: r253519
|
|
builtin if...
* builtins.def (BUILT_IN_SETJMP): Declare as library builtin instead
of GCC builtin if DONT_USE_BUILTIN_SETJMP is defined.
* except.c (sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is
defined, force the creation of a new block for a dispatch label.
From-SVN: r253515
|
|
2017-10-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/82375
* class.c (gfc_find_derived_vtab): Return NULL for a passed
pdt template to prevent bad procedures from being written.
* decl.c (gfc_get_pdt_instance): Do not use the default
initializer for pointer and allocatable pdt type components. If
the component is allocatbale, set the 'alloc_comp' attribute of
'instance'.
* module.c : Add a prototype for 'mio_actual_arglist'. Add a
boolean argument 'pdt'.
(mio_component): Call it for the parameter list of pdt type
components with 'pdt' set to true.
(mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
mio_integer for the 'spec_type'.
(mio_actual_arglist): Add the boolean 'pdt' and use it in the
call to mio_actual_arg.
(mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
'pdt' set false.
* resolve.c (get_pdt_spec_expr): Add the parameter name to the
KIND parameter error.
(get_pdt_constructor): Check that cons->expr is non-null.
* trans-array.c (structure_alloc_comps): For deallocation of
allocatable components, ensure that parameterized components
are deallocated first. Likewise, when parameterized components
are allocated, nullify allocatable components first. Do not
recurse into pointer or allocatable pdt components while
allocating or deallocating parameterized components. Test that
parameterized arrays or strings are allocated before freeing
them.
(gfc_trans_pointer_assignment): Call the new function. Tidy up
a minor whitespace issue.
trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
to prevent the expression from being used a second time.
2017-10-07 Paul Thomas <pault@gcc.gnu.org>
PR fortran/82375
* gfortran.dg/pdt_13.f03 : New test.
* gfortran.dg/pdt_14.f03 : New test.
* gfortran.dg/pdt_15.f03 : New test.
From-SVN: r253514
|
|
* invoke.texi (Wsuggest-attribute=cold): Document.
* common.opt (Wsuggest-attribute=cold): New
* ipa-pure-const.c (warn_function_cold): New function.
* predict.c (compute_function_frequency): Use it.
* predict.h (warn_function_cold): Declare.
* gcc.dg/cold-1.c: New testcase.
From-SVN: r253513
|
|
* tree-switch-conversion.c (do_jump_if_equal, emit_cmp_and_jump_insns):
Update profile.
From-SVN: r253512
|
|
2017-10-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80805
* g++.dg/cpp0x/pr80805.C: New.
From-SVN: r253511
|
|
2017-10-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80805
* g++.dg/cpp0x/pr80805.C: New.
From-SVN: r253510
|
|
diagnosed as invalid)
2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49232
* expr.c (gfc_check_pointer_assign): Error
for non-contiguous rhs.
2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49232
* gfortran.dg/contiguous_4.f90: New test.
From-SVN: r253509
|
|
2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.h (async_io_dt): Add external reference.
* io.c (async_io_dt): Add variable.
(compare_to_allowed_values): Add prototyte. Add optional argument
num. If present, set it to the number of the entry that was
matched.
(check_io_constraints): If this is for an asynchronous I/O
statement, set async_io_dt and set the asynchronous flag for
a SIZE tag.
* resolve.c (resolve_transfer): If async_io_dt is set, set
the asynchronous flag on the variable.
(resolve_fl_namelist): If async_io_dt is set, set the asynchronous
flag on all elements of the namelist.
From-SVN: r253508
|
|
non-nvidia devices
2017-10-07 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
Remove acc_device_nvidia references.
* testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
Same.
From-SVN: r253507
|
|
From-SVN: r253506
|
|
2017-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/66690
* g++.dg/cpp1y/pr66690.C: New.
From-SVN: r253502
|
|
* Fix last ChangeLog entry.
From-SVN: r253498
|
|
#defined one)
2017-10-06 Paolo Carlini <paolo.carlini@oracle>
PR c++/47791
* decl.c (finish_function): Take a bool intead of an int; adjust.
* cp-tree.h (finish_function): Adjust declaration.
* decl2.c (generate_tls_wrapper, finish_objects,
finish_static_storage_duration_function): Adjust calls.
* lambda.c (maybe_add_lambda_conv_op, finish_lambda_function):
Likewise.
* method.c (synthesize_method): Likewise.
* optimize.c (maybe_thunk_body, maybe_clone_body): Likewise.
* pt.c (instantiate_decl): Likewise.
* parser.c (cp_parser_function_definition_after_declarator,
cp_parser_late_parsing_for_member, cp_parser_omp_declare_reduction):
Likewise.
(cp_parser_ctor_initializer_opt,
cp_parser_ctor_initializer_opt_and_function_body,
cp_parser_function_try_block,
cp_parser_function_definition_after_declarator,
cp_parser_function_transaction): Return void; adjust declarations.
From-SVN: r253497
|
|
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00385.html
cp/
PR c++/82424
* name-lookup.c (check_local_shadow): Don't try and convert
dependent types.
testsuite/
PR c++/82424
* g++.dg/warn/pr82424.C: New.
From-SVN: r253496
|
|
initializers in c++1z)
PR c++/82299
* decl.c (reshape_init): Suppress warn_useless_cast for direct enum
init.
* typeck.c (convert_for_assignment): Likewise.
* g++.dg/cpp0x/pr82299.C: New test.
From-SVN: r253495
|
|
P0704R1 - fixing const-qualified pointers to members
* typeck2.c (build_m_component_ref): For -std=c++2a allow
pointer to const & qualified method on rvalue.
* g++.dg/cpp2a/ptrmem1.C: New test.
From-SVN: r253494
|
|
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00376.html
Use hash_table for extern "C" names
* name-lookup.c (extern_c_fns): Use hash_table.
(check_extern_c_conflict): Adjust.
(c_linkage_bindings): Adjust.
From-SVN: r253493
|
|
2017-10-06 Martin Liska <mliska@suse.cz>
* sanopt.c (struct sanopt_tree_triplet_hash): Remove inline
keyword for member functions.
(struct sanopt_tree_couple): New struct.
(struct sanopt_tree_couple_hash): New function.
(struct sanopt_ctx): Add new hash_map.
(has_dominating_ubsan_ptr_check): New function.
(record_ubsan_ptr_check_stmt): Likewise.
(maybe_optimize_ubsan_ptr_ifn): Likewise.
(sanopt_optimize_walker): Handle IFN_UBSAN_PTR.
(pass_sanopt::execute): Handle also SANITIZE_POINTER_OVERFLOW.
2017-10-06 Martin Liska <mliska@suse.cz>
* c-c++-common/ubsan/ptr-overflow-sanitization-1.c: New test.
From-SVN: r253492
|
|
function.
* ztest.c (test_large): Pass unsigned long *, not size_t *, to
zlib uncompress function.
From-SVN: r253491
|
|
2017-10-06 Sudakshina Das <sudi.das@arm.com>
PR target/82440
* config/aarch64/predicates.md (aarch64_reg_or_orr_imm): Only call
aarch64_simd_valid_immediate on CONST_VECTORs.
(aarch64_reg_or_bic_imm): Likewise.
*** gcc/testsuite/ChangeLog ***
2017-10-06 Sudakshina Das <sudi.das@arm.com>
* gcc.target/aarch64/bic_imm_1.c: New test.
* gcc.target/aarch64/orr_imm_1.c: Likewise.
From-SVN: r253490
|
|
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00365.html
Use hash_table for namespace bindings
* cp-tree.h (struct named_decl_hash): New.
(lang_decl_ns): Change type of bindings field.
* lex.c (maybe_add_lang_decl_raw): Adjust.
* name-lookup.c (find_namespace_slot): Adjust.
(do_pushdecl): Push NULL-named namespace.
(do_push_nested_namespace): Adjust.
(push_namespace): Push anonymous namespace as NULL name.
From-SVN: r253489
|
|
r253236 broke AArch64 bootstrap. This is a temporary workaround that
disables qsort checking in the scheduler to enable continued development
and testing on AArch64. This will be removed once the autopref scheduling
code has been fixed.
gcc/
PR rtl-optimization/82396
* haifa-sched.c (ready_sort_real): Disable qsort checking.
From-SVN: r253487
|
|
2017-10-06 Sebastian Pop <sebpop@gmail.com>
* graphite-dependences.c (scop_get_reads): Move code to...
(scop_get_must_writes): Move code to...
(scop_get_may_writes): Move code to...
(scop_get_reads_and_writes): ... here.
(scop_get_dependences): Call scop_get_reads_and_writes.
From-SVN: r253486
|
|
2017-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60153
* g++.dg/cpp0x/variadic-crash3.C: New.
From-SVN: r253484
|
|
PR tree-optimization/82434
* fold-const.h (can_native_encode_type_p,
can_native_encode_string_p): Remove.
* fold-const.c (native_encode_int): Formatting fixes. If ptr is NULL,
don't encode anything, just return what would be otherwise returned.
(native_encode_fixed, native_encode_complex, native_encode_vector):
Likewise.
(native_encode_string): Likewise. Inline by hand
can_native_encode_string_p.
(can_native_encode_type_p): Remove.
(can_native_encode_string_p): Remove.
* tree-vect-stmts.c (vectorizable_store): Instead of testing just
STRING_CSTs using can_native_encode_string_p, test all
CONSTANT_CLASS_P values using native_encode_expr with NULL ptr.
* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Remove last
argument from native_encode_expr.
(rhs_valid_for_store_merging_p): Use native_encode_expr with NULL ptr.
(pass_store_merging::execute): Don't unnecessarily look for 3 stmts,
but just 2.
* gcc.dg/store_merging_9.c: New test.
From-SVN: r253483
|
|
output: 1 in vect_analyze_data_ref_accesses)
2017-10-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/82397
* tree-vect-data-refs.c (dr_group_sort_cmp): Do not use
operand_equal_p but rely on data_ref_compare_tree for detecting
equalities.
(vect_analyze_data_ref_accesses): Use data_ref_compare_tree
to match up with dr_group_sort_cmp.
* gfortran.dg/pr82397.f: New testcase.
From-SVN: r253482
|
|
vec_ceil and friends are expanded by vecintrin.h to __builtin_s390_vfi
which is an overloaded builtin being replaced by either
__builtin_s390_vfisb or __builtin_s390_vfidb depending on its argument
types.
The problem in this PR was that the overloaded builtin definition of
__builtin_s390_vfi was missing in s390-builtins.def.
gcc/ChangeLog:
2017-10-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/82322
* config/s390/s390-builtins.def (s390_vfi): Define new overloaded
builtin.
* config/s390/s390-builtin-types.def: Regenerate.
gcc/testsuite/ChangeLog:
2017-10-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/82322
* gcc.target/s390/zvector/pr82322.c: New test.
From-SVN: r253481
|