Commit Graph

134901 Commits

Author SHA1 Message Date
Jason Merrill
9c78f8e605 re PR c++/64222 (error: ‘__FUNCTION__’ was not declared in this scope)
PR c++/64222
	* parser.c (cp_parser_unqualified_id): Don't declare fname while
	parsing function parms.

From-SVN: r218556
2014-12-09 21:50:54 -05:00
Jonathan Wakely
6789ccfa46 Implement LWG DR 2329 and DR 2332.
* include/bits/regex.h (regex_match, regex_search): LWG DR 2329,
	add deleted overloads for rvalue strings.
	(regex_iterator, regex_token_iterator): LWG DR 2332, add deleted
	constructors for rvalue regexes.
	* testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc: New.
	* testsuite/28_regex/algorithms/regex_search/dr2329_neg.cc: New.
	* testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc:
	New.
	* testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
	dr2332_neg.cc: New.

From-SVN: r218555
2014-12-10 01:37:37 +00:00
Ian Lance Taylor
2a664a279a compiler: Don't track fields in compiler-generated hash and eq funcs.
Also, lower field tracking calls.

From-SVN: r218554
2014-12-10 00:56:00 +00:00
Jonathan Wakely
9131b50960 future (__future_base::_Setter::operator(), [...]): Make call operators const.
* include/std/future (__future_base::_Setter::operator(),
	__future_base::_Task_setter::operator()): Make call operators const.

From-SVN: r218553
2014-12-10 00:39:37 +00:00
Jonathan Wakely
d6f64424aa locale_facets.tcc (numpunct::_M_cache): Avoid calling virtual functions twice.
* include/bits/locale_facets.tcc (numpunct::_M_cache): Avoid calling
	virtual functions twice. Only update _M_allocated after all
	allocations have succeeded.
	* include/bits/locale_facets_nonio.tcc (moneypunct::_M_cache):
	Likewise.
	* include/bits/locale_facets_nonio.h (__timepunct::_M_cache): Remove
	unused declaration.

From-SVN: r218552
2014-12-10 00:21:37 +00:00
Oleg Endo
9c53a5b423 re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
gcc/
	PR target/53513
	* doc/extend.texi (__builtin_sh_get_fpscr, __builtin_sh_get_fpscr):
	Document it.

From-SVN: r218551
2014-12-10 00:21:36 +00:00
GCC Administrator
a3ff84f2d4 Daily bump.
From-SVN: r218550
2014-12-10 00:16:28 +00:00
Bill Schmidt
c293be1a19 re PR middle-end/64225 (-funsafe-math-optimizations generates call to pow where multiply instruction would do)
2014-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR middle-end/64225
	* tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
	for BUILT_IN_POW when flag_errno_math is present.

From-SVN: r218546
2014-12-09 23:02:06 +00:00
Ilya Verbin
443743fd95 lto-wrapper.c (compile_offload_image): Start processing in_argv from 0 instead of 1.
gcc/
	* lto-wrapper.c (compile_offload_image): Start processing in_argv
	from 0 instead of 1.
	(run_gcc): Put offload objects into offload_argv, put LTO objects and
	possible preceding arguments into lto_argv.
	Pass offload_argv to compile_images_for_offload_targets instead of argv.
	Use lto_argv for LTO recompilation instead of argv.
lto-plugin/
	* lto-plugin.c (offload_files, num_offload_files): New static variables.
	(free_1): Use arguments instead of global variables.
	(free_2): Free offload_files.
	(all_symbols_read_handler): Add names from offload_files to lto-wrapper
	arguments.
	(claim_file_handler): Do not add file to claimed_files if it contains
	offload sections without LTO sections.  Add it to offload_files instead.

From-SVN: r218543
2014-12-09 22:44:16 +00:00
Oleg Endo
3f6ad8df42 Fix date in change log entry.
From-SVN: r218542
2014-12-09 22:44:12 +00:00
Oleg Endo
7d0ee249ba Add missing link to PR in change log entry.
From-SVN: r218541
2014-12-09 22:40:20 +00:00
David Malcolm
5cd614cecc toyvm.c: use correct path in debuginfo
gcc/jit/ChangeLog:
	* docs/examples/tut04-toyvm/toyvm.c (toyvm_function_compile): Move
	logic for determine "funcname" to new function...
	(get_function_name): ...here, adding logic to skip any leading
	path from the filename.
	(toyvm_function_parse): Use the filename for fn_filename, rather
	than "name", so that the debugger can locate the source .toy
	file.
	(toyvm_function_parse): Don't fclose a NULL FILE *.

