mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-27 13:54:19 +08:00
ifcvt: Add missing call to `onlyjump_p'
Do not convert a conditional jump into conditional execution (and remove the jump as a consequence) if the jump has side effects. gcc/ * ifcvt.c (dead_or_predicable) [!IFCVT_MODIFY_TESTS]: Bail out if `!onlyjump_p'.
This commit is contained in:
parent
da749b98cf
commit
94f336768e
@ -5127,6 +5127,11 @@ dead_or_predicable (basic_block test_bb, basic_block merge_bb,
|
||||
|
||||
rtx cond;
|
||||
|
||||
/* If the conditional jump is more than just a conditional jump,
|
||||
then we cannot do conditional execution conversion on this block. */
|
||||
if (!onlyjump_p (jump))
|
||||
goto nce;
|
||||
|
||||
cond = cond_exec_get_condition (jump);
|
||||
if (! cond)
|
||||
return FALSE;
|
||||
@ -5154,6 +5159,7 @@ dead_or_predicable (basic_block test_bb, basic_block merge_bb,
|
||||
|
||||
earliest = jump;
|
||||
}
|
||||
nce:
|
||||
#endif
|
||||
|
||||
/* If we allocated new pseudos (e.g. in the conditional move
|
||||
|
Loading…
Reference in New Issue
Block a user