diff options
author | Ilya Enkovich <ilya.enkovich@intel.com> | 2016-07-28 12:58:37 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2016-07-28 12:58:37 +0000 |
commit | 69cd47a17f09ef328b6fbb3c6703cebf13864e95 (patch) | |
tree | a282fb1510d355de7ddcaa0eabfdb59dc6027dbd | |
parent | 7c428aa29d75ef163c334cf3974f87b3630d8b8b (diff) | |
download | gcc-69cd47a17f09ef328b6fbb3c6703cebf13864e95.zip gcc-69cd47a17f09ef328b6fbb3c6703cebf13864e95.tar.gz gcc-69cd47a17f09ef328b6fbb3c6703cebf13864e95.tar.bz2 |
re PR middle-end/72657 ([CHKP] internal compiler error: in ix86_expand_builtin)
gcc/
PR middle-end/72657
PR target/72683
* tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
call using chkp_gimple_call_builtin_p.
(chkp_copy_bounds_for_assign): Likewise.
From-SVN: r238816
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree-chkp.c | 9 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 56d4fb7..c4ffd78 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2016-07-28 Ilya Enkovich <ilya.enkovich@intel.com> + + PR middle-end/72657 + PR target/72683 + * tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation + call using chkp_gimple_call_builtin_p. + (chkp_copy_bounds_for_assign): Likewise. + 2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/alpha/alpha.c (alpha_adjust_cost): Adjust. diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c index 44d6d70..f39c292 100644 --- a/gcc/tree-chkp.c +++ b/gcc/tree-chkp.c @@ -2327,8 +2327,7 @@ chkp_retbnd_call_by_val (tree val) imm_use_iterator use_iter; use_operand_p use_p; FOR_EACH_IMM_USE_FAST (use_p, use_iter, val) - if (gimple_code (USE_STMT (use_p)) == GIMPLE_CALL - && gimple_call_fndecl (USE_STMT (use_p)) == chkp_ret_bnd_fndecl) + if (chkp_gimple_call_builtin_p (USE_STMT (use_p), BUILT_IN_CHKP_BNDRET)) return as_a <gcall *> (USE_STMT (use_p)); return NULL; @@ -4096,9 +4095,9 @@ chkp_copy_bounds_for_assign (gimple *assign, struct cgraph_edge *edge) struct cgraph_node *callee = cgraph_node::get_create (fndecl); struct cgraph_edge *new_edge; - gcc_assert (fndecl == chkp_bndstx_fndecl - || fndecl == chkp_bndldx_fndecl - || fndecl == chkp_ret_bnd_fndecl); + gcc_assert (chkp_gimple_call_builtin_p (stmt, BUILT_IN_CHKP_BNDSTX) + || chkp_gimple_call_builtin_p (stmt, BUILT_IN_CHKP_BNDLDX) + || chkp_gimple_call_builtin_p (stmt, BUILT_IN_CHKP_BNDRET)); new_edge = edge->caller->create_edge (callee, as_a <gcall *> (stmt), |