From-SVN: r218540
2014-12-09 20:55:18 +00:00
Michael Haubenwallner
dd91332382 (libgcc_s) Optional filename-based shared library versioning on AIX.
2014-12-09  Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>

        (libgcc_s) Optional filename-based shared library versioning on AIX.
        * gcc/doc/install.texi: Describe --with-aix-soname option.
        * Makefile.in (with_aix_soname): Define.
        * config/rs6000/t-slibgcc-aix: Act upon --with-aix-soname option.
        * configure.ac: Accept --with-aix-soname=aix|svr4|both option.
        * configure: Recreate.

From-SVN: r218539
2014-12-09 15:48:48 -05:00
David Malcolm
2712de7892 PR jit/63854: Document how to run the jit testsuite under valgrind
gcc/jit/ChangeLog:
	PR jit/63854
	* docs/internals/index.rst (Running under valgrind): New
	subsection.
	(docs/_build/texinfo/libgccjit.texi): Regenerate.

From-SVN: r218538
2014-12-09 20:46:33 +00:00
Alan Lawrence
07ad57c401 [AArch64]Remove aarch64_get_lanedi, unused
* config/aarch64/aarch64-simd.md (aarch64_get_lanedi): Remove.

From-SVN: r218537
2014-12-09 20:28:44 +00:00
Alan Lawrence
ed225d0c7b [AArch64]Remove be_checked_get_lane, check bounds with __builtin_aarch64_im_lane_boundsi.
gcc/:

	PR target/63870
	* config/aarch64/aarch64-simd-builtins.def (be_checked_get_lane):
	Delete.
	* config/aarch64/aarch64-simd.md (aarch64_be_checked_get_lane<mode\>):
	Delete.
	* config/aarch64/arm_neon.h (aarch64_vget_lane_any): Use GCC
	vector extensions, __aarch64_lane, __builtin_aarch64_im_lane_boundsi.
	(__aarch64_vget_lane_f32, __aarch64_vget_lane_f64,
	__aarch64_vget_lane_p8, __aarch64_vget_lane_p16,
	__aarch64_vget_lane_s8, __aarch64_vget_lane_s16,
	__aarch64_vget_lane_s32, __aarch64_vget_lane_s64,
	__aarch64_vget_lane_u8, __aarch64_vget_lane_u16,
	__aarch64_vget_lane_u32, __aarch64_vget_lane_u64,
	__aarch64_vgetq_lane_f32, __aarch64_vgetq_lane_f64,
	__aarch64_vgetq_lane_p8, __aarch64_vgetq_lane_p16,
	__aarch64_vgetq_lane_s8, __aarch64_vgetq_lane_s16,
	__aarch64_vgetq_lane_s32, __aarch64_vgetq_lane_s64,
	__aarch64_vgetq_lane_u8, __aarch64_vgetq_lane_u16,
	__aarch64_vgetq_lane_u32, __aarch64_vgetq_lane_u64): Delete.
	(__aarch64_vdup_lane_any): Use __aarch64_vget_lane_any, remove
	'q2' argument.
	(__aarch64_vdup_lane_f32, __aarch64_vdup_lane_f64,
	__aarch64_vdup_lane_p8, __aarch64_vdup_lane_p16,
	__aarch64_vdup_lane_s8, __aarch64_vdup_lane_s16,
	__aarch64_vdup_lane_s32, __aarch64_vdup_lane_s64,
	__aarch64_vdup_lane_u8, __aarch64_vdup_lane_u16,
	__aarch64_vdup_lane_u32, __aarch64_vdup_lane_u64,
	__aarch64_vdup_laneq_f32, __aarch64_vdup_laneq_f64,
	__aarch64_vdup_laneq_p8, __aarch64_vdup_laneq_p16,
	__aarch64_vdup_laneq_s8, __aarch64_vdup_laneq_s16,
	__aarch64_vdup_laneq_s32, __aarch64_vdup_laneq_s64,
	__aarch64_vdup_laneq_u8, __aarch64_vdup_laneq_u16,
	__aarch64_vdup_laneq_u32, __aarch64_vdup_laneq_u64): Remove argument
	to __aarch64_vdup_lane_any.
	(vget_lane_f32, vget_lane_f64, vget_lane_p8, vget_lane_p16,
	vget_lane_s8, vget_lane_s16, vget_lane_s32, vget_lane_s64,
	vget_lane_u8, vget_lane_u16, vget_lane_u32, vget_lane_u64,
	vgetq_lane_f32, vgetq_lane_f64, vgetq_lane_p8, vgetq_lane_p16,
	vgetq_lane_s8, vgetq_lane_s16, vgetq_lane_s32, vgetq_lane_s64,
	vgetq_lane_u8, vgetq_lane_u16, vgetq_lane_u32, vgetq_lane_u64,
	vdupb_lane_p8, vdupb_lane_s8, vdupb_lane_u8, vduph_lane_p16,
	vduph_lane_s16, vduph_lane_u16, vdups_lane_f32, vdups_lane_s32,
	vdups_lane_u32, vdupb_laneq_p8, vdupb_laneq_s8, vdupb_laneq_u8,
	vduph_laneq_p16, vduph_laneq_s16, vduph_laneq_u16, vdups_laneq_f32,
	vdups_laneq_s32, vdups_laneq_u32, vdupd_laneq_f64, vdupd_laneq_s64,
	vdupd_laneq_u64, vfmas_lane_f32, vfma_laneq_f64, vfmad_laneq_f64,
	vfmas_laneq_f32, vfmss_lane_f32, vfms_laneq_f64, vfmsd_laneq_f64,
	vfmss_laneq_f32, vmla_lane_f32, vmla_lane_s16, vmla_lane_s32,
	vmla_lane_u16, vmla_lane_u32, vmla_laneq_f32, vmla_laneq_s16,
	vmla_laneq_s32, vmla_laneq_u16, vmla_laneq_u32, vmlaq_lane_f32,
	vmlaq_lane_s16, vmlaq_lane_s32, vmlaq_lane_u16, vmlaq_lane_u32,
	vmlaq_laneq_f32, vmlaq_laneq_s16, vmlaq_laneq_s32, vmlaq_laneq_u16,
	vmlaq_laneq_u32, vmls_lane_f32, vmls_lane_s16, vmls_lane_s32,
	vmls_lane_u16, vmls_lane_u32, vmls_laneq_f32, vmls_laneq_s16,
	vmls_laneq_s32, vmls_laneq_u16, vmls_laneq_u32, vmlsq_lane_f32,
	vmlsq_lane_s16, vmlsq_lane_s32, vmlsq_lane_u16, vmlsq_lane_u32,
	vmlsq_laneq_f32, vmlsq_laneq_s16, vmlsq_laneq_s32, vmlsq_laneq_u16,
	vmlsq_laneq_u32, vmul_lane_f32, vmul_lane_s16, vmul_lane_s32,
	vmul_lane_u16, vmul_lane_u32, vmuld_lane_f64, vmuld_laneq_f64,
	vmuls_lane_f32, vmuls_laneq_f32, vmul_laneq_f32, vmul_laneq_f64,
	vmul_laneq_s16, vmul_laneq_s32, vmul_laneq_u16, vmul_laneq_u32,
	vmulq_lane_f32, vmulq_lane_s16, vmulq_lane_s32, vmulq_lane_u16,
	vmulq_lane_u32, vmulq_laneq_f32, vmulq_laneq_f64, vmulq_laneq_s16,
	vmulq_laneq_s32, vmulq_laneq_u16, vmulq_laneq_u32) : Use
	__aarch64_vget_lane_any.

