Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively.
Synopsis
Declared in <llvm/Analysis/InstructionSimplify.h>
bool
replaceAndRecursivelySimplify(
Instruction* I,
Value* SimpleV,
TargetLibraryInfo const* TLI = nullptr,
DominatorTree const* DT = nullptr,
AssumptionCache* AC = nullptr,
SmallSetVector<Instruction*, 8>* UnsimplifiedUsers = nullptr);
Description
This first performs a normal RAUW of I with SimpleV. It then recursively attempts to simplify those users updated by the operation. The 'I' instruction must not be equal to the simplified value 'SimpleV'. If UnsimplifiedUsers is provided, instructions that could not be simplified are added to it.
The function returns true if any simplifications were performed.
Return Value
True if any simplifications were performed.
Parameters
Name |
Description |
I |
Instruction whose uses are replaced. |
SimpleV |
Simplified replacement for |
TLI |
Optional target library info. |
DT |
Optional dominator tree. |
AC |
Optional assumption cache. |
UnsimplifiedUsers |
Optional set of users that could not be simplified. |
Created with MrDocs