LLVM  6.0.0svn
Functions
AutoUpgrade.cpp File Reference
#include "llvm/IR/AutoUpgrade.h"
#include "llvm/ADT/StringSwitch.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/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Verifier.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 UpgradePTESTIntrinsic (Function *F, Intrinsic::ID IID, Function *&NewFn)
 
static bool UpgradeX86IntrinsicsWith8BitMask (Function *F, Intrinsic::ID IID, Function *&NewFn)
 
static bool ShouldUpgradeX86Intrinsic (Function *F, StringRef Name)
 
static bool UpgradeX86IntrinsicFunction (Function *F, StringRef Name, 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 ValueupgradeAbs (IRBuilder<> &Builder, CallInst &CI)
 
static ValueupgradeIntMinMax (IRBuilder<> &Builder, CallInst &CI, ICmpInst::Predicate Pred)
 
static ValueApplyX86MaskOn1BitsVec (IRBuilder<> &Builder, Value *Vec, Value *Mask, unsigned NumElts)
 
static ValueupgradeMaskedCompare (IRBuilder<> &Builder, CallInst &CI, unsigned CC, bool Signed)
 
static ValueUpgradeX86MaskedShift (IRBuilder<> &Builder, CallInst &CI, Intrinsic::ID IID)
 
static ValueupgradeMaskedMove (IRBuilder<> &Builder, CallInst &CI)
 
static ValueUpgradeMaskToInt (IRBuilder<> &Builder, CallInst &CI)
 
static bool isOldLoopArgument (Metadata *MD)
 
static MDStringupgradeLoopTag (LLVMContext &C, StringRef OldTag)
 
static MetadataupgradeLoopArgument (Metadata *MD)
 

Function Documentation

◆ ApplyX86MaskOn1BitsVec()

static Value* ApplyX86MaskOn1BitsVec ( IRBuilder<> &  Builder,
Value Vec,
Value Mask,
unsigned  NumElts 
)
static

◆ EmitX86Select()

static Value* EmitX86Select ( IRBuilder<> &  Builder,
Value Mask,
Value Op0,
Value Op1 
)
static

◆ getX86MaskVec()

static Value* getX86MaskVec ( IRBuilder<> &  Builder,
Value Mask,
unsigned  NumElts 
)
static

◆ isOldLoopArgument()

static bool isOldLoopArgument ( Metadata MD)
static

Definition at line 2538 of file AutoUpgrade.cpp.

Referenced by llvm::upgradeInstructionLoopAttachment().

◆ rename()

static void rename ( GlobalValue GV)
static

◆ ShouldUpgradeX86Intrinsic()

static bool ShouldUpgradeX86Intrinsic ( Function F,
StringRef  Name 
)
static

◆ upgradeAbs()

static Value* upgradeAbs ( IRBuilder<> &  Builder,
CallInst CI 
)
static

◆ upgradeIntMinMax()

static Value* upgradeIntMinMax ( IRBuilder<> &  Builder,
CallInst CI,
ICmpInst::Predicate  Pred 
)
static

◆ UpgradeIntrinsicFunction1()

static bool UpgradeIntrinsicFunction1 ( Function F,
Function *&  NewFn 
)
static

◆ upgradeLoopArgument()

static Metadata* upgradeLoopArgument ( Metadata MD)
static

◆ upgradeLoopTag()

static MDString* upgradeLoopTag ( LLVMContext C,
StringRef  OldTag 
)
static

◆ upgradeMaskedCompare()

static Value* upgradeMaskedCompare ( IRBuilder<> &  Builder,
CallInst CI,
unsigned  CC,
bool  Signed 
)
static

◆ UpgradeMaskedLoad()

static Value* UpgradeMaskedLoad ( IRBuilder<> &  Builder,
Value Ptr,
Value Passthru,
Value Mask,
bool  Aligned 
)
static

◆ upgradeMaskedMove()

static Value* upgradeMaskedMove ( IRBuilder<> &  Builder,
CallInst CI 
)
static

◆ UpgradeMaskedStore()

static Value* UpgradeMaskedStore ( IRBuilder<> &  Builder,
Value Ptr,
Value Data,
Value Mask,
bool  Aligned 
)
static

◆ UpgradeMaskToInt()

static Value* UpgradeMaskToInt ( IRBuilder<> &  Builder,
CallInst CI 
)
static

◆ UpgradePTESTIntrinsic()

static bool UpgradePTESTIntrinsic ( Function F,
Intrinsic::ID  IID,
Function *&  NewFn 
)
static

◆ UpgradeX86ALIGNIntrinsics()

static Value* UpgradeX86ALIGNIntrinsics ( IRBuilder<> &  Builder,
Value Op0,
Value Op1,
Value Shift,
Value Passthru,
Value Mask,
bool  IsVALIGN 
)
static

◆ UpgradeX86IntrinsicFunction()

static bool UpgradeX86IntrinsicFunction ( Function F,
StringRef  Name,
Function *&  NewFn 
)
static

◆ UpgradeX86IntrinsicsWith8BitMask()

static bool UpgradeX86IntrinsicsWith8BitMask ( Function F,
Intrinsic::ID  IID,
Function *&  NewFn 
)
static

◆ UpgradeX86MaskedShift()

static Value* UpgradeX86MaskedShift ( IRBuilder<> &  Builder,
CallInst CI,
Intrinsic::ID  IID 
)
static

◆ UpgradeX86PSLLDQIntrinsics()

static Value* UpgradeX86PSLLDQIntrinsics ( IRBuilder<> &  Builder,
Value Op,
unsigned  Shift 
)
static

◆ UpgradeX86PSRLDQIntrinsics()

static Value* UpgradeX86PSRLDQIntrinsics ( IRBuilder<> &  Builder,
Value Op,
unsigned  Shift 
)
static