LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ScalarReplAggregates.cpp File Reference

#include "llvm/Transforms/Scalar.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Function.h"
#include "llvm/Pass.h"
#include "llvm/Instructions.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Transforms/Utils/PromoteMemToReg.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringExtras.h"

Include dependency graph for ScalarReplAggregates.cpp:

Go to the source code of this file.

Functions

FunctionPassllvm::createScalarReplAggregatesPass ()
static bool AllUsersAreLoads (Value *Ptr)
 AllUsersAreLoads - Return true if all users of this value are loads.


Function Documentation

static bool AllUsersAreLoads Value Ptr  )  [static]
 

AllUsersAreLoads - Return true if all users of this value are loads.

Definition at line 256 of file ScalarReplAggregates.cpp.

References E, llvm::ISD::Load, llvm::Value::use_begin(), and llvm::Value::use_end().


Variable Documentation

Statistic NumPromoted("scalarrepl","Number of allocas promoted") [static]
 

Statistic NumReplaced("scalarrepl","Number of allocas broken up") [static]
 

RegisterOpt<SROA> X("scalarrepl","Scalar Replacement of Aggregates") [static]