Age | Commit message (Collapse) | Author | Files | Lines |
|
From Rainer Orth.
Solaris 12 changes the stat_[amc]tim members of struct stat from
timestruc_t to timespec_t for XPG7 compatiblity, thus breaking the libgo
build. The following patch checks for this change and uses the common
stat_atim.go if appropriate.
Reviewed-on: https://go-review.googlesource.com/14495
From-SVN: r227665
|
|
mask adjustment equation.
[gcc]
2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (swap_web_entry): Update preceding
commentary to simplify permute mask adjustment equation.
(special_handling_values): Add SH_VPERM.
(const_load_sequence_p): New function.
(insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
the mask loaded from the constant pool.
(adjust_vperm): New function.
(handle_special_swappables): Call adjust_vperm.
(dump_swap_insn_table): Handle SH_VPERM.
[gcc/testsuite]
2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/swaps-p8-20.c: New test.
* gcc.target/powerpc/swaps-p8-21.c: New test.
From-SVN: r227664
|
|
* shrink-wrap.c (requires_stack_frame_p): Remove static.
* shrink-wrap.h (requires_stack_frame_p): Put back.
From-SVN: r227659
|
|
Some host-target combinations get bogus warnings about orig_dup
being used uninitialized. I tried to coerce the current uninit
pass to handle this case, but the patch I ended up with only worked
by accident because of the strange way in which the pass handles
limit cases. (If we have more than MAX_NUM_CHAINS chains, it silently
drops the excess chains and continues regardless, so it's quite easy
to come up with cases where the predicates for either the definition
or the use consider an arbitrary subset of the actual conditions.)
For now this patch turns -Wmaybe-uninitialized into a warning for
the affacted function. It will be a warning even if someone turns
off warnings on the command line, but I don't think that's important.
Bootstrapped and regression-tested on x86_64-linux-gnu. Also tested
with a cross-compiler to sparc-linux-gnu (which also triggered the
warning for me).
gcc/
* reload1.c (elimination_costs_in_insn): Locally turn
-Wmaybe-uninitialized into a warning.
From-SVN: r227658
|
|
The gcc backend throws an internal error when trying to get the size
of a type which is larger than the amount of address space on the
machine. This patch catches this error and reports it in a user
friendly way.
Fixes golang/go#11554.
Reviewed-on: https://go-review.googlesource.com/13684
* go-gcc.cc (Gcc_backend::type_size): Return -1 for
unrepresentable size.
From-SVN: r227656
|
|
2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
* shrink-wrap.c (requires_stack_frame_p): Make static.
(prepare_shrink_wrap): Likewise.
(dup_block_and_redirect): Likewise.
* shrink-wrap.h: Remove declarations of those functions.
From-SVN: r227652
|
|
2015-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67526
* gfortran.dg/pr67526.f90: New test.
2015-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67526
* expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
From-SVN: r227651
|
|
template parameter pack declaration)
/cp
2015-09-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67318
* parser.c (cp_parser_parameter_declaration): Consume the ellipsis
and set template_parameter_pack_p also when the type is null.
/testsuite
2015-09-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67318
* g++.dg/cpp0x/variadic166.C: New.
From-SVN: r227650
|
|
If an argument is marked as nonnull then passing in a NULL argument
will produce bad results even if the code checks against NULL. GCC
might optimize such checks away so warn the user when the function
contains such comparisons.
nn.c: In function ‘foo’:
nn.c:6:27: warning: nonnull argument ‘bar’ compared to NULL [-Wnonnull]
void foo(void *bar) { if (!bar) abort(); }
^
gcc/ChangeLog
* doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
gcc/c/ChangeLog
* c-typeck.c (build_binary_op): Check and warn when nonnull arg
parm against NULL.
gcc/cp/ChangeLog
* typeck.c (cp_build_binary_op): Check and warn when nonnull arg
parm against NULL.
gcc/testsuite/ChangeLog
* c-c++-common/nonnull-1.c: New test.
From-SVN: r227649
|
|
2015-09-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/66993
* module.c (read_module): If a symtree exists and the symbol has
been associated in a submodule from a parent (sub)module, attach
the symbol to a 'unique symtree' and the new symbol to the
existing symtree.
2015-09-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/66993
* gfortran.dg/submodule_11.f08: New test.
From-SVN: r227648
|
|
texlive-binaries)
gcc/
PR target/67506
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
missing simplify_gen_subreg.
gcc/testsuite/
PR target/67506
* gcc.c-torture/compile/pr67506.c: New test.
From-SVN: r227646
|
|
gcc/ChangeLog:
2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
the vector element is bigger than 64 bit.
gcc/testsuite/ChangeLog:
2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V1TI
initialization with a byte mask. No change expected here.
* gcc.target/s390/vector/vec-genmask-1.c: Fix whitespace.
* gcc.target/s390/vector/vec-genmask-2.c: Add check for V1TI
initialization with contigious bitmask. Literal pool is expectd
to be used here.
From-SVN: r227637
|
|
gcc/ChangeLog:
2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
From-SVN: r227636
|
|
gcc/ChangeLog:
2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c: Add V1TImode to constant pool modes.
From-SVN: r227635
|
|
PR target/67439
* config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
predicate. Set predicable_short_it attr to "no".
* gcc.target/arm/pr67439_1.c: New test.
From-SVN: r227630
|
|
Patch background details:
https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01147.html
gcc/
PR rtl-optimization/67421
* expr.c (expand_expr_real_2): Cost instrcution sequences when doing left wide
shift tranformation.
From-SVN: r227629
|
|
2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
* common/config/arc/arc-common.c: Remove references to A5.
* config/arc/arc-opts.h: Likewise.
* config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
* config/arc/arc.opt, config/arc/constraints.md: Likewise.
* config/arc/t-arc-newlib: Likewise.
From-SVN: r227627
|
|
with long immediate.
2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.md (length): Fix attribute length for conditional
executed instructions with long immediate.
(posted as: https://gcc.gnu.org/ml/gcc/2015-03/msg00268.html)
From-SVN: r227626
|
|
gcc/testsuite/
* gcc.target/aarch64/pic-small.c (dg-skip-if): Skip tiny and large code model.
From-SVN: r227624
|
|
* config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
type for second alternative.
From-SVN: r227623
|
|
From-SVN: r227620
|
|
Mention ./contrib/download_prerequisites on the "Downloading GCC" page.
* doc/invoke.texi (Downloading GCC): Mention
contrib/download_prerequisites script.
From-SVN: r227619
|
|
PR c++/67523
* gimplify.c (gimplify_omp_for): If inner stmt is not found
for combined loop, assert seen_error () and return GS_ERROR.
* g++.dg/gomp/pr67523.C: New test.
From-SVN: r227611
|
|
PR c++/67522
* semantics.c (handle_omp_array_sections_1): Only run
type_dependent_expression_p on VAR_DECL/PARM_DECLs.
(finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: Likewise.
Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL
is not a VAR_DECL/PARM_DECL.
* g++.dg/gomp/pr67522.C: New test.
From-SVN: r227610
|
|
PR middle-end/67521
* gimplify.c (gimplify_omp_for): Don't call omp_add_variable
if decl is already in outer->variables.
* c-c++-common/gomp/pr67521.c: New test.
From-SVN: r227609
|
|
PR middle-end/67517
* gimplify.c (gimplify_scan_omp_clauses): Instead of
asserting that decl is not specified in octx->variables,
break out of the loop if it is.
* c-c++-common/gomp/pr67517.c: New test.
From-SVN: r227608
|
|
PR c++/67514
* gimplify.c (gimplify_omp_for): For loop SIMD construct, if
iterator is not explicitly determined, but is defined inside
of the combined workshare region, handle it like if it has
DECL_EXPR in OMP_FOR_PRE_BODY.
* g++.dg/gomp/pr67514.C: New test.
From-SVN: r227607
|
|
PR c++/67511
* semantics.c (handle_omp_for_class_iterator): Don't wrap
error_mark_node into a NOP_EXPR to void_type_node.
* g++.dg/gomp/pr67511.C: New test.
From-SVN: r227606
|
|
PR c/67502
* c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
into OMP_FOR_PRE_BODY rather than before the loop.
* c-c++-common/gomp/pr67502.c: New test.
From-SVN: r227605
|
|
Fixes golang/go#11616.
Reviewed-on: https://go-review.googlesource.com/13688
From-SVN: r227604
|
|
From-SVN: r227603
|
|
* config/nvptx/nvptx.md (call_operation): Move bound out of loop.
(*cmp<mode>): Add assembler spacing.
(setcc_int<mode>, set_cc_float<mode>): Likewise.
* config/nvptx/nvptx.c (nvptx_option_override): Override debug
level.
(write_func_decl_from_insn): Refactor argument loops & comma emission.
(nvptx_expand_call): Likewise.
(nvptx_output_call_insn): Likewise.
(nvptx_reorg_subreg): Add spacing.
From-SVN: r227597
|
|
at fold-const.c:2456)
PR middle-end/67512
* tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
for comparisons.
* gcc.dg/pr67512.c: New test.
From-SVN: r227594
|
|
2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53184
* doc/invoke.texi ([Wsubobject-linkage]): Document.
/c-family
2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53184
* c.opt ([Wsubobject-linkage]): Add.
/cp
2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53184
* decl2.c (constrain_class_visibility): Use Wsubobject-linkage.
/testsuite
2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53184
* g++.dg/warn/Wsubobject-linkage-1.C: New.
* g++.dg/warn/Wsubobject-linkage-2.C: Likewise.
* g++.dg/warn/Wsubobject-linkage-3.C: Likewise.
* g++.dg/warn/Wsubobject-linkage-4.C: Likewise.
From-SVN: r227593
|
|
PR sanitizer/67258
* ubsan/ubsan_type_hash.cc: Cherry pick upstream r244101.
Upstraem patch:
commit 1d2477faafda9ad2cc19927b3c31efd22747f013
Author: Alexey Samsonov <vonosmas@gmail.com>
Date: Wed Aug 5 19:35:46 2015 +0000
[UBSan] Fix UBSan-vptr false positive.
Offset from vptr to the start of most-derived object can actually
be positive in some virtual base class vtables.
Patch by Stephan Bergmann!
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@244101 91177308-0d34-0410-b5e6-96231b3b80d8
From-SVN: r227591
|
|
2015-09-09 Tom de Vries <tom@codesourcery.com>
* params-list.h: Add missing copyright notice.
From-SVN: r227590
|
|
* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
sel_truesi, not andsi.
From-SVN: r227587
|
|
* config/arm/arm.md (*subsi3_compare0): Rename to...
(subsi3_compare0): ... This.
(modsi3): New define_expand.
* config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
when operand is power of 2.
* gcc.target/aarch64/mod_2.x: New file.
* gcc.target/aarch64/mod_256.x: Likewise.
* gcc.target/arm/mod_2.c: New test.
* gcc.target/arm/mod_256.c: Likewise.
* gcc.target/aarch64/mod_2.c: Likewise.
* gcc.target/aarch64/mod_256.c: Likewise.
From-SVN: r227586
|
|
* config/aarch64/aarch64.md (mod<mode>3): New define_expand.
(*neg<mode>2_compare0): Rename to...
(neg<mode>2_compare0): ... This.
* config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
Move check for speed inside the if-then-elses. Reflect
CSNEG sequence in MOD by power of 2 case.
From-SVN: r227585
|
|
PR c++/67504
* parser.c (cp_parser_omp_clause_collapse): Test tree_fits_shwi_p
before INTEGRAL_TYPE_P test.
* g++.dg/gomp/pr67504.C: New test.
From-SVN: r227579
|
|
PR c/67501
* c-parser.c (c_parser_oacc_all_clauses,
c_parser_omp_all_clauses): Remove invalid clause from
list of clauses even if parser->error is set.
* c-c++-common/gomp/pr67501.c: New test.
From-SVN: r227578
|
|
PR c/67500
* c-parser.c (c_parser_omp_clause_aligned,
c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
test for errors.
* c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
error_mark_node.
* gcc.dg/gomp/pr67500.c: New test.
From-SVN: r227577
|
|
PR c/67495
* c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
instead of c_parser_unary_expression. If the result is !lvalue_p,
wrap the result of c_fully_fold into NON_LVALUE_EXPR.
* gcc.dg/gomp/pr67495.c: New test.
From-SVN: r227576
|
|
The reason for this PR is that insns emitted by secondary reload
patterns are being generated without taking into account other reloads
that may have occurred. We run into this problem when an insn has a
pseudo that doesn't get a hard reg, and the pseudo is used in a way
that requires a secondary reload. In this case the secondary reload
is needed due to gcc generating a 64-bit gpr load from memory insn
with an address offset not a multiple of 4.
PR target/67378
* config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
reload replacement for PRE_MODIFY address reg.
From-SVN: r227573
|
|
2015-09-02 Sebastian Pop <s.pop@samsung.com>
* config.in: Regenerate.
* configure: Regenerate.
* configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
* graphite-optimize-isl.c (optimize_isl): Stop computation when
PARAM_MAX_ISL_OPERATIONS is reached.
* params.def (PARAM_MAX_ISL_OPERATIONS): Add.
* graphite-dependences.c (extend_schedule): Remove gcc_asserts on
result equal to isl_stat_ok as the status now can be isl_error_quota.
(subtract_commutative_associative_deps): Same.
(compute_deps): Same.
testsuite/
* gcc.dg/graphite/uns-interchange-12.c: Adjust pattern to pass with
both isl-0.12 and isl-0.15.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-15.c: Same.
* gcc.dg/graphite/uns-interchange-mvt.c: Same.
From-SVN: r227572
|
|
From-SVN: r227571
|
|
This patch removes graphite-scop-detection.c:limit_scops function and fix
related issues arising because of that. The functionality limit_scop was added
as an intermediate step to discard the loops which graphite could not
handle. Removing limit_scop required handling of different cases of loops and
surrounding code. The scop is now larger so most test cases required 'number of
scops detected' to be fixed. By increasing the size of scop we can now optimize
loops which are 'siblings' of each other. This could enable loop fusion on a
number of loops. Since in the graphite framework we mostly want to opimize
loop-nests/adjacent-loops, we now discard scops with less than 2 loops. We
also discard scops without any data references.
Essentially:
- Remove limite_scops.
- Only select scops when there are at least two loops (loop nest or, side by side).
- Discard loops without data-refs.
- Fix test cases.
Passes bootstrap and reg-test.
gcc/ChangeLog:
2015-09-02 Aditya Kumar <hiraditya@msn.com>
Sebastian Pop <s.pop@samsung.com>
* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
Return the parameter if it was saved in corresponding
parameter_rename_map of the region.
(copy_def): Copy def from sese region to the newly created region.
(copy_internal_parameters): Copy all the internal parameters defined
within a region to the newly created region.
(graphite_regenerate_ast_isl): Copy parameters to the new region before
translating isl to gimple.
* graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
the loop-nest does not have any data-references.
(build_graphite_scops): Create a scop only when there is at least one
loop inside it.
(contains_only_close_phi_nodes): Deleted.
(print_graphite_scop_statistics): Deleted
(print_graphite_statistics): Deleted
(limit_scops): Deleted.
(build_scops): Removed call to limit_scops.
* sese.c (new_sese): Construct.
(free_sese): Destruct.
(sese_add_exit_phis_edge): update_stmt after exit phi edge has been
added.
(set_rename): Pass sese region so that parameters inside the region can
be added to its parameter_rename_map.
(rename_uses): Pass sese region.
(graphite_copy_stmts_from_block): Do not copy parameters that have been
generated in the header of the scop. For each SSA_NAME in the
parameter_rename_map rename its usage.
(invariant_in_sese_p_rec): Return false if tree t is defined outside
sese region.
(scalar_evolution_in_region): If the tree t is invariant just return t.
* sese.h: Added a parameter renamne map (parameter_rename_map_t) to
struct sese to keep track of all the parameters which need renaming.
* tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
any data-refs.
* tree-data-ref.h: Declaration of loop_nest_has_data_refs.
gcc/testsuite/ChangeLog:
2015-09-02 Aditya Kumar <hiraditya@msn.com>
Sebastian Pop <s.pop@samsung.com>
* gcc.dg/graphite/block-0.c: Modifed test case to match current output.
* gcc.dg/graphite/block-1.c: Same.
* gcc.dg/graphite/block-5.c: Same.
* gcc.dg/graphite/block-6.c: Same.
* gcc.dg/graphite/interchange-1.c: Same.
* gcc.dg/graphite/interchange-10.c: Same.
* gcc.dg/graphite/interchange-11.c: Same.
* gcc.dg/graphite/interchange-13.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-3.c: Same.
* gcc.dg/graphite/interchange-4.c: Same.
* gcc.dg/graphite/interchange-7.c: Same.
* gcc.dg/graphite/interchange-8.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/isl-codegen-loop-dumping.c: Same.
* gcc.dg/graphite/pr35356-1.c (foo): Same.
* gcc.dg/graphite/pr37485.c: Same.
* gcc.dg/graphite/scop-0.c (int toto): Same.
* gcc.dg/graphite/scop-1.c: Same.
* gcc.dg/graphite/scop-10.c: Same.
* gcc.dg/graphite/scop-11.c: Same.
* gcc.dg/graphite/scop-12.c: Same.
* gcc.dg/graphite/scop-13.c: Same.
* gcc.dg/graphite/scop-16.c: Same.
* gcc.dg/graphite/scop-17.c: Same.
* gcc.dg/graphite/scop-18.c: Same.
* gcc.dg/graphite/scop-2.c: Same.
* gcc.dg/graphite/scop-21.c (int test): Same.
* gcc.dg/graphite/scop-22.c (void foo): Same.
* gcc.dg/graphite/scop-4.c: Same.
* gcc.dg/graphite/scop-5.c: Same.
* gcc.dg/graphite/scop-6.c: Same.
* gcc.dg/graphite/scop-7.c: Same.
* gcc.dg/graphite/scop-8.c: Same.
* gcc.dg/graphite/scop-9.c: Same.
* gcc.dg/graphite/scop-mvt.c (void mvt): Introduced dependency so that
data-refs remain inside the inner loop.
* gcc.dg/graphite/uns-block-1.c: Modifed test case to match o/p.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-9.c: Same.
* gfortran.dg/graphite/interchange-3.f90
libgomp/ChangeLog:
2015-09-04 Aditya Kumar <hiraditya@msn.com>
Sebastian Pop <s.pop@samsung.com>
* testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
match o/p.
* testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
* testsuite/libgomp.graphite/force-parallel-4.c: Same.
* testsuite/libgomp.graphite/force-parallel-5.c: Same.
* testsuite/libgomp.graphite/force-parallel-7.c: Same.
* testsuite/libgomp.graphite/force-parallel-8.c: Same.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r227567
|
|
2015-09-08 Tom de Vries <tom@codesourcery.com>
* Makefile.in (generated_files): Add params.list.
(params.list, s-params.list): Add rule.
* params.h (enum compiler_param): Include params-list.h. Move define
DEFPARAM, include params.def and undef DEFPARAM ...
* params-list.h: ... here. New file.
From-SVN: r227566
|
|
gcc/ChangeLog:
* pretty-print.h (printer_fn): Fix typo in comment.
From-SVN: r227562
|
|
Re: [PATCH] Minor cleanup of const_and_copies stack
* tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
From-SVN: r227559
|