vries [Tue, 17 Nov 2015 21:42:27 +0000 (21:42 +0000)]
Make fdump-tree-sccp-details more complete
2015-11-17 Tom de Vries <tom@codesourcery.com>
* tree-scalar-evolution.c (scev_const_prop): Dump details if replacing
uses of ssa_name with constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230504
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 17 Nov 2015 21:42:18 +0000 (21:42 +0000)]
Clear LOOP_CLOSED_SSA after pass_ccp
2015-11-17 Tom de Vries <tom@codesourcery.com>
* tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if
something changed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230503
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 17 Nov 2015 21:42:09 +0000 (21:42 +0000)]
Add in_oacc_kernels_region in struct loop
2015-11-17 Tom de Vries <tom@codesourcery.com>
* cfgloop.h (struct loop): Add in_oacc_kernels_region field.
* omp-low.c (mark_loops_in_oacc_kernels_region): New function.
(expand_omp_target): Call mark_loops_in_oacc_kernels_region.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230502
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 17 Nov 2015 21:32:14 +0000 (21:32 +0000)]
Preliminary regrename patch for i386 ROP patch
* regrename.c (regrename_find_superclass): New function, code moved
from ...
(rename_chains): ... here. Call it.
* regrename.h (regrename_find_superclass): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230501
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 17 Nov 2015 21:24:38 +0000 (21:24 +0000)]
Ensure earlyclobbered operands go through a terminate_write stage.
* regrename.c (record_out_operands): Terminate earlyclobbered
operands here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230500
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 17 Nov 2015 21:20:20 +0000 (21:20 +0000)]
PR target/66785
* regrename.c (record_operand_use): Keep track of failed operands
and stop appending if we see any.
* regrename.h (struct operand_rr_info): Add a failed field and shrink
n_chains to short.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230499
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Tue, 17 Nov 2015 21:07:15 +0000 (21:07 +0000)]
2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
PR 48568
* doc/extend.texi (Common Function Attributes) [visibility]:
Add cross-references to matching variable and type attributes.
(Common Variable Attributes) [visibility]: Add missing entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230498
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 17 Nov 2015 20:09:56 +0000 (20:09 +0000)]
Fix uninitialized src_range values for c_expr
gcc/c/ChangeLog:
* c-parser.c (set_c_expr_source_range): Bulletproof both
overloaded implementations against NULL expr->value.
(c_parser_braced_init): Set src_range for "ret" to a sane pair of
values.
(c_parser_unary_expression): Likewise when handling addresses of
labels.
(c_parser_postfix_expression): Likewise for statement expressions,
for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for
__builtin_va_arg, and for __builtin_offset_of.
(c_parser_postfix_expression_after_paren_type): Initialize expr's
src_range using the range of the braced initializer.
(c_parser_transaction_expression): Set src_range for "ret" to a
sane pair of values.
gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-expressions-1.c (vector): New
macro.
(test_braced_init): New function.
(test_statement_expression): New function.
(test_address_of_label): New function.
(test_transaction_expressions): New function.
(test_keywords): New function.
(test_builtin_va_arg): New function.
(test_builtin_offsetof): New function.
* lib/multiline.exp (_build_multiline_regex): Escape braces.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230497
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 17 Nov 2015 19:54:33 +0000 (19:54 +0000)]
PR libstdc++/66059 optimise _Build_index_tuple
PR libstdc++/66059
* include/std/utility (_Build_index_tuple): Optimise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230496
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Tue, 17 Nov 2015 19:51:10 +0000 (19:51 +0000)]
2015-11-17 Steven G. Kargl <kargl@gcc.gnu.org>
* primary.c (gfc_match_structure_constructor): Fix whitespace.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230495
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:56:52 +0000 (18:56 +0000)]
Simplify rs6000_builtin_vectorized_function
After the previous patches it's no longer necessary for
TARGET_BUILTIN_VECTORIZED_FUNCTION to return functions that
map to the vector optab of the original operation. We'll use
a vector form of the internal function instead.
Tested on powerpc64-linux-gnu.
gcc/
* config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove
entries that map directly to optabs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230494
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:56:21 +0000 (18:56 +0000)]
Simplify ix86_builtin_vectorized_function
After the previous patches it's no longer necessary for
TARGET_BUILTIN_VECTORIZED_FUNCTION to return functions that
map to the vector optab of the original operation. We'll use
a vector form of the internal function instead.
Tested on x86_64-linux-gnu.
gcc/
* config/i386/i386.c (ix86_builtin_vectorized_function): Remove
entries that map directly to optabs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230493
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:55:55 +0000 (18:55 +0000)]
Vectorize internal functions
This patch tries to vectorize built-in and internal functions as
internal functions first, falling back on the current built-in
target hooks otherwise.
This means that we'll automatically pick up vector versions of optabs
without the target having to implement any special hooks. E.g. we'll
use V4SF sqrt if the target defines a "sqrtv4sf2" optab. As well as
being simpler, it means that the target-independent code has more
idea what the vectorized function does.
Tested on x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnu and
powerpc64-linux-gnu.
gcc/
* internal-fn.h (direct_internal_fn_info): Add vectorizable flag.
* internal-fn.c (direct_internal_fn_array): Update accordingly.
* tree-vectorizer.h (vectorizable_function): Delete.
* tree-vect-stmts.c: Include internal-fn.h.
(vectorizable_internal_function): New function.
(vectorizable_function): Inline into...
(vectorizable_call): ...here. Explicitly reject calls that read
from or write to memory. Try using an internal function before
falling back on the old vectorizable_function behavior.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230492
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:55:13 +0000 (18:55 +0000)]
Make builtin_vectorized_function take a combined_fn
This patch replaces the fndecl argument to builtin_vectorized_function
with a combined_fn and gets the vectoriser to call it for internal
functions too. The patch also moves vectorisation of machine-specific
built-ins to a new hook, builtin_md_vectorized_function.
Tested on x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnu and
powerpc64-linux-gnu.
gcc/
* target.def (builtin_vectorized_function): Take a combined_fn (in
the form of an unsigned int) rather than a function decl.
(builtin_md_vectorized_function): New.
* targhooks.h (default_builtin_vectorized_function): Replace the
fndecl argument with an unsigned int.
(default_builtin_md_vectorized_function): Declare.
* targhooks.c (default_builtin_vectorized_function): Replace the
fndecl argument with an unsigned int.
(default_builtin_md_vectorized_function): New function.
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION):
New hook.
* doc/tm.texi: Regenerate.
* tree-vect-stmts.c (vectorizable_function): Update call to
builtin_vectorized_function, also passing internal functions.
Call builtin_md_vectorized_function for target-specific builtins.
* config/aarch64/aarch64-protos.h
(aarch64_builtin_vectorized_function): Replace fndecl argument
with an unsigned int.
* config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h.
(aarch64_builtin_vectorized_function): Update after above changes.
Use CASE_CFN_*.
* config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace
fndecl argument with an unsigned int.
* config/arm/arm-builtins.c: Include case-cfn-macros.h
(arm_builtin_vectorized_function): Update after above changes.
Use CASE_CFN_*.
* config/i386/i386.c: Include case-cfn-macros.h
(ix86_veclib_handler): Take a combined_fn rather than a
built_in_function.
(ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use
mathfn_built_in rather than calling builtin_decl_implicit directly.
(ix86_builtin_vectorized_function) Update after above changes.
Use CASE_CFN_*.
* config/rs6000/rs6000.c: Include case-cfn-macros.h
(rs6000_builtin_vectorized_libmass): Replace fndecl argument
with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather
than calling builtin_decl_implicit directly.
(rs6000_builtin_vectorized_function): Update after above changes.
Use CASE_CFN_*. Move BUILT_IN_MD to...
(rs6000_builtin_md_vectorized_function): ...this new function.
(TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230491
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:54:36 +0000 (18:54 +0000)]
Use IFN_SQRT in tree-vect-patterns.c
In practice all targets that can vectorise sqrt define the appropriate
sqrt<mode>2 optab. The only case where this isn't immediately obvious
is the libmass support in rs6000.c, but Mike Meissner said that it shouldn't
be exercised for sqrt.
This patch therefore uses the internal function interface instead of
going via the target hook.
Tested on x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi and
powerpc64-linux-gnu.
gcc/
* tree-vect-patterns.c: Include internal-fn.h.
(vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230490
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:53:43 +0000 (18:53 +0000)]
Remove dead macros
Nothing uses these macros and removing them makes it more likely
that future code will use CASE_CFN_* instead.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P)
(BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230489
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:51:55 +0000 (18:51 +0000)]
Extend tree-call-cdce to calls whose result is used
For -fmath-errno, builtins.c currently expands calls to sqrt to:
y = sqrt_optab (x);
if (y != y)
[ sqrt (x); or errno = EDOM; ]
The drawbacks of this are:
- the call to sqrt is protected by the result of the optab rather
than the input. It would be better to check __builtin_isless (x, 0),
like tree-call-cdce.c does.
- the branch isn't exposed at the gimple level and so gets little
high-level optimisation.
- we do this for log too, but for log a zero input produces
-inf rather than a NaN, and sets errno to ERANGE rather than EDOM.
This patch moves the code to tree-call-cdce.c instead, with the optab
operation being represented as an internal function. This means that
we can use the existing argument-based range checks rather than the
result-based checks and that we get more gimple optimisation of
the branch.
Previously the pass was only enabled by default at -O2 or above,
but the old builtins.c code was enabled at -O. The patch therefore
enables the pass at -O as well.
The previous patch to cfgexpand.c handled cases where functions
don't (or are assumed not to) set errno, so this patch makes
the builtins.c code dead.
Tested on x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi
and visium-elf (for the EDOM stuff).
gcc/
* builtins.c (expand_errno_check, expand_builtin_mathfn)
(expand_builtin_mathfn_2): Delete.
(expand_builtin): Remove handling of functions with
internal function equivalents.
* internal-fn.def (SET_EDOM): New internal function.
* internal-fn.h (set_edom_supported_p): Declare.
* internal-fn.c (expand_SET_EDOM): New function.
(set_edom_supported_p): Likewise.
* tree-call-cdce.c: Include builtins.h and internal-fn.h.
Rewrite comment at head of file.
(is_call_dce_candidate): Rename to...
(can_test_argument_range): ...this. Don't check gimple_call_lhs
or gimple_call_builtin_p here.
(edom_only_function): New function.
(shrink_wrap_one_built_in_call_with_conds): New function, split out
from...
(shrink_wrap_one_built_in_call): ...here.
(can_use_internal_fn, use_internal_fn): New functions.
(shrink_wrap_conditional_dead_built_in_calls): Call use_internal_fn
for calls that have an lhs.
(pass_call_cdce::gate): Remove optimize_function_for_speed_p check.
(pass_call_cdce::execute): Skip blocks that are optimized for size.
Check gimple_call_builtin_p here. Use can_use_internal_fn for
calls with an lhs.
* opts.c (default_options_table): Enable -ftree-builtin-call-cdce
at -O and above.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230488
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:51:20 +0000 (18:51 +0000)]
Short-cut generation of simple built-in functions
This patch short-circuits the builtins.c expansion code for a particular
gimple call if:
- the function has an associated internal function
- the target implements that internal function
- the call has no side effects
This allows a later patch to remove the builtins.c code, once calls with
side effects have been handled.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* builtins.h (called_as_built_in): Declare.
* builtins.c (called_as_built_in): Make external.
* internal-fn.h (expand_internal_call): Define a variant that
specifies the internal function explicitly.
* internal-fn.c (expand_load_lanes_optab_fn)
(expand_store_lanes_optab_fn, expand_ANNOTATE, expand_GOMP_SIMD_LANE)
(expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE)
(expand_GOMP_SIMD_ORDERED_START, expand_GOMP_SIMD_ORDERED_END)
(expand_UBSAN_NULL, expand_UBSAN_BOUNDS, expand_UBSAN_VPTR)
(expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, expand_TSAN_FUNC_EXIT)
(expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB)
(expand_UBSAN_CHECK_MUL, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW)
(expand_MUL_OVERFLOW, expand_LOOP_VECTORIZED)
(expand_mask_load_optab_fn, expand_mask_store_optab_fn)
(expand_ABNORMAL_DISPATCHER, expand_BUILTIN_EXPECT, expand_VA_ARG)
(expand_UNIQUE, expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS)
(expand_GOACC_LOOP, expand_GOACC_REDUCTION, expand_direct_optab_fn)
(expand_unary_optab_fn, expand_binary_optab_fn): Add an internal_fn
argument.
(internal_fn_expanders): Update prototype.
(expand_internal_call): Define a variant that specifies the
internal function explicitly. Use it to implement the previous
interface.
* cfgexpand.c (expand_call_stmt): Try to expand calls to built-in
functions as calls to internal functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230487
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:49:10 +0000 (18:49 +0000)]
Replace match.pd DEFINE_MATH_FNs with auto-generated lists
This patch autogenerates the operator lists for maths functions
like SQRT, adding an additional entry for internal functions.
E.g.:
(define_operator_list SQRT
BUILT_IN_SQRTF
BUILT_IN_SQRT
BUILT_IN_SQRTL
IFN_SQRT)
and:
(define_operator_list CABS
BUILT_IN_CABSF
BUILT_IN_CABS
BUILT_IN_CABSL
null)
(since there's no internal function for CABS).
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd.
(generated_files): Likewise.
(s-cfn-operators, cfn-operators.pd): New rules.
(s-match): Depend on cfn-operators.pd.
* gencfn-macros.c: Expand comment to describe -o behavior.
(print_define_operator_list): New function.
(main): Accept -o. Call print_define_operator_list.
* genmatch.c (main): Add the current directory to the include path.
* match.pd (DEFINE_MATH_FN): Delete. Include cfn-operators.pd
instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230486
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:48:23 +0000 (18:48 +0000)]
Add null identifiers to genmatch
This patch adds a null identifier that can never match anything and
can never be generated. It is only valid in operator lists and fors.
Later patches will add uses of it.
The idea is to allow operator lists for maths functions that have
four entries:
- float built-in
- double built-in
- long double built-in
- internal function
Not all maths functions have an associated internal function,
and for those the final operator will be "null". Any simplification
that tries to use a null substitution will be skipped.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* doc/match-and-simplify.texi: Document the "null" identifier.
* genmatch.c (id_base::NULL_ID): New kind.
(null_id): New variable.
(get_operator): Add a parameter that says whether null identifiers
are allowed.
(contains_id): New function.
(lower_for): Skip substitutions that would have a null_id in
either the match or the result.
(parser::parse_for): Allow the null identifier to be used.
(parser::parse_operator_list): Likewise.
(main): Initialize null_id.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230485
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:47:44 +0000 (18:47 +0000)]
Add genmatch support for internal functions
This patch makes genmatch match calls based on combined_fn rather
than built_in_function and extends the matching to internal functions.
It also uses fold_const_call to fold the calls to a constant, rather
than going through fold_builtin_n.
In order to slightly simplify the code and remove potential
ambiguity, the patch enforces lower case for tree codes
(foo->FOO_EXPR), caps for functions (no built_in_hypot->BUILT_IN_HYPOT)
and requires an exact match for user-defined identifiers. The first two
were already met in practice but there were a couple of cases where
operator lists were defined in one case and used in another.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* match.pd: Use HYPOT and COS rather than hypot and cos.
Use CASE_CFN_* macros. Guard log/exp folds with
SCALAR_FLOAT_TYPE_P.
* genmatch.c (internal_fn): New enum.
(fn_id::fn): Change to an unsigned int.
(fn_id::fn_id): Accept internal_fn too.
(add_builtin): Rename to...
(add_function): ...this and turn into a template.
(get_operator): Only try one variation if the original name fails.
Only add _EXPR if the original name was all lower case.
Try converting internal and built-in function names to their
CFN equivalents.
(expr::gen_transform): Use maybe_build_call_expr_loc for generic.
(dt_simplify::gen_1): Likewise.
(dt_node::gen_kids_1): Use gimple_call_combined_fn for gimple
and get_call_combined_fn for generic.
(dt_simplify::gen): Use combined_fn as the type of fn_ids.
(decision_tree::gen): Likewise.
(main): Use lower case in the strings for {VIEW_,}CONVERT[012].
Use add_function rather than add_builtin. Register internal
functions too.
* generic-match-head.c: Include case-cfn-macros.h.
* gimple-fold.c (replace_stmt_with_simplification): Use
gimple_call_combined_fn to test whether we can keep an
existing call.
* gimple-match.h (code_helper): Replace built_in_function
with combined_fn.
* gimple-match-head.c: Include fold-const-call.h, internal-fn.h
and case-fn-macros.h.
(gimple_resimplify1): Use fold_const_call.
(gimple_resimplify2, gimple_resimplify3): Likewise.
(build_call_internal, build_call): New functions.
(maybe_push_res_to_seq): Use them.
(gimple_simplify): Use fold_const_call. Set *rcode to a combined_fn
rather than a built-in function.
* tree.h (build_call_expr_internal_loc): Declare.
(maybe_build_call_expr_loc): Likewise.
* tree.c (build_call_expr_internal_loc_array): New function.
(maybe_build_call_expr_loc): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230484
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:47:02 +0000 (18:47 +0000)]
Extend mathfn_built_in to handle combined_fn
This patch extends mathfn_built_in to handle combined_fn, but keeps the
old built_in_function interface around since it's a common case.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* builtins.h (mathfn_built_in): Add a variant that takes
a combined_fn.
* builtins.c: Include case-cfn-macros.h.
(CASE_MATHFN): Use CASE_CFN_*.
(CASE_MATHFN_REENT): Use CFN_ codes.
(mathfn_built_in_2, mathfn_built_in_1): Replace built_in_function
argument with a combined_fn.
(mathfn_built_in): Add a variant that takes a combined_fn.
(expand_builtin_int_roundingfn_2): Update callers accordingly.
(fold_builtin_sincos, fold_builtin_classify): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230483
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:46:22 +0000 (18:46 +0000)]
Use combined_fn in tree-vect-patterns.c
Another patch to extend uses of built_in_function to combined_fn,
this time in tree-vect-patterns.c. The old code didn't handle the
long double pow variants, but I think that's because noone had a target
that would benefit rather than because the code would mishandle them.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* tree-vect-patterns.c: Include case-cfn-macros.h.
(vect_recog_pow_pattern): Use combined_fn instead of built-in codes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230482
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:45:41 +0000 (18:45 +0000)]
Use combined_fn in tree-ssa-math-opts.c
Another patch to extend uses of built_in_function to combined_fn, this time
in tree-ssa-math-opts.c.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* tree-ssa-math-opts.c: Include case-cfn-macros.h.
(execute_cse_sincos_1): Use combined_fn instead of built-in codes.
(pass_cse_sincos::execute): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230481
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:45:20 +0000 (18:45 +0000)]
Use combined_fn in tree-ssa-reassoc.c
Another patch to extend uses of built_in_function to combined_fn, this time
in tree-ssa-reassoc.c.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* tree-ssa-reassoc.c: Include case-cfn-macros.h.
(stmt_is_power_of_op): Use combined_fn instead of built-in codes.
(decrement_power, acceptable_pow_call): Likewise.
(attempt_builtin_copysign): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230480
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:44:22 +0000 (18:44 +0000)]
Use combined_fn in tree-vrp.c
Another patch to extend uses of built_in_function to combined_fn, this time
in tree-vrp.c.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* tree-vrp.c: Include case-cfn-macros.h.
(extract_range_basic): Switch on combined_fn rather than handling
built-in functions and internal functions separately.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230479
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:43:42 +0000 (18:43 +0000)]
Make more use of combined_fn
This patch generalises fold-const.[hc] routines to use combined_fn
instead of built_in_function. It also updates gimple-ssa-backprop,c
since the update is simple and it avoids churn on the call to
negate_mathfn_p.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* fold-const.h (negate_mathfn_p): Take a combined_fn rather
than a built_in_function.
(tree_call_nonnegative_warnv_p): Take a combined_fn rather than
a function decl.
(integer_valued_real_call_p): Likewise.
* fold-const.c: Include case-cfn-macros.h
(negate_mathfn_p): Take a combined_fn rather than a built_in_function.
(negate_expr_p): Update accordingly.
(tree_call_nonnegative_warnv_p): Take a combined_fn rather than
a function decl.
(integer_valued_real_call_p): Likewise.
(tree_invalid_nonnegative_warnv_p): Update accordingly.
(integer_valued_real_p): Likewise.
* gimple-fold.c (gimple_call_nonnegative_warnv_p): Update call
to tree_call_nonnegative_warnv_p.
(gimple_call_integer_valued_real_p): Likewise
integer_valued_real_call_p.
* gimple-ssa-backprop.c: Include case-cfn-macros.h.
(backprop::process_builtin_call_use): Extend to combined_fn.
(strip_sign_op_1): Likewise.
(backprop::process_use): Don't check for built-in calls here.
(backprop::execute): Likewise.
(backprop::optimize_builtin_call): Update call to negate_mathfn_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230478
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:42:48 +0000 (18:42 +0000)]
Extend fold_const_call to combined_fn
This patch extends fold_const_call so that it can handle internal
as well as built-in functions.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* fold-const-call.h (fold_const_call): Replace built_in_function
arguments with combined_fn arguments.
* fold-const-call.c: Include case-cfn-macros.h.
(fold_const_call_ss, fold_const_call_cs, fold_const_call_sc)
(fold_const_call_cc, fold_const_call_sss, fold_const_call_ccc)
(fold_const_call_ssss, fold_const_call_1, fold_const_call): Replace
built_in_function arguments with combined_fn arguments.
* builtins.c (fold_builtin_sincos, fold_builtin_1, fold_builtin_2)
(fold_builtin_3): Update calls to fold_const_call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230477
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:41:55 +0000 (18:41 +0000)]
Add gencfn-macros.c
This patch automatically generates case macros such as:
CASE_CFN_SQRT
for each {F,,L} floating-point built-in function and each {,L,LL,IMAX}
integer built-in function. The macros match the same built-in
functions as CASE_FLT_FN and CASE_INT_FN but in addition include
the associated internal function, if any.
The idea is to make sure that users of combined_fn don't need to know
which built-in functions have internal-function equivalents. If we add
a new function to internal-fn.def, all combined_fn users should pick it
up automatically.
The generator wants to use "hash_set <nofree_string_hash>",
so the patch follows hash_map in using the types given by the
traits as the key. This is a no-op for current users of hash_set.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* Makefile.in (HASH_TABLE_H): Add GGC_H.
(MOSTLYCLEANFILES, generated_files): Add case-fn-macros.h.
(s-case-cfn-macros, case-cfn-macros.h, build/gencfn-macros.o)
(build/gencfn-macros$(build_exeext): New rules.
(genprogerr): Add cfn-macros.
* hash-set.h (hash_set): Use the traits value_type as the key.
* gencfn-macros.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230476
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:40:31 +0000 (18:40 +0000)]
Add internal bitcount functions
This patch adds internal function equivalents of all the INT_FN functions.
Unlike the math functions, these functions never set errno and the internal
functions should be exactly equivalent to the built-in ones. The reason
for defining the internal functions is so that we can extend the
functionality to other modes, in particular vector modes.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* internal-fn.def (DEF_INTERNAL_INT_FN): New macro.
(CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): New functions.
* builtins.c (associated_internal_fn): Handle them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230475
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:39:02 +0000 (18:39 +0000)]
Add internal math functions
This patch adds internal functions for simple FLT_FN built-in functions,
in cases where an associated optab already exists. Unlike some of the
built-in functions, these internal functions never set errno.
LDEXP is an odd-one out in that its second operand is an integer.
All the others operate on uniform types.
The patch also adds a function to query the internal function associated
with a built-in function (if any), and another to test whether a given
gcall could be replaced by a call to an internal function on the current
target (as long as the caller deals with errno appropriately).
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* builtins.h (associated_internal_fn): Declare.
(replacement_internal_fn): Likewise.
* builtins.c: Include internal-fn.h
(associated_internal_fn, replacement_internal_fn): New functions.
* internal-fn.def (DEF_INTERNAL_FLT_FN): New macro.
(ACOS, ASIN, ATAN, COS, EXP, EXP10, EXP2, EXPM1, LOG, LOG10, LOG1P)
(LOG2, LOGB, SIGNIFICAND, SIN, SQRT, TAN, CEIL, FLOOR, NEARBYINT)
(RINT, ROUND, TRUNC, ATAN2, COPYSIGN, FMOD, POW, REMAINDER, SCALB)
(LDEXP): New functions.
* internal-fn.c: Include recog.h.
(unary_direct, binary_direct): New macros.
(expand_direct_optab_fn): New function.
(expand_unary_optab_fn): New macro.
(expand_binary_optab_fn): Likewise.
(direct_unary_optab_supported_p): Likewise.
(direct_binary_optab_supported_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230474
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:37:45 +0000 (18:37 +0000)]
Add basic support for direct_optab internal functions
This patch adds a concept of internal functions that map directly to an
optab (here called "direct internal functions"). The function can only
be used if the associated optab can be used.
We currently have four functions like that:
- LOAD_LANES
- STORE_LANES
- MASK_LOAD
- MASK_STORE
so the patch converts them to the new infrastructure. These four
all need different types of optabs, but future patches will add
regular unary and binary ones.
In general we need one or two modes to decide whether an optab is
supported, depending on whether it's a convert_optab or not.
This in turn means that we need up to two types to decide whether
an internal function is supported. The patch records which types
are needed for each internal function, using -1 if the return type
should be used and N>=0 if the type of argument N should be used.
(LOAD_LANES and STORE_LANES are unusual in that both optab modes
come from the same array type.)
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* coretypes.h (tree_pair): New type.
* internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro. Use it
for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES.
* internal-fn.h (direct_internal_fn_info): New structure.
(direct_internal_fn_array): Declare.
(direct_internal_fn_p, direct_internal_fn): New functions.
(direct_internal_fn_types, direct_internal_fn_supported_p): Declare.
* internal-fn.c (not_direct, mask_load_direct, load_lanes_direct)
(mask_store_direct, store_lanes_direct): New macros.
(direct_internal_fn_array) New array.
(get_multi_vector_move): Return the optab handler without asserting
that it is available.
(expand_LOAD_LANES): Rename to...
(expand_load_lanes_optab_fn): ...this and add an optab argument.
(expand_STORE_LANES): Rename to...
(expand_store_lanes_optab_fn): ...this and add an optab argument.
(expand_MASK_LOAD): Rename to...
(expand_mask_load_optab_fn): ...this and add an optab argument.
(expand_MASK_STORE): Rename to...
(expand_mask_store_optab_fn): ...this and add an optab argument.
(direct_internal_fn_types, direct_optab_supported_p)
(multi_vector_optab_supported_p, direct_internal_fn_supported_p)
(direct_internal_fn_supported_p): New functions.
(direct_mask_load_optab_supported_p): New macro.
(direct_load_lanes_optab_supported_p): Likewise.
(direct_mask_store_optab_supported_p): Likewise.
(direct_store_lanes_optab_supported_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230473
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 17 Nov 2015 18:34:47 +0000 (18:34 +0000)]
Add a combined_fn enum
I'm working on a patch series that needs to be able to treat built-in
functions and internal functions in a similar way. This patch adds a
new enum, combined_fn, that combines the two together. It also adds
utility functions for seeing which combined_fn (if any) is called by
a given CALL_EXPR or gcall.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/
* tree-core.h (internal_fn): Move immediately after the definition
of built_in_function.
(combined_fn): New enum.
* tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn)
(internal_fn_p, as_internal_fn): New functions.
(get_call_combined_fn, combined_fn_name): Declare.
* tree.c (get_call_combined_fn): New function.
(combined_fn_name): Likewise.
* gimple.h (gimple_call_combined_fn): Declare.
* gimple.c (gimple_call_combined_fn): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230472
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 17 Nov 2015 18:16:35 +0000 (18:16 +0000)]
PR bootstrap/68346
* c-common.c (warn_tautological_cmp): Fold before checking for
constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230471
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 17 Nov 2015 18:16:29 +0000 (18:16 +0000)]
PR bootstrap/68361
* cvt.c (cp_convert_and_check): Use warning_sentinel to suppress
-Wparentheses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230470
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Tue, 17 Nov 2015 18:15:34 +0000 (18:15 +0000)]
Fix PR number in ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230469
138bc75d-0d04-0410-961f-
82ee72b054a4
msebor [Tue, 17 Nov 2015 18:09:36 +0000 (18:09 +0000)]
PR c++/68308 - [6 Regression] ICE: tree check: expected integer_cst,
have var_decl in decompose, at tree.h:5105
gcc/
* cp/init.c (build_new_1): Check for expression constness
the right way.
testsuite/
* g++.dg/init/new46.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230468
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Tue, 17 Nov 2015 18:06:01 +0000 (18:06 +0000)]
2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
PR target/56036
* doc/invoke.texi (Option Summary): Add -mms-bitfields to x86
option list.
(x86 Options): Add -mms-bitfields and -mno-ms-bitfields. Move
discussion of the Microsoft structure layout details here from
its former home in extend.texi.
* doc/extend.texi (x86 Variable Attributes): Replace detailed
discussion with pointer to its new location. Add cross-reference
to corresponding type attributes.
(x86 Type Attributes): Add cross-references to command-line options
and variable attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230467
138bc75d-0d04-0410-961f-
82ee72b054a4
cesar [Tue, 17 Nov 2015 17:29:34 +0000 (17:29 +0000)]
libgomp/
* config/nvptx/priority_queue.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230466
138bc75d-0d04-0410-961f-
82ee72b054a4
dominiq [Tue, 17 Nov 2015 16:29:45 +0000 (16:29 +0000)]
2015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/65751
* expr.c (gfc_check_pointer_assign): Fix error message.
* gfortran.dg/unlimited_polymorphic_2.f03: Update test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230465
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 17 Nov 2015 13:22:40 +0000 (13:22 +0000)]
gcc/
PR middle-end/68134
* targhooks.c (default_get_mask_mode): Filter out
scalar modes returned by mode_for_vector.
gcc/testsuite/
PR middle-end/68134
* gcc.dg/pr68134.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230463
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Tue, 17 Nov 2015 13:20:08 +0000 (13:20 +0000)]
[ARM] PR 68143 Properly update memory offsets when expanding setmem
PR target/68143
* config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of
offset from dstbase and use it appropriately in
adjust_automodify_address.
(arm_block_set_aligned_vect): Likewise.
* gcc.c-torture/execute/pr68143_1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230462
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 17 Nov 2015 11:00:08 +0000 (11:00 +0000)]
* ChangeLog: Add missing entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230460
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 17 Nov 2015 10:54:13 +0000 (10:54 +0000)]
* config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode.
(MULTILIB_DIRNAMES): Adjust accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230459
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Tue, 17 Nov 2015 10:41:17 +0000 (10:41 +0000)]
[Patch AArch64] Add support for Cortex-A35
gcc/
* config/aarch64/aarch64-cores.def (cortex-a35): New.
* config/aarch64/aarch64.c (cortexa35_tunings): New.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/invoke.texi (-mcpu): Add Cortex-A35
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230458
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 17 Nov 2015 10:28:23 +0000 (10:28 +0000)]
Fix commit date
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230457
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 17 Nov 2015 09:45:35 +0000 (09:45 +0000)]
PR target/68263
* config/i386/i386.h (BIGGEST_ALIGNMENT): Always define
to 32 for IAMCU.
* config/i386/sse.md (*mov<mode>_internal): Always enable
AVX and SSE unaligned moves for IAMCU.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230456
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 17 Nov 2015 09:17:36 +0000 (09:17 +0000)]
* gcc.dg/torture/pr68264.c: Use dg-add-options ieee.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230455
138bc75d-0d04-0410-961f-
82ee72b054a4
vekumar [Tue, 17 Nov 2015 07:41:08 +0000 (07:41 +0000)]
Relax trap assumptions in tree if convert.
2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
* tree-if-conv.c: Include varasm.h
(ref_DR_map): Define.
(baseref_DR_map): Like wise
(struct ifc_dr): Add new tree predicate field.
(hash_memrefs_baserefs_and_store_DRs_read_written_info): New function.
(memrefs_read_or_written_unconditionally): Remove.
(write_memrefs_written_at_least_once): Remove.
(ifcvt_memrefs_wont_trap): Use hash maps to query
unconditional read/written information.
(if_convertible_loop_p_1): Initialize hash maps and predicates
before hashing data references and delete hashmaps at the end.
2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
* gcc.dg/tree-ssa/ifc-8.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230454
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 17 Nov 2015 03:58:18 +0000 (03:58 +0000)]
* constexpr.c (cxx_eval_builtin_function_call): Use cp_fully_fold
to fold arguments to __builtin_constant_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230453
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Tue, 17 Nov 2015 01:56:17 +0000 (01:56 +0000)]
2015-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR 56036
* doc/invoke.texi (Optimize Options): Move @end table to the right
place.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230452
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Tue, 17 Nov 2015 01:19:59 +0000 (01:19 +0000)]
2015-11-16 Sandra Loosemore <sandra@codesourcery.com>
PR 65129
* doc/extend.texi (__builtin_assume_aligned): Fix formatting of
return value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230451
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 17 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230448
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 16 Nov 2015 23:15:57 +0000 (23:15 +0000)]
* sv.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230442
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 16 Nov 2015 22:13:21 +0000 (22:13 +0000)]
2015-11-16 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
128-bit types, just types that fit in a single vector.
* config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230440
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 16 Nov 2015 21:57:12 +0000 (21:57 +0000)]
inline asm and multi-alternative constraints
* doc/md.texi ('#' and '*' constraint modifiers): Do not include these
in the user documentation.
(define_peephole2, define_split): Similarly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230439
138bc75d-0d04-0410-961f-
82ee72b054a4
devans [Mon, 16 Nov 2015 21:32:26 +0000 (21:32 +0000)]
PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Handle "const" in
type name.
* testsuite/libstdc++-prettyprinters/debug.cc: Add test for
const set<int>.
* testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
* testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230437
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 16 Nov 2015 21:13:37 +0000 (21:13 +0000)]
* lto-streamer-out.c (write_global_references): Adjust integer type.
(lto_output_decl_state_refs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230436
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 16 Nov 2015 20:16:57 +0000 (20:16 +0000)]
PR c++/68362
* c-common.c (check_case_bounds): Fold low and high cases.
* g++.dg/delayedfold/switch-1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230435
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Mon, 16 Nov 2015 19:15:25 +0000 (19:15 +0000)]
2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/58027
PR fortran/60993
* expr.c (gfc_check_init_expr): Prevent a redundant check when a
__convert_* function was inserted into an array constructor.
(gfc_check_assign_symbol): Check for an initialization expression
when a __convert_* was inserted.
2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/58027
PR fortran/60993
* gfortran.dg/pr58027.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230433
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 16 Nov 2015 17:58:39 +0000 (17:58 +0000)]
* c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
* c-common.c (c_common_get_alias_set): Likewise.
(handle_visibility_attribute): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230432
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 16 Nov 2015 17:41:10 +0000 (17:41 +0000)]
[Patch ARM] Add support for Cortex-A35
gcc/
* config/arm/arm-cores.def (cortex-a35): New.
* config/arm/arm.c (arm_cortex_a35_tune): New.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35.
* config/arm/t-aprofile: Likewise.
* doc/invoke.texi (-mcpu): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230431
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 16 Nov 2015 16:30:44 +0000 (16:30 +0000)]
Add missing v8a cpus to the t-aprofile file.
gcc/
* config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1
and qdf24xx and xgene1 to match -march=armv8-a.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230430
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Mon, 16 Nov 2015 15:51:33 +0000 (15:51 +0000)]
simplify-rtx: Simplify sign_extend of lshiftrt to zero_extend (PR68330)
Since r230164, in PR68330 combine ends up with a sign_extend of an
lshiftrt by some constant, and it does not know to morph that into a
zero_extract (the extend will always extend with zeroes). I think
it is best to let simplify-rtx always replace such a sign_extend by
a zero_extend, after which everything works as expected.
2015-11-15 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/68330
* simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND
of LSHIFTRT by a non-zero constant integer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230429
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 16 Nov 2015 15:04:00 +0000 (15:04 +0000)]
2015-11-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/68306
* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix
bogus copying from verify_data_ref_alignment and use continue
instead of return.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230428
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Mon, 16 Nov 2015 14:11:50 +0000 (14:11 +0000)]
gcc/
PR target/68277
* config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and
operands[2].
(*addsi3): Add another insn_and_split variant for reload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230425
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 16 Nov 2015 14:06:08 +0000 (14:06 +0000)]
2015-11-16 Richard Biener <rguenther@suse.de>
PR middle-end/68117
* cfgexpand.c (pass_expand::execute): Destroy the edge
redirection var map before setting RTL CFG hooks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230424
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Mon, 16 Nov 2015 13:53:23 +0000 (13:53 +0000)]
[i386]Migrate reduction optabs to reduc_<op>_scal
* config/i386/sse.md (reduc_splus_v8df): Rename to...
(reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar.
(reduc_splus_v4df): Rename to...
(reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar.
(reduc_splus_v2df): Rename to...
(reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar.
(reduc_splus_v16sf): Rename to...
(reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar.
(reduc_splus_v8sf): Rename to...
(reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar.
(reduc_splus_v4sf): Rename to...
(reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar.
(reduc_<code>_<mode>, all 3 variants): Rename each to...
(reduc_<code>_scal_<mode>): ...here; reduce to temp and extract scalar.
(reduc_umin_v8hf): Rename to...
(reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230423
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Mon, 16 Nov 2015 13:14:57 +0000 (13:14 +0000)]
Add __attribute__((__simd__)) to GCC.
gcc/
* omp-low.c (pass_omp_simd_clone::gate): If target allows - call
without additional conditions.
* doc/extend.texi (@item simd): New.
gcc/c-family/
* c-common.c (handle_simd_attribute): New.
(struct attribute_spec): Add entry for "simd".
(handle_simd_attribute): New.
gcc/c/
* c-parser.c (c_finish_omp_declare_simd): Look for
"simd" attribute as well. Update error message.
gcc/cp/
* parser.c (cp_parser_late_parsing_cilk_simd_fn_info): Look for
"simd" attribute as well. Update error message.
gcc/testsuite/
* c-c++-common/attr-simd.c: New test.
* c-c++-common/attr-simd-2.c: New test.
* c-c++-common/attr-simd-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230422
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Mon, 16 Nov 2015 12:41:20 +0000 (12:41 +0000)]
[AArch64] Fix gcc.target/aarch64/vclz.c
* gcc.target/aarch64/vclz.c: Correctly place INHIB_OPTIMIZATION.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230421
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 16 Nov 2015 12:40:50 +0000 (12:40 +0000)]
Remove first_pass_instance
2015-11-16 Tom de Vries <tom@codesourcery.com>
* passes.c (first_pass_instance): Remove variable.
(execute_todo): Remove setting of first_pass_instance.
* tree-pass.h (first_pass_instance): Remove declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230420
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 16 Nov 2015 12:40:41 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_ccp
2015-11-16 Tom de Vries <tom@codesourcery.com>
* passes.def: Add arg to pass_ccp pass instantiation.
* tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p
instead of first_pass_instance.
(do_ssa_ccp): Add and handle param nonzero_p.
(pass_ccp::pass_ccp): Initialize nonzero_p.
(pass_ccp::set_pass_param): New member function. Set nonzero_p.
(pass_ccp::execute): Call do_ssa_ccp with extra arg.
(pass_ccp::nonzero_p): New private member.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230419
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 16 Nov 2015 12:40:33 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_object_sizes
2015-11-16 Tom de Vries <tom@codesourcery.com>
* passes.def: Add arg to pass_object_sizes pass instantiation.
* tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize
insert_min_max_p.
(pass_object_sizes::set_pass_param): New member function. Set
insert_min_max_p.
(pass_object_sizes::insert_min_max_p): New private member.
(pass_object_sizes::execute): Use insert_min_max_p instead of
first_pass_instance.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230418
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 16 Nov 2015 12:40:24 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_dominator
2015-11-16 Tom de Vries <tom@codesourcery.com>
* passes.def: Add arg to pass_dominator pass instantiation.
* tree-pass.h (first_pass_instance): Remove pass_dominator-related bit
of comment.
* tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize
may_peel_loop_headers_p.
(pass_dominator::set_pass_param): New member function. Set
may_peel_loop_headers_p.
(pass_dominator::may_peel_loop_headers_p): New private member.
(pass_dominator::execute): Use may_peel_loop_headers_p instead of
first_pass_instance.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230417
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 16 Nov 2015 12:40:14 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_reassoc
2015-11-16 Tom de Vries <tom@codesourcery.com>
* passes.def: Add arg to pass_reassoc pass instantiation.
* tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable.
(acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead
of first_pass_instance.
(execute_reassoc): Add and handle insert_powi_p parameter.
(pass_reassoc::insert_powi_p): New private member.
(pass_reassoc::pass_reassoc): Initialize insert_powi_p.
(pass_reassoc::set_pass_param): New member function. Set insert_powi_p.
(pass_reassoc::execute): Call execute_reassoc with extra arg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230416
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 16 Nov 2015 12:40:05 +0000 (12:40 +0000)]
Remove first_pass_instance from pass_vrp
2015-11-16 Tom de Vries <tom@codesourcery.com>
* gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument.
* gen-pass-instances.awk (handle_line): Same.
* pass_manager.h (class pass_manager): Define and undefine
NEXT_PASS_WITH_ARG.
* passes.c (opt_pass::set_pass_param): New function.
(pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG.
* passes.def: Add extra arg to NEXT_PASS (pass_vrp).
* tree-pass.h (gimple_opt::set_pass_param): Declare.
* tree-vrp.c (vrp_finalize, execute_vrp): Add and handle
warn_array_bounds_p parameter.
(pass_vrp::pass_vrp): Initialize warn_array_bounds_p.
(pass_vrp::set_pass_param): New function.
(pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call.
(pass_vrp::warn_array_bounds_p): New private member.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230415
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 16 Nov 2015 12:19:22 +0000 (12:19 +0000)]
* config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230414
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 16 Nov 2015 12:17:51 +0000 (12:17 +0000)]
* config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230413
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 16 Nov 2015 12:16:54 +0000 (12:16 +0000)]
* config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use
an lea instruction when possible.
(output_adjust_stack_and_probe): Rotate the loop and simplify.
(ix86_emit_probe_stack_range): Adjust.
(output_probe_stack_range): Rotate the loop and simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230412
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Mon, 16 Nov 2015 11:25:02 +0000 (11:25 +0000)]
2015-11-16 Christian Bruel <christian.bruel@st.com>
* config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON.
Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP
with appropriate pragma GCC target.
2015-11-16 Christian Bruel <christian.bruel@st.com>
* lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache):
Check __ARM_NEON__ instead of "arm_neon.h.
* gcc.target/arm/attr-neon3.c: New test.
* gcc.target/arm/attr-neon-fp16.c: Likewise
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230411
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Mon, 16 Nov 2015 11:20:02 +0000 (11:20 +0000)]
2015-11-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset
__ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230410
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 16 Nov 2015 10:30:21 +0000 (10:30 +0000)]
[AArch64] Cortex-A57 Choose some new branch costs.
gcc/
* config/aarch64/aarch64.c (cortexa57_branch_costs): New.
(cortexa57_tunings): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230409
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Mon, 16 Nov 2015 10:21:09 +0000 (10:21 +0000)]
2015-11-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* config/arm/arm-c.c (arm_cpu_builtins): Set or reset
__ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__
(arm_pragma_target_parse): Change check for arm_cpu_builtins.
undefine __ARM_FP.
* config/arm/arm.c (arm_can_inline_p): Check FPUs.
(arm_valid_target_attribute_rec): Handle -mfpu attribute target.
* doc/invoke.texi (-mfpu=): Mention attribute and pragma.
* doc/extend.texi (-mfpu=): Describe attribute.
2015-11-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
gcc.target/arm/lto/pr65837_0.c
gcc.target/arm/attr-neon2.c
gcc.target/arm/attr-neon.c
gcc.target/arm/attr-neon-builtin-fail.c
gcc.target/arm/attr-crypto.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230408
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Mon, 16 Nov 2015 09:38:29 +0000 (09:38 +0000)]
coding nit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230407
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Mon, 16 Nov 2015 09:00:09 +0000 (09:00 +0000)]
2015-11-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* config/arm/arm-protos.h (arm_init_neon_builtins): Declare.
* config/arm/arm.c (arm_valid_target_attribute_tree): Call
arm_init_neon_builtins.
* config/arm/arm-builtins.c (arm_init_neon_builtins): Split into...
(arm_init_neon_builtins_internal)
(arm_init_crypto_builtins_internal):
Test and set neon_set_p, neon_crypto_set_p.
(neon_set_p, neon_crypto_set_p): New static booleans.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230406
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 16 Nov 2015 08:57:42 +0000 (08:57 +0000)]
2015-11-16 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/bb-slp-32.c: Adjust testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230405
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Mon, 16 Nov 2015 08:46:42 +0000 (08:46 +0000)]
2015-11-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* config/arm/arm.c (arm_fpu_desc): Remove.
(all_fpus): Make global.
(arm_option_override): Use FPU TARGET accessors.
(arm_declare_function_name): Likewise.
* config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5)
(TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16)
(TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO)
(TARGET_NEON): Likewise.
(all_fpus): Declare extern.
(TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV)
(TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230404
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Mon, 16 Nov 2015 02:28:15 +0000 (02:28 +0000)]
PR 68366 - include emit-rtl.h in sdbout.c
Some of the pa target macros rely on macros in emit-rtl.h and sdbout.c
uses some of those macros, which means that sdbout.c needs to include
emit-rtl.h.
gcc/ChangeLog:
2015-11-15 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
PR middle-end/68366
* sdbout.c: Include emit-rtl.h and function.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230402
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 16 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230401
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 15 Nov 2015 23:41:44 +0000 (23:41 +0000)]
* config/rs6000/on_exit.c: New file.
* config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c.
* config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230398
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sun, 15 Nov 2015 20:03:24 +0000 (20:03 +0000)]
* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
Remove support for FreeBSD 5 and earlier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230397
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Sun, 15 Nov 2015 14:07:52 +0000 (14:07 +0000)]
2015-11-15 Paul Thomas <pault@gcc.gnu.org>
PR fortran/50221
PR fortran/68216
PR fortran/63932
PR fortran/66408
* trans_array.c (gfc_conv_scalarized_array_ref): Pass the
symbol decl for deferred character length array references.
* trans-stmt.c (gfc_trans_allocate): Keep the string lengths
to update deferred length character string lengths.
* trans-types.c (gfc_get_dtype_rank_type); Use the string
length of deferred character types for the dtype size.
* trans.c (gfc_build_array_ref): For references to deferred
character arrays, use the domain max value, if it is a variable
to set the 'span' and use pointer arithmetic for acces to the
element.
(trans_code): Set gfc_current_locus for diagnostic purposes.
PR fortran/67674
* trans-expr.c (gfc_conv_procedure_call): Do not fix deferred
string lengths of components.
PR fortran/49954
* resolve.c (deferred_op_assign): New function.
(gfc_resolve_code): Call it.
* trans-array.c (concat_str_length): New function.
(gfc_alloc_allocatable_for_assignment): Jump directly to alloc/
realloc blocks for deferred character length arrays because the
string length might change, even if the shape is the same. Call
concat_str_length to obtain the string length for concatenation
since it is needed to compute the lhs string length.
Set the descriptor dtype appropriately for the new string
length.
* trans-expr.c (gfc_trans_assignment_1): Use the rse string
length for all characters, other than deferred types. For
concatenation operators, push the rse.pre block to the inner
most loop so that the temporary pointer and the assignments
are properly placed.
2015-11-15 Paul Thomas <pault@gcc.gnu.org>
PR fortran/50221
* gfortran.dg/deferred_character_1.f90: New test.
* gfortran.dg/deferred_character_4.f90: New test for comment
#4 of the PR.
PR fortran/68216
* gfortran.dg/deferred_character_2.f90: New test.
PR fortran/67674
* gfortran.dg/deferred_character_3.f90: New test.
PR fortran/63932
* gfortran.dg/deferred_character_5.f90: New test.
PR fortran/66408
* gfortran.dg/deferred_character_6.f90: New test.
PR fortran/49954
* gfortran.dg/deferred_character_7.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230396
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 15 Nov 2015 11:15:08 +0000 (11:15 +0000)]
PR libstdc++/68353 fix _GLIBCXX_USE_C99_WCHAR test
PR libstdc++/68353
* include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
not whether it is defined.
* include/ext/vstring.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230395
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 15 Nov 2015 00:18:08 +0000 (00:18 +0000)]
always define ENABLE_OFFLOADING
gcc/cp/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* parser.c (cp_parser_omp_declare_target): Adjust.
gcc/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* configure: Regenerate.
* configure.ac: Always define ENABLE_OFFLOADING.
* cgraph.c (cgraph_node::create): Adjust.
* gcc.c (process_command): Likewise.
* omp-low.c (create_omp_child_function): Likewise.
(expand_omp_target): Likewise.
* varpool.c (varpool_node::get_create): Likewise.
gcc/c/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* c-parser.c (c_parser_omp_declare_target): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230393
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 15 Nov 2015 00:18:01 +0000 (00:18 +0000)]
always define EH_RETURN_HANDLER_RTX
gcc/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (EH_RETURN_HANDLER_RTX): New default definition.
* df-scan.c (df_get_exit_block_use_set): Adjust.
* except.c (expand_eh_return): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230392
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 15 Nov 2015 00:17:56 +0000 (00:17 +0000)]
always define TARGET_PECOFF
gcc/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* config/i386/i386.h (TARGET_PECOFF): Remove define.
* defaults.h (TARGET_PECOFF): New default definition.
* varasm.c (handle_vtv_comdat_section): Adjust.
gcc/cp/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230391
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 15 Nov 2015 00:17:51 +0000 (00:17 +0000)]
remove conditional compilation of sdb debug info
gcc/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h: New definition of SDB_DEBUGGING_INFO.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in: Adjust.
* final.c (rest_of_clean_state): Remove check if
SDB_DEBUGGING_INFO is defined.
* function.c (number_blocks): Likewise.
* output.h: Likewise.
* sdbout.c: Likewise.
* toplev.c (process_options): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230390
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 15 Nov 2015 00:17:43 +0000 (00:17 +0000)]
remove EXTENDED_SDB_BASIC_TYPES
The last target using this was i960, which was removed many years ago,
so there's no reason to keep it.
gcc/ChangeLog:
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* gsyms.h (enum sdb_type): Remove code for
EXTENDED_SDB_BASIC_TYPES.
(enum sdb_masks): Likewise.
* sdbout.c (plain_type_1): Likewise.
* system.h: Poison EXTENDED_SDB_BASIC_TYPES macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230389
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 15 Nov 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230388
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 14 Nov 2015 22:02:42 +0000 (22:02 +0000)]
* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
sections.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230384
138bc75d-0d04-0410-961f-
82ee72b054a4