tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Do not allow __builtin_constant_p.
This is the same as commit 70a6200918
("tree-ssa-threadbackward.c
(profitable_jump_thread_path): Do not allow __builtin_constant_p."), but
for the old forward threader.
gcc/ChangeLog:
2020-12-03 Ilya Leoshkevich <iii@linux.ibm.com>
* tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest):
Do not allow __builtin_constant_p on a threading path.
This commit is contained in:
parent
73564433f5
commit
614aff0adf
@ -265,6 +265,12 @@ record_temporary_equivalences_from_stmts_at_dest (edge e,
|
||||
&& gimple_call_internal_unique_p (stmt))
|
||||
return NULL;
|
||||
|
||||
/* We cannot thread through __builtin_constant_p, because an
|
||||
expression that is constant on two threading paths may become
|
||||
non-constant (i.e.: phi) when they merge. */
|
||||
if (gimple_call_builtin_p (stmt, BUILT_IN_CONSTANT_P))
|
||||
return NULL;
|
||||
|
||||
/* If duplicating this block is going to cause too much code
|
||||
expansion, then do not thread through this block. */
|
||||
stmt_count++;
|
||||
|
Loading…
Reference in New Issue
Block a user