Lines Matching defs:SSAUpdater

1 //===- SSAUpdater.cpp - Unstructured SSA Update Tool ----------------------===//
9 // This file implements the SSAUpdater class.
13 #include "llvm/Transforms/Utils/SSAUpdater.h"
46 SSAUpdater::SSAUpdater(SmallVectorImpl<PHINode *> *NewPHI)
49 SSAUpdater::~SSAUpdater() {
53 void SSAUpdater::Initialize(Type *Ty, StringRef Name) {
62 bool SSAUpdater::HasValueForBlock(BasicBlock *BB) const {
66 Value *SSAUpdater::FindValueForBlock(BasicBlock *BB) const {
70 void SSAUpdater::AddAvailableValue(BasicBlock *BB, Value *V) {
71 assert(ProtoType && "Need to initialize SSAUpdater");
93 Value *SSAUpdater::GetValueAtEndOfBlock(BasicBlock *BB) {
98 Value *SSAUpdater::GetValueInMiddleOfBlock(BasicBlock *BB) {
188 void SSAUpdater::RewriteUse(Use &U) {
200 void SSAUpdater::UpdateDebugValues(Instruction *I) {
216 void SSAUpdater::UpdateDebugValues(Instruction *I,
223 void SSAUpdater::UpdateDebugValues(
230 void SSAUpdater::UpdateDebugValue(Instruction *I, DbgValueInst *DbgValue) {
239 void SSAUpdater::UpdateDebugValue(Instruction *I, DbgVariableRecord *DVR) {
248 void SSAUpdater::RewriteUseAfterInsertions(Use &U) {
263 class SSAUpdaterTraits<SSAUpdater> {
312 static Value *GetPoisonVal(BasicBlock *BB, SSAUpdater *Updater) {
319 SSAUpdater *Updater) {
333 static PHINode *ValueIsPHI(Value *Val, SSAUpdater *Updater) {
339 static PHINode *ValueIsNewPHI(Value *Val, SSAUpdater *Updater) {
358 Value *SSAUpdater::GetValueAtEndOfBlockInternal(BasicBlock *BB) {
363 SSAUpdaterImpl<SSAUpdater> Impl(this, &AvailableVals, InsertedPHIs);
373 SSAUpdater &S, StringRef BaseName) : SSA(S) {
390 // ourselves: SSAUpdater is purely for cross-block references.
443 // Since SSAUpdater is purely for cross-block values, we need to determine