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

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 ( )

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: