LLVM  8.0.1
Classes | Namespaces
MustExecute.h File Reference

Contains a collection of routines for determining if a given instruction is guaranteed to execute if a given point in control flow is reached. More...

#include "llvm/ADT/DenseMap.h"
#include "llvm/Analysis/EHPersonalities.h"
#include "llvm/Analysis/InstructionPrecedenceTracking.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instruction.h"
Include dependency graph for MustExecute.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::LoopSafetyInfo
 Captures loop safety information. More...
 
class  llvm::SimpleLoopSafetyInfo
 Simple and conservative implementation of LoopSafetyInfo that can give false-positive answers to its queries in order to avoid complicated analysis. More...
 
class  llvm::ICFLoopSafetyInfo
 This implementation of LoopSafetyInfo use ImplicitControlFlowTracking to give precise answers on "may throw" queries. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Detailed Description

Contains a collection of routines for determining if a given instruction is guaranteed to execute if a given point in control flow is reached.

The most common example is an instruction within a loop being provably executed if we branch to the header of it's containing loop.

Definition in file MustExecute.h.