gcc/testsuite/:

	* gcc.target/aarch64/simd/vget_lane_f32_indices_1.c: New test.
	* gcc.target/aarch64/simd/vget_lane_f64_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_p16_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_p8_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_s16_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_s32_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_s64_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_s8_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_u16_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_u32_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_u64_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vget_lane_u8_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_f32_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_f64_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_p16_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_p8_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_s16_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_s32_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_s8_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_u16_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_u32_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_u64_indices_1.c: Likewise.
	* gcc.target/aarch64/simd/vgetq_lane_u8_indices_1.c: Likewise.

From-SVN: r218536
2014-12-09 20:23:36 +00:00
Alan Lawrence
fdead6a4b4 Add missing PR numbers to ChangeLog. Too late?
From-SVN: r218535
2014-12-09 20:13:52 +00:00
Alan Lawrence
fca051af18 [AArch64]Improve error message for non-constant immediates
gcc/:

	* gcc/config/aarch64-builtins.c (aarch64_simd_expand_args): Update error
	message for SIMD_ARG_CONSTANT.

gcc/testsuite/:

	* gcc.target/aarch64/arg-type-diagnostics-1.c: Call intrinsic, update
	expected error message.

From-SVN: r218534
2014-12-09 20:08:39 +00:00
David Malcolm
d1e5f2c7e2 Add jit-tempdir.{c|h}
gcc/jit/ChangeLog:
        PR jit/64206
	* Make-lang.in (jit_OBJS): Add jit/jit-tempdir.o.
	* jit-common.h (gcc::jit::tempdir): New forward decl.
	* jit-playback.c: Include jit-tempdir.h.
	(gcc::jit::playback::context::context): Initialize m_tempdir.
	(gcc::jit::playback::context::~context): Move tempdir
	cleanup to new file jit-tempdir.c
	(make_tempdir_path_template): Move to new file jit-tempdir.c.
	(gcc::jit::playback::context::compile): Move tempdir creation
	to new tempdir object in new file jit-tempdir.c.
	(gcc::jit::playback::context::make_fake_args): Get path from
	tempdir object rather than from member data.
	(gcc::jit::playback::context::convert_to_dso): Likewise.
	(gcc::jit::playback::context::dlopen_built_dso): Likewise.
	(gcc::jit::playback::context::dump_generated_code): Likewise.
	(gcc::jit::playback::context::get_path_c_file): New function.
	(gcc::jit::playback::context::get_path_s_file): New function.
	(gcc::jit::playback::context::get_path_so_file): New function.
	* jit-playback.h (gcc::jit::playback::context::get_path_c_file):
	New function.
	(gcc::jit::playback::context::get_path_s_file): New function.
	(gcc::jit::playback::context::get_path_so_file): New function.
	(gcc::jit::playback::context): Move fields "m_path_template",
	"m_path_tempdir", "m_path_c_file", "m_path_s_file",
	"m_path_so_file" to new jit::tempdir class; add field "m_tempdir".
	* jit-tempdir.c: New file.
	* jit-tempdir.h: New file.

