Commit 321a5ceb by Ilya Enkovich Committed by Ilya Enkovich

re PR target/65183 (ICE: verify_ssa failed: virtual use of statement not…

re PR target/65183 (ICE: verify_ssa failed: virtual use of statement not up-to-date with -fcheck-pointer-bounds -fchkp-use-nochk-string-functions -mmpx)

gcc/

	PR target/65183
	* tree-chkp.c (chkp_check_lower): Don't check against
	zero bounds for already instrumented functions.
	(chkp_check_upper): Likewise.
	(chkp_fini): Clean pass local data to avoid wrong reusage.

gcc/testsuite/

	PR target/65183
	* gcc.target/i386/pr65183.c: New.

From-SVN: r221105
parent 33079441
2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
PR target/65183
* tree-chkp.c (chkp_check_lower): Don't check against
zero bounds for already instrumented functions.
(chkp_check_upper): Likewise.
(chkp_fini): Clean pass local data to avoid wrong reusage.
2015-02-28 Martin Liska <mliska@suse.cz>
Jan Hubicka <hubicka@ucw.cz>
......
2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
PR target/65183
* gcc.target/i386/pr65183.c: New.
2015-02-28 Martin Liska <mliska@suse.cz>
Jan Hubicka <hubicka@ucw.cz>
......
/* { dg-do compile } */
/* { dg-require-effective-target mpx } */
/* { dg-options "-O -fcheck-pointer-bounds -fchkp-use-nochk-string-functions -mmpx" } */
extern void bar(void *);
extern void baz(void);
static int lc[32];
void foobar(void *c)
{
bar(&c);
__builtin_memcpy (lc, c, lc[0]);
}
void foo ()
{
baz ();
foobar(0);
}
......@@ -1268,7 +1268,8 @@ chkp_check_lower (tree addr, tree bounds,
gimple check;
tree node;
if (bounds == chkp_get_zero_bounds ())
if (!chkp_function_instrumented_p (current_function_decl)
&& bounds == chkp_get_zero_bounds ())
return;
if (dirflag == integer_zero_node
......@@ -1314,7 +1315,8 @@ chkp_check_upper (tree addr, tree bounds,
gimple check;
tree node;
if (bounds == chkp_get_zero_bounds ())
if (!chkp_function_instrumented_p (current_function_decl)
&& bounds == chkp_get_zero_bounds ())
return;
if (dirflag == integer_zero_node
......@@ -4306,6 +4308,10 @@ chkp_fini (void)
free_dominance_info (CDI_POST_DOMINATORS);
bitmap_obstack_release (NULL);
entry_block = NULL;
zero_bounds = NULL_TREE;
none_bounds = NULL_TREE;
}
/* Main instrumentation pass function. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment