LLVM 19.0.0git
Macros | Functions
SSAUpdaterBulk.cpp File Reference
#include "llvm/Transforms/Utils/SSAUpdaterBulk.h"
#include "llvm/Analysis/IteratedDominanceFrontier.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/Value.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "ssaupdaterbulk"
 

Functions

static BasicBlockgetUserBB (Use *U)
 Helper function for finding a block which should have a value for the given user.
 
static void ComputeLiveInBlocks (const SmallPtrSetImpl< BasicBlock * > &UsingBlocks, const SmallPtrSetImpl< BasicBlock * > &DefBlocks, SmallPtrSetImpl< BasicBlock * > &LiveInBlocks, PredIteratorCache &PredCache)
 Given sets of UsingBlocks and DefBlocks, compute the set of LiveInBlocks.
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "ssaupdaterbulk"

Definition at line 24 of file SSAUpdaterBulk.cpp.

Function Documentation

◆ ComputeLiveInBlocks()

static void ComputeLiveInBlocks ( const SmallPtrSetImpl< BasicBlock * > &  UsingBlocks,
const SmallPtrSetImpl< BasicBlock * > &  DefBlocks,
SmallPtrSetImpl< BasicBlock * > &  LiveInBlocks,
PredIteratorCache PredCache 
)
static

◆ getUserBB()

static BasicBlock * getUserBB ( Use U)
static

Helper function for finding a block which should have a value for the given user.

For PHI-nodes this block is the corresponding predecessor, for other instructions it's their parent block.

Definition at line 29 of file SSAUpdaterBulk.cpp.

Referenced by llvm::SSAUpdaterBulk::AddUse(), and llvm::SSAUpdaterBulk::RewriteAllUses().