Home | History | Annotate | Download | only in Utils

Lines Matching refs:SSAUpdater

1 //===- SSAUpdater.cpp - Unstructured SSA Update Tool ----------------------===//
10 // This file implements the SSAUpdater class.
14 #define DEBUG_TYPE "ssaupdater"
15 #include "llvm/Transforms/Utils/SSAUpdater.h"
38 SSAUpdater::SSAUpdater(SmallVectorImpl<PHINode*> *NewPHI)
41 SSAUpdater::~SSAUpdater() {
45 void SSAUpdater::Initialize(Type *Ty, StringRef Name) {
54 bool SSAUpdater::HasValueForBlock(BasicBlock *BB) const {
58 void SSAUpdater::AddAvailableValue(BasicBlock *BB, Value *V) {
59 assert(ProtoType != 0 && "Need to initialize SSAUpdater");
81 Value *SSAUpdater::GetValueAtEndOfBlock(BasicBlock *BB) {
86 Value *SSAUpdater::GetValueInMiddleOfBlock(BasicBlock *BB) {
177 void SSAUpdater::RewriteUse(Use &U) {
194 void SSAUpdater::RewriteUseAfterInsertions(Use &U) {
208 class SSAUpdaterTraits<SSAUpdater> {
259 static Value *GetUndefVal(BasicBlock *BB, SSAUpdater *Updater) {
266 SSAUpdater *Updater) {
286 static PHINode *ValueIsPHI(Value *Val, SSAUpdater *Updater) {
292 static PHINode *ValueIsNewPHI(Value *Val, SSAUpdater *Updater) {
311 Value *SSAUpdater::GetValueAtEndOfBlockInternal(BasicBlock *BB) {
316 SSAUpdaterImpl<SSAUpdater> Impl(this, &AvailableVals, InsertedPHIs);
326 SSAUpdater &S, StringRef BaseName) : SSA(S) {
346 // ourselves: SSAUpdater is purely for cross-block references.
402 // Since SSAUpdater is purely for cross-block values, we need to determine