From-SVN: r218533
2014-12-09 20:00:07 +00:00
Alan Lawrence
661fce82a6 [AArch64] Fix ICE on non-constant indices to __builtin_aarch64_im_lane_boundsi
gcc/:

	* config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
	TYPES_BINOPV): Delete.
	(enum aarch64_builtins): Add AARCH64_BUILTIN_SIMD_LANE_CHECK and
	AARCH64_SIMD_PATTERN_START.
	(aarch64_init_simd_builtins): Register
	__builtin_aarch64_im_lane_boundsi; use  AARCH64_SIMD_PATTERN_START.
	(aarch64_simd_expand_builtin): Handle AARCH64_BUILTIN_LANE_CHECK; use
	AARCH64_SIMD_PATTERN_START.

	* config/aarch64/aarch64-simd.md (aarch64_im_lane_boundsi): Delete.
	* config/aarch64/aarch64-simd-builtins.def (im_lane_bound): Delete.

	* config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK): New.
	(__aarch64_vget_lane_f64, __aarch64_vget_lane_s64,
	__aarch64_vget_lane_u64, __aarch64_vset_lane_any, vdupd_lane_f64,
	vdupd_lane_s64, vdupd_lane_u64, vext_f32, vext_f64, vext_p8, vext_p16,
	vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
	vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
	vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
	vextq_u64, vmulq_lane_f64): Use __AARCH64_LANE_CHECK.

gcc/testsuite/:

	* gcc.target/aarch64/simd/vset_lane_s16_const_1.c: New test.

