LLVM  4.0.0
Functions
AutoUpgrade.cpp File Reference
#include "llvm/IR/AutoUpgrade.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DIBuilder.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Regex.h"
#include <cstring>
Include dependency graph for AutoUpgrade.cpp:

Go to the source code of this file.

Functions

static void rename (GlobalValue *GV)
 
static bool UpgradeSSE41Function (Function *F, Intrinsic::ID IID, Function *&NewFn)
 
static bool UpgradeX86IntrinsicsWith8BitMask (Function *F, Intrinsic::ID IID, Function *&NewFn)
 
static bool UpgradeIntrinsicFunction1 (Function *F, Function *&NewFn)
 
static ValueUpgradeX86PSLLDQIntrinsics (IRBuilder<> &Builder, Value *Op, unsigned Shift)
 
static ValueUpgradeX86PSRLDQIntrinsics (IRBuilder<> &Builder, Value *Op, unsigned Shift)
 
static ValuegetX86MaskVec (IRBuilder<> &Builder, Value *Mask, unsigned NumElts)
 
static ValueEmitX86Select (IRBuilder<> &Builder, Value *Mask, Value *Op0, Value *Op1)
 
static ValueUpgradeX86ALIGNIntrinsics (IRBuilder<> &Builder, Value *Op0, Value *Op1, Value *Shift, Value *Passthru, Value *Mask, bool IsVALIGN)
 
static ValueUpgradeMaskedStore (IRBuilder<> &Builder, Value *Ptr, Value *Data, Value *Mask, bool Aligned)
 
static ValueUpgradeMaskedLoad (IRBuilder<> &Builder, Value *Ptr, Value *Passthru, Value *Mask, bool Aligned)
 
static ValueupgradeIntMinMax (IRBuilder<> &Builder, CallInst &CI, ICmpInst::Predicate Pred)
 
static ValueupgradeMaskedCompare (IRBuilder<> &Builder, CallInst &CI, ICmpInst::Predicate Pred)
 
static ValueUpgradeX86MaskedShift (IRBuilder<> &Builder, CallInst &CI, Intrinsic::ID IID)
 
static ValueupgradeMaskedMove (IRBuilder<> &Builder, CallInst &CI)
 
static bool isOldLoopArgument (Metadata *MD)
 
static MDStringupgradeLoopTag (LLVMContext &C, StringRef OldTag)
 
static MetadataupgradeLoopArgument (Metadata *MD)
 

Function Documentation

static Value* EmitX86Select ( IRBuilder<> &  Builder,
Value Mask,
Value Op0,
Value Op1 
)
static
static Value* getX86MaskVec ( IRBuilder<> &  Builder,
Value Mask,
unsigned  NumElts 
)
static
static bool isOldLoopArgument ( Metadata MD)
static

Definition at line 2008 of file AutoUpgrade.cpp.

Referenced by llvm::upgradeInstructionLoopAttachment().

static void rename ( GlobalValue GV)
static
static Value* upgradeIntMinMax ( IRBuilder<> &  Builder,
CallInst CI,
ICmpInst::Predicate  Pred 
)
static
static bool UpgradeIntrinsicFunction1 ( Function F,
Function *&  NewFn 
)
static
static Metadata* upgradeLoopArgument ( Metadata MD)
static
static MDString* upgradeLoopTag ( LLVMContext C,
StringRef  OldTag 
)
static
static Value* upgradeMaskedCompare ( IRBuilder<> &  Builder,
CallInst CI,
ICmpInst::Predicate  Pred 
)
static
static Value* UpgradeMaskedLoad ( IRBuilder<> &  Builder,
Value Ptr,
Value Passthru,
Value Mask,
bool  Aligned 
)
static
static Value* upgradeMaskedMove ( IRBuilder<> &  Builder,
CallInst CI 
)
static
static Value* UpgradeMaskedStore ( IRBuilder<> &  Builder,
Value Ptr,
Value Data,
Value Mask,
bool  Aligned 
)
static
static bool UpgradeSSE41Function ( Function F,
Intrinsic::ID  IID,
Function *&  NewFn 
)
static
static Value* UpgradeX86ALIGNIntrinsics ( IRBuilder<> &  Builder,
Value Op0,
Value Op1,
Value Shift,
Value Passthru,
Value Mask,
bool  IsVALIGN 
)
static
static bool UpgradeX86IntrinsicsWith8BitMask ( Function F,
Intrinsic::ID  IID,
Function *&  NewFn 
)
static
static Value* UpgradeX86MaskedShift ( IRBuilder<> &  Builder,
CallInst CI,
Intrinsic::ID  IID 
)
static
static Value* UpgradeX86PSLLDQIntrinsics ( IRBuilder<> &  Builder,
Value Op,
unsigned  Shift 
)
static
static Value* UpgradeX86PSRLDQIntrinsics ( IRBuilder<> &  Builder,
Value Op,
unsigned  Shift 
)
static