mwahab [Thu, 26 Nov 2015 13:39:20 +0000 (13:39 +0000)]
[AArch64] Add support for ARMv8.1 Adv.SIMD instructions.
* config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New.
(TARGET_SIMD_RDMA): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230953
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 26 Nov 2015 13:27:21 +0000 (13:27 +0000)]
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230950
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 26 Nov 2015 13:24:19 +0000 (13:24 +0000)]
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230949
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 26 Nov 2015 13:20:59 +0000 (13:20 +0000)]
* libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230948
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 26 Nov 2015 13:14:45 +0000 (13:14 +0000)]
2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67249
* g++.dg/concepts/pr67249.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230947
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 26 Nov 2015 13:07:29 +0000 (13:07 +0000)]
[combine] Only restrict pure simplification in mult-extend subst case, allow other substitutions
* combine.c (subst): Do not return clobber of zero in widening mult
case. Just return x unchanged if it is a no-op substitution.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230946
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Nov 2015 12:15:43 +0000 (12:15 +0000)]
2015-11-26 Richard Biener <rguenther@suse.de>
PR testsuite/66799
* gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not
vectorize init loop and adjust expected outcome.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230943
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 26 Nov 2015 12:04:50 +0000 (12:04 +0000)]
PR c++/68527
* c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
(print_ada_struct_decl): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230942
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 26 Nov 2015 11:53:13 +0000 (11:53 +0000)]
2015-11-26 Richard Biener <rguenther@suse.de>
PR testsuite/67203
* g++.dg/tree-ssa/pr61034.C: Make expected optimization result
dependent on PUSH_ARGS_REVERSED. Drop optimization level and
also monitor final optimization result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230940
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 26 Nov 2015 11:52:11 +0000 (11:52 +0000)]
PR rtl-optimization/68249
PR rtl-optimization/68321
* gcc.c-torture/execute/pr68249.c: New test.
* gcc.c-torture/execute/pr68321.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230939
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Thu, 26 Nov 2015 11:49:20 +0000 (11:49 +0000)]
gcc/
2015-11-26 Vladimir Makarov <vmakarov@redhat.com>
PR target/68416
* config/i386/i386.h (enum reg_class): Add
bounds registers to ALL_REGS.
gcc/testsuite/
2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/68416
* gcc.target/i386/mpx/pr68416.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230938
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 26 Nov 2015 11:17:20 +0000 (11:17 +0000)]
Back out latest change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230935
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 26 Nov 2015 10:37:33 +0000 (10:37 +0000)]
2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67313
* g++.dg/cpp0x/no-weak1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230934
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 26 Nov 2015 10:18:50 +0000 (10:18 +0000)]
PR tree-optimization/68128
* tree.h (OMP_CLAUSE_SHARED_READONLY): Define.
* gimplify.c: Include gimple-walk.h.
(enum gimplify_omp_var_data): Add GOVD_WRITTEN.
(omp_notice_variable): Set flags to n->value if n already
exists in target region, but we need to jump to do_outer.
(omp_shared_to_firstprivate_optimizable_decl_p,
omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New
functions.
(gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY
on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
not modified in the body. Call omp_mark_stores for outer
contexts on OMP_CLAUSE_SHARED clauses if they could be written
in the body or on OMP_CLAUSE_LASTPRIVATE.
(gimplify_adjust_omp_clauses): Add body argument, call
omp_find_stores_{stmt,op} on the body through walk_gimple_seq.
Set OMP_CLAUSE_SHARED_READONLY
on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
not modified in the body. Call omp_mark_stores for outer
contexts on OMP_CLAUSE_SHARED clauses if they could be written
in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR
without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION.
(gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task,
gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update,
gimplify_expr): Adjust gimplify_adjust_omp_clauses callers.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on
non-local vars or local vars referenced from nested routines.
* omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY
attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE. Even for
TREE_READONLY, don't call use_pointer_for_field with non-NULL
second argument until we are sure we are keeping OMP_CLAUSE_SHARED.
* gcc.dg/gomp/pr68128-1.c: New test.
* gcc.dg/gomp/pr68128-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230932
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Thu, 26 Nov 2015 10:16:56 +0000 (10:16 +0000)]
2015-11-26 Paolo Bonzini <bonzini@gnu.org>
* doc/implement-c.texi (Integers Implementation): Make GCC's promises
about signed left shift stronger and clarify the cases when they're
broken.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230931
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 26 Nov 2015 09:58:28 +0000 (09:58 +0000)]
[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when checking stack offsets for sibcall optimisation
2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/67226
* calls.c (store_one_arg): Take into account
crtl->args.pretend_args_size when checking for overlap between
arg->value and argblock + arg->locate.offset during sibcall
optimization.
* gcc.c-torture/execute/pr67226.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230929
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 26 Nov 2015 09:52:48 +0000 (09:52 +0000)]
PR c++/68508
* cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
* cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise. Use
it instead of or in addition to TREE_TYPE (op). Use
is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
TREE_TYPE (type) are the same type minus qualifiers.
* typeck.c (build_static_cast_1): Adjust callers.
* g++.dg/ubsan/pr68508.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230928
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Thu, 26 Nov 2015 09:46:34 +0000 (09:46 +0000)]
[AArch64] Update patterns to support FP zero
2015-11-26 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.md (cbranch<mode>4): Use
aarch64_fp_compare_operand.
(store_pairsf): Use aarch64_reg_or_fp_zero.
(store_pairdf): Likewise.
(cstore<mode>4): Use aarch64_fp_compare_operand.
(cmov<mode>6): Likewise.
* config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230927
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 26 Nov 2015 09:44:49 +0000 (09:44 +0000)]
* testsuite/libgomp.c/target-35.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230926
138bc75d-0d04-0410-961f-
82ee72b054a4
msebor [Thu, 26 Nov 2015 01:52:04 +0000 (01:52 +0000)]
PR c++/67876 - [6 Regression] ICE when compiling Firefox 38
gcc/cp
* pt.c (convert_template_argument): Make sure number of tree
operands is greater than zero before attempting to extract one.
gcc/testsuite/
* g++.dg/pr67876.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230924
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 26 Nov 2015 00:24:21 +0000 (00:24 +0000)]
PR go/61303
runtime: don't overallocate in select code
If we've already allocated an fd_set, don't allocate another one.
Also, don't bother to read from rdwake if it wasn't returned in select.
Fixes https://gcc.gnu.org/PR61303.
Reviewed-on: https://go-review.googlesource.com/17243
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230922
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 26 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230921
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Thu, 26 Nov 2015 00:07:43 +0000 (00:07 +0000)]
fix PR68453: recursively add phi nodes to merge points
The patch adds close phi nodes to every outer loop exit, and to every loop
guard. For loop guards it computes an initial value that determines where we
stop inserting phi nodes. When the initial value is a constant, the initial
value is considered to be defined in the entry of the code gen region.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230918
138bc75d-0d04-0410-961f-
82ee72b054a4
msebor [Wed, 25 Nov 2015 23:29:57 +0000 (23:29 +0000)]
PR c/66516 - missing diagnostic on taking the address of a builtin function
* g++.dg/addr_builtin-1.C: New test (accidentally omitted from
initial commit).
* gcc.dg/addr_builtin-1.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230916
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Nov 2015 23:05:07 +0000 (23:05 +0000)]
PR lto/67548
* lto-plugin.c (linker_output, linker_output_set): New statics.
(all_symbols_read_handler): Add -flinker-output option.
(onload): Record linker_output info.
* ipa-visibility.c (cgraph_externally_visible_p,
varpool_node::externally_visible_p): When doing incremental linking,
hidden symbols may be still used later.
(update_visibility_by_resolution_info): Do not drop weak during
incremental link.
(function_and_variable_visibility): Fix formating.
* flag-types.h (lto_linker_output): Declare.
* common.opt 9flag_incremental_link): New flag.
* lto-lang.c (lto_post_options): Process flag_lto_linker_output.
* lang.opt (lto_linker_output): New enum.
(flinker_output): New flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230915
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 25 Nov 2015 23:01:59 +0000 (23:01 +0000)]
update changelog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230914
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 25 Nov 2015 22:49:41 +0000 (22:49 +0000)]
[gcc]
2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com>
<patch #10>
* config/rs6000/constraints.md (wb constraint): New constraint for
ISA 3.0 d-form scalar addressing.
* config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support
for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into
Altivec registers. Add wb constraint for Altivec registers with
D-form addressing. If we have ISA 3.0 d-form support, undo
secondary reload support for using FPR registers if we want to do
D-form addressing.
(rs6000_debug_reg_global): Likewise.
(rs6000_setup_reg_addr_masks): Likewise.
(rs6000_init_hard_regno_mode_ok): Likewise.
(rs6000_secondary_reload): Likewise.
(rs6000_preferred_reload_class): Likewise.
(rs6000_secondary_reload_class): Likewise.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb
constraint.
* config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support
for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers.
(f32_lm2): Likewise.
(f32_li2): Likewise.
(f32_sr2): Likewise.
(f32_sm2): Likewise.
(f32_si2): Likewise.
(f64_p9): Likewise.
(extendsfdf2_fpr): Likewise.
(mov<mode>_hardfloat): Likewise.
(mov<mode>_hardfloat32): Likewise.
(mov<mode>_hardfloat64): Likewise.
* doc/md.texi (RS/6000 constraints): Document wb constraint.
Fixup we constraint documentation.
[gcc/testsuite]
2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/dform-1.c: New test.
* gcc.target/powerpc/dform-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230913
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Nov 2015 22:22:37 +0000 (22:22 +0000)]
* lto-symtab.c: Include alias.h
(warn_type_compatibility_p): Replace types_compatible_p checks by
TBAA and size checks; set bit 2 if locations are TBAA incompatible.
(lto_symtab_merge): Compare DECL sizes.
(lto_symtab_merge_decls_2): Warn about TBAA in compatibility.
* gfortran.dg/lto/bind_c-6_0.f90: New testcase.
* gfortran.dg/lto/bind_c-6_1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230911
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Nov 2015 22:13:28 +0000 (22:13 +0000)]
* g++.dg/init/self1.C: Remove dg-do run.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230910
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Nov 2015 22:13:23 +0000 (22:13 +0000)]
PR c++/68434
* pt.c (tsubst): Set PLACEHOLDER_TYPE_CONSTRAINTS before
calling canonical_type_parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230909
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Nov 2015 21:34:00 +0000 (21:34 +0000)]
* lambda.c (maybe_add_lambda_conv_op): Only set
no_sanitize_undefined if SANITIZE_NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230908
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 25 Nov 2015 21:26:37 +0000 (21:26 +0000)]
Add pass_oacc_kernels pass group in passes.def
2015-11-25 Tom de Vries <tom@codesourcery.com>
* omp-low.c (pass_expand_omp_ssa::clone): New function.
* passes.def: Add pass_oacc_kernels pass group.
* tree-ssa-loop-ch.c (pass_ch::clone): New function.
* g++.dg/tree-ssa/copyprop-1.C: Update after adding new dce1.
* gcc.dg/pr23911.c: Same.
* gcc.dg/tree-ssa/
20030709-2.c: Same.
* gcc.dg/tree-ssa/
20030731-2.c: Same.
* gcc.dg/tree-ssa/
20040729-1.c: Same.
* gcc.dg/tree-ssa/cfgcleanup-1.c: Same.
* gcc.dg/tree-ssa/loop-36.c: Same.
* gcc.dg/tree-ssa/pr21086.c: Same.
* gcc.dg/tree-ssa/ssa-dce-1.c: Same.
* gcc.dg/tree-ssa/ssa-dce-2.c: Same.
* gcc.dg/vect/pr26359.c: Same.
* c-c++-common/restrict-2.c: Update after adding new lim1.
* c-c++-common/restrict-4.c: Same.
* g++.dg/tree-ssa/pr33615.C: Same.
* g++.dg/tree-ssa/restrict1.C: Same.
* gcc.dg/tm/pub-safety-1.c: Same.
* gcc.dg/tm/reg-promotion.c: Same.
* gcc.dg/tree-ssa/
20050314-1.c: Same.
* gcc.dg/tree-ssa/loop-32.c: Same.
* gcc.dg/tree-ssa/loop-33.c: Same.
* gcc.dg/tree-ssa/loop-34.c: Same.
* gcc.dg/tree-ssa/loop-35.c: Same.
* gcc.dg/tree-ssa/loop-7.c: Same.
* gcc.dg/tree-ssa/pr23109.c: Same.
* gcc.dg/tree-ssa/restrict-3.c: Same.
* gcc.dg/tree-ssa/restrict-5.c: Same.
* gcc.dg/tree-ssa/ssa-lim-1.c: Same.
* gcc.dg/tree-ssa/ssa-lim-10.c: Same.
* gcc.dg/tree-ssa/ssa-lim-11.c: Same.
* gcc.dg/tree-ssa/ssa-lim-12.c: Same.
* gcc.dg/tree-ssa/ssa-lim-2.c: Same.
* gcc.dg/tree-ssa/ssa-lim-3.c: Same.
* gcc.dg/tree-ssa/ssa-lim-6.c: Same.
* gcc.dg/tree-ssa/ssa-lim-7.c: Same.
* gcc.dg/tree-ssa/ssa-lim-8.c: Same.
* gcc.dg/tree-ssa/ssa-lim-9.c: Same.
* gcc.dg/tree-ssa/structopt-1.c: Same.
* gfortran.dg/pr32921.f: Same.
* g++.dg/tree-ssa/pr19637.C: Update after adding new dom1.
* g++.dg/tree-ssa/pr61009.C: Same.
* g++.dg/tree-ssa/ssa-dom.C: Same.
* gcc.dg/pr20115-1.c: Same.
* gcc.dg/tree-prof/
20050826-2.c: Same.
* gcc.dg/tree-prof/cmpsf-1.c: Same.
* gcc.dg/tree-ssa/
20030821-1.c: Same.
* gcc.dg/tree-ssa/
20030922-2.c: Same.
* gcc.dg/tree-ssa/
20031022-1.c: Same.
* gcc.dg/tree-ssa/
20040615-1.c: Same.
* gcc.dg/tree-ssa/
20040624-1.c: Same.
* gcc.dg/tree-ssa/pr21417.c: Same.
* gcc.dg/tree-ssa/pr61607.c: Same.
* gcc.dg/tree-ssa/slsr-27.c: Same.
* gcc.dg/tree-ssa/slsr-28.c: Same.
* gcc.dg/tree-ssa/slsr-29.c: Same.
* gcc.dg/tree-ssa/ssa-dom-branch-1.c: Same.
* gcc.dg/tree-ssa/ssa-dom-cse-3.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-1.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-2a.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-2e.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-2f.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-5.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Same.
* gcc.dg/tree-ssa/ssa-thread-12.c: Same.
* gcc.dg/tree-ssa/vrp47.c: Same.
* gcc.dg/tree-ssa/copy-headers.c: Update after adding ch1.
* gcc.dg/tree-ssa/foldconst-2.c: Same.
* gcc.dg/tree-ssa/loop-40.c: Same.
* gcc.dg/gomp/notify-new-function-3.c: Update after adding ompexpssa1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230907
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 25 Nov 2015 21:26:24 +0000 (21:26 +0000)]
Add pass_oacc_kernels
2015-11-25 Tom de Vries <tom@codesourcery.com>
* tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2):
Declare.
* tree-ssa-loop.c (gate_oacc_kernels): New static function.
(pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data.
(class pass_oacc_kernels, class pass_oacc_kernels2): New pass.
(make_pass_oacc_kernels, make_pass_oacc_kernels2): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230906
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 25 Nov 2015 20:46:25 +0000 (20:46 +0000)]
2015-11-25 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/constexpr-array13.C: Fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230903
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Nov 2015 20:00:47 +0000 (20:00 +0000)]
* timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
TV_IPA_LTO_OUTPUT): New.
* lto-compress.c: Include timevar.h
(lto_end_compression, lto_end_uncompression): Add timers.
* langhooks.c: Include timevar.h
(lhd_append_data): Add timer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230902
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 25 Nov 2015 19:39:19 +0000 (19:39 +0000)]
* gfortran.dg/nint_p7.f90: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230898
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Nov 2015 18:58:11 +0000 (18:58 +0000)]
PR c++/67941
* lambda.c (maybe_add_lambda_conv_op): Mark _FUN as
no_sanitize_undefined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230897
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Nov 2015 18:58:06 +0000 (18:58 +0000)]
* cp-ubsan.c (cp_ubsan_instrument_vptr_p): Use
do_ubsan_in_current_function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230896
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Nov 2015 18:12:51 +0000 (18:12 +0000)]
* varasm.c (default_elf_asm_output_limited_string,
default_elf_asm_output_ascii): Replace fprintf by putc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230895
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Wed, 25 Nov 2015 17:58:35 +0000 (17:58 +0000)]
2015-11-25 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/67954
* lra-constraints.c (curr_insn_transform): Add check on scratch
pseudo when change class to NO_REGS. Add an assert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230894
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 25 Nov 2015 17:33:30 +0000 (17:33 +0000)]
* config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number
constraint is 'n'.
* config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg
number.
(nvptx_write_function_decl): Number args from 0.
(nvptx_declare_function_name): Likewise.
(nvptx_function_incoming_arg): Likewise.
(nvptx_output_call_insn): Correct formatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230889
138bc75d-0d04-0410-961f-
82ee72b054a4
davids [Wed, 25 Nov 2015 17:12:28 +0000 (17:12 +0000)]
2015-11-25 David Sherwood <david.sherwood@arm.com>
* optabs.def: Add new optabs fmax_optab/fmin_optab.
* internal-fn.def: Add new fmax/fmin internal functions.
* doc/md.texi: Add fmin and fmax patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230888
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 25 Nov 2015 16:40:16 +0000 (16:40 +0000)]
/cp
2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68087
* constexpr.c (cxx_eval_array_reference): Use tree_fits_shwi_p before
tree_to_shwi to avoid ICEs.
/testsuite
2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68087
* g++.dg/cpp0x/constexpr-array13.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230886
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Nov 2015 15:30:09 +0000 (15:30 +0000)]
2015-11-25 Eric Botcazou <ebotcazou@adacore.com>
* gnatlink.adb (Gnatlink): Do not reinstate -fsjlj for the linker
from the switches saved in the ALI file but from the exception
settings.
2015-11-25 Arnaud Charlet <charlet@adacore.com>
* lib-xref-spark_specific.adb
(Add_SPARK_Scope): Take entry families into account.
* a-exetim.ads, a-exetim-default.ads, a-exetim-mingw.ads (Clock,
Clock_For_Interrupts): preconditions added.
* a-extiin.ads (Clock): preconditions added.
* par-ch3.adb (P_Declarative_Items): In case of misplaced
aspect specifications, ensure that flag Done is properly set to
continue parsing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230879
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Nov 2015 15:16:44 +0000 (15:16 +0000)]
2015-11-25 Arnaud Charlet <charlet@adacore.com>
* exp_util.adb (Remove_Side_Effects): Minimize extra temporaries
and use of 'Reference when needed.
2015-11-25 Doug Rupp <rupp@adacore.com>
* sigtramp-vxworks-target.inc (__x86_64__): Restore context for the
sake of uniformity.
* init.c (__gnat_inum_to_ivec): Add some casting to avoid
warnings when sizeof(long) != sizeof(int)
2015-11-25 Yannick Moy <moy@adacore.com>
* lib-xref-spark_specific.adb (SPARK_Entities): Add entries for
consideration.
(Add_SPARK_Scope): Take tasks into account.
(Detect_And_Add_SPARK_Scope): Take tasks into account.
(Enclosing_Subprogram_Or_Library_Package): Take tasks into account.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230878
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Nov 2015 15:14:27 +0000 (15:14 +0000)]
2015-11-25 Bob Duff <duff@adacore.com>
* sem_elab.adb (Check_Internal_Call_Continue): Code clean ups.
2015-11-25 Eric Botcazou <ebotcazou@adacore.com>
* sem_util.ads (Has_Compatible_Alignment): Add Layout_Done
parameter.
* sem_util.adb (Has_Compatible_Alignment): Likewise.
(Has_Compatible_Alignment_Internal): Likewise. Do not set the
result to Unknown for packed types if Layout_Done is true.
* checks.adb (Apply_Address_Clause_Check): Adjust call and
pass False to Has_Compatible_Alignment.
* sem_ch13.adb (Validate_Address_Clauses): Likewise but pass True.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230877
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Nov 2015 15:10:52 +0000 (15:10 +0000)]
2015-11-25 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: When <target>-gnat is called with switch -P
and a GPR tool is invoked, invoke the GPR tool with switch
--target=<target>.
2015-11-25 Hristian Kirtchev <kirtchev@adacore.com>
* opt.adb, bcheck.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230876
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Nov 2015 15:09:38 +0000 (15:09 +0000)]
2015-11-25 Jerome Lambourg <lambourg@adacore.com>
* init.c: Enable the signal trampoline on x86_64-vx7
* sigtramp-vxworks-target.inc: Implement the signal trampoline
for x86_64
* tracebak.c: Remove the hook to use the generic
unwinder on x86_64-vx7.
2015-11-25 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: When "gnat name -P" is called, invoke gprname
directly if available.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230875
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Nov 2015 15:07:12 +0000 (15:07 +0000)]
2015-11-25 Tristan Gingold <gingold@adacore.com>
* init.c (__gnat_is_stack_guard): Do not use mach calls for
IOS simulator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230874
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Wed, 25 Nov 2015 15:04:33 +0000 (15:04 +0000)]
2015-11-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/68227
* trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into
into part of conditional statement.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230873
138bc75d-0d04-0410-961f-
82ee72b054a4
cesar [Wed, 25 Nov 2015 14:37:36 +0000 (14:37 +0000)]
PR fortran/63858
gcc/fortran/
* scanner.c (skip_oacc_attribute): Remove continue_flag parameter.
Rename as ...
(skip_free_oacc_sentinel): ... this.
(skip_omp_attribute): Remove continue_flag parameter. Rename as ...
(skip_free_omp_sentinel): ... this.
(skip_free_comments): Update to call skip_free_oacc_sentinel and
skip_free_omp_sentinel.
(skip_fixed_omp_sentinel): New function.
(skip_fixed_oacc_sentinel): New function.
(skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in
continuation.
gcc/testsuite/
* goacc/omp-fixed.f: New test.
* goacc/omp.f95: Add check for mis-matched omp and acc continuations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230872
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Nov 2015 14:35:24 +0000 (14:35 +0000)]
PR c++/68385
* tree.c (integer_zerop, integer_onep, integer_each_onep)
(integer_all_onesp, integer_minus_onep, integer_pow2p)
(integer_nonzerop, integer_truep, tree_log2, tree_floor_log2)
(real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230871
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Nov 2015 14:21:25 +0000 (14:21 +0000)]
2015-11-25 Richard Biener <rguenther@suse.de>
PR middle-end/68528
* fold-const.c (fold_binary_loc): Do not call negate_expr_p
on stripped operands.
* gcc.dg/torture/pr68528.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230870
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Wed, 25 Nov 2015 14:03:44 +0000 (14:03 +0000)]
* config/nvptx/nvptx.c (walk_args_for_params): Delete.
(nvptx_declare_function_name): Move assignments next to register
declarations, and process params here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230869
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 25 Nov 2015 13:49:06 +0000 (13:49 +0000)]
Improve tests for valid values of iostream bitmask types
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
check minimum and maximum values, and size of underlying type.
* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230868
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 25 Nov 2015 12:52:50 +0000 (12:52 +0000)]
* config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
both the symbol and the "dot" symbol for function descriptors. Fix
inversion for rename of symbols with dollar sign.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230867
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 25 Nov 2015 11:28:49 +0000 (11:28 +0000)]
Improve verification of loop->latch in verify_loop_structure
2015-11-25 Tom de Vries <tom@codesourcery.com>
* cfgloop.c (find_single_latch): New function, factored out of ...
(flow_loops_find): ... here.
(verify_loop_structure): Improve verification of loop->latch.
* cfgloop.h (find_single_latch): Declare.
* omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230866
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Wed, 25 Nov 2015 10:30:25 +0000 (10:30 +0000)]
Port libvtv to Solaris
libstdc++-v3:
* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
-Wl,-R in VTV_CXXLINKFLAGS.
* configure: Regenerate.
* testsuite/18_support/bad_exception/23591_thread-1.c: Use
-fvtable-verify=none on Solaris 12+.
libgcc:
* Makefile.in (VTV_CFLAGS): New variable.
(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
to extra_parts if $enable_vtable_verify = yes.
libvtv:
* configure.tgt (*-*-solaris2.[1-9]*): Declare supported.
* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
<*-*-solaris2*>: Check for init priority support.
Check for getexecname, __fortify_fail, _obstack_begin.
(VTV_NO_OBSTACK): New conditional.
* configure: Regenerate.
* Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition.
Create empty config.h
* Makefile.in: Regenerate.
* vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New
variable.
(read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it.
(dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it.
(__fortify_fail): Wrap in HAVE___FORTIFY_FAIL
[!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation.
(read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE.
(iterate_modules): Fix typo.
Use VTV_PAGE_SIZE.
(dl_iterate_phdr_callback): Fix typo.
Use VTV_PAGE_SIZE.
(__VLTChangePermission): Fix typos.
include:
* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
__sparc__]: Define.
gcc:
* config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
(STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
(STARTFILE_SPEC): Use %(startfile_vtv).
(ENDFILE_SPEC): Use %(endfile_vtv).
(SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
ENDFILE_VTV_SPEC.
* gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230865
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 25 Nov 2015 10:23:28 +0000 (10:23 +0000)]
Remove broken ifcvt code for speculating memory writes
* ifcvt.c (noce_mem_write_may_trap_or_fault_p,
noce_can_store_speculate): Delete.
(noce_process_if_block): Don't try to handle single MEM stores.
* rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
* alias.c (memory_must_be_modified_in_insn_p): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230864
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 25 Nov 2015 10:00:02 +0000 (10:00 +0000)]
2015-11-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58910
* g++.dg/cpp0x/constexpr-tuple2.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230860
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 25 Nov 2015 09:48:29 +0000 (09:48 +0000)]
[RTL-ifcvt] PR rtl-optimization/68435 Allow (c ? x++ : x--) form
PR rtl-optimization/68435
* ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
for conflicts between a, b and the set destinations.
* gcc.dg/pr68435.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230859
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Nov 2015 09:22:47 +0000 (09:22 +0000)]
2015-11-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/68517
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
Properly handle zero-sized types.
* gcc.dg/torture/pr68517.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230858
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Nov 2015 09:08:20 +0000 (09:08 +0000)]
* ipa-inline-analysis.c: Include gimplify.h
(set_cond_stmt_execution_predicate,
set_switch_stmt_execution_predicate): Be sure to not leak locations
to function body.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230857
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Nov 2015 08:58:32 +0000 (08:58 +0000)]
PR target/67089
* tree-ssa-math-opts.c (uaddsub_overflow_check_p,
match_uaddsub_overflow): New functions.
(pass_optimize_widening_mul::execute): Call match_uaddsub_overflow.
* gcc.dg/pr67089-1.c: New test.
* gcc.dg/pr67089-2.c: New test.
* gcc.dg/pr67089-3.c: New test.
* gcc.dg/pr67089-4.c: New test.
* gcc.dg/pr67089-5.c: New test.
* gcc.dg/pr67089-6.c: New test.
* gcc.dg/pr67089-7.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230856
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Nov 2015 08:53:22 +0000 (08:53 +0000)]
2015-11-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/68492
* tree-vect-slp.c (vect_build_slp_tree): Consistently build up
op from scalars after operand swapping.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230855
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Nov 2015 08:46:34 +0000 (08:46 +0000)]
2015-11-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/68502
* tree-vect-data-refs.c (vect_analyze_group_access_1): Restore
check that the step is a multiple of the type size.
* gcc.dg/vect/pr68502-1.c: New testcase.
* gcc.dg/vect/pr68502-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230854
138bc75d-0d04-0410-961f-
82ee72b054a4
collison [Wed, 25 Nov 2015 06:51:55 +0000 (06:51 +0000)]
2015-11-24 Michael Collison <michael.collison@linaro.org>
* config/aarch64/aarch64-simd.md (widen_ssum, widen_usum)
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns
* config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes.
* gcc.target/aarch64/saddw-1.c: New test.
* gcc.target/aarch64/saddw-2.c: New test.
* gcc.target/aarch64/uaddw-1.c: New test.
* gcc.target/aarch64/uaddw-2.c: New test.
* gcc.target/aarch64/uaddw-3.c: New test.
* lib/target-support.exp
(check_effective_target_vect_widen_sum_hi_to_si_pattern):
Add aarch64 to list of support targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230853
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 25 Nov 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230850
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Tue, 24 Nov 2015 22:12:25 +0000 (22:12 +0000)]
Fix typos from last checkin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230847
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Tue, 24 Nov 2015 22:11:27 +0000 (22:11 +0000)]
2015-11-24 Steve Ellcey <sellcey@imgtec.com>
* gcc.target/mips/frame-header-4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230846
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Tue, 24 Nov 2015 22:09:17 +0000 (22:09 +0000)]
2015-11-24 Steve Ellcey <sellcey@imgtec.com>
* frame-header-opt.c (gate): Check for optimize > 0.
(has_inlined_assembly): New function.
(needs_frame_header_p): Remove is_leaf_function check,
add argument type check.
(callees_functions_use_frame_header): Add is_leaf_function
and has_inlined_assembly calls..
(set_callers_may_not_allocate_frame): New function.
(frame_header_opt): Add is_leaf_function call, add
set_callers_may_not_allocate_frame call.
* config/mips/mips.c (mips_compute_frame_info): Add check
to see if callee saved regs can be put in frame header.
(mips_expand_prologue): Add check to see if step1 is zero,
fix cfa restores when using frame header to store regs.
(mips_can_use_return_insn): Check to see if registers are
stored in frame header.
* config/mips/mips.h (machine_function): Add
callers_may_not_allocate_frame and
use_frame_header_for_callee_saved_regs fields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230845
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Tue, 24 Nov 2015 21:23:25 +0000 (21:23 +0000)]
shrink-wrap: Fix thinko (PR68520)
Part of the shrink-wrapping algorithm has this comment:
/* Now see if we can put the prologue at the start of PRO. Putting it
there might require duplicating a block that cannot be duplicated,
or in some cases we cannot insert the prologue there at all. If PRO
wont't do, try again with the immediate dominator of PRO, and so on.
The blocks that need duplicating are those reachable from PRO but
not dominated by it. We keep in BB_WITH a bitmap of the blocks
reachable from PRO that we already found, and in VEC a stack of
those we still need to consider (to find successors). */
Two of the cases that push to that stack do not actually check the
bitmap first. Either I thought those blocks could not be on the stack
already, or more likely I didn't think and it just didn't crash during
any testing. But of course those blocks *can* already be on the stack
(if you have a hideous loop structure), and then we end up with the
same block on the stack more than once. This is harmless, except that
(like in the PR) this can overflow the stack.
This fixes it, by doing the necessary bitmap checks before pushing.
PR rtl-optimization/68520
* shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if
its bit was already set in BB_WITH.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230843
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [Tue, 24 Nov 2015 21:04:47 +0000 (21:04 +0000)]
gcc/c/
* c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
with "if (ENABLE_OFFLOADING)".
gcc/cp/
* parser.c (cp_parser_oacc_declare): replace "ifdef enable_offloading"
with "if (enable_offloading)".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230842
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 24 Nov 2015 20:35:16 +0000 (20:35 +0000)]
* alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
double check that type is main variant.
* tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
variant.
(verify_type_variant): Verify that variants have no
TYPE_ALIAS_SET_KNOWN_P set
* tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
streaming so constant fields come first; stream TYPE_ALIAS_SET==0
only for main variants; stream TYPE_ALIAS_SET as a bit.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230838
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 24 Nov 2015 20:26:48 +0000 (20:26 +0000)]
* tree.c (make_vector_type): Properly compute canonical type of the
main variant.
(verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is
a main variant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230837
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 24 Nov 2015 20:15:44 +0000 (20:15 +0000)]
* config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
VOIDmode, don't alter incoming mode.
(nvptx_split_reg_p): Delete.
(write_one_arg, walk_args_for_param, nvptx_declare_function_name,
write_func_decl_from_insn, nvptx_output_call_insn): Adjust
maybe_split_mode calls.
(nvptx_print_operand): Use maybe_split_mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230836
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 24 Nov 2015 19:35:38 +0000 (19:35 +0000)]
* lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
only for types where LTO sets them.
* tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO.
(make_vector_type): Likewise.
(gimple_canonical_types_compatible_p): Use canonical_type_used_p.
* tree.h (canonical_type_used_p): New inline.
* alias.c (get_alias_set): Handle structural equality for all
types that pass canonical_type_used_p.
(record_component_aliases): Look through all types with
record_component_aliases for possible pointers; sanity check that
the alias sets match.
* lto.c (iterative_hash_canonical_type): Recruse for all types
which pass !canonical_type_used_p.
(gimple_register_canonical_type_1): Sanity check we do not compute
canonical type of anything with !canonical_type_used_p.
(gimple_register_canonical_type): Skip all types that are
!canonical_type_used_p
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230835
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 24 Nov 2015 19:16:18 +0000 (19:16 +0000)]
2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.md (lround<mode>di2): Remove constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230834
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 24 Nov 2015 19:04:04 +0000 (19:04 +0000)]
* tree.c (free_node): New function.
(type_hash_canon): Use it.
* tree.h (free_node): Declare.
* lto.c (unify_scc): Use free_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230833
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Tue, 24 Nov 2015 18:58:28 +0000 (18:58 +0000)]
2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/68486
* simplify.c (gfc_simplify_cshift): Allow all EXPR_*.
2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/68486
* gfortran.dg/simplify_cshift_3.f90
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230832
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 24 Nov 2015 18:54:34 +0000 (18:54 +0000)]
fix ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230831
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 24 Nov 2015 18:47:49 +0000 (18:47 +0000)]
fix ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230830
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 24 Nov 2015 18:46:07 +0000 (18:46 +0000)]
2015-11-24 David Edelsohn <dje.gcc@gmail.com>
Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
(Fv2): New mode attribute to be used when ISA 2.06 instructions
are used on SF/DF values.
(abs<mode>2_fpr): Use <Fv2> instead of <Fv>.
(nabs<mode>2_fpr): Likewise.
(neg<mode>2_fpr): Likewise.
(copysign<mode>3_fcpsgn): Likewise.
(smax<mode>3_vsx): Likewise.
(smin<mode>3_vsx): Likewise.
(floatsi<mode>2_lfiwax): Likewise.
(floatunssi<mode>2_lfiwz): Likewise.
(fctiwz_<mode>): Likewise.
(fctiwuz_<mode>): Likewise.
(btrunc<mode>2): Likewise.
(ceil<mode>2): Likewise.
(floor<mode>2): Likewise.
(xsrdpi<mode>): Add support for the lround function.
(lround<mode>2): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230829
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 24 Nov 2015 18:30:02 +0000 (18:30 +0000)]
2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68278
* g++.dg/cpp1y/pr68278.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230828
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 24 Nov 2015 18:16:26 +0000 (18:16 +0000)]
2015-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68388
* g++.dg/cpp1y/pr68388.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230827
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 24 Nov 2015 18:00:52 +0000 (18:00 +0000)]
fix PR67984: check for constants in rename map
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230826
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 24 Nov 2015 17:57:45 +0000 (17:57 +0000)]
move all declarations to a same .h file
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230825
138bc75d-0d04-0410-961f-
82ee72b054a4
pmderodat [Tue, 24 Nov 2015 16:59:43 +0000 (16:59 +0000)]
DWARF: materialize subprogram renamings in Ada as imported declarations
... so that debugger users can reference them instead of the renamed
subprograms. This is in accordance with the DWARF specification: the
section 3.2.3 (Imported (or Renamed) Declaration Entities) allows
DW_TAG_imported_declaration DIEs to be used "as a general means to
rename or provide an alias for an entity regardless of the context in
which the importing declaration or the imported entity occur." (wording
from the DWARFv3 and DWARFv4 specifications, allowed in DWARFv2).
gcc/ada/ChangeLog:
* gcc-interface/utils.c (gnat_write_global_declarations): Output
debugging information for top-level imported declarations.
gcc/ChangeLog:
* dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead
of DW_TAG_namespace for IMPORTED_DECL declarations. Call
dwarf2out_imported_module_or_decl_1 for all DWARF versions as
this function already takes care of checking what it can emit.
Bootstrapped, regtested and checked with GDB's testsuite on
x86_64-linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230821
138bc75d-0d04-0410-961f-
82ee72b054a4
nsz [Tue, 24 Nov 2015 16:06:30 +0000 (16:06 +0000)]
[AArch64] Documentation fix for -fpic
gcc/
* doc/invoke.texi (-fpic): Add the AArch64 limit.
(-fPIC): Add AArch64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230819
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Tue, 24 Nov 2015 16:00:51 +0000 (16:00 +0000)]
PR rtl-optimization/68392
* g++.dg/pr68392.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230818
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 24 Nov 2015 14:47:55 +0000 (14:47 +0000)]
Allow pass_lim to run outside pass_tree_loop
2015-11-24 Tom de Vries <tom@codesourcery.com>
* tree-ssa-loop-im.c (tree_ssa_lim): Make static.
(pass_lim::execute): Allow to run outside pass_tree_loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230815
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Tue, 24 Nov 2015 14:46:05 +0000 (14:46 +0000)]
[PATCH][AArch64] Improve add immediate expansion
gcc/
* gcc/config/aarch64/aarch64.md (add<mode>3):
Block early expansion into 2 add instructions.
(add<mode>3_pluslong): New pattern to combine complex
immediates into 2 additions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230814
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Tue, 24 Nov 2015 14:04:11 +0000 (14:04 +0000)]
rs6000: Fix for and_operand oversight (PR68332, PR67677)
Calling rs6000_is_valid_and_mask on a reg instead of on a const_int is
not a good idea, as PR68332 and PR67677 as well as testing with
--enable-checking=yes,rtl show. Fix this.
PR target/66217
PR target/67677
PR target/68332
* config/rs6000/predicates.md (and_operand): Check that the operand
is a const_int before calling rs6000_is_valid_and_mask.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230811
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 24 Nov 2015 13:53:31 +0000 (13:53 +0000)]
* gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230810
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Tue, 24 Nov 2015 13:35:56 +0000 (13:35 +0000)]
Testcase for PR rtl-optimization/68381
PR rtl-optimization/68381
* gcc.c-torture/execute/pr68381.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230809
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 24 Nov 2015 13:15:43 +0000 (13:15 +0000)]
Handle C++11 <math.h> overloads on Solaris 12
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
* configure.ac: Use it.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/c_global/cmath [__cplusplus >= 201103L]
(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::isfinite): Likewise.
(std::isinf): Likewise.
(std::isnan): Likewise.
(std::isnormal): Likewise.
(std::signbit): Likewise.
(std::isgreater): Likewise.
(std::isgreaterequal): Likewise.
(std::isless): Likewise.
(std::islessequal): Likewise.
(std::islessgreater): Likewise.
(std::isunordered): Likewise.
(std::acosh): Likewise.
(std::asinh): Likewise.
(std::atanh): Likewise.
(std::cbrt): Likewise.
(std::copysign): Likewise.
(std::erf): Likewise.
(std::erfc): Likewise.
(std::exp2): Likewise.
(std::expm1): Likewise.
(std::fdim): Likewise.
(std::fma): Likewise.
(std::fmax): Likewise.
(std::fmin): Likewise.
(std::hypot): Likewise.
(std::ilogb): Likewise.
(std::lgamma): Likewise.
(std::llrint): Likewise.
(std::llround): Likewise.
(std::log1p): Likewise.
(std::log2): Likewise.
(std::logb): Likewise.
(std::lrint): Likewise.
(std::lround): Likewise.
(std::nearbyint): Likewise.
(std::nextafter): Likewise.
(std::nexttoward): Likewise.
(std::remainder): Likewise.
(std::remquo): Likewise.
(std::rint): Likewise.
(std::round): Likewise.
(std::scalbln): Likewise.
(std::scalbn): Likewise.
(std::tgamma): Likewise.
(std::trunc): Likewise.
* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::tr1::asinh): Likewise.
(std::tr1::atanh): Likewise.
(std::tr1::cbrt): Likewise.
(std::tr1::copysign): Likewise.
(std::tr1::erf): Likewise.
(std::tr1::erfc): Likewise.
(std::tr1::exp2): Likewise.
(std::tr1::expm1): Likewise.
(std::tr1::fabs): Likewise.
(std::tr1::fdim): Likewise.
(std::tr1::fma): Likewise.
(std::tr1::fmax): Likewise.
(std::tr1::fmin): Likewise.
(std::tr1::hypot): Likewise.
(std::tr1::ilogb): Likewise.
(std::tr1::lgamma): Likewise.
(std::tr1::llrint): Likewise.
(std::tr1::llround): Likewise.
(std::tr1::log1p): Likewise.
(std::tr1::log2): Likewise.
(std::tr1::logb): Likewise.
(std::tr1::lrint): Likewise.
(std::tr1::lround): Likewise.
(std::tr1::nearbyint): Likewise.
(std::tr1::nextafter): Likewise.
(std::tr1::nexttoward): Likewise.
(std::tr1::remainder): Likewise.
(std::tr1::remquo): Likewise.
(std::tr1::rint): Likewise.
(std::tr1::scalbln): Likewise.
(std::tr1::scalbn): Likewise.
(std::tr1::tgamma): Likewise.
(std::tr1::trunc): Likewise.
(std::tr1::pow): Likewise.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230807
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Tue, 24 Nov 2015 13:08:56 +0000 (13:08 +0000)]
[AArch64][v2] Improve comparison with complex immediates followed by branch/cset
* config/aarch64/aarch64.md (*condjump): Rename to...
(condjump): ... This.
(*compare_condjump<mode>): New define_insn_and_split.
(*compare_cstore<mode>_insn): Likewise.
(*cstore<mode>_insn): Rename to...
(cstore<mode>_insn): ... This.
* config/aarch64/iterators.md (CMP): Handle ne code.
* config/aarch64/predicates.md (aarch64_imm24): New predicate.
* gcc.target/aarch64/cmpimm_branch_1.c: New test.
* gcc.target/aarch64/cmpimm_cset_1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230805
138bc75d-0d04-0410-961f-
82ee72b054a4
chefmax [Tue, 24 Nov 2015 12:24:46 +0000 (12:24 +0000)]
Move ptrace.h to appropriate place.
libsanitizer/
* include/system/linux/asm/ptrace.h: Move to ...
* include/system/asm/ptrace.h: ... this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230804
138bc75d-0d04-0410-961f-
82ee72b054a4
miyuki [Tue, 24 Nov 2015 12:18:21 +0000 (12:18 +0000)]
Fix PR68497 (ICE with -fno-checking)
gcc/
PR target/68497
* config/i386/i386.c (output_387_binary_op): Fix assertion for
-fno-checking case.
gcc/testsuite/
PR target/68497
* gcc.target/i386/pr68497.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230803
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 24 Nov 2015 11:46:18 +0000 (11:46 +0000)]
remove val_ssa_equiv_hash_traits
gcc/ChangeLog:
2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
(val_ssa_equiv_hash_traits::remove): Likewise.
(pass_uncprop::execute): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230802
138bc75d-0d04-0410-961f-
82ee72b054a4