r243109 - in /branches/gcc-6-branch/gcc: Change...

ktkachov@gcc.gnu.org ktkachov@gcc.gnu.org
Thu Dec 1 13:47:00 GMT 2016


Author: ktkachov
Date: Thu Dec  1 13:47:13 2016
New Revision: 243109

URL: https://gcc.gnu.org/viewcvs?rev=243109&root=gcc&view=rev
Log:
[TER] PR target/48863: Don't replace expressions across local register variable definitions

	Backport from mainline
	2016-11-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/48863
	PR inline-asm/70184
	* tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field.
	(new_temp_expr_table): Initialise reg_vars_cnt.
	(free_temp_expr_table): Release reg_vars_cnt.
	(process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt
	field of TAB.
	(find_replaceable_in_bb): Use the above to record register variable
	write occurrences and cancel replacement across them.

	* gcc.target/arm/pr48863.c: New test.


Added:
    branches/gcc-6-branch/gcc/testsuite/gcc.target/arm/pr48863.c
Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/testsuite/ChangeLog
    branches/gcc-6-branch/gcc/tree-ssa-ter.c



More information about the Gcc-cvs mailing list