Jakub Jelinek
0fe81a0f05
re PR middle-end/63247 (fortran array alignment in omp target map)
...
PR middle-end/63247
* omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER
of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION
use the alignment of avar rather than ovar.
From-SVN: r215678
2014-09-29 07:20:52 +02:00
GCC Administrator
32a5d2f15c
Daily bump.
...
From-SVN: r215675
2014-09-29 00:16:27 +00:00
John David Anglin
501fcaf556
pa.c (pa_output_function_epilogue): Only update last_address when a nonnote insn is found.
...
* config/pa/pa.c (pa_output_function_epilogue): Only update
last_address when a nonnote insn is found.
From-SVN: r215669
2014-09-28 15:39:23 +00:00
Matthew Fortune
05342e105f
Update MIPS maintainers.
...
/
* MAINTAINERS: Move myself to MIPS maintainers.
From-SVN: r215664
2014-09-28 09:03:18 +00:00
Robert Suchanek
fcf239c09b
Test to cover LRA fix in r215119.
...
gcc/testsuite/
* gcc.target/mips/20140928.c: New test.
From-SVN: r215663
2014-09-28 08:54:36 +00:00
GCC Administrator
b69f0860bb
Daily bump.
...
From-SVN: r215662
2014-09-28 00:16:45 +00:00
Andi Kleen
e8447fa68c
Run new mcount tests only on Linux and not on PIC
...
gcc/testsuite/:
2014-09-27 Andi Kleen <ak@linux.intel.com>
* gcc.target/i386/nop-mcount.c: Only run on Linux.
* gcc.target/i386/record-mcount.c: dito.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
From-SVN: r215659
2014-09-27 18:50:59 +00:00
Jan-Benedict Glaw
3f6bb7e591
MAINTAINERS: Put all email addresses between '<' and '>'.
...
2014-09-23 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* MAINTAINERS: Put all email addresses between '<' and '>'.
From-SVN: r215657
2014-09-27 11:51:20 +00:00
Jan Hubicka
b2d82f2df1
re PR ipa/60665 (gcc/ipa-devirt.c:1510:7: warning: variable 'can_refer' is used uninitialized whenever '?:' condition is false)
...
PR ipa/60665
* ipa-devirt.c (possible_polymorphic_call_targets): Silence clang warning.
From-SVN: r215656
2014-09-27 00:21:33 +00:00
Jan Hubicka
ec1d732bc6
re PR ipa/62121 (ICE: Segmentation fault in ipa-devirt.c:997)
...
PR ipa/62121
* ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_class):
fix pasto in checking array size.
* g++.dg/torture/pr62121.C: New testcase.
From-SVN: r215655
2014-09-27 00:19:06 +00:00
GCC Administrator
ee5bd6c8fd
Daily bump.
...
From-SVN: r215654
2014-09-27 00:16:37 +00:00
Jan Hubicka
8cce4dbf90
re PR middle-end/35545 (tracer pass is run too late)
...
PR middle-end/35545
* passes.def (pass_tracer): Move before last dominator pass.
* g++.dg/tree-prof/pr35545.C: New testcase.
From-SVN: r215651
2014-09-27 00:03:23 +00:00
Jason Merrill
00eaaa5056
mangle.c (is_std_substitution): Check for abi_tag.
...
gcc/cp/
* mangle.c (is_std_substitution): Check for abi_tag.
libiberty/
* cp-demangle.c (d_substitution): Handle abi tags on abbreviation.
From-SVN: r215647
2014-09-26 15:57:37 -04:00
Bill Schmidt
20ee26901f
pr63335.c: Change effective target to vsx_hw.
...
2014-09-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63335.c: Change effective target to
vsx_hw.
From-SVN: r215646
2014-09-26 19:28:36 +00:00
H.J. Lu
6f35fc1b1c
Skip gcc.target/i386/shrink_wrap_1.c on ia32
...
* gcc.target/i386/shrink_wrap_1.c: Skip ia32.
From-SVN: r215645
2014-09-26 08:27:01 -07:00
Thomas Schwinge
1120a85052
Fix -freport-bug patch.
...
gcc/
* gcc.c (try_generate_repro): Remove argument "prog". Change all
users.
(run_attempt): Handle errors of "pex_run" invocation.
Fixes bootstrap failure/compiler warnings:
[...]
../../master/gcc/gcc.c: In function 'attempt_status run_attempt(const char**, const char*, const char*, int, int)':
../../master/gcc/gcc.c:6319:15: error: variable 'errmsg' set but not used [-Werror=unused-but-set-variable]
const char *errmsg;
^
../../master/gcc/gcc.c: At global scope:
../../master/gcc/gcc.c:6412:33: error: unused parameter 'prog' [-Werror=unused-parameter]
try_generate_repro (const char *prog, const char **argv)
^
cc1plus: all warnings being treated as errors
Makefile:1040: recipe for target 'gcc.o' failed
make[3]: *** [gcc.o] Error 1
make[3]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build/gcc'
Makefile:4285: recipe for target 'all-stage2-gcc' failed
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
Makefile:21561: recipe for target 'stage2-bubble' failed
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
Makefile:892: recipe for target 'all' failed
make: *** [all] Error 2
From-SVN: r215644
2014-09-26 15:43:34 +02:00
Christophe Lyon
a3125fc233
[AArch64] Enable Address Sanitizer.
...
2014-09-26 Christophe Lyon <christophe.lyon@linaro.org>
[AArch64] Enable Address Sanitizer.
gcc/
* config/aarch64/aarch64-linux.h (ASAN_CC1_SPEC): Define.
(CC1_SPEC): Define.
* config/aarch64/aarch64.c (aarch64_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Define.
libsanitzer/
* configure.tgt: Enable build on aarch64*-linux.
From-SVN: r215642
2014-09-26 15:07:42 +02:00
Martin Liska
bf898b300e
cgraph.c (cgraph_node::release_body): New argument keep_arguments introduced.
...
* cgraph.c (cgraph_node::release_body): New argument keep_arguments
introduced.
* cgraph.h: Likewise.
* cgraphunit.c (cgraph_node::create_wrapper): Usage of new argument introduced.
* ipa-utils.h (polymorphic_type_binfo_p): Safe check for binfos created by Java.
* tree-ssa-alias.c (ao_ref_base_alias_set): Static function transformed to global.
* tree-ssa-alias.h: Likewise.
From-SVN: r215640
2014-09-26 10:37:44 +00:00
Jakub Jelinek
5535b7d6f3
struct-layout-1_generate.c: Add -Wno-abi to default options.
...
* g++.dg/compat/struct-layout-1_generate.c: Add -Wno-abi
to default options.
From-SVN: r215635
2014-09-26 10:34:19 +02:00
Jakub Jelinek
dc10fd963f
common.opt: New option.
...
gcc/
2014-09-26 Jakub Jelinek <jakub@redhat.com>
Max Ostapenko <m.ostapenko@partner.samsung.com>
* common.opt: New option.
* doc/invoke.texi: Describe new option.
* gcc.c (execute): Don't free first string early, but at the end
of the function. Call retry_ice if compiler exited with
ICE_EXIT_CODE.
(main): Factor out common code.
(print_configuration): New function.
(files_equal_p): Likewise.
(check_repro): Likewise.
(run_attempt): Likewise.
(do_report_bug): Likewise.
(append_text): Likewise.
(try_generate_repro): Likewise
Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>
From-SVN: r215633
2014-09-26 11:03:09 +03:00
Max Ostapenko
29ce50b031
pex-common.h (struct pex_funcs): Add new parameter for open_write field.
...
libiberty/
2014-09-26 Max Ostapenko <m.ostapenko@partner.samsung.com>
* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
* pex-unix.c (pex_unix_open_write): Add support for new parameter.
* pex-djgpp.c (pex_djgpp_open_write): Likewise.
* pex-win32.c (pex_win32_open_write): Likewise.
* pex-common.c (pex_run_in_environment): Likewise.
include/
2014-09-26 Max Ostapenko <m.ostapenko@partner.samsung.com>
* libiberty.h (PEX_STDOUT_APPEND): New flag.
(PEX_STDERR_APPEND): Likewise.
From-SVN: r215632
2014-09-26 10:58:04 +03:00
Andi Kleen
ecc81e3312
Add direct support for Linux kernel __fentry__ patching
...
The Linux kernel dynamically patches in __fentry__ calls in and
out at runtime. This allows using function tracing for debugging
in production kernels without (significant) performance penalty.
For this it needs a table pointing to each __fentry__ call.
The way it is currently implemented is that a special
perl script scans the object file, generates the table in a special
section. When the kernel boots up it nops the calls, and
then later patches in the calls again as needed.
The recordmcount.pl script in the kernel works, but it seems
cleaner and faster to support the code generation of the patch table
directly in gcc.
This also allows to nop the calls directly at code generation
time, which allows to skip a patching step at kernel boot.
I also expect that a patchable production tracing facility is also useful
for other applications.
For example it could be used in ftracer
(https://github.com/andikleen/ftracer )
Having a nop area at the beginning of each function can be also
also useful for other things. For example it can be used to patch
functions at runtime to point to different functions, to do
binary updates without restarting the program (like ksplice or
similar)
This patch implements two new options for the i386 target:
-mrecord-mcount
Generate a __mcount_loc section entry for each __fentry__ or mcount
call. The section is compatible with the kernel convention
and the data is put into a section loaded at runtime.
-mnop-mcount
Generate the mcount/__fentry__ call as 5 byte nop that can be
patched in later. The nop is generated as a single instruction,
as the Linux kernel run time patching relies on this.
Limitations:
- I didn't implement -mnop-mcount for -fPIC. This
would need a good single instruction 6 byte NOP and it seems a
bit pointless, as the patching would prevent text sharing.
- I didn't implement noping for targets that pass a variable
to mcount.
- The facility could be useful on architectures too. Currently
the mcount code is target specific, so I made it a i386 option.
gcc/:
2014-09-25 Andi Kleen <ak@linux.intel.com>
* config/i386/i386.c (x86_print_call_or_nop): New function.
(x86_function_profiler): Support -mnop-mcount and
-mrecord-mcount.
* config/i386/i386.opt (-mnop-mcount, -mrecord-mcount): Add
* doc/invoke.texi: Document -mnop-mcount, -mrecord-mcount.
gcc/testsuite:
2014-09-25 Andi Kleen <ak@linux.intel.com>
* gcc.target/i386/nop-mcount.c: New file.
* gcc.target/i386/record-mcount.c: New file.
From-SVN: r215629
2014-09-26 04:06:40 +00:00
Jan Hubicka
6eb0ae29ec
ipa-prop.c (ipa_intraprocedural_devirtualization): Remove.
...
* ipa-prop.c (ipa_intraprocedural_devirtualization): Remove.
* ipa-prop.h (ipa_intraprocedural_devirtualization): Remove.
* tree-ssa-prop.c (eliminate_dom_walker::before_dom_children):
Remove.
From-SVN: r215628
2014-09-26 01:49:40 +00:00
Sandra Loosemore
9f442ef4a0
pr56933.c: Don't specify "dg-do run" explicitly.
...
2014-09-25 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* gcc.dg/vect/pr56933.c: Don't specify "dg-do run" explicitly.
* gcc.dg/vect/pr57705.c: Likewise.
* gcc.dg/vect/pr57741-2.c: Likewise.
* gcc.dg/vect/pr57741-3.c: Likewise.
* gcc.dg/vect/pr59591-1.c: Likewise.
* gcc.dg/vect/pr59591-2.c: Likewise.
* gcc.dg/vect/pr60196-1.c: Likewise.
* gcc.dg/vect/pr60196-2.c: Likewise.
* gcc.dg/vect/pr60276.c: Likewise.
* gcc.dg/vect/pr61680.c: Likewise.
* gcc.dg/vect/pr63148.c: Likewise.
* gcc.dg/vect/pr63189.c: Likewise.
* gcc.dg/vect/vect-mask-load-1.c: Likewise.
* gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
* gcc.dg/vect/vect-nop-move.c: Likewise.
* gcc.dg/vect/vect-simd-clone-10.c: Likewise.
* gcc.dg/vect/vect-simd-clone-12.c: Likewise.
From-SVN: r215627
2014-09-25 20:51:26 -04:00
GCC Administrator
7a49a84dd8
Daily bump.
...
From-SVN: r215626
2014-09-26 00:16:44 +00:00
Jan Hubicka
aa803cc76e
ipa-utils.h (subbinfo_with_vtable_at_offset, [...]): Declare.
...
* ipa-utils.h (subbinfo_with_vtable_at_offset, type_all_derivations_known_p,
type_known_to_have_no_deriavations_p, types_must_be_same_for_odr,
types_odr_comparable): Declare.
(polymorphic_type_binfo_p): Move here from ipa-devirt.c
* ipa-polymorphic-call.c: New file.
(contains_polymorphic_type_p, possible_placement_new,
ipa_polymorphic_call_context::restrict_to_inner_class,
contains_type_p, decl_maybe_in_construction_p,
ipa_polymorphic_call_context::stream_out,
ipa_polymorphic_call_context::debug,
ipa_polymorphic_call_context::stream_in,
ipa_polymorphic_call_context::set_by_decl,
ipa_polymorphic_call_context::set_by_invariant,
walk_ssa_copies,
ipa_polymorphic_call_context::ipa_polymorphic_call_context,
type_change_info, noncall_stmt_may_be_vtbl_ptr_store,
extr_type_from_vtbl_ptr_store, record_known_type
check_stmt_for_type_change,
ipa_polymorphic_call_context::get_dynamic_type): Move here from
ipa-devirt.c
* ipa-devirt.c: No longer include data-streamer.h, lto-streamer.h
and streamer-hooks.h
(contains_polymorphic_type_p, possible_placement_new,
ipa_polymorphic_call_context::restrict_to_inner_class,
contains_type_p, decl_maybe_in_construction_p,
ipa_polymorphic_call_context::stream_out,
ipa_polymorphic_call_context::debug,
ipa_polymorphic_call_context::stream_in,
ipa_polymorphic_call_context::set_by_decl,
ipa_polymorphic_call_context::set_by_invariant,
walk_ssa_copies,
ipa_polymorphic_call_context::ipa_polymorphic_call_context,
type_change_info, noncall_stmt_may_be_vtbl_ptr_store,
extr_type_from_vtbl_ptr_store, record_known_type
check_stmt_for_type_change,
ipa_polymorphic_call_context::get_dynamic_type): Move to
ipa-polymorphic-call.c
(type_all_derivations_known_p, types_odr_comparable,
types_must_be_same_for_odr): Export.
(type_known_to_have_no_deriavations_p): New function.
* Makefile.in: Add ipa-polymorphic-call.c
From-SVN: r215615
2014-09-25 19:52:20 +00:00
Jan Hubicka
2f28755fbf
ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder for better storage.
...
* ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder
for better storage.
(polymorphic_call_target_hasher::hash): Hash SPECULATIVE.
(possible_polymorphic_call_targets): Instead of computing both
speculative and non-speculative answers, do just one at a time.
Replace NONSPECULATIVE_TARGETSP parameter with SPECULATIVE flag.
(dump_targets): Break out from ...
(dump_possible_polymorphic_call_targets): ... here; dump both speculative
and non-speculative lists.
(ipa_devirt): Update for new possible_polymorphic_call_targets API.
* ipa-utils.h (possible_polymorphic_call_targets): Update.
* testsuite/g++.dg/ipa/devirt-34.C: Update template.
From-SVN: r215614
2014-09-25 18:57:44 +00:00
Uros Bizjak
0be35aa0a1
re PR rtl-optimization/63348 (gcc.dg/pr43670.c fail on MIPS)
...
PR rtl-optimization/63348
* emit-rtl.c (try_split): Do not emit extra barrier.
From-SVN: r215613
2014-09-25 19:58:35 +02:00
James Greenhalgh
cb23a30cc4
[AArch64] Tighten predicates on SIMD shift intrinsics
...
gcc/
* config/aarch64/aarch64-protos.h (aarch64_simd_const_bounds): Delete.
* config/aarch64/aarch64-simd.md (aarch64_<sur>q<r>shl<mode>): Use
new predicates.
(aarch64_<sur>shll2_n<mode>): Likewise.
(aarch64_<sur>shr_n<mode>): Likewise.
(aarch64_<sur>sra_n<mode>: Likewise.
(aarch64_<sur>s<lr>i_n<mode>): Likewise.
(aarch64_<sur>qshl<u>_n<mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_simd_const_bounds): Delete.
* config/aarch64/iterators.md (ve_mode): New.
(offsetlr): Remap to infix text for use in new predicates.
* config/aarch64/predicates.md (aarch64_simd_shift_imm_qi): New.
(aarch64_simd_shift_imm_hi): Likewise.
(aarch64_simd_shift_imm_si): Likewise.
(aarch64_simd_shift_imm_di): Likewise.
(aarch64_simd_shift_imm_offset_qi): Likewise.
(aarch64_simd_shift_imm_offset_hi): Likewise.
(aarch64_simd_shift_imm_offset_si): Likewise.
(aarch64_simd_shift_imm_offset_di): Likewise.
(aarch64_simd_shift_imm_bitsize_qi): Likewise.
(aarch64_simd_shift_imm_bitsize_hi): Likewise.
(aarch64_simd_shift_imm_bitsize_si): Likewise.
(aarch64_simd_shift_imm_bitsize_di): Likewise.
gcc/testsuite/
* gcc.target/aarch64/simd/vqshlb_1.c: New.
From-SVN: r215612
2014-09-25 16:54:38 +00:00
Jiong Wang
d0d9aad78a
Improve live-in calculation for splitted block
...
gcc/
* shrink-wrap.c (move_insn_for_shrink_wrap): Initialize the live-in of new
created BB as the intersection of live-in from "old_dest" and live-out from
"bb".
gcc/testsuite/
* gcc.target/i386/shrink_wrap_1.c: New test.
From-SVN: r215611
2014-09-25 16:39:49 +00:00
Felix Yang
0e9e0a218b
lra.c (lra_set_insn_recog_data): Fix typo in comment.
...
* lra.c (lra_set_insn_recog_data): Fix typo in comment.
* genautomata.c (merge_states): Ditto.
From-SVN: r215610
2014-09-25 10:34:03 -06:00
Oleg Endo
ad19968eae
re PR target/62218 (gcc produces invalid SH instruction (stc r2,sr) when building libgcc)
...
gcc/
PR target/62218
* config/sh/sync.md (atomic_test_and_set_soft_imask): Fix typo
in instruction sequence.
From-SVN: r215607
2014-09-25 15:50:38 +00:00
Jonathan Wakely
e51cf2f559
DR 1339
...
DR 1339
* doc/xml/manual/status_cxx2011.xml: Update.
* include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
an iterator.
(__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
* include/bits/stl_vector.h (vector::_M_fill_initialize,
vector::_M_default_initialize): Use returned iterator.
* include/bits/vector.tcc (vector::_M_fill_assign,
vector::_M_fill_insert, vector::_M_default_append): Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
16505.cc: Adjust return type.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
dr1339.cc: New.
From-SVN: r215606
2014-09-25 16:27:18 +01:00
Nick Clifton
72b497da48
re PR target/62218 (gcc produces invalid SH instruction (stc r2,sr) when building libgcc)
...
PR target/62218
* config/sh/sync.md (atomic_fetch_nand<mode>_soft_imask): Fix typo
in instruction sequence.
From-SVN: r215602
2014-09-25 15:01:46 +00:00
Bill Schmidt
eb1f7a0a3d
re PR target/63335 (GCC:failures for vector double on calls to bif vec_[all|any]_[nge|nle])
...
[gcc]
2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63335
* config/rs6000/rs6000-c.c (altivec_build_resolved_builtin):
Exclude VSX_BUILTIN_XVCMPGEDP_P from special handling.
[gcc/testsuite]
2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63335
* gcc.target/powerpc/pr63335.c: New test.
From-SVN: r215599
2014-09-25 14:06:09 +00:00
Marek Polacek
6597738a3a
re PR c++/61945 (tree check fail with -Woverloaded-virtual)
...
PR c++/61945
* class.c (warn_hidden): Check for FUNCTION_DECL.
* g++.dg/warn/pr61945.C: New test.
From-SVN: r215597
2014-09-25 12:56:57 +00:00
Jonathan Wakely
c5b2614754
* include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
...
From-SVN: r215596
2014-09-25 13:14:15 +01:00
Jonathan Wakely
755176105f
* testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
...
From-SVN: r215593
2014-09-25 11:50:31 +01:00
Jonathan Wakely
7569cc5753
bool_neg.cc: New.
...
* testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
* testsuite/27_io/basic_ios/conv/bool.cc: New.
* testsuite/27_io/basic_ios/conv/voidptr.cc: New.
From-SVN: r215592
2014-09-25 11:22:51 +01:00
Alexander Ivchenko
e2a2165dea
AVX-512. Extend `perm' insn patterns.
...
gcc/
* config/i386/sse.md
(define_expand "<avx2_avx512f>_perm<mode>"): Rename to ...
(define_expand "<avx2_avx512>_perm<mode>"): ... this.
(define_expand "avx512f_perm<mode>_mask"): Rename to ...
(define_expand "<avx512>_perm<mode>_mask"): ... this.
Use VI8F_256_512 mode iterator.
(define_insn "<avx2_avx512f>_perm<mode>_1<mask_name>"): Rename to ...
(define_insn "<avx2_avx512>_perm<mode>_1<mask_name>"): ... this.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215590
2014-09-25 08:25:56 +00:00
Alexander Ivchenko
6eacd27c13
AVX-512. Add mov[dlh]dup insns support.
...
gcc/
* config/i386/sse.md
(define_insn "avx_movshdup256<mask_name>"): Add masking.
(define_insn "sse3_movshdup<mask_name>"): Ditto.
(define_insn "avx_movsldup256<mask_name>"): Ditto.
(define_insn "sse3_movsldup<mask_name>"): Ditto.
(define_insn "vec_dupv2df<mask_name>"): Ditto.
(define_insn "*vec_concatv2df"): Add EVEX version.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215589
2014-09-25 08:21:17 +00:00
Alexander Ivchenko
deb90bb564
AVX-512. Update vec_set<mode>_0 pattern.
...
gcc/
* config/i386/sse.md
(define_insn "vec_set<mode>_0"): Add EVEX version.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215588
2014-09-25 08:19:39 +00:00
Alexander Ivchenko
1bdf255a6b
AVX-512. Add convert ps2pd and ps2dq.
...
gcc/
* config/i386/sse.md
(define_insn
"<fixsuffix>fix_trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>"):
New.
(define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto.
(define_insn "ufix_trunc<mode><sseintvecmodelower>2<mask_name>"): Ditto.
(define_insn "sse2_cvtss2sd<round_saeonly_name>"): Change
"nonimmediate_operand" to "<round_saeonly_nimm_predicate>".
(define_insn "avx_cvtpd2ps256<mask_name>"): Add masking.
(define_expand "sse2_cvtpd2ps_mask): New.
(define_insn "*sse2_cvtpd2ps<mask_name>"): Add masking.
(define_insn "sse2_cvtps2pd<mask_name>"): Add masking.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215586
2014-09-25 08:18:14 +00:00
Alexander Ivchenko
42815c486a
AVX-512. Add pd2dq and dq2pd converts.
...
gcc/
* config/i386/i386.c
(avx512f_ufix_notruncv8dfv8si_mask_round): Rename to ...
(ufix_notruncv8dfv8si2_mask_round): ... this.
* config/i386/sse.md
(define_insn "avx512f_cvtdq2pd512_2): Update TARGET check.
(define_insn "avx_cvtdq2pd256_2"): Add EVEX version.
(define_insn "sse2_cvtdq2pd<mask_name>"): Add masking.
(define_insn "avx_cvtpd2dq256<mask_name>"): Ditto.
(define_expand "sse2_cvtpd2dq"): Delete.
(define_insn "sse2_cvtpd2dq<mask_name>"): Add masking and
make 2nd operand const0 vector.
(define_insn "avx512f_ufix_notruncv8dfv8si<mask_name><round_name>"):
Delete.
(define_mode_attr pd2udqsuff): New.
(define_insn
"ufix_notrunc<mode><si2dfmodelower>2<mask_name><round_name>"): Ditto.
(define_insn "ufix_notruncv2dfv2si2<mask_name>"): Ditto.
(define_insn "*avx_cvttpd2dq256_2"): Delete.
(define_expand "sse2_cvttpd2dq"): Ditto.
(define_insn "sse2_cvttpd2dq<mask_name>"): Add masking and
make 2nd operand const0 vector.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215584
2014-09-25 08:15:30 +00:00
Jakub Jelinek
356bbc4c20
re PR tree-optimization/63341 (Vectorization miscompilation with -mcpu=power7)
...
PR tree-optimization/63341
* tree-vectorizer.h (vect_create_data_ref_ptr,
vect_create_addr_base_for_vector_ref): Add another tree argument
defaulting to NULL_TREE.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Add byte_offset
argument, pass it down to vect_create_addr_base_for_vector_ref.
(vect_create_addr_base_for_vector_ref): Add byte_offset argument,
add that to base_offset too if non-NULL.
* tree-vect-stmts.c (vectorizable_load): Add byte_offset variable,
for dr_explicit_realign_optimized set it to vector byte size
- 1 instead of setting offset, pass byte_offset down to
vect_create_data_ref_ptr.
* gcc.dg/vect/pr63341-1.c: New test.
* gcc.dg/vect/pr63341-2.c: New test.
From-SVN: r215583
2014-09-25 10:12:49 +02:00
Andreas Krebbel
abdc17f814
[multiple changes]
...
2014-09-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
PR 63300/debug
* tree.c (check_base_type): New.
(check_qualified_type): Exploit new helper function above.
* tree.h (check_base_type): New prototype.
* dwarf2out.c (get_nearest_type_subqualifiers): New.
(modified_type_die): Fix handling for qualifiers. Qualifiers to
"peel off" are now determined using get_nearest_type_subqualifiers.
2014-09-25 Mark Wielaard <mjw@redhat.com>
PR 63300/debug
* gcc.dg/debug/dwarf2/stacked-qualified-types-1.c: New testcase.
* gcc.dg/debug/dwarf2/stacked-qualified-types-2.c: Likewise.
* gcc.dg/guality/pr63300-const-volatile.c: New testcase.
From-SVN: r215582
2014-09-25 07:37:36 +00:00
Jakub Jelinek
d90c0a5980
re PR c++/63249 ([OpenMP] Spurious »set but not used« warnings when actually used in OpenMP target's array section's lower-bound and length)
...
PR c++/63249
* semantics.c (handle_omp_array_sections_1): Call mark_rvalue_use
on low_bound and length.
* g++.dg/gomp/pr63249.C: New test.
* c-c++-common/gomp/pr63249.c: New test.
2014-09-25 Thomas Schwinge <thomas@codesourcery.com>
PR c++/63249
* c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
on low_bound and length.
From-SVN: r215580
2014-09-25 08:47:43 +02:00
Tobias Burnus
a16ee37946
check.c (check_co_collective): Renamed from
...
2014-09-25 Tobias Burnus <burnus@net-b.de>
gcc/fortran
* check.c (check_co_collective): Renamed from
* check_co_minmaxsum,
handle co_reduce.
(gfc_check_co_minmax, gfc_check_co_sum): Update call.
(gfc_check_co_broadcast, gfc_check_co_reduce): New.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
GFC_ISYM_CO_REDUCE.
* intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
* intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
proto types.
* intrinsic.texi (CO_BROADCAST): Add.
* trans.h (gfor_fndecl_co_broadcast): New.
* trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
(gfc_build_builtin_function_decls): Add decl for it,
* trans-intrinsic.c (conv_co_collective): Renamed from
conv_co_minmaxsum. Handle co_reduce.
(gfc_conv_intrinsic_subroutine): Handle co_reduce.
gcc/testsuite/
* gfortran.dg/coarray/collectives_3.f90: New.
* gfortran.dg/coarray_collectives_9.f90: New.
* gfortran.dg/coarray_collectives_10.f90: New.
* gfortran.dg/coarray_collectives_11.f90: New.
* gfortran.dg/coarray_collectives_12.f90: New.
libgfortran/
* caf/libcaf.h (_gfortran_caf_co_broadcast): New prototype.
* caf/single.c (_gfortran_caf_co_broadcast): New.
From-SVN: r215579
2014-09-25 08:07:15 +02:00
Tim Shen
2bde8cac37
re PR libstdc++/63199 (Inserting std::wregex to std::vector loses some std::wregex values)
...
PR libstdc++/63199
* include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
_M_loc for basic_regex.
* include/bits/regex_automaton.h: Add _M_traits for _NFA.
* include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
Make _Compiler::_M_nfa heap allocated.
* include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
_Compiler::_M_nfa heap allocated.
* include/bits/regex_executor.h (_Executor::_M_is_word):
Fix accessing _M_traits.
* include/bits/regex_executor.tcc (_Executor::_M_dfs):
Fix accessing _M_traits.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
New testcase.
From-SVN: r215578
2014-09-25 04:43:19 +00:00
Jan Hubicka
21a9ce6e0e
ipa-devirt.c (possible_polymorphic_call_targets): Remove forgotten debug output; canonicalize querries more wtih LTO.
...
* ipa-devirt.c (possible_polymorphic_call_targets): Remove
forgotten debug output; canonicalize querries more wtih LTO.
From-SVN: r215577
2014-09-25 03:37:31 +00:00