From-SVN: r218532
2014-12-09 19:52:22 +00:00
Alan Lawrence
2310e29f49 [AArch64]Fix ICE at -O0 on vld1_lane intrinsics
gcc/:

	* config/aarch64/arm_neon.h (__AARCH64_NUM_LANES, __aarch64_lane *2):
	New.
	(aarch64_vset_lane_any): Redefine using previous, same for BE + LE.
	(vset_lane_f32, vset_lane_f64, vset_lane_p8, vset_lane_p16,
	vset_lane_s8, vset_lane_s16, vset_lane_s32, vset_lane_s64,
	vset_lane_u8, vset_lane_u16, vset_lane_u32, vset_lane_u64): Remove
	number of lanes.
	(vld1_lane_f32, vld1_lane_f64, vld1_lane_p8, vld1_lane_p16,
	vld1_lane_s8, vld1_lane_s16, vld1_lane_s32, vld1_lane_s64,
	vld1_lane_u8, vld1_lane_u16, vld1_lane_u32, vld1_lane_u64): Call
	__aarch64_vset_lane_any rather than vset_lane_xxx.

gcc/testsuite/:

	* gcc.target/aarch64/vld1_lane-o0.c: New test.

From-SVN: r218531
2014-12-09 19:37:18 +00:00
Alan Lawrence
8f905d691e vabs_intrinsic_2.c: New test.
gcc/testsuite/:

        * gcc.target/aarch64/vabs_intrinsic_2.c: New test.

From-SVN: r218530
2014-12-09 19:19:54 +00:00
David Malcolm
82e0c91499 Fix bogus ChangeLog entry from r218521
In r218521 I erroneously added the entries meant for gcc/jit/ChangeLog
to gcc/ChangeLog instead.

Move them to the correct ChangeLog file.

Sorry for the noise.

From-SVN: r218529
2014-12-09 19:03:19 +00:00
David Malcolm
38771e4e1f Guard less code with the JIT mutex
gcc/jit/ChangeLog:
	* jit-playback.c (gcc::jit::playback::context::compile): Acquire the
	mutex here, immediately before using toplev, and release it here, on
	each exit path after acquisition.
	(jit_mutex): Move this variable here, from jit-recording.c.
	(gcc::jit::playback::context::acquire_mutex): New function, based on
	code in jit-recording.c.
	(gcc::jit::playback::context::release_mutex): Likewise.
	* jit-playback.h (gcc::jit::playback::context::acquire_mutex): New
	function.
	(gcc::jit::playback::context::release_mutex): New function.
	* jit-recording.c (jit_mutex): Move this variable to jit-playback.c.
	(gcc::jit::recording::context::compile): Move mutex-handling from
	here into jit-playback.c's gcc::jit::playback::context::compile.
	* notes.txt: Update to show the new locations of ACQUIRE_MUTEX
	and RELEASE_MUTEX.

From-SVN: r218528
2014-12-09 18:51:04 +00:00
David Malcolm
38f4f64124 jit-playback.c: Move dlopen code into a new function
gcc/jit/ChangeLog:
	* jit-playback.c (gcc::jit::playback::context::compile): Move the
	dlopen code into...
	(gcc::jit::playback::context::dlopen_built_dso): ...this new
	function.
	* jit-playback.h (gcc::jit::playback::context::dlopen_built_dso):
	New function.

From-SVN: r218527
2014-12-09 18:40:40 +00:00
Wilco Dijkstra
cee66c6853 [AArch64] Add TARGET_SCHED_REASSOCIATION_WIDTH
2014-12-09  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* gcc/config/aarch64/aarch64-protos.h (tune-params): Add reasociation
	tuning parameters.
	* gcc/config/aarch64/aarch64.c (TARGET_SCHED_REASSOCIATION_WIDTH):
	Define.
	(aarch64_reassociation_width): New function.
	(generic_tunings): Add reassociation tuning parameters.
	(cortexa53_tunings): Likewise.
	(cortexa57_tunings): Likewise.
	(thunderx_tunings): Likewise.

From-SVN: r218526
2014-12-09 18:26:04 +00:00
Andrew Pinski
3759108f07 [AARCH64][5/5] Add macro fusion support for cmp/b.X for ThunderX
* config/aarch64/aarch64.c (AARCH64_FUSE_CMP_BRANCH): New define.
	(thunderx_tunings): Add AARCH64_FUSE_CMP_BRANCH to fuseable_ops.
	(aarch_macro_fusion_pair_p): Handle AARCH64_FUSE_CMP_BRANCH.

From-SVN: r218525
2014-12-09 17:32:58 +00:00
David Malcolm
3b21bfb10e jit: Add new testcase missing from r218521
I intended for r218521 to contain this file:

