diff options
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r-- | gcc/integrate.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c index 3c0b42a..0fd108f 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -2463,6 +2463,14 @@ try_constants (insn, map) apply_change_group (); subst_constants (&PATTERN (insn), insn, map, 0); apply_change_group (); + + /* Enforce consistency between the addresses in the regular insn flow + and the ones in CALL_INSN_FUNCTION_USAGE lists, if any. */ + if (GET_CODE (insn) == CALL_INSN && CALL_INSN_FUNCTION_USAGE (insn)) + { + subst_constants (&CALL_INSN_FUNCTION_USAGE (insn), insn, map, 1); + apply_change_group (); + } /* Show we don't know the value of anything stored or clobbered. */ note_stores (PATTERN (insn), mark_stores, NULL); |