Eliminate unnecessary ->get calls that are now automatically handled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6397 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2003-05-29 15:12:27 +00:00
parent ca398dc398
commit ab2b328c78
6 changed files with 17 additions and 23 deletions

View File

@@ -1,14 +1,14 @@
//===- DemoteRegToStack.cpp - Move a virtual reg. to stack ------*- C++ -*-===//
//
// This file provide the function DemoteRegToStack().
// This function takes a virtual register computed by an
// Instruction& X and replaces it with a slot in the stack frame,
// allocated via alloca. It returns the pointer to the AllocaInst inserted.
// This file provide the function DemoteRegToStack(). This function takes a
// virtual register computed by an Instruction& X and replaces it with a slot in
// the stack frame, allocated via alloca. It returns the pointer to the
// AllocaInst inserted.
//
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/Utils/DemoteRegToStack.h"
#include "llvm/Function.h"
#include "llvm/BasicBlock.h"
#include "llvm/iMemory.h"
#include "llvm/iPHINode.h"
#include "llvm/iTerminators.h"
@@ -16,7 +16,6 @@
#include "Support/hash_set"
#include <stack>
//----------------------------------------------------------------------------
// function DemoteRegToStack()
//
@@ -28,11 +27,10 @@ typedef hash_set<PHINode*>::iterator PhiSetIterator;
// Helper function to push a phi *and* all its operands to the worklist!
// Do not push an instruction if it is already in the result set of Phis to go.
inline void PushOperandsOnWorkList(std::stack<Instruction*>& workList,
PhiSet& phisToGo, PHINode* phiN)
{
for (User::op_iterator OI=phiN->op_begin(), OE=phiN->op_end();
PhiSet& phisToGo, PHINode* phiN) {
for (User::op_iterator OI = phiN->op_begin(), OE = phiN->op_end();
OI != OE; ++OI)
if (Instruction* opI = dyn_cast<Instruction>(OI->get()))
if (Instruction* opI = dyn_cast<Instruction>(OI))
if (!isa<PHINode>(opI) ||
phisToGo.find(cast<PHINode>(opI)) == phisToGo.end())
workList.push(opI);