LLVM  4.0.0
Macros | Functions
AMDGPUPromoteAlloca.cpp File Reference
#include "AMDGPU.h"
#include "AMDGPUSubtarget.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for AMDGPUPromoteAlloca.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "amdgpu-promote-alloca"
 

Functions

static VectorTypearrayTypeToVecType (Type *ArrayTy)
 
static ValuecalculateVectorIndex (Value *Ptr, const std::map< GetElementPtrInst *, Value * > &GEPIdx)
 
static ValueGEPToVectorIndex (GetElementPtrInst *GEP)
 
static bool canVectorizeInst (Instruction *Inst, User *User)
 
static bool tryPromoteAllocaToVector (AllocaInst *Alloca)
 
static bool isCallPromotable (CallInst *CI)
 

Macro Definition Documentation

#define DEBUG_TYPE   "amdgpu-promote-alloca"

Definition at line 24 of file AMDGPUPromoteAlloca.cpp.

Function Documentation

static VectorType* arrayTypeToVecType ( Type ArrayTy)
static
static Value* calculateVectorIndex ( Value Ptr,
const std::map< GetElementPtrInst *, Value * > &  GEPIdx 
)
static

Definition at line 346 of file AMDGPUPromoteAlloca.cpp.

References GEP, I, and Ptr.

Referenced by tryPromoteAllocaToVector().

static bool canVectorizeInst ( Instruction Inst,
User User 
)
static
static Value* GEPToVectorIndex ( GetElementPtrInst GEP)
static
static bool isCallPromotable ( CallInst CI)
static
static bool tryPromoteAllocaToVector ( AllocaInst Alloca)
static