- 03 Nov, 2015 21 commits
-
-
* lex.c (search_line_sse42): Correctly advance the pointer to an aligned address. From-SVN: r229718
Uros Bizjak committed -
PR c++-common/67882 * c-family/c-common.h (fold_offsetof_1): Add argument. * c-family/c-common.c (fold_offsetof_1): Diagnose more invalid offsetof expressions that reference elements past the end of an array. * c-c++-common/builtin-offsetof-2.c: New test. From-SVN: r229717
Martin Sebor committed -
2015-11-03 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/67982 * gfortran.dg/warn_unused_function_3.f90: New test. From-SVN: r229716
Dominique d'Humieres committed -
From-SVN: r229715
Eric Botcazou committed -
gimple-expr.c (useless_type_conversion_p): Reinstate type canonical check for aggregate types and beef up comment for mode... * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical check for aggregate types and beef up comment for mode check. From-SVN: r229714
Eric Botcazou committed -
From-SVN: r229713
Jason Merrill committed -
2015-11-03 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect data references here. * tree-vect-loop.c: Include cgraph.h. (vect_analyze_loop_2): Collect data references here. * tree-vect-slp.c (find_bb_location): Inline ... (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb. Factor in vect_slp_transform_bb. (vect_slp_transform_bb): Removed. (vect_slp_analyze_bb_1): Collect data references here. * tree-vectorizer.c (pass_slp_vectorize::execute): Call vect_slp_bb. * tree-vectorizer.h (vect_slp_bb): Declare. (vect_slp_analyze_bb): Remove. (vect_slp_transform_bb): Remove. (find_bb_location): Remove. (vect_analyze_data_refs): Remove stmt count reference parameter. From-SVN: r229712
Richard Biener committed -
Reviewed-on: https://go-review.googlesource.com/16588 From-SVN: r229711
Ian Lance Taylor committed -
* Wrap ChangeLog entries to 80 columns. From-SVN: r229707
Paolo Carlini committed -
2015-11-03 Evgeny Stupachenko <evstupac@gmail.com> gcc/ * multiple_target.c (create_dispatcher_calls): Add target check on ifunc. (create_target_clone): Change assembler name for versioned declarations. gcc/testsuite/ * g++.dg/ext/mvc4.C: Add dg-require-ifunc condition. * gcc.target/i386/mvc5.c: Ditto. * gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on resolver. From-SVN: r229706
Evgeny Stupachenko committed -
gcc/c-family/ * c-pragma.c (oacc_pragmas): Add "atomic". * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC. gcc/c/ * c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC. gcc/cp/ * parser.c (cp_parser_omp_construct, cp_parser_pragma): Handle PRAGMA_OACC_ATOMIC. gcc/fortran/ * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC, ST_OACC_END_ATOMIC. (gfc_exec_op): Add EXEC_OACC_ATOMIC. * match.h (gfc_match_oacc_atomic): New prototype. * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New wrapper functions around... (gfc_match_omp_oacc_atomic): ... this new function. (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle EXEC_OACC_ATOMIC. * parse.c (decode_oacc_directive): Handle "atomic", "end atomic". (case_exec_markers): Add ST_OACC_ATOMIC. (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC. (parse_omp_atomic): Rename to... (parse_omp_oacc_atomic): ... this new function. Add omp_p formal parameter. Adjust all users. (parse_executable): Handle ST_OACC_ATOMIC. (is_oacc): Handle EXEC_OACC_ATOMIC. * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle EXEC_OACC_ATOMIC. * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC. * trans-openmp.c (gfc_trans_oacc_directive): Handle EXEC_OACC_ATOMIC. * trans.c (trans_code): Handle EXEC_OACC_ATOMIC. gcc/ * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc. * omp-low.c (check_omp_nesting_restrictions): Allow GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC contexts. gcc/testsuite/ * c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests from here to... * c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them to succeed. libgomp/ * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New file. * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. From-SVN: r229703
Thomas Schwinge committed -
gcc/ * config/aarch64/aarch64-simd-builtins.def (fmulx): New. * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New. * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx builtin. (vmulxq_f32): Likewise. (vmulx_f64): New. (vmulxq_f64): Rewrite to call fmulx builtin. (vmulxs_f32): Likewise. (vmulxd_f64): Likewise. (vmulx_lane_f32): Remove. * config/aarch64/iterators.md (UNSPEC): Add fmulx. gcc/testsuite/ * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New. * gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New. * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New. * gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New. * gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New. * gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New. From-SVN: r229702
Bilyan Borisov committed -
gcc/: * config/aarch64/aarch64.md (*movhf_aarch64): Use aarch64_reg_or_fp_zero for second operand. gcc/testsuite/: * gcc.target/aarch64/fp16/set_zero_1.c: New. From-SVN: r229701
Alan Lawrence committed -
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r229700
Uros Bizjak committed -
2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com> Make the default constructors of tuple and pair conditionally explicit. * include/std/type_traits (is_unsigned, __is_array_unknown_bounds, __is_default_constructible_atom, __is_default_constructible_safe, __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast, __is_nt_default_constructible_impl, is_nothrow_default_constructible, is_nothrow_constructible, is_nothrow_assignable, is_trivially_constructible, is_trivially_copy_constructible, is_trivially_move_constructible, is_trivially_assignable, is_trivially_copy_assignable, is_trivially_move_assignable, is_trivially_destructible): Simplify. * include/std/type_traits ( __do_is_implicitly_default_constructible_impl, __is_implicitly_default_constructible_impl, __is_implicitly_default_constructible_safe, __is_implicitly_default_constructible): New. * include/bits/stl_pair.h (pair::pair()): Use it. * include/std/tuple (tuple<_T1, _T2>::tuple): Use it. * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New. * include/std/tuple (tuple<_Types...>::tuple()): Use it. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. * testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc: New. * testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_implicitly_default_constructible/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise. * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. From-SVN: r229699
Ville Voutilainen committed -
* gcc.dg/mvc1.c: Move to ... * gcc.target/i386/mvc1.c: ... here. Require ifunc. * gcc.dg/mvc2.c: Move to ... * gcc.target/i386/mvc2.c: ... here. * gcc.dg/mvc3.c: Move to ... * gcc.target/i386/mvc3.c: ... here. * gcc.dg/mvc4.c: Move to ... * gcc.target/i386/mvc4.c: ... here. Require ifunc. * gcc.dg/mvc5.c: Move to ... * gcc.target/i386/mvc5.c: ... here. * gcc.dg/mvc6.c: Move to ... * gcc.target/i386/mvc6.c: ... here. * gcc.dg/mvc7.c: Move to ... * gcc.target/i386/mvc7.c: ... here. * g++.dg/ext/mvc1.C: Require ifunc. From-SVN: r229697
Uros Bizjak committed -
for gcc/ChangeLog * gimple-expr.c: Include hash-set.h and rtl.h. (mark_addressable_queue): New var. (mark_addressable): Factor actual marking into... (mark_addressable_1): ... this. Queue it up during expand. (mark_addressable_2): New. (flush_mark_addressable_queue): New. * gimple-expr.h (flush_mark_addressable_queue): Declare. * cfgexpand.c: Include gimple-expr.h. (pass_expand::execute): Flush mark_addressable queue. From-SVN: r229696
Alexandre Oliva committed -
From-SVN: r229695
Alexandre Oliva committed -
Bail out early if the inner block has side effects or is otherwise not eligible for ifcombine. for gcc/ChangeLog * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out bb_no_side_effects_p tests... (tree_ssa_ifcombine_bb): ... here. From-SVN: r229691
Alexandre Oliva committed -
The ifcombine pass may move a conditional access to an uninitialized value before the condition that ensures it is always well-defined, thus introducing undefined behavior. Stop it from doing so. for gcc/ChangeLog PR tree-optimization/68083 * tree-ssa-ifcombine.c: Include tree-ssa.h. (bb_no_side_effects_p): Test for undefined uses too. * tree-ssa.c (gimple_uses_undefined_value_p): New. * tree-ssa.h (gimple_uses_undefined_value_p): Declare. for gcc/testsuite/ChangeLog PR tree-optimization/68083 * gcc.dg/torture/pr68083.c: New. From Zhendong Su. From-SVN: r229690
Alexandre Oliva committed -
From-SVN: r229689
GCC Administrator committed
-
- 02 Nov, 2015 17 commits
-
-
Reviewed-on: https://go-review.googlesource.com/16583 From-SVN: r229686
Ian Lance Taylor committed -
* tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect cases where the loop latch edge is in the middle of an FSM path. * gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have irreducible loops in the CFG. From-SVN: r229685
Jeff Law committed -
2015-11-03 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ... (make_param_constraints): ... this. Add and handle restrict_name parameter. Handle is_full_var case. (intra_create_variable_infos): Use make_param_constraints. From-SVN: r229684
Tom de Vries committed -
2015-11-03 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (make_restrict_var_constraints): Replace make_copy_constraint call with make_constraint_from call. From-SVN: r229683
Tom de Vries committed -
2015-11-02 Andreas Tobler <andreast@gcc.gnu.org> * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle PIE executables. From-SVN: r229680
Andreas Tobler committed -
Reviewed-on: https://go-review.googlesource.com/16580 From-SVN: r229676
Ian Lance Taylor committed -
Attempt to fix a build bug report: ../../../../libgo/go/syscall/exec_linux.go:185:37: error: integer constant overflow _, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp)) Reviewed-on: https://go-review.googlesource.com/16539 From-SVN: r229674
Ian Lance Taylor committed -
libcpp/ChangeLog: * include/line-map.h (source_location): In the table in the descriptive comment, show UNKNOWN_LOCATION, BUILTINS_LOCATION, LINE_MAP_MAX_LOCATION_WITH_COLS, LINE_MAP_MAX_SOURCE_LOCATION. Add notes about ad-hoc values. From-SVN: r229673
David Malcolm committed -
The new routines operate on the built-in enum rather than on tree decls. The idea is to extend this to handle internal functions too, with a combined enum for both. The patch also moves fold_fma too, with the same prototype. The long-term plan is to replace FMA_EXPR with an internal function, for consistency with the way that things like SQRT will be handled. Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu. gcc/ * builtins.h (fold_fma): Move to fold-const-call.h. * builtins.c: Include fold-const-call.h. (mathfn_built_in_2): New function, split out from... (mathfn_built_in_1): ...here. (do_real_to_int_conversion, fold_const_builtin_pow) (fold_const_builtin_logb, fold_const_builtin_significand) (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2) (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete. (fold_builtin_sincos): Use fold_const_call to handle constants. (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit checks for ERROR_MARK. Use fold_const_call to handle constant folds for math functions. (fold_fma): Move to fold-const-call.c. * fold-const.c: Include fold-const-call.h. * Makefile.in (OBJS): Add fold-const-call.o. (PLUGIN_HEADERS): Add fold-const-call.h. * realmpfr.h (real_from_mpfr): Allow the format to be specified directly. * realmpfr.c (real_from_mpfr): Likewise. * fold-const-call.h, fold-const-call.c: New files. From-SVN: r229669
Richard Sandiford committed -
* config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous brackets and semicolon. From-SVN: r229662
Julian Brown committed -
gcc/: tree-scalar-evolution.c (interpret_rhs_expr): Handle some LSHIFT_EXPRs as equivalent MULT_EXPRs. gcc/testsuite/: gcc.dg/vect/vect-strided-shift.c: New. From-SVN: r229660
Alan Lawrence committed -
PR target/67929 * gcc.target/arm/pr67929_1.c: Move to... * gcc.c-torture/execute/pr67929_1.c: ... Here. Remove arm-specific directives. Add noclone, noinline attributes. From-SVN: r229657
Kyrylo Tkachov committed -
gcc/ PR middle-end/68166 * fold-const.c: Include "md5.h". From-SVN: r229652
Thomas Schwinge committed -
* gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector. From-SVN: r229651
Jeff Law committed -
* vmsdbgout.c: Revert unused header file reduction patch. From-SVN: r229650
Jeff Law committed -
From-SVN: r229649
Jeff Law committed -
From-SVN: r229648
GCC Administrator committed
-
- 01 Nov, 2015 2 commits
-
-
Reviewed-on: https://go-review.googlesource.com/16534 From-SVN: r229645
Ian Lance Taylor committed -
re PR go/67968 (go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812) PR go/67968 compiler: Traverse types of call expressions. https://gcc.gnu.org/PR67968 provides a test case that causes a gccgo crash on valid code. The compiler failed to build the hash and equality functions required for a type descriptor. The descriptor is for an unnamed type that is being returned by a function imported from a different package. The unnamed type is being implicitly converted to an interface type by a return statement. The fix is to ensure that the type of a call expression is always traversed. Test case sent out for the master testsuite as https://golang.org/cl/16532 . From-SVN: r229642
Ian Lance Taylor committed
-