LLVM  3.7.0
Classes | Namespaces | Macros | Functions | Variables
HexagonCommonGEP.cpp File Reference
#include "llvm/Pass.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/PostDominators.h"
#include "llvm/CodeGen/MachineFunctionAnalysis.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
#include <map>
#include <set>
#include <vector>
#include "HexagonTargetMachine.h"
Include dependency graph for HexagonCommonGEP.cpp:

Go to the source code of this file.

Classes

struct  false::GepNode
 
struct  false::in_set
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 false
 

Macros

#define DEBUG_TYPE   "commgep"
 

Functions

void llvm::initializeHexagonCommonGEPPass (PassRegistry &)
 
 INITIALIZE_PASS_BEGIN (HexagonCommonGEP,"hcommgep","Hexagon Common GEP", false, false) INITIALIZE_PASS_END(HexagonCommonGEP
 
Typefalse::next_type (Type *Ty, Value *Idx)
 
raw_ostreamfalse::operator<< (raw_ostream &OS, const GepNode &GN)
 
template<typename NodeContainer >
void false::dump_node_container (raw_ostream &OS, const NodeContainer &S)
 
raw_ostreamfalse::operator<< (raw_ostream &OS, const NodeVect &S) LLVM_ATTRIBUTE_UNUSED
 
raw_ostreamfalse::operator<< (raw_ostream &OS, const NodeToUsesMap &M) LLVM_ATTRIBUTE_UNUSED
 
void * operator new (size_t, SpecificBumpPtrAllocator< GepNode > &A)
 
FunctionPassllvm::createHexagonCommonGEP ()
 

Variables

static cl::opt< boolOptSpeculate ("commgep-speculate", cl::init(true), cl::Hidden, cl::ZeroOrMore)
 
static cl::opt< boolOptEnableInv ("commgep-inv", cl::init(true), cl::Hidden, cl::ZeroOrMore)
 
static cl::opt< boolOptEnableConst ("commgep-const", cl::init(true), cl::Hidden, cl::ZeroOrMore)
 
 hcommgep
 
Hexagon Common GEP
 
Hexagon Common false
 

Macro Definition Documentation

#define DEBUG_TYPE   "commgep"

Definition at line 10 of file HexagonCommonGEP.cpp.

Function Documentation

INITIALIZE_PASS_BEGIN ( HexagonCommonGEP  ,
"hcommgep"  ,
"Hexagon Common GEP ,
false  ,
false   
)
void* operator new ( size_t  ,
SpecificBumpPtrAllocator< GepNode > &  A 
)
inline

Definition at line 299 of file HexagonCommonGEP.cpp.

References llvm::ARM_PROC::A.

Variable Documentation

Hexagon Common false

Definition at line 159 of file HexagonCommonGEP.cpp.

Hexagon Common GEP

Definition at line 159 of file HexagonCommonGEP.cpp.

Referenced by BuildNew(), calculateVectorIndex(), chainToBasePointerCost(), CleanupConstantGlobalUsers(), llvm::InstCombiner::commonPointerCastTransforms(), llvm::ObjectSizeOffsetVisitor::compute(), llvm::BitSetInfo::containsValue(), llvm::GetElementPtrInst::CreateInBounds(), llvm::EmitGEPOffset(), findBaseDefiningValue(), findRematerializableChainToBasePointer(), FindSingleUseIdentifiedObject(), llvm::gep_type_begin(), getAdjustedPtr(), llvm::ConstantExpr::getAlignOf(), llvm::getConstantStringInfo(), llvm::ConstantExpr::getOffsetOf(), llvm::GetPointerBaseWithConstantOffset(), llvm::ConstantExpr::getSizeOf(), llvm::GetUnderlyingObject(), llvm::AMDGPUTTIImpl::getUnrollingPreferences(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getUserCost(), llvm::FastISel::hasTrivialKill(), IsConstantOffsetFromGlobal(), isDereferenceablePointer(), isInBoundsGep(), isKnownNonZero(), isNoWrapAddRec(), isOnlyCopiedFromConstantGlobal(), IsPtrInBounds(), IsSafeComputationToRemove(), passingValueIsAlwaysUndefined(), llvm::RemapInstruction(), simplifyAllocaArraySize(), llvm::skipPointerTransfer(), SRAGlobal(), llvm::Value::stripAndAccumulateInBoundsConstantOffsets(), stripAndComputeConstantOffsets(), llvm::stripGetElementPtr(), SymbolicallyEvaluateGEP(), tryPromoteAllocaToVector(), llvm::InstCombiner::visitExtractValueInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitStoreInst(), and WriteOptimizationInfo().

hcommgep

Definition at line 159 of file HexagonCommonGEP.cpp.

cl::opt<bool> OptEnableConst("commgep-const", cl::init(true), cl::Hidden, cl::ZeroOrMore)
static
cl::opt<bool> OptEnableInv("commgep-inv", cl::init(true), cl::Hidden, cl::ZeroOrMore)
static
cl::opt<bool> OptSpeculate("commgep-speculate", cl::init(true), cl::Hidden, cl::ZeroOrMore)
static