LLVM 20.0.0git
Macros | Functions | Variables
PreISelIntrinsicLowering.cpp File Reference
#include "llvm/CodeGen/PreISelIntrinsicLowering.h"
#include "llvm/Analysis/ObjCARCInstKind.h"
#include "llvm/Analysis/ObjCARCUtil.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/CodeGen/ExpandVectorPredication.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Use.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Transforms/Scalar/LowerConstantIntrinsics.h"
#include "llvm/Transforms/Utils/LowerMemIntrinsics.h"
#include "llvm/IR/VPIntrinsics.def"

Go to the source code of this file.

Macros

#define BEGIN_REGISTER_VP_INTRINSIC(VPID, MASKPOS, VLENPOS)    case Intrinsic::VPID:
 

Functions

template<class T >
static bool forEachCall (Function &Intrin, T Callback)
 
static bool lowerLoadRelative (Function &F)
 
static CallInst::TailCallKind getOverridingTailCallKind (const Function &F)
 
static bool lowerObjCCall (Function &F, const char *NewFn, bool setNonLazyBind=false)
 
static bool canEmitLibcall (const TargetMachine *TM, Function *F, RTLIB::Libcall LC)
 
 INITIALIZE_PASS_BEGIN (PreISelIntrinsicLoweringLegacyPass, "pre-isel-intrinsic-lowering", "Pre-ISel Intrinsic Lowering", false, false) INITIALIZE_PASS_END(PreISelIntrinsicLoweringLegacyPass
 

Variables

static cl::opt< int64_t > MemIntrinsicExpandSizeThresholdOpt ("mem-intrinsic-expand-size", cl::desc("Set minimum mem intrinsic size to expand in IR"), cl::init(-1), cl::Hidden)
 Threshold to leave statically sized memory intrinsic calls.
 
pre isel intrinsic lowering
 
pre isel intrinsic Pre ISel Intrinsic Lowering
 
pre isel intrinsic Pre ISel Intrinsic false
 

Macro Definition Documentation

◆ BEGIN_REGISTER_VP_INTRINSIC

#define BEGIN_REGISTER_VP_INTRINSIC (   VPID,
  MASKPOS,
  VLENPOS 
)     case Intrinsic::VPID:

Function Documentation

◆ canEmitLibcall()

static bool canEmitLibcall ( const TargetMachine TM,
Function F,
RTLIB::Libcall  LC 
)
static

◆ forEachCall()

template<class T >
static bool forEachCall ( Function Intrin,
T  Callback 
)
static

◆ getOverridingTailCallKind()

static CallInst::TailCallKind getOverridingTailCallKind ( const Function F)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( PreISelIntrinsicLoweringLegacyPass  ,
"pre-isel-intrinsic-lowering"  ,
"Pre-ISel Intrinsic Lowering"  ,
false  ,
false   
)

◆ lowerLoadRelative()

static bool lowerLoadRelative ( Function F)
static

◆ lowerObjCCall()

static bool lowerObjCCall ( Function F,
const char NewFn,
bool  setNonLazyBind = false 
)
static

Variable Documentation

◆ false

pre isel intrinsic Pre ISel Intrinsic false

Definition at line 493 of file PreISelIntrinsicLowering.cpp.

◆ lowering

pre isel intrinsic lowering

Definition at line 492 of file PreISelIntrinsicLowering.cpp.

◆ Lowering

pre isel intrinsic Pre ISel Intrinsic Lowering

Definition at line 493 of file PreISelIntrinsicLowering.cpp.

◆ MemIntrinsicExpandSizeThresholdOpt

cl::opt< int64_t > MemIntrinsicExpandSizeThresholdOpt("mem-intrinsic-expand-size", cl::desc("Set minimum mem intrinsic size to expand in IR"), cl::init(-1), cl::Hidden) ( "mem-intrinsic-expand-size"  ,
cl::desc("Set minimum mem intrinsic size to expand in IR")  ,
cl::init(-1)  ,
cl::Hidden   
)
static

Threshold to leave statically sized memory intrinsic calls.

Calls of known size larger than this will be expanded by the pass. Calls of unknown or lower size will be left for expansion in codegen.