LLVM 19.0.0git
Functions | Variables
PreISelIntrinsicLowering.cpp File Reference
#include "llvm/CodeGen/PreISelIntrinsicLowering.h"
#include "llvm/Analysis/ObjCARCInstKind.h"
#include "llvm/Analysis/ObjCARCUtil.h"
#include "llvm/Analysis/TargetTransformInfo.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/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Transforms/Utils/LowerMemIntrinsics.h"

Go to the source code of this file.

Functions

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
 

Function Documentation

◆ canEmitLibcall()

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

Definition at line 199 of file PreISelIntrinsicLowering.cpp.

References llvm::TargetLoweringBase::getLibcallName(), and TM.

◆ 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 403 of file PreISelIntrinsicLowering.cpp.

◆ lowering

pre isel intrinsic lowering

Definition at line 402 of file PreISelIntrinsicLowering.cpp.

◆ Lowering

pre isel intrinsic Pre ISel Intrinsic Lowering

◆ 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.