LLVM
8.0.1
|
#include "llvm/CodeGen/PreISelIntrinsicLowering.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/User.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
Go to the source code of this file.
Functions | |
static bool | lowerLoadRelative (Function &F) |
static bool | lowerObjCCall (Function &F, const char *NewFn, bool setNonLazyBind=false) |
static bool | lowerIntrinsics (Module &M) |
INITIALIZE_PASS (PreISelIntrinsicLoweringLegacyPass, "pre-isel-intrinsic-lowering", "Pre-ISel Intrinsic Lowering", false, false) ModulePass *llvm | |
INITIALIZE_PASS | ( | PreISelIntrinsicLoweringLegacyPass | , |
"pre-isel-intrinsic-lowering" | , | ||
"Pre-ISel Intrinsic Lowering" | , | ||
false | , | ||
false | |||
) |
Definition at line 202 of file PreISelIntrinsicLowering.cpp.
Definition at line 97 of file PreISelIntrinsicLowering.cpp.
References F(), lowerLoadRelative(), lowerObjCCall(), llvm::Intrinsic::objc_autorelease, llvm::Intrinsic::objc_autoreleasePoolPop, llvm::Intrinsic::objc_autoreleasePoolPush, llvm::Intrinsic::objc_autoreleaseReturnValue, llvm::Intrinsic::objc_copyWeak, llvm::Intrinsic::objc_destroyWeak, llvm::Intrinsic::objc_initWeak, llvm::Intrinsic::objc_loadWeak, llvm::Intrinsic::objc_loadWeakRetained, llvm::Intrinsic::objc_moveWeak, llvm::Intrinsic::objc_release, llvm::Intrinsic::objc_retain, llvm::Intrinsic::objc_retain_autorelease, llvm::Intrinsic::objc_retainAutorelease, llvm::Intrinsic::objc_retainAutoreleasedReturnValue, llvm::Intrinsic::objc_retainAutoreleaseReturnValue, llvm::Intrinsic::objc_retainBlock, llvm::Intrinsic::objc_retainedObject, llvm::Intrinsic::objc_storeStrong, llvm::Intrinsic::objc_storeWeak, llvm::Intrinsic::objc_sync_enter, llvm::Intrinsic::objc_sync_exit, llvm::Intrinsic::objc_unretainedObject, llvm::Intrinsic::objc_unretainedPointer, and llvm::Intrinsic::objc_unsafeClaimAutoreleasedReturnValue.
Referenced by llvm::PreISelIntrinsicLoweringPass::run(), and llvm::InstrProfiling::run().
Definition at line 29 of file PreISelIntrinsicLowering.cpp.
References B, llvm::IRBuilder< T, Inserter >::CreateAlignedLoad(), llvm::IRBuilder< T, Inserter >::CreateBitCast(), llvm::IRBuilder< T, Inserter >::CreateGEP(), llvm::dyn_cast(), E, F(), llvm::Function::getContext(), llvm::Type::getInt32Ty(), llvm::Type::getInt8Ty(), llvm::Type::getPointerTo(), I, Int32Ty, llvm::Value::replaceAllUsesWith(), llvm::Value::use_begin(), llvm::Value::use_empty(), and llvm::Value::use_end().
Referenced by lowerIntrinsics().
Definition at line 60 of file PreISelIntrinsicLowering.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Key::Args, assert(), llvm::dyn_cast(), E, llvm::Function::getFunctionType(), llvm::GlobalValue::getLinkage(), llvm::Module::getOrInsertFunction(), llvm::GlobalValue::getParent(), I, llvm::Attribute::NonLazyBind, setNonLazyBind(), llvm::Value::use_begin(), llvm::Value::use_empty(), and llvm::Value::use_end().
Referenced by lowerIntrinsics().