gcc/testsuite/ChangeLog:
	* jit.dg/test-error-unrecognized-dump.c: New file.

Add it.

From-SVN: r218522
2014-12-09 15:52:48 +00:00
David Malcolm
463366a06a PR jit/64166: Add API entrypoint gcc_jit_context_enable_dump
gcc/jit/ChangeLog:
	PR jit/64166
	* docs/topics/contexts.rst (Debugging): Add description of
	gcc_jit_context_enable_dump.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-playback.c: Include context.h.
	(class auto_argvec): New class.
	(auto_argvec::~auto_argvec): New function.
	(gcc::jit::playback::context::compile): Convert fake_args to be
	an auto_argvec, so that it can contain dynamically-allocated
	strings.   Construct a vec of all requested dumps, and pass it to
	make_fake_args.  Extract requested dumps between the calls to
	toplev::main and toplev::finalize.
	(gcc::jit::playback::context::make_fake_args): Convert param
	"argvec" to be a vec <char *>, and gain a "requested_dumps"
	param.  Convert to dynamically-allocated arg strings by converting
	ADD_ARG to take a copy of the arg, and add ADD_ARG_TAKE_OWNERSHIP
	for args that are already a copy.  Add args for all requested dumps.
	(gcc::jit::playback::context::extract_any_requested_dumps): New
	function.
	(gcc::jit::playback::context::read_dump_file): New function.
	* jit-playback.h (gcc::jit::playback::context::make_fake_args):
	Convert param "argvec" to be a vec <char *>, and gain a
	"requested_dumps" param.
	(gcc::jit::playback::context::extract_any_requested_dumps): New
	function.
	(gcc::jit::playback::context::read_dump_file): New function.
	* jit-recording.c (gcc::jit::recording::context::enable_dump): New
	function.
	(gcc::jit::recording::context::get_all_requested_dumps): New
	function.
	* jit-recording.h (gcc::jit::recording::requested_dump): New
	struct.
	(gcc::jit::recording::context::enable_dump): New function.
	(gcc::jit::recording::context::get_all_requested_dumps): New
	function.
	(gcc::jit::recording::context::m_requested_dumps): New field.
	* libgccjit.c (gcc_jit_context_enable_dump): New API entrypoint.
	* libgccjit.h (gcc_jit_context_enable_dump): New API entrypoint.
	* libgccjit.map (gcc_jit_context_enable_dump): New API entrypoint.

gcc/testsuite/ChangeLog:
	PR jit/64166
	PR jit/64020
	* jit.dg/harness.h (CHECK_STRING_CONTAINS): New macro.
	(check_string_contains): New function.
	* jit.dg/test-error-unrecognized-dump.c: New file.
	* jit.dg/test-functions.c (trig_sincos_dump): New variable.
	(trig_statistics_dump): New variable.
	(create_test_of_builtin_trig): Enable dumping of "sincos" and
	"statistics" into "trig_sincos_dump" and "trig_statistics_dump".
	(verify_test_of_builtin_trig): Verify the sincos and statistics
	dumps.
	* jit.dg/test-sum-of-squares.c (dump_vrp1): New variable.
	(create_code): Enable dumping of "tree-vrp1" into dump_vrp1.
	(verify_code): Verify the tree-vrp1 dump.

From-SVN: r218521
2014-12-09 15:35:39 +00:00
David Malcolm
799505ae0c PR jit/64166: Add methods to gcc::dump_manager needed by JIT testing
gcc/ChangeLog:
	PR jit/64166
	* dumpfile.c (gcc::dump_manager::get_dump_file_info_by_switch):
	New function.
	(gcc::dump_manager::get_dump_file_name): Split out bulk of
	implementation into a new overloaded variant taking a
	dump_file_info *.
	* dumpfile.h (gcc::dump_manager::get_dump_file_info_by_switch):
	New function.
	(gcc::dump_manager::get_dump_file_name): New overloaded variant of
	this function, taking a dump_file_info *.

From-SVN: r218520
2014-12-09 15:25:11 +00:00
Uros Bizjak
0cc67c94cf re PR bootstrap/64213 (gimple-match.c:1523:6: error: ‘GIMPLE’ was not declared in this scope)
PR bootstrap/64213
	Revert:
	2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/64037
	* combine.c (setup_incoming_promotions): Pass the argument
	before any promotions happen to promote_function_mode.

