LLVM  8.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::LoopSafetyInfo Struct Reference

Captures loop safety information. More...

#include "llvm/Analysis/MustExecute.h"

Collaboration diagram for llvm::LoopSafetyInfo:
Collaboration graph
[legend]

Public Member Functions

 LoopSafetyInfo ()=default
 

Public Attributes

bool MayThrow = false
 
bool HeaderMayThrow = false
 
DenseMap< BasicBlock *, ColorVectorBlockColors
 

Detailed Description

Captures loop safety information.

It keep information for loop & its header may throw exception or otherwise exit abnormaly on any iteration of the loop which might actually execute at runtime. The primary way to consume this infromation is via isGuaranteedToExecute below, but some callers bailout or fallback to alternate reasoning if a loop contains any implicit control flow.

Definition at line 39 of file MustExecute.h.

Constructor & Destructor Documentation

◆ LoopSafetyInfo()

llvm::LoopSafetyInfo::LoopSafetyInfo ( )
default

Member Data Documentation

◆ BlockColors

DenseMap<BasicBlock *, ColorVector> llvm::LoopSafetyInfo::BlockColors

◆ HeaderMayThrow

bool llvm::LoopSafetyInfo::HeaderMayThrow = false

Definition at line 42 of file MustExecute.h.

Referenced by llvm::computeLoopSafetyInfo(), and llvm::isGuaranteedToExecute().

◆ MayThrow

bool llvm::LoopSafetyInfo::MayThrow = false

The documentation for this struct was generated from the following file: