LLVM 22.0.0git
llvm::Dependence::DVEntry Struct Reference

Dependence::DVEntry - Each level in the distance/direction vector has a direction (or perhaps a union of several directions), and perhaps a distance. More...

#include "llvm/Analysis/DependenceAnalysis.h"

Public Types

enum  : unsigned char {
  NONE = 0 , LT = 1 , EQ = 2 , LE = 3 ,
  GT = 4 , NE = 5 , GE = 6 , ALL = 7
}

Public Member Functions

 DVEntry ()

Public Attributes

unsigned char Direction: 3
bool Scalar: 1
bool PeelFirst: 1
bool PeelLast: 1
bool Splitable: 1
const SCEVDistance = nullptr

Detailed Description

Dependence::DVEntry - Each level in the distance/direction vector has a direction (or perhaps a union of several directions), and perhaps a distance.

The dependency information could be across a single loop level or across two separate levels that have the same trip count and nesting depth, which helps to provide information for loop fusion candidation. For example, loops b and c have the same iteration count and depth: for (a = ...) { for (b = 0; b < 10; b++) { } for (c = 0; c < 10; c++) { } }

Definition at line 95 of file DependenceAnalysis.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : unsigned char
Enumerator
NONE 
LT 
EQ 
LE 
GT 
NE 
GE 
ALL 

Definition at line 96 of file DependenceAnalysis.h.

Constructor & Destructor Documentation

◆ DVEntry()

llvm::Dependence::DVEntry::DVEntry ( )
inline

Definition at line 112 of file DependenceAnalysis.h.

References ALL, Direction, PeelFirst, PeelLast, Scalar, and Splitable.

Member Data Documentation

◆ Direction

unsigned char llvm::Dependence::DVEntry::Direction

Definition at line 106 of file DependenceAnalysis.h.

Referenced by DVEntry(), and llvm::FullDependence::getDirection().

◆ Distance

const SCEV* llvm::Dependence::DVEntry::Distance = nullptr

Definition at line 111 of file DependenceAnalysis.h.

Referenced by llvm::FullDependence::getDistance().

◆ PeelFirst

bool llvm::Dependence::DVEntry::PeelFirst

Definition at line 108 of file DependenceAnalysis.h.

Referenced by DVEntry(), and llvm::FullDependence::isPeelFirst().

◆ PeelLast

bool llvm::Dependence::DVEntry::PeelLast

Definition at line 109 of file DependenceAnalysis.h.

Referenced by DVEntry(), and llvm::FullDependence::isPeelLast().

◆ Scalar

bool llvm::Dependence::DVEntry::Scalar

Definition at line 107 of file DependenceAnalysis.h.

Referenced by DVEntry(), and llvm::FullDependence::isScalar().

◆ Splitable

bool llvm::Dependence::DVEntry::Splitable

Definition at line 110 of file DependenceAnalysis.h.

Referenced by DVEntry(), and llvm::FullDependence::isSplitable().


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