testsuite/ChangeLog:

	PR bootstrap/64213
	Revert:
	2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/64037
	* g++.dg/pr64037.C: New test.

From-SVN: r218516
2014-12-09 15:34:32 +01:00
Richard Biener
92a5094e04 re PR tree-optimization/64193 (Decreased performance after r173250)
2014-12-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64193
	* tree-ssa-alias.c (walk_non_aliased_vuses): Add valueize parameter
	and valueize the VUSE before looking up the def stmt.
	* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
	* tree-ssa-sccvn.c (vn_reference_lookup_pieces): Pass vn_valueize
	to walk_non_aliased_vuses.
	(vn_reference_lookup): Likewise.
	* tree-ssa-dom.c (lookup_avail_expr): Pass NULL as valueize
	callback to walk_non_aliased_vuses.

	* gcc.dg/tree-ssa/ssa-fre-43.c: New testcase.

From-SVN: r218515
2014-12-09 14:25:09 +00:00
Yury Gribov
c3e1e6936a Local Vim config with GNU formatting.
2014-12-09  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
	    Yury Gribov  <y.gribov@samsung.com>
    
/
	* .gitignore: Added .local.vimrc and .lvimrc.
	* Makefile.tpl (vimrc, .lvimrc, .local.vimrc): New targets.
	* Makefile.in: Regenerate.

contrib/
	* vimrc: New file.

From-SVN: r218514
2014-12-09 13:45:47 +00:00
Richard Biener
85fd4c288a re PR tree-optimization/64199 (ICE: tree check: expected class 'constant', have 'binary' (plus_expr) in fold_binary_loc, at fold-const.c:10404 with -ffast-math -frounding-math)
2014-12-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/64199
	* fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.

	* gcc.dg/torture/pr64199.c: New testcase.

From-SVN: r218513
2014-12-09 11:58:51 +00:00
Jonathan Wakely
60b6534a84 re PR libstdc++/64203 (shared_mutex compile errors on bare-metal targets)
PR libstdc++/64203
	* include/std/shared_mutex: Fix preprocessor conditions.
	* testsuite/experimental/feat-cxx14.cc: Check conditions.

From-SVN: r218511
2014-12-09 11:03:57 +00:00
Richard Biener
ac6aeab4d7 re PR tree-optimization/64191 (indirect clobbers messes up dead code elimination in loop calling dtor)
2014-12-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64191
	* tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are
	not relevant (nor are their uses).

From-SVN: r218509
2014-12-09 09:13:18 +00:00
Ilya Enkovich
6c77972738 lto-partition.c (privatize_symbol_name): Correctly privatize instrumentation clones.
gcc/

	* lto/lto-partition.c (privatize_symbol_name): Correctly
	privatize instrumentation clones.

gcc/testsuite/

	* gcc.dg/lto/lto.exp: Load mpx-dg.exp.
	* gcc.dg/lto/chkp-privatize_0.c: New.
	* gcc.dg/lto/chkp-privatize_1.c: New.

From-SVN: r218508
2014-12-09 08:00:52 +00:00
Ilya Enkovich
6a73516d83 lto-cgraph.c (input_cgraph_1): Don't break existing instrumentation clone references.
* lto-cgraph.c (input_cgraph_1): Don't break existing
	instrumentation clone references.
	* lto/lto-symtab.c (lto_cgraph_replace_node): Redirect
	instrumented_version references appropriately.

From-SVN: r218507
2014-12-09 07:56:26 +00:00
Ilya Enkovich
227eabce47 re PR bootstrap/63995 (Bootstrap error with -mmpx -fcheck-pointer-bounds)
gcc/

	PR bootstrap/63995
	* tree-chkp.c (chkp_make_static_bounds): Share bounds var
	between nodes sharing assembler name.

gcc/testsuite/

	PR bootstrap/63995
	* g++.dg/dg.exp: Add mpx-dg.exp.
	* g++.dg/pr63995-1.C: New.

From-SVN: r218506
2014-12-09 07:53:17 +00:00
Michael Meissner
f9ea9950e0 re PR target/64204 (gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in)
2014-12-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/64204
	* config/rs6000/rs6000.c (rs6000_emit_move): Do not split TFmode
	constant moves if -mupper-regs-df.

	* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Optimize moving
	0.0L to TFmode.
	(movtd_64bit_nodm): Likewise.
	(mov<mode>_32bit, FMOVE128 case): Likewise.

