diff options
author | Nick Desaulniers <ndesaulniers@google.com> | 2023-02-16 17:47:13 -0800 |
---|---|---|
committer | Nick Desaulniers <ndesaulniers@google.com> | 2023-02-16 17:58:34 -0800 |
commit | 28d45c843cd07514c9a7260d285ff59e14280ecf (patch) | |
tree | ef5985591caeed870e5bd172847ce0d207a9bbb8 /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | 094190c2f52900d9d5d26dba9522e70030cc00a1 (diff) | |
download | llvm-28d45c843cd07514c9a7260d285ff59e14280ecf.zip llvm-28d45c843cd07514c9a7260d285ff59e14280ecf.tar.gz llvm-28d45c843cd07514c9a7260d285ff59e14280ecf.tar.bz2 |
[llvm][CallBrPrepare] use SSAUpdater to use intrinsic value
Now that we've inserted a call to an intrinsic, we need to update
certain previous uses of CallBrInst values to use the value of this
intrinsic instead.
There are 3 cases to handle:
1. The @llvm.callbr.landingpad.<type>() intrinsic call is in the same
BasicBlock as the use of the callbr we're replacing.
2. The use is dominated by the direct destination.
3. The use is not dominated by the direct destination, and may or may
not be dominated by the indirect destination.
Part 2c of
https://discourse.llvm.org/t/rfc-syncing-asm-goto-with-outputs-with-gcc/65453/8.
Reviewed By: efriedma, void, jyknight
Differential Revision: https://reviews.llvm.org/D139970
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions