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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218503 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218505 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218506 138bc75d-0d04-0410-961f-82ee72b054a4
	* 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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218507 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218508 138bc75d-0d04-0410-961f-82ee72b054a4
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).


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218509 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/64203
	* include/std/shared_mutex: Fix preprocessor conditions.
	* testsuite/experimental/feat-cxx14.cc: Check conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218511 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218513 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218514 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218515 138bc75d-0d04-0410-961f-82ee72b054a4
	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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218516 138bc75d-0d04-0410-961f-82ee72b054a4
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 *.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218520 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218521 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218522 138bc75d-0d04-0410-961f-82ee72b054a4
[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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218525 138bc75d-0d04-0410-961f-82ee72b054a4
[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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218526 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218527 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218528 138bc75d-0d04-0410-961f-82ee72b054a4
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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218529 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/:

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





git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218530 138bc75d-0d04-0410-961f-82ee72b054a4