Precise LoopSafetyInfo based on ImplicitControlFlowTracking.
Synopsis
Declared in <llvm/Analysis/MustExecute.h>
class ICFLoopSafetyInfo
: public LoopSafetyInfo
Description
This implementation of LoopSafetyInfo use ImplicitControlFlowTracking to give precise answers on "may throw" queries. This implementation uses cache that should be invalidated by calling the methods insertInstructionTo and removeInstruction whenever we modify a basic block's contents by adding or removing instructions.
Base Classes
Name |
Description |
Captures information about whether loop blocks may throw or exit abnormally. |
Member Functions
Name |
Description |
Return true if we must reach the block |
|
Implementation helper for |
|
|
Returns true iff any block of the loop contains an instruction that may throw or otherwise exit abnormally. |
|
Returns true iff the block |
|
Compute safety information for the given loop. |
Copy colors of block |
|
|
|
Returns block colors map that is used to update funclet operand bundles. |
|
Update caches for an instruction about to be inserted into a block. |
|
|
Returns true if |
Inform safety info that we are planning to remove the instruction |
Protected Member Functions
Name |
Description |
Computes block colors. |
Created with MrDocs