From-SVN: r218505
2014-12-09 03:56:28 +00:00
Sandra Loosemore
10828a0194 simplify-rtx.c (simplify_relational_operation_1): Handle simplification identities for BICS patterns.
2014-12-08  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* simplify-rtx.c (simplify_relational_operation_1): Handle
	simplification identities for BICS patterns.

	gcc/testsuite/
	* gcc.target/aarch64/bics_4.c: New.

From-SVN: r218503
2014-12-08 21:53:00 -05:00
Trevor Saunders
58dddbd21a move gimple_canonical_types htab out of gc memory
lto/

	* lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
	htab with malloc instead of ggc.

From-SVN: r218502
2014-12-09 02:30:13 +00:00
Trevor Saunders
f3dba89405 remove param_is from nvptx
gcc/

	* config/nvptx/nvptx.c: Convert htabs to hash_table.

From-SVN: r218501
2014-12-09 02:30:06 +00:00
GCC Administrator
13ef90907a Daily bump.
From-SVN: r218500
2014-12-09 00:16:30 +00:00
David Edelsohn
ca9f165c10 re PR target/64226 (Secondary reload incorrect TOC address)
PR target/64226
        * config/rs6000/rs6000.c (rs6000_secondary_reload_inner)
        [SYMBOL_REF]: Do not explicitly call create_TOC_reference for
        TARGET_TOC. Always use rs6000_emit_move.

From-SVN: r218497
2014-12-08 18:47:39 -05:00
Mark Wielaard
bc3518da23 DWARFv5 Emit DW_TAG_atomic_type for C11 _Atomic.
This implements the DW_TAG_atomic_type for C11 _Atomic proposal as adopted
in the latest DWARF5 draft. http://dwarfstd.org/ShowIssue.php?issue=131112.1

gcc/ChangeLog

	PR debug/60782
	* dwarf2out.c (modified_type_die): Handle TYPE_QUAL_ATOMIC.

gcc/testsuite/ChangeLog

	PR debug/60782
	* gcc.dg/debug/dwarf2/atomic.c: New test.
	* gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: Likewise.

include/ChangeLog

	PR debug/60782
	* dwarf2.def: Add DWARFv5 DW_TAG_atomic_type.

From-SVN: r218496
2014-12-08 22:32:23 +00:00
Jeff Law
009a34807e Fix typo in ChangeLog
From-SVN: r218495
2014-12-08 15:11:42 -07:00
David Wohlferd
c475c36cf6 re PR inline-asm/61692 (ICE in extract_insn in recog.c for asm with many parameters)
PR target/61692
	* cfgexpand.c (expand_asm_operands): Count all inline asm params.

	PR target/61692
        * gcc.dg/pr61692.c: New test.

From-SVN: r218494
2014-12-08 14:58:23 -07:00
Lynn Boger
eecea65c8b Added myself to Write After Approval list
From-SVN: r218491
2014-12-08 14:12:23 -06:00
David Malcolm
2a72a9538f PR jit/63854: Introduce xstrdup_for_dump
gcc/ChangeLog:
	PR jit/63854
	* cgraph.h (xstrdup_for_dump): New function.
	* cgraph.c (cgraph_node::get_create): Replace use of xstrdup
	within fprintf with xstrdup_for_dump.
	(cgraph_edge::make_speculative): Likewise.
	(cgraph_edge::resolve_speculation): Likewise.
	(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
	(cgraph_node::dump): Likewise.
	* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
	* ipa-cp.c (perhaps_add_new_callers): Likewise.
	* ipa-inline.c (report_inline_failed_reason): Likewise.
	(want_early_inline_function_p): Likewise.
	(edge_badness): Likewise.
	(update_edge_key): Likewise.
	(flatten_function): Likewise.
	(inline_always_inline_functions): Likewise.
	* ipa-profile.c (ipa_profile): Likewise.
	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.
	(ipa_make_edge_direct_to_target): Likewise.
	(remove_described_reference): Likewise.
	(propagate_controlled_uses): Likewise.
	* ipa-utils.c (ipa_merge_profiles): Likewise.

From-SVN: r218490
2014-12-08 19:31:45 +00:00