zqchen [Mon, 17 Nov 2014 06:29:07 +0000 (06:29 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
* ifcvt.c (HAVE_cbranchcc4): Define.
(noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
Use HAVE_cbranchcc4.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217646
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 17 Nov 2014 06:24:36 +0000 (06:24 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
aarch64_convert_mode, aarch64_gen_ccmp_first,
aarch64_gen_ccmp_next): New functions.
(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217645
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 17 Nov 2014 06:19:08 +0000 (06:19 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/aarch64/aarch64-protos.h (aarch64_ccmp_mode_to_code): New.
* aarch64.c (aarch64_nzcv_codes): New data.
(aarch64_ccmp_mode_to_code): New.
(aarch64_print_operand): Output nzcv.
config/aarch64/aarch64.md (cbranchcc4, *ccmp_and, *ccmp_ior, cstorecc4):
New patterns.
(cstore<mode>4): Handle ccmp_cc_register.
* config/aarch64/predicates.md (const0_operand): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217644
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 17 Nov 2014 06:12:43 +0000 (06:12 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/aarch64/aarch64-modes.def: Define ccmp CC mode.
* config/aarch64/aarch64.c (aarch64_get_condition_code_1): New function
extacted from aarch64_get_condition_code.
(aarch64_get_condition_code): Call aarch64_get_condition_code_1.
config/aarch64/predicates.md (ccmp_cc_register): New predicate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217643
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 17 Nov 2014 06:07:15 +0000 (06:07 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/aarch64/constraints.md (Usn, aarch64_ccmp_immediate,
aarch64_ccmp_operand): New constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217642
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 17 Nov 2014 06:03:07 +0000 (06:03 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* Makefile.in: Add ccmp.o.
* ccmp.c: New file.
* ccmp.h: New file.
* expr.c: include "ccmp.h"
(expand_cond_expr_using_cmove): Handle VOIDmode.
(expand_expr_real_1): Try to expand ccmp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217641
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 17 Nov 2014 05:52:26 +0000 (05:52 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* cfgexpand.c (expand_gimple_cond): Check ccmp.
* expmed.c (emit_cstore): Make it global.
* expmed.h: #include "insn-codes.h"
(emit_cstore): New prototype.
* expr.c (expand_operands): Make it global.
* expr.h (expand_operands): New prototype.
* optabs.c (get_rtx_code): Make it global.
* optabs.h (get_rtx_code): New prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217640
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 17 Nov 2014 05:38:41 +0000 (05:38 +0000)]
2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaor.org>
* target.def (gen_ccmp_first, gen_ccmp_first): Add two new hooks.
* doc/tm.texi.in (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New.
* doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217639
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Mon, 17 Nov 2014 02:01:36 +0000 (02:01 +0000)]
Always combine comparisons or conversions from booleans.
2014-11-16 Patrick Palka <ppalka@gcc.gnu.org>
gcc/
PR middle-end/63790
* tree-ssa-forwprop.c (forward_propagate_into_comparison_1):
Always combine comparisons or conversions from booleans.
gcc/testsuite/
PR middle-end/63790
* gcc.dg/tree-ssa/pr21031.c: Drop XFAIL.
* gcc.dg/tree-ssa/forwprop-29.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217638
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 17 Nov 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217637
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 16 Nov 2014 21:01:45 +0000 (21:01 +0000)]
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::speculation_consistent_p): Constify.
(ipa_polymorphic_call_context::meet_speculation_with): New function.
(ipa_polymorphic_call_context::combine_with): Handle types in construction
better.
(ipa_polymorphic_call_context::equal_to): Do not bother about useless
speculation.
(ipa_polymorphic_call_context::meet_with): New function.
* cgraph.h (class ipa_polymorphic_call_context): Add
meet_width, meet_speculation_with; constify speculation_consistent_p.
* ipa-cp.c (ipa_context_from_jfunc): Handle speculation; combine with incomming
context.
(propagate_context_accross_jump_function): Likewise; be more cureful.
about set_contains_variable.
(ipa_get_indirect_edge_target_1): Fix handling of dynamic type changes.
(find_more_scalar_values_for_callers_subset): Fix.
(find_more_contexts_for_caller_subset): Perform meet operation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217634
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 16 Nov 2014 19:36:37 +0000 (19:36 +0000)]
* passes.c (execute_one_pass): Do not apply all transforms prior
every simple IPA pass.
* cgraphunit.c: Do not include fibheap.h
(expand_thunk): Use get_untransformed_body.
(cgraph_node::expand): Likewise.
* tree-ssa-structalias.c (ipa_pta_execute): Skip inline clones.
* cgraph.c (release_function_body): Do not push cfun when CFG is not there.
(cgraph_node::get_untransformed_body): Break out from ...
(cgraph_node::get_body): ... here; add code to apply all transforms.
* cgraph.h (cgraph_node): Add get_untransformed_body.
* ipa-icf.c (sem_function::init): Use get_untransformed_body.
* cgraphclones.c (duplicate_thunk_for_node): Likewise.
* tree-inline.c (expand_call_inline): LIkewise.
* i386.c (ix86_reset_to_default_globals): Break out from ...
(ix86_set_current_function): ... here;
(ix86_reset_previous_fndecl): Use it.
(ix86_simd_clone_adjust): Use ix86_reset_previous_fndecl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217633
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 16 Nov 2014 19:31:10 +0000 (19:31 +0000)]
* gcc.dg/vect/pr63605.c (dg-final): Cleanup vect tree dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217632
138bc75d-0d04-0410-961f-
82ee72b054a4
jbglaw [Sun, 16 Nov 2014 16:12:44 +0000 (16:12 +0000)]
Update move-if-change from gnulib
2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* move-if-change: Sync from upstream gnulib.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217631
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 16 Nov 2014 15:49:37 +0000 (15:49 +0000)]
* doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around.
* doc/tm.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217628
138bc75d-0d04-0410-961f-
82ee72b054a4
jbglaw [Sun, 16 Nov 2014 14:07:13 +0000 (14:07 +0000)]
Update from upstream Automake files.
2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* compile: Sync with upstream Automake.
* depcomp: Ditto.
* install-sh: Ditto.
* missing: Ditto.
* mkinstalldirs: Ditto.
* ylwrap: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217627
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 16 Nov 2014 11:50:29 +0000 (11:50 +0000)]
* config/sh/sh.c: Do not include algorithm.
(sh_emit_scc_to_t): Replace open-coded swap with std::swap
to swap values.
(sh_emit_compare_and_branch): Ditto.
(sh_emit_compare_and_set): Ditto.
* config/sh/sh.md (replacement peephole2): Ditto.
(cstore4_media): Ditto.
(*fmasf4): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217626
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Sun, 16 Nov 2014 08:01:09 +0000 (08:01 +0000)]
2014-11-16 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/execute/memset-4.c: New test.
* gcc.c-torture/execute/
20110418-1.c: New test.
* gcc.c-torture/execute/
20141022-1.c: New test.
* gcc.c-torture/execute/strcpy-2.c: New test.
* gcc.c-torture/execute/
20140212-2.c: New test.
* gcc.c-torture/compile/
20120913-1.c: New test.
* gcc.c-torture/compile/
20121010-1.c: New test.
* gcc.c-torture/compile/
20120917-1.c: New test.
* gcc.c-torture/compile/
20140110-1.c: New test.
* gcc.c-torture/compile/
20121220-1.c: New test.
* gcc.c-torture/compile/
20120822-1.c: New test.
* gcc.c-torture/compile/
20121027-1.c: New test.
* gcc.c-torture/compile/
20120830-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217625
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Sun, 16 Nov 2014 05:00:30 +0000 (05:00 +0000)]
2014-11-15 Vladimir Makarov <vmakarov@redhat.com>
* lra-remat.c (cand_transf_func): Process regno for
rematerialization too.
* lra.c (lra): Switch on rematerialization pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217624
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Sun, 16 Nov 2014 01:56:54 +0000 (01:56 +0000)]
PR 60324 VLA related fixes to random number generator.
2014-11-16 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/60324
* intrinsics/random.c (kiss_size): Rename to KISS_SIZE, make it a
macro instead of a variable.
(random_seed_i4): Make seed correct size, remove assert, KISS_SIZE
related changes.
(random_seed_i8): KISS_SIZE related changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217623
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 16 Nov 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217622
138bc75d-0d04-0410-961f-
82ee72b054a4
jbglaw [Sat, 15 Nov 2014 23:44:29 +0000 (23:44 +0000)]
Update config.{sub,guess} from upstream repo
2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config.sub: Update from upstream config repo.
* config.guess: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217619
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 15 Nov 2014 23:28:58 +0000 (23:28 +0000)]
* parser.c (cp_parser_omp_declare_reduction_exprs): A block is not
an expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217618
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 15 Nov 2014 23:28:51 +0000 (23:28 +0000)]
* constexpr.c (cxx_eval_builtin_function_call): Use
fold_builtin_call_array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217617
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 15 Nov 2014 23:28:46 +0000 (23:28 +0000)]
* constexpr.c (cx_check_missing_mem_inits): Clarify error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217616
138bc75d-0d04-0410-961f-
82ee72b054a4
macro [Sat, 15 Nov 2014 23:20:18 +0000 (23:20 +0000)]
* g++.dg/guality/guality.exp (check_guality): Fix `test_counts'
restoration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217615
138bc75d-0d04-0410-961f-
82ee72b054a4
macro [Sat, 15 Nov 2014 23:17:46 +0000 (23:17 +0000)]
2014-11-15 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* gcc.dg/atomic/c11-atomic-exec-5.c
(test_main_long_double_add_overflow): Only actually define if
LDBL_MANT_DIG != 106.
(test_main_complex_long_double_add_overflow): Likewise.
(test_main_long_double_sub_overflow): Likewise.
(test_main_complex_long_double_sub_overflow): Likewise.
(NOT_LDBL_EPSILON_2): Likewise.
(NOT_MINUS_LDBL_EPSILON_2): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217614
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 15 Nov 2014 23:13:08 +0000 (23:13 +0000)]
Don't run gcc.target/i386/sibcall-1.c on x32 targets
* gcc.target/i386/sibcall-1.c: Don't run on x32 targets,
instead of run on ia32 targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217613
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Sat, 15 Nov 2014 20:20:05 +0000 (20:20 +0000)]
PR middle-end/63884
c-family/
* array-notation-common.c (is_sec_implicit_index_fn): Return false
for NULL fndecl.
(extract_array_notation_exprs): Return for NULL node.
testsuite/
* c-c++-common/cilk-plus/AN/pr63884.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217612
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sat, 15 Nov 2014 19:46:14 +0000 (19:46 +0000)]
PR target/60104
* gcc.target/i386/sibcall-1.c: Don't run on pic targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217611
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Sat, 15 Nov 2014 16:59:08 +0000 (16:59 +0000)]
2014-11-15 Vladimir Makarov <vmakarov@redhat.com>
* lra.c (lra): Switch off rematerialization pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217609
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Sat, 15 Nov 2014 16:56:27 +0000 (16:56 +0000)]
2014-11-15 Marc Glisse <marc.glisse@inria.fr>
gcc/
* config/i386/xmmintrin.h (_mm_add_ps, _mm_sub_ps, _mm_mul_ps,
_mm_div_ps, _mm_store_ss, _mm_cvtss_f32): Use vector extensions
instead of builtins.
* config/i386/emmintrin.h (__v2du, __v4su, __v8hu, __v16qu): New
typedefs.
(_mm_sqrt_sd): Fix comment.
(_mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
_mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
_mm_mullo_epi16, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
_mm_cmplt_epi8, _mm_cmplt_epi16, _mm_cmplt_epi32, _mm_cmpgt_epi8,
_mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_and_si128, _mm_or_si128,
_mm_xor_si128, _mm_store_sd, _mm_cvtsd_f64, _mm_storeh_pd,
_mm_cvtsi128_si64, _mm_cvtsi128_si64x, _mm_add_pd, _mm_sub_pd,
_mm_mul_pd, _mm_div_pd, _mm_storel_epi64, _mm_movepi64_pi64):
Use vector extensions instead of builtins.
* config/i386/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64,
_mm_mullo_epi32): Likewise.
* config/i386/avxintrin.h (__v4du, __v8su, __v16hu, __v32qu):
New typedefs.
(_mm256_add_pd, _mm256_add_ps, _mm256_div_pd, _mm256_div_ps,
_mm256_mul_pd, _mm256_mul_ps, _mm256_sub_pd, _mm256_sub_ps):
Use vector extensions instead of builtins.
* config/i386/avx2intrin.h (_mm256_cmpeq_epi8, _mm256_cmpeq_epi16,
_mm256_cmpeq_epi32, _mm256_cmpeq_epi64, _mm256_cmpgt_epi8,
_mm256_cmpgt_epi16, _mm256_cmpgt_epi32, _mm256_cmpgt_epi64,
_mm256_and_si256, _mm256_or_si256, _mm256_xor_si256, _mm256_add_epi8,
_mm256_add_epi16, _mm256_add_epi32, _mm256_add_epi64,
_mm256_mullo_epi16, _mm256_mullo_epi32, _mm256_sub_epi8,
_mm256_sub_epi16, _mm256_sub_epi32, _mm256_sub_epi64): Likewise.
* config/i386/avx512fintrin.h (__v8du, __v16su, __v32hu, __v64qu):
New typedefs.
(_mm512_or_si512, _mm512_or_epi32, _mm512_or_epi64, _mm512_xor_si512,
_mm512_xor_epi32, _mm512_xor_epi64, _mm512_and_si512,
_mm512_and_epi32, _mm512_and_epi64, _mm512_mullo_epi32,
_mm512_add_epi64, _mm512_sub_epi64, _mm512_add_epi32,
_mm512_sub_epi32, _mm512_add_pd, _mm512_add_ps, _mm512_sub_pd,
_mm512_sub_ps, _mm512_mul_pd, _mm512_mul_ps, _mm512_div_pd,
_mm512_div_ps): Use vector extensions instead of builtins.
* config/i386/avx512bwintrin.h (_mm512_mullo_epi16, _mm512_add_epi8,
_mm512_sub_epi8, _mm512_sub_epi16, _mm512_add_epi16): Likewise.
* config/i386/avx512dqintrin.h (_mm512_mullo_epi64): Likewise.
* config/i386/avx512vldqintrin.h (_mm256_mullo_epi64, _mm_mullo_epi64):
Likewise.
gcc/testsuite/
* gcc.target/i386/intrinsics_opt-1.c: New testcase.
* gcc.target/i386/intrinsics_opt-2.c: Likewise.
* gcc.target/i386/intrinsics_opt-3.c: Likewise.
* gcc.target/i386/intrinsics_opt-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217608
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 15 Nov 2014 16:53:51 +0000 (16:53 +0000)]
* lto-streamer-out.c (hash_tree): Use cl_optimization_hash.
* lto-streamer.h (cl_optimization_stream_out, cl_optimization_stream_in): Declare.
* optc-save-gen.awk: Generate cl_optimization LTO streaming and hashing routines.
* opth-gen.awk: Add prototype of cl_optimization_hash.
* tree-streamer-in.c (unpack_ts_optimization): Remove.
(streamer_unpack_tree_bitfields): Use cl_optimization_stream_in.
* tree-streamer-out.c (pack_ts_optimization): Remove.
(streamer_pack_tree_bitfields): Use cl_optimization_stream_out.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217607
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sat, 15 Nov 2014 16:36:58 +0000 (16:36 +0000)]
* gcc.dg/tree-ssa/pr61144.c: Add dg-require-alias.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217606
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sat, 15 Nov 2014 16:06:55 +0000 (16:06 +0000)]
* gcc.dg/pubtypes-3.c: Include <string.h>.
* gcc.dg/pubtypes-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217605
138bc75d-0d04-0410-961f-
82ee72b054a4
mircea [Sat, 15 Nov 2014 15:37:49 +0000 (15:37 +0000)]
New unroll and jam option in Graphite.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217604
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sat, 15 Nov 2014 15:27:18 +0000 (15:27 +0000)]
* gcc.dg/darwin-cfstring-format-1.c: Adjust dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217603
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 15 Nov 2014 12:34:20 +0000 (12:34 +0000)]
* tree-cfg.c (replace_loop_annotate_in_block): New function extracted
from...
(replace_loop_annotate): ...here. Call it on the header and on the
latch block, if any. Restore proper behavior of final cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217602
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 15 Nov 2014 12:06:23 +0000 (12:06 +0000)]
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message
for max-completely-peeled-insns limit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217601
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 15 Nov 2014 11:06:07 +0000 (11:06 +0000)]
2014-11-15 Tobias Burnus <burnus@net-b.de>
gcc/fortran/
* error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
(gfc_fatal_error): Add; uses common diagnostics.
* array.c (gfc_match_array_ref, gfc_match_array_spec): Use
%< %>.
* check.c (check_co_collective, gfc_check_lcobound,
gfc_check_image_index, gfc_check_num_images,
gfc_check_this_image, gfc_check_ucobound): Ditto.
* cpp.c (gfc_cpp_post_options): Ditto.
(gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
* gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
* gfortran.h (gfc_fatal_error_1): Add.
* match.c (gfc_match_name, gfc_match_critical,
lock_unlock_statement, sync_statement): Add %< %>.
* module.c (bad_module, gfc_dump_module, gfc_use_module): Change
%s to %qs.
* options.c (gfc_handle_module_path_options,
* gfc_handle_fpe_option,
gfc_handle_coarray_option, gfc_handle_runtime_check_option,
gfc_handle_option): Add %< %>.
* simplify.c (gfc_simplify_num_images): Ditto.
* trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
* trans-array.c (gfc_conv_array_initializer): Ditto.
* trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
of fatal_error; add %< %> quotations.
gcc/testsuite/
* gfortran.dg/binding_label_tests_4.f03: Add dg-excess-errors.
* gfortran.dg/coarray_9.f90: Ditto.
* gfortran.dg/empty_label.f: Ditto.
* gfortran.dg/empty_label.f90: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217600
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 15 Nov 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217599
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 Nov 2014 23:25:20 +0000 (23:25 +0000)]
* ipa-prop.h (ipa_known_type_data): Remove.
(ipa_binfo_from_known_type_jfunc): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217596
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Fri, 14 Nov 2014 21:21:25 +0000 (21:21 +0000)]
[AARCH64] Add scheduler for ThunderX
This adds the schedule model for ThunderX. There are a few TODOs in that
not all of the SIMD is model currently. Also the idea of a simple
shift/extend is not modeled and all cases where there is a shift/extend
is considered as non simple and take up two cycles rather than correct
value of one cycle. Also the 32bit divide and the 64bit divide
have different cycle counts but there is no way to model that currently.
Also multiply high takes one cycle more than the normal multiply but
there is no way to model that currently either.
Build and tested for aarch64-elf with no regressions.
ChangeLog:
* config/aarch64/aarch64-cores.def (thunderx): Change the scheduler
over to thunderx.
* config/aarch64/aarch64.md: Include thunderx.md.
(generic_sched): Set to no for thunderx.
* config/aarch64/thunderx.md: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217593
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Fri, 14 Nov 2014 20:45:21 +0000 (20:45 +0000)]
[gcc]
2014-11-14 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/predicates.md (easy_fp_constant): Delete redunant
tests for 0.0.
* config/rs6000/vector.md (VEC_R): Move secondary reload support
insns to rs6000.md from vector.md.
(reload_<VEC_R:mode>_<P:mptrsize>_store): Likewise.
(reload_<VEC_R:mode>_<P:mptrsize>_load): Likewise.
(vec_reload_and_plus_<mptrsize>): Likewise.
* config/rs6000/rs6000.md (Fa): New mode attribute to give
constraint for the Altivec registers for a type.
(RELOAD): New mode iterator for all of the types that have
secondary reload address support to load up a base register.
(extendsfdf2_fpr): Use correct constraint.
(copysign<mode>3_fcpsgn): For SFmode, use correct xscpsgndp
instruction.
(floatsi<mode>2_lfiwax): Add support for -mupper-regs-{sf,df}.
Generate the non-VSX instruction if all registers were FPRs. Do
not use the patterns in vsx.md for scalar operations.
(floatsi<mode>2_lfiwax_mem): Likewise.
(floatunssi<mode>2_lfiwzx): Likewise.
(floatunssi<mode>2_lfiwzx_mem): Likewise.
(fix_trunc<mode>di2_fctidz): Likewise.
(fixuns_trunc<mode>di2_fctiduz): Likewise.
(fctiwz_<mode>): Likewise.
(fctiwuz_<mode>): Likewise.
(friz): Likewise.
(floatdidf2_fpr): Likewise.
(floatdidf2_mem): Likewise.
(floatunsdidf2): Likewise.
(floatunsdidf2_fcfidu): Likewise.
(floatunsdidf2_mem): Likewise.
(floatdisf2_fcfids): Likewise.
(floatdisf2_mem): Likewise.
(floatdisf2_internal1): Add explicit test for not FCFIDS to make
it more obvious that the code is for pre-ISA 2.06 machines.
(floatdisf2_internal2): Likewise.
(floatunsdisf2_fcfidus): Add support for -mupper-regs-{sf,df}.
Generate the non-VSX instruction if all registers were FPRs. Do
not use the patterns in vsx.md for scalar operations.
(floatunsdisf2_mem): Likewise.
(reload_<RELOAD:mode>_<P:mptrsize>_store): Move the reload
handlers here from vector.md, and expand the types we generate
reload handlers for.
(reload_<RELOAD:mode>_<P:mptrsize>_load): Likewise.
(vec_reload_and_plus_<mptrsize>): Likewise.
* config/rs6000/vsx.md (vsx_float<VSi><mode>2): Only provide the
vector forms of the instructions. Move VSX scalar forms to
rs6000.md, and add support for -mupper-regs-sf.
(vsx_floatuns<VSi><mode>2): Likewise.
(vsx_fix_trunc<mode><VSi>2): Likewise.
(vsx_fixuns_trunc<mode><VSi>2): Likewise.
(vsx_float_fix_<mode>2): Delete DF version, rename to
vsx_float_fix_v2df2.
(vsx_float_fix_v2df2): Likewise.
[gcc/testsuite]
2014-11-14 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/ppc-fpconv-1.c: Adjust for -mupper-regs-df
changes.
* gcc.target/powerpc/ppc-fpconv-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-4.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-6.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
* gcc.target/powerpc/ppc-round.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217590
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 14 Nov 2014 20:07:39 +0000 (20:07 +0000)]
2014-11-14 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (jump_func_type): Removed value IPA_JF_KNOWN_TYPE.
(ipa_pass_through_data): Removed field type_preserved.
(ipa_ancestor_jf_data): removed fields type and type_preserved.
(ipa_jump_func): Removed field known_type.
(ipa_get_jf_known_type_offset): Removed.
(ipa_get_jf_known_type_base_type): Likewise.
(ipa_get_jf_known_type_component_type): Likewise.
(ipa_get_jf_ancestor_type): Likewise.
* ipa-cp.c (print_ipcp_constant_value): Removed BINFO handling.
(ipa_get_jf_pass_through_result): Likewise.
(ipa_get_jf_ancestor_result): Always build ptr_node_type accesses.
(values_equal_for_ipcp_p): Removed BINFO handling.
(ipa_get_indirect_edge_target_1): Updated comment.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Removed handling
of IPA_JF_KNOWN_TYPE jump functions. Do not print removed fields.
(ipa_set_jf_known_type): Removed.
(ipa_set_jf_simple_pass_through): Do not set removed fields. Update
all callers.
(ipa_set_jf_arith_pass_through): Likewise.
(ipa_set_ancestor_jf): Likewise.
(ipa_binfo_from_known_type_jfunc): Removed.
(prop_type_change_info): Removed fields known_current_type and
multiple_types_encountered.
(extr_type_from_vtbl_ptr_store): Removed.
(check_stmt_for_type_change): Do not attempt to identify changed type.
(detect_type_change_from_memory_writes): Do not set the removed fields,
always set jfunc to unknown.
(compute_complex_assign_jump_func): Do not detect dynamic type change.
(compute_complex_ancestor_jump_func): Likewise.
(compute_known_type_jump_func): Removed.
(ipa_compute_jump_functions_for_edge): Do not detect dynamic type
change. Do not comute known type jump functions.
(combine_known_type_and_ancestor_jfs): Removed.
(update_jump_functions_after_inlining): Removed handling of
IPA_JF_KNOWN_TYPE jump functions. Do not set removed fields.
(ipa_write_jump_function): Do not stream removed fields or known type
jump functions.
(ipa_read_jump_function): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217589
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Fri, 14 Nov 2014 20:06:11 +0000 (20:06 +0000)]
2014-11-14 Vladimir Makarov <vmakarov@redhat.com>
* lra-int.h (lra_create_live_ranges): Add parameter.
* lra-lives.c (temp_bitmap): Move higher.
(initiate_live_solver): Move temp_bitmap initialization into
lra_live_ranges_init.
(finish_live_solver): Move temp_bitmap clearing into
live_ranges_finish.
(process_bb_lives): Add parameter. Use it to control live info
update and dead insn elimination. Pass it to mark_regno_live and
mark_regno_dead.
(lra_create_live_ranges): Add parameter. Pass it to
process_bb_lives.
(lra_live_ranges_init, lra_live_ranges_finish): See changes in
initiate_live_solver and finish_live_solver.
* lra-remat.c (do_remat): Process insn non-operand hard regs too.
Use temp_bitmap to update avail_cands.
* lra.c (lra): Pass new parameter to lra_create_live_ranges. Move
check with lra_need_for_spill_p after live range pass. Switch on
rematerialization pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217588
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 14 Nov 2014 20:03:19 +0000 (20:03 +0000)]
2014-11-14 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (ipa_get_jf_pass_through_type_preserved): use
agg_preserved flag instead.
(ipa_get_jf_ancestor_type_preserved): Likewise.
(ipa_node_params): Rename known_vals to known_csts, update all users.
New field known_contexts.
(ipa_get_indirect_edge_target): Update prototype.
(ipcp_poly_ctx_values_pool): Declare.
(ipa_context_from_jfunc): Likewise.
* ipa-inline.h (estimate_ipcp_clone_size_and_time): Updated prototype.
* cgraph.h (ipa_polymorphic_call_context): New method equal_to. New
parameter newline of method dump.
* ipa-cp.c (ctxlat): New field.
(ipcp_values_pool): Renamed to ipcp_cst_values_pool, updated all users.
(ipcp_poly_ctx_values_pool):New variable.
(ipa_get_poly_ctx_lat): New function.
(print_ipcp_constant_value): New overloaded function for contexts.
(print_all_lattices): Also print contexts.
(ipa_topo_info): New field contexts;
(set_all_contains_variable): Also set the flag in the context lattice.
(initialize_node_lattices): Likewise for flag bottom.
(ipa_get_jf_ancestor_result): Removed BINFO handling.
(ipa_value_from_jfunc): Likewise.
(ipa_context_from_jfunc): New function.
(values_equal_for_ipcp_p): New overloaded function for contexts.
(allocate_and_init_ipcp_value): Construct the value.
(allocate_and_init_ipcp_value): New overloaded function for contexts.
(propagate_scalar_accross_jump_function): Removed handling of
KNOWN_TYPE jump functions.
(propagate_context_accross_jump_function): New function.
(propagate_constants_accross_call): Also propagate contexts.
(ipa_get_indirect_edge_target_1): Work on contexts rather than BINFOs.
(ipa_get_indirect_edge_target): Likewise.
(devirtualization_time_bonus): Likewise.
(gather_context_independent_values): Create and populate known_contexts
vector rather than known_binfos.
(perform_estimation_of_a_value): Work on contexts rather than BINFOs.
(estimate_local_effects): Likewise.
(add_all_node_vals_to_toposort): Also add contexts to teir topological
sort.
(ipcp_propagate_stage): Also propagate effects of contexts.
(ipcp_discover_new_direct_edges): Receive and pass known_contexts to
ipa_get_indirect_edge_target_1.
(cgraph_edge_brings_value_p): New overloaded function for contexts.
(create_specialized_node): Work on contexts rather than BINFOs.
(find_more_contexts_for_caller_subset): New function.
(known_contexts_useful_p): New function.
(copy_useful_known_contexts): Likewise.
(modify_known_vectors_with_val): Likewise.
(ipcp_val_in_agg_replacements_p): Renamed to
ipcp_val_agg_replacement_ok_p, return true for all offset indicating
non-aggregate.
(ipcp_val_agg_replacement_ok_p): New overloaded function for contexts.
(decide_about_value): Work on contexts rather than BINFOs.
(decide_whether_version_node): Likewise.
(ipcp_driver): Initialize the new alloc pool.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Prettify
printing of edge contexts.
(ipa_set_ancestor_jf): Replace assert with conditional setting of
type_preserved to false.
(update_jump_functions_after_inlining): Use access function instead of
reading agg_preserved directly. Store combined context in the ancestor
case.
(try_make_edge_direct_virtual_call): Work on contexts rather than
BINFOs.
(update_indirect_edges_after_inlining): Get context from
ipa_context_from_jfunc.
(ipa_free_node_params_substructures): Free also known_contexts.
(ipa_free_all_structures_after_ipa_cp): Free the new alloc pool.
(ipa_free_all_structures_after_iinln): Likewise.
* ipa-inline-analysis.c (evaluate_properties_for_edge): Work on
contexts rather than BINFOs.
(estimate_edge_devirt_benefit): Likewise.
(estimate_edge_size_and_time): Likewise.
(estimate_calls_size_and_time): Likewise.
(estimate_node_size_and_time): Likewise.
(estimate_ipcp_clone_size_and_time): Likewise.
(do_estimate_edge_time): Likewise.
(do_estimate_edge_size): Likewise.
(do_estimate_edge_hints): Likewise.
* ipa-polymorphic-call.c (ipa_polymorphic_call_context::dump): New
parameter newline, ouput newline only when it is set.
(ipa_polymorphic_call_context::equal_to): New method.
testsuite/
* g++.dg/ipa/devirt-11.C: Dont't run ipa-cp, remove times constraint
from the dump scan.
* g++.dg/ipa/devirt-21.C: Xfail.
* g++.dg/ipa/devirt-24.C: Likewise.
* g++.dg/ipa/devirt-10.C: Removed times constraint from the dump scan.
* g++.dg/ipa/devirt-41.C: Updated the dump scan.
* g++.dg/ipa/devirt-44.C: Likewise.
* g++.dg/ipa/devirt-43.C: Xfail.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217587
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 14 Nov 2014 19:58:18 +0000 (19:58 +0000)]
2014-11-14 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_value_source): Converted to a template class. All
users converted to the same specialization as the using class/function
or specialization on tree.
(ipcp_value): Likewise.
(ipcp_lattice): Likewise.
(ipcp_agg_lattice): Now derived from tree specialization of
ipcp_lattice.
(values_topo): Moved to new class value_topo_info.
(ipa_lat_is_single_const): Turned into ipcp_lattice::is_single_const.
Updated all callers.
(print_lattice): Turned into ipcp_lattice::print. Updated all
callers.
(value_topo_info): New class template.
(ipa_topo_info): New field constants. New constructor.
(build_toporder_info): Do not clear stack_top, only checkign assert
it.
(set_lattice_to_bottom): Turned into ipcp_lattice::set_to_bottom.
Updated all callers.
(set_lattice_contains_variable): Turned into
ipcp_lattice::set_contains_variable. Updated all callers.
(add_value_source): Turned into ipcp_value::add_source. Updated all
callers.
(allocate_and_init_ipcp_value): New function.
(add_value_to_lattice): Turned into ipcp_lattice::add_value. Last
parameter got default a value. Updated all callers.
(add_scalar_value_to_lattice): Removed, users converted to using
ipcp_lattice::add_value with default value of the last parameter.
(add_val_to_toposort): Turned to value_topo_info::add_val. Updated
all callers.
(propagate_effects): Made method of value_topo_info.
(cgraph_edge_brings_value_p): Now a template function.
(get_info_about_necessary_edges): Likewise.
(gather_edges_for_value): Likewise.
(perhaps_add_new_callers): Likewise.
(decide_about_value): Likewise.
* ipa-prop.h (ipcp_lattice): Remove fowrward declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217586
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Nov 2014 19:41:33 +0000 (19:41 +0000)]
* doc/install.texi (--with-diagnostics-color=): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217585
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Nov 2014 19:41:00 +0000 (19:41 +0000)]
* tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate
IFN_GOMP_SIMD_LANE without lhs as useless.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217584
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 14 Nov 2014 18:02:50 +0000 (18:02 +0000)]
runtime: set library name based on compiler name
Different compilers may have different release cadences or ABI
incompatibilities, so it does not make sense to use the same library
name for runtime libraries intended for different compilers.
This CL causes a libgo built by llgo to receive the name libgo-llgo.
Likewise, libgobegin is named libgobegin-llgo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217583
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Nov 2014 17:46:50 +0000 (17:46 +0000)]
* ipa-pure-const.c (struct funct_state_d): Add can_free field.
(varying_state): Add true for can_free.
(check_call): For builtin or internal !nonfreeing_call_p set
local->can_free.
(check_stmt): For asm volatile and asm with "memory" set
local->can_free.
(analyze_function): Clear local->can_free initially, continue
calling check_stmt until all flags are computed, dump can_free
flag.
(pure_const_write_summary): Write can_free flag.
(pure_const_read_summary): Read it back.
(propagate_pure_const): Propagate also can_free flag, set
w->nonfreeing_fn if it is false after propagation.
* cgraph.h (cgraph_node): Add nonfreeing_fn member.
* gimple.c: Include ipa-ref.h, lto-streamer.h and cgraph.h.
(nonfreeing_call_p): Return cgraph nonfreeing_fn flag if set.
Also return true for IFN_ABNORMAL_DISPATCHER.
* cgraph.c (cgraph_node::dump): Dump nonfreeing_fn flag.
* lto-cgraph.c (lto_output_node): Write nonfreeing_fn flag.
(input_overwrite_node): Read it back.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217582
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Nov 2014 17:28:11 +0000 (17:28 +0000)]
* sanopt.c: Include tree-ssa-operands.h.
(struct sanopt_info): Add has_freeing_call_p,
has_freeing_call_computed_p, imm_dom_path_with_freeing_call_p,
imm_dom_path_with_freeing_call_computed_p, freeing_call_events,
being_visited_p fields.
(struct sanopt_ctx): Add asan_check_map field.
(imm_dom_path_with_freeing_call, maybe_optimize_ubsan_null_ifn,
maybe_optimize_asan_check_ifn): New functions.
(sanopt_optimize_walker): Use them, optimize even ASAN_CHECK
internal calls.
(pass_sanopt::execute): Call sanopt_optimize even for
-fsanitize=address.
* gimple.c (nonfreeing_call_p): Return true for non-ECF_LEAF
internal calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217581
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Fri, 14 Nov 2014 17:20:40 +0000 (17:20 +0000)]
[Vectorizer] Tidy up vect_create_epilog / use_scalar_result
* tree-vect-loop.c (vect_create_epilog_for_reduction): Move code for
'if (extract_scalar_result)' to the only place that it is true.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217580
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Nov 2014 17:19:55 +0000 (17:19 +0000)]
* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
of 32 as block_size.
* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
instead of 32 as block_size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217579
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Nov 2014 17:18:34 +0000 (17:18 +0000)]
* dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags)
(DW_AT_APPLE_isa, DW_AT_APPLE_block)
(DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class)
(DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name)
(DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter)
(DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type)
(DW_AT_APPLE_property): New macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217578
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 14 Nov 2014 16:59:52 +0000 (16:59 +0000)]
2014-11-14 Paolo Carlini <paolo.carlini@oracle.com>
* semantics.c (end_maybe_infinite_loop): Use fold_non_dependent_expr.
* parser.c (cp_parser_omp_clause_collapse): Likewise.
(cp_parser_enumerator_definition): Don't call
instantiate_non_dependent_expr...
* decl.c (build_enumerator): ... call fold_non_dependent_expr here.
* typeck2.c (massage_init_elt): Use fold_non_dependent_expr.
* constexpr.c (maybe_constant_value): Allow VIEW_CONVERT_EXPR in
the final gcc_assert.
* constexpr.c (fold_non_dependent_expr): Add.
* cp-tree.h (fold_non_dependent_expr): Declare it.
* call.c (null_ptr_cst_p): Use it.
* pt.c (tsubst_copy_and_build, build_non_dependent_expr): Likewise.
* semantics.c (begin_maybe_infinite_loop): Likewise.
* typeck.c (cp_build_binary_op): Likewise.
* typeck2.c (check_narrowing): Likewise.
* pt.c (fold_non_dependent_expr): Rename to
instantiate_non_dependent_expr.
(fold_non_dependent_expr_sfinae): Rename to
instantiate_non_dependent_expr_sfinae.
(convert_nontype_argument, build_non_dependent_expr): Adjust.
* decl.c (compute_array_index_type): Likewise.
* parser.c (cp_parser_parenthesized_expression_list,
cp_parser_enumerator_definition, cp_parser_omp_clause_collapse):
Likewise.
* semantics.c (end_maybe_infinite_loop, finish_static_assert):
Likewise.
* typeck.c (cxx_alignas_expr): Likewise.
* typeck2.c (store_init_value, massage_init_elt): Likewise.
* call.c: Adjust comments.
* class.c: Likewise.
* constexpr.c: Likewise.
* decl2.c: Likewise.
* tree.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217577
138bc75d-0d04-0410-961f-
82ee72b054a4
joel [Fri, 14 Nov 2014 16:57:20 +0000 (16:57 +0000)]
2014-11-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* src/c++98/mt_allocator.cc: Fix assumption that sizeof(void *) is
equal to sizeof(size_t). The m32c breaks this assumption.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217576
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 14 Nov 2014 16:43:23 +0000 (16:43 +0000)]
Don't enable IFUNC by default for Android and uclibc
* config.gcc (default_gnu_indirect_function): Set to yes
for i[34567]86-*-linux* and x86_64-*-linux* if not targeting
Android nor uclibc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217575
138bc75d-0d04-0410-961f-
82ee72b054a4
fyang [Fri, 14 Nov 2014 15:51:22 +0000 (15:51 +0000)]
* config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use
VALL mode iterator instead of VALLDI.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217573
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 Nov 2014 15:48:47 +0000 (15:48 +0000)]
* optc-save-gen.awk: Output cl_target_option_eq,
cl_target_option_hash, cl_target_option_stream_out,
cl_target_option_stream_in functions.
* opth-gen.awk: Output prototypes for
cl_target_option_eq and cl_target_option_hash.
* lto-streamer.h (cl_target_option_stream_out,
cl_target_option_stream_in): Declare.
* tree.c (cl_option_hash_hash): Use cl_target_option_hash.
(cl_option_hash_eq): Use cl_target_option_eq.
* tree-streamer-in.c (unpack_value_fields): Stream in
TREE_TARGET_OPTION.
* lto-streamer-out.c (DFS::DFS_write_tree_body): Follow
DECL_FUNCTION_SPECIFIC_TARGET.
(hash_tree): Hash TREE_TARGET_OPTION; visit
DECL_FUNCTION_SPECIFIC_TARGET.
* tree-streamer-out.c (streamer_pack_tree_bitfields): Skip
TS_TARGET_OPTION.
(streamer_write_tree_body): Output TS_TARGET_OPTION.
* lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217572
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 14 Nov 2014 15:47:53 +0000 (15:47 +0000)]
* optc-save-gen.awk: Output cl_target_option_eq,
cl_target_option_hash, cl_target_option_stream_out,
cl_target_option_stream_in functions.
* opth-gen.awk: Output prototypes for
cl_target_option_eq and cl_target_option_hash.
* lto-streamer.h (cl_target_option_stream_out,
cl_target_option_stream_in): Declare.
* tree.c (cl_option_hash_hash): Use cl_target_option_hash.
(cl_option_hash_eq): Use cl_target_option_eq.
* tree-streamer-in.c (unpack_value_fields): Stream in
TREE_TARGET_OPTION.
* lto-streamer-out.c (DFS::DFS_write_tree_body): Follow
DECL_FUNCTION_SPECIFIC_TARGET.
(hash_tree): Hash TREE_TARGET_OPTION; visit
DECL_FUNCTION_SPECIFIC_TARGET.
* tree-streamer-out.c (streamer_pack_tree_bitfields): Skip
TS_TARGET_OPTION.
(streamer_write_tree_body): Output TS_TARGET_OPTION.
* lto.c (compare_tree_sccs_1): Compare cl_target_option_eq.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217571
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 14 Nov 2014 14:23:51 +0000 (14:23 +0000)]
* sanitizer_common/Makefile.am (AM_CXXFLAGS): Use -std=gnu++11.
* asan/Makefile.am (AM_CXXFLAGS): Ditto.
* lsan/Makefile.am (AM_CXXFLAGS): Ditto.
* interception/Makefile.am (AM_CXXFLAGS): Ditto.
* tsan/Makefile.am (AM_CXXFLAGS): Ditto.
* libbacktrace/Makefile.am (AM_CXXFLAGS): Ditto.
* ubsan/Makefile.am (AM_CXXFLAGS): Ditto.
* sanitizer_common/Makefile.in: Regenerate.
* asan/Makefile.in: Ditto.
* lsan/Makefile.in: Ditto.
* interception/Makefile.in: Ditto.
* tsan/Makefile.in: Ditto.
* libbacktrace/Makefile.in: Ditto.
* ubsan/Makefile.in: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217562
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 14 Nov 2014 13:32:56 +0000 (13:32 +0000)]
2014-11-14 Richard Biener <rguenther@suse.de>
* gimple-fold.h (gimple_fold_stmt_to_constant_1): Add 2nd
valueization hook defaulted to no_follow_ssa_edges.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Pass
2nd valueization hook to gimple_simplify.
* tree-ssa-ccp.c (valueize_op_1): New function to be
used for gimple_simplify called via gimple_fold_stmt_to_constant_1.
(ccp_fold): Adjust.
* tree-vrp.c (vrp_valueize_1): New function to be
used for gimple_simplify called via gimple_fold_stmt_to_constant_1.
(vrp_visit_assignment_or_call): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217560
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 14 Nov 2014 12:17:57 +0000 (12:17 +0000)]
Define C++11 version of std::ios_base::failure.
* config/abi/pre/gnu.ver: Add new exports.
* include/bits/ios_base.h (ios_base::failure): New definition using
abi_tag.
(io_errc, make_error_code, make_error_category, iostream_category):
Define.
* include/std/system_error (system_error): Add char* constructors.
* src/c++11/Makefile.am: Add new file.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/cxx11-ios_failure.cc: New file.
* src/c++98/ios_failure.cc: Compile old definition without abi_tag.
* testsuite/27_io/ios_base/failure/cxx11.cc: New.
* testsuite/27_io/ios_base/failure/what-1.cc: Allow string returned by
ios_base::failure::what() to contain additional data.
* testsuite/27_io/ios_base/failure/what-2.cc: Likewise..
* testsuite/27_io/ios_base/failure/what-3.cc: Likewise..
* testsuite/27_io/ios_base/failure/what-big.cc: Likewise..
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217559
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 14 Nov 2014 12:09:45 +0000 (12:09 +0000)]
Fix patch mangling with --inline option
2014-11-14 Tom de Vries <tom@codesourcery.com>
* mklog: Move reading of .diff file up and add comment. Copy diff_lines
to orig_diff_lines. Use orig_diff_lines when appending patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217558
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 14 Nov 2014 12:02:09 +0000 (12:02 +0000)]
gcc/cp:
* mangle.c (find_substitution): Look for abi_tag on class templates.
gcc/testsuite:
* g++.dg/abi/abi-tag11.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217557
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 14 Nov 2014 11:57:05 +0000 (11:57 +0000)]
* fold-const.c (fold_negate_expr): Don't fold INTEGER_CST if
that overflows when SANITIZE_SI_OVERFLOW is on. Guard -(-A)
folding with TYPE_OVERFLOW_SANITIZED.
* c-c++-common/ubsan/overflow-negate-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217556
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 14 Nov 2014 11:22:12 +0000 (11:22 +0000)]
PR sanitizer/63839
* asan.c (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST,
ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST): Define.
* builtin-attrs.def (ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST):
Define.
* builtins.c (fold_builtin_0): Don't include ubsan.h. Don't
instrument BUILT_IN_UNREACHABLE here.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE): Make
const.
* sanopt.c (pass_sanopt::execute): Instrument BUILT_IN_UNREACHABLE.
* tree-ssa-ccp.c (optimize_unreachable): Bail out if
SANITIZE_UNREACHABLE.
* ubsan.c (ubsan_instrument_unreachable): Rewrite for GIMPLE.
* ubsan.h (ubsan_instrument_unreachable): Adjust declaration.
testsuite/
* c-c++-common/ubsan/pr63839.c: New test.
* c-c++-common/ubsan/unreachable-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217553
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Fri, 14 Nov 2014 11:18:21 +0000 (11:18 +0000)]
[RS6000] Remove vec_shl and (hopefully) fix vec_shr
* config/rs6000/vector.md (vec_shl_<mode>): Remove.
(vec_shr_<mode>): Reverse shift if BYTES_BIG_ENDIAN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217552
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Fri, 14 Nov 2014 10:53:24 +0000 (10:53 +0000)]
Fix ChangeLog date
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217551
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Fri, 14 Nov 2014 10:48:34 +0000 (10:48 +0000)]
[Vectorizer]Make reductions-via-shifts and vec_shr_optab endianness-neutral
* optabs.c (shift_amt_for_vec_perm_mask): Remove code conditional on
BYTES_BIG_ENDIAN.
* tree-vect-loop.c (calc_vec_perm_mask_for_shift,
vect_create_epilog_for_reduction): Likewise.
* doc/md.texi (vec_shr_m): Clarify direction of shifting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217550
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Fri, 14 Nov 2014 09:44:17 +0000 (09:44 +0000)]
Fix typo in *<arith_shift_insn>_shiftsi
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217546
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 14 Nov 2014 09:30:08 +0000 (09:30 +0000)]
2014-11-14 Richard Biener <rguenther@suse.de>
* match.pd: Implement more binary patterns exercised by
fold_stmt.
* fold-const.c (sing_bit_p): Export.
(exact_inverse): Likewise.
(fold_binary_loc): Remove patterns here.
(tree_unary_nonnegative_warnv_p): Use CASE_CONVERT.
* fold-const.h (sing_bit_p): Declare.
(exact_inverse): Likewise.
* gcc.c-torture/execute/shiftopt-1.c: XFAIL invalid parts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217545
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 14 Nov 2014 08:55:11 +0000 (08:55 +0000)]
* tree.c (build_common_builtin_nodes): Remove doubled ECF_LEAF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217543
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 14 Nov 2014 08:37:41 +0000 (08:37 +0000)]
2014-11-14 Richard Biener <rguenther@suse.de>
* genmatch.c (add_operator): Allow CONSTRUCTOR.
(dt_node::gen_kids): Handle CONSTRUCTOR not as GENERIC.
(parser::parse_op): Allow to iterate over predicates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217541
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Nov 2014 07:30:27 +0000 (07:30 +0000)]
* configure.ac (--with-diagnostics-color): New configure
option, default to --with-diagnostics-color=auto.
* toplev.c (process_options): Use DIAGNOSTICS_COLOR_DEFAULT
to determine -fdiagnostics-color= option default.
* doc/invoke.texi (-fdiagnostics-color=): Document new
default.
* configure: Regenerated.
* config.in: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217540
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Fri, 14 Nov 2014 06:35:35 +0000 (06:35 +0000)]
2014-11-13 Teresa Johnson <tejohnson@google.com>
gcc:
PR tree-optimization/63841
* tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers.
2014-11-13 Teresa Johnson <tejohnson@google.com>
gcc/testsuite:
PR tree-optimization/63841
* g++.dg/tree-ssa/pr63841.C: Remove prints, use abort.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217537
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 14 Nov 2014 06:05:51 +0000 (06:05 +0000)]
* cas_n.c (libat_compare_exchange): Add missing cast.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217536
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Fri, 14 Nov 2014 04:23:06 +0000 (04:23 +0000)]
2014-11-13 Daniel Kruegler <daniel.kruegler@gmail.com>
* include/bits/regex.h: Support embedded zeros in sub_match
comparisons (DR 2217)
* testsuite/28_regex/sub_match/embedded_zeros_cmp.cc:
Add test cases for embedded zeros
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217535
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Fri, 14 Nov 2014 02:32:38 +0000 (02:32 +0000)]
* timevar.def (TV_SCHED_FUSION): New time var.
* passes.def (pass_sched_fusion): New pass.
* config/arm/arm.c (TARGET_SCHED_FUSION_PRIORITY): New.
(extract_base_offset_in_addr, fusion_load_store): New.
(arm_sched_fusion_priority): New.
(arm_option_override): Disable scheduling fusion by default
on non-armv7 processors or ldrd/strd isn't preferred.
* sched-int.h (struct _haifa_insn_data): New field.
(INSN_FUSION_PRIORITY, FUSION_MAX_PRIORITY, sched_fusion): New.
* sched-rgn.c (rest_of_handle_sched_fusion): New.
(pass_data_sched_fusion, pass_sched_fusion): New.
(make_pass_sched_fusion): New.
* haifa-sched.c (sched_fusion): New.
(insn_cost): Handle sched_fusion.
(priority): Handle sched_fusion by calling target hook.
(enum rfs_decision): New enum value.
(rfs_str): New element for RFS_FUSION.
(rank_for_schedule): Support sched_fusion.
(schedule_insn, max_issue, prune_ready_list): Handle sched_fusion.
(schedule_block, fix_tick_ready): Handle sched_fusion.
* common.opt (flag_schedule_fusion): New.
* tree-pass.h (make_pass_sched_fusion): New.
* target.def (fusion_priority): New.
* doc/tm.texi.in (TARGET_SCHED_FUSION_PRIORITY): New.
* doc/tm.texi: Regenerated.
* doc/invoke.texi (-fschedule-fusion): New.
testsuite:
* gcc.target/arm/ldrd-strd-pair-1.c: New test.
* gcc.target/arm/vfp-1.c: Improve scanning string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217533
138bc75d-0d04-0410-961f-
82ee72b054a4
xur [Fri, 14 Nov 2014 00:30:31 +0000 (00:30 +0000)]
2014-11-13 Rong Xu <xur@google.com>
gcc:
PR debug/63581
* cfgrtl.c (emit_barrier_after_bb): Append the barrier to the
footer, instead of unconditionally overwritten
gcc/testsuite:
PR debug/63581
* g++.dg/tree-prof/pr63581.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217530
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 14 Nov 2014 00:22:28 +0000 (00:22 +0000)]
2014-11-14 Martin Jambor <mjambor@suse.cz>
* cgraph.h (clear_outer_type): Make public. Fix comment.
* ipa-devirt.c (possible_polymorphic_call_targets): Use
clear_outer_type when resetting the context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217529
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 14 Nov 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217528
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [Thu, 13 Nov 2014 22:06:15 +0000 (22:06 +0000)]
2014-11-13 Dominique Dhumieres <dominiq@lps.ens.fr>
PR bootstrap/63853
gcc/
* gcc.c (handle_foffload_option): Replace strchrnul with strchr.
* lto-wrapper.c (parse_env_var, append_offload_options): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217524
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Thu, 13 Nov 2014 21:54:42 +0000 (21:54 +0000)]
Fix format of ChangeLog entry from r217505.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217523
138bc75d-0d04-0410-961f-
82ee72b054a4
kcc [Thu, 13 Nov 2014 20:41:38 +0000 (20:41 +0000)]
libsanitizer merge from upstream r221802
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217518
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 13 Nov 2014 18:07:44 +0000 (18:07 +0000)]
* intrinsics/access.c: Include <stdlib.h>.
* intrinsics/chdir.c: Likewise.
* intrinsics/chmod.c: Likewise.
* intrinsics/link.c: Likewise.
* intrinsics/perror.c: Likewise.
* intrinsics/rename.c: Likewise.
* intrinsics/symlnk.c: Likewise.
* intrinsics/unlink.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217514
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 13 Nov 2014 16:35:06 +0000 (16:35 +0000)]
Remove VEC_RSHIFT_EXPR tree code, now unused
* fold-const.c (const_binop): Remove code handling VEC_RSHIFT_EXPR.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node, op_code_prio, op_symbol_code):
Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Remove assertion
against VEC_RSHIFT_EXPR.
* optabs.h (expand_vec_shift_expr): Remove.
* optabs.c (optab_for_tree_code): Remove case VEC_RSHIFT_EXPR.
(expand_vec_shift_expr): Remove.
* tree.def (VEC_RSHIFT_EXPR): Remove
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217510
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 13 Nov 2014 16:27:37 +0000 (16:27 +0000)]
[Vectorizer] Use a VEC_PERM_EXPR instead of VEC_RSHIFT_EXPR; expand appropriate VEC_PERM_EXPRs using vec_shr_optab
* optabs.c (can_vec_perm_p): Update comment, does not consider vec_shr.
(shift_amt_for_vec_perm_mask): New.
(expand_vec_perm_1): Use vec_shr_optab if second vector is const0_rtx
and mask appropriate.
* tree-vect-loop.c (calc_vec_perm_mask_for_shift): New.
(have_whole_vector_shift): New.
(vect_model_reduction_cost): Call have_whole_vector_shift instead of
looking for vec_shr_optab.
(vect_create_epilog_for_reduction): Likewise; also rename local variable
have_whole_vector_shift to reduce_with_shift; output VEC_PERM_EXPRs
instead of VEC_RSHIFT_EXPRs.
* tree-vect-stmts.c (vect_gen_perm_mask_checked): Extend comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217509
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 13 Nov 2014 16:20:13 +0000 (16:20 +0000)]
[Vectorizer] Split vect_gen_perm_mask into _checked and _any variants
* tree-vectorizer.h (vect_gen_perm_mask): Remove.
(vect_gen_perm_mask_checked, vect_gen_perm_mask_any): New.
tree_vec_data_refs.c (vect_permute_load_chain, vec_permute_store_chain,
vec_shift_permute_load_chain): Replace vect_gen_perm_mask & assert
with vect_gen_perm_mask_checked.
* tree-vect-stmts.c (vectorizable_mask_load_store, vectorizable_load):
Likewise.
(vect_gen_perm_mask_checked): New.
(vect_gen_perm_mask): Remove can_vec_perm_p check, rename to...
(vect_gen_perm_mask_any): ...this.
(perm_mask_for_reverse): Call can_vec_perm_p and
vect_gen_perm_mask_checked.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217508
138bc75d-0d04-0410-961f-
82ee72b054a4
fyang [Thu, 13 Nov 2014 16:04:30 +0000 (16:04 +0000)]
* ipa-utils.h: Fix typo in comments.
* ipa-profile.c: Likewise.
* tree-ssa-loop-ivcanon.c: Fix typo in comments and debugging dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217507
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Thu, 13 Nov 2014 15:36:48 +0000 (15:36 +0000)]
2014-11-13 Teresa Johnson <tejohnson@google.com>
gcc:
PR tree-optimization/63841
* tree.c (initializer_zerop): A clobber does not zero initialize.
gcc/testsuite:
PR tree-optimization/63841
* g++.dg/tree-ssa/pr63841.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217505
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 13 Nov 2014 14:13:53 +0000 (14:13 +0000)]
* optabs.c (prepare_operand): Gracefully fail if the mode of X
does not match the operand mode expected by the insn pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217501
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 13 Nov 2014 14:07:09 +0000 (14:07 +0000)]
[PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing.
libgomp/
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.ac: Set up offload_additional_options,
offload_additional_lib_paths and offload_targets.
* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
* testsuite/Makefile.in: Regenerate.
* testsuite/lib/libgomp.exp (libgomp_init): Append
offload_additional_lib_paths to LD_LIBRARY_PATH. Append
offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
build directory to LD_LIBRARY_PATH for intelmic offload targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217500
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 13 Nov 2014 14:05:49 +0000 (14:05 +0000)]
[PATCH 3/4] OpenMP 4.0 offloading to Intel MIC: libgomp plugin.
liboffloadmic/
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.ac: Add subdirectory 'plugin'.
* plugin/Makefile.am: New file.
* plugin/Makefile.in: New file, generated by automake.
* plugin/aclocal.m4: New file, generated by aclocal.
* plugin/configure: New file, generated by autoconf.
* plugin/configure.ac: New file.
* plugin/libgomp-plugin-intelmic.cpp: New file.
* plugin/offload_target_main.cpp: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217499
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 13 Nov 2014 14:03:17 +0000 (14:03 +0000)]
[PATCH 2/4] OpenMP 4.0 offloading to Intel MIC: liboffloadmic.
* Makefile.def: Add liboffloadmic to target_modules. Make
liboffloadmic depend on libgomp's configure, libstdc++ and libgcc.
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.ac: Add liboffloadmic to target binaries.
Restrict liboffloadmic for POSIX and i*86, and x86_64 architectures.
Add liboffloadmic to noconfig list when C++ is not supported.
config/
* target-posix: New file.
libcilkrts/
* configure.tgt: Use config/target-posix.
liboffloadmic/
Initial commit. Imported from upstream:
https://www.openmprtl.org/sites/default/files/liboffload_oss.tgz
* Makefile.am: New file.
* Makefile.in: New file, generated by automake.
* aclocal.m4: New file, generated by aclocal.
* configure: New file, generated by autoconf.
* configure.ac: New file.
* configure.tgt: Ditto.
* doc/doxygen/config: Ditto.
* doc/doxygen/header.tex: Ditto.
* include/coi/common/COIEngine_common.h: Ditto.
* include/coi/common/COIMacros_common.h: Ditto.
* include/coi/common/COIPerf_common.h : Ditto.
* include/coi/common/COIResult_common.h : Ditto.
* include/coi/common/COITypes_common.h: Ditto.
* include/coi/sink/COIBuffer_sink.h: Ditto.
* include/coi/sink/COIPipeline_sink.h: Ditto.
* include/coi/sink/COIProcess_sink.h: Ditto.
* include/coi/source/COIBuffer_source.h: Ditto.
* include/coi/source/COIEngine_source.h: Ditto.
* include/coi/source/COIEvent_source.h: Ditto.
* include/coi/source/COIPipeline_source.h: Ditto.
* include/coi/source/COIProcess_source.h: Ditto.
* include/myo/myo.h: Ditto.
* include/myo/myoimpl.h: Ditto.
* include/myo/myotypes.h: Ditto.
* liboffloadmic_host.spec.in: Ditto.
* liboffloadmic_target.spec.in: Ditto.
* runtime/cean_util.cpp: Ditto.
* runtime/cean_util.h: Ditto.
* runtime/coi/coi_client.cpp: Ditto.
* runtime/coi/coi_client.h: Ditto.
* runtime/coi/coi_server.cpp: Ditto.
* runtime/coi/coi_server.h: Ditto.
* runtime/compiler_if_host.cpp: Ditto.
* runtime/compiler_if_host.h: Ditto.
* runtime/compiler_if_target.cpp: Ditto.
* runtime/compiler_if_target.h: Ditto.
* runtime/dv_util.cpp: Ditto.
* runtime/dv_util.h: Ditto.
* runtime/emulator/coi_common.h: Ditto.
* runtime/emulator/coi_device.cpp: Ditto.
* runtime/emulator/coi_device.h: Ditto.
* runtime/emulator/coi_host.cpp: Ditto.
* runtime/emulator/coi_host.h: Ditto.
* runtime/emulator/coi_version_asm.h: Ditto.
* runtime/emulator/coi_version_linker_script.map: Ditto.
* runtime/emulator/myo_client.cpp: Ditto.
* runtime/emulator/myo_service.cpp: Ditto.
* runtime/emulator/myo_service.h: Ditto.
* runtime/emulator/myo_version_asm.h: Ditto.
* runtime/emulator/myo_version_linker_script.map: Ditto.
* runtime/liboffload_error.c: Ditto.
* runtime/liboffload_error_codes.h: Ditto.
* runtime/liboffload_msg.c: Ditto.
* runtime/liboffload_msg.h: Ditto.
* runtime/mic_lib.f90: Ditto.
* runtime/offload.h: Ditto.
* runtime/offload_common.cpp: Ditto.
* runtime/offload_common.h: Ditto.
* runtime/offload_engine.cpp: Ditto.
* runtime/offload_engine.h: Ditto.
* runtime/offload_env.cpp: Ditto.
* runtime/offload_env.h: Ditto.
* runtime/offload_host.cpp: Ditto.
* runtime/offload_host.h: Ditto.
* runtime/offload_myo_host.cpp: Ditto.
* runtime/offload_myo_host.h: Ditto.
* runtime/offload_myo_target.cpp: Ditto.
* runtime/offload_myo_target.h: Ditto.
* runtime/offload_omp_host.cpp: Ditto.
* runtime/offload_omp_target.cpp: Ditto.
* runtime/offload_orsl.cpp: Ditto.
* runtime/offload_orsl.h: Ditto.
* runtime/offload_table.cpp: Ditto.
* runtime/offload_table.h: Ditto.
* runtime/offload_target.cpp: Ditto.
* runtime/offload_target.h: Ditto.
* runtime/offload_target_main.cpp: Ditto.
* runtime/offload_timer.h: Ditto.
* runtime/offload_timer_host.cpp: Ditto.
* runtime/offload_timer_target.cpp: Ditto.
* runtime/offload_trace.cpp: Ditto.
* runtime/offload_trace.h: Ditto.
* runtime/offload_util.cpp: Ditto.
* runtime/offload_util.h: Ditto.
* runtime/ofldbegin.cpp: Ditto.
* runtime/ofldend.cpp: Ditto.
* runtime/orsl-lite/include/orsl-lite.h: Ditto.
* runtime/orsl-lite/lib/orsl-lite.c: Ditto.
* runtime/orsl-lite/version.txt: Ditto.
* runtime/use_mpss2.txt: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217498
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 13 Nov 2014 13:58:59 +0000 (13:58 +0000)]
2014-11-13 Richard Biener <rguenther@suse.de>
* match.pd: Add tcc_comparison, inverted_tcc_comparison
and inverted_tcc_comparison_with_nans operator lists.
Use tcc_comparison in the truth_valued_p predicate definition.
Restrict logical_inverted_value with bit_xor to integral types.
Build a boolean true for simplifying x |^ !x because of
vector types. Implement patterns from forward_propagate_comparison
* tree-ssa-forwprop.c (forward_propagate_comparison): Remove.
(get_prop_dest_stmt): Likewise.
(pass_forwprop::execute): Do not call it.
* fold-const.c (fold_unary_loc): Remove the pattern here.
* gcc.dg/tree-ssa/forwprop-28.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217496
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 13 Nov 2014 13:57:58 +0000 (13:57 +0000)]
[PATCH 1/4] OpenMP 4.0 offloading to Intel MIC: mkoffload.
gcc/
* config.gcc (*-intelmic-* | *-intelmicemul-*): Add i386/t-intelmic to
tmake_file.
(i[34567]86-*-* | x86_64-*-*): Build mkoffload$(exeext) with the
accelerator compiler.
* config/i386/intelmic-mkoffload.c: New file.
* config/i386/t-intelmic: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217495
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 13 Nov 2014 13:56:22 +0000 (13:56 +0000)]
[PATCH 7/7] OpenMP 4.0 offloading infrastructure: testsuite.
libgomp/
* testsuite/lib/libgomp.exp
(check_effective_target_offload_device): New.
* testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
* testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
* testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
* testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
* testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
* testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
* testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
* testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
* testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
* testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
* testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
* testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
* testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
* testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
* testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
* testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
* testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
* testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
* testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
* testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
* testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
* testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
* testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
* testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
* testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
* testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
* testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
* testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
* testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
* testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
* testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
* testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
* testsuite/libgomp.c/target-7.c: Fix test.
* testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
* testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
* testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217494
138bc75d-0d04-0410-961f-
82ee72b054a4