LLVM
15.0.0git
|
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Value.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/TLSVariableHoist.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <iterator>
#include <tuple>
#include <utility>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "tlshoist" |
Functions | |
INITIALIZE_PASS_BEGIN (TLSVariableHoistLegacyPass, "tlshoist", "TLS Variable Hoist", false, false) INITIALIZE_PASS_END(TLSVariableHoistLegacyPass | |
static bool | oneUseOutsideLoop (tlshoist::TLSCandidate &Cand, LoopInfo *LI) |
Variables | |
static cl::opt< bool > | TLSLoadHoist ("tls-load-hoist", cl::init(false), cl::Hidden, cl::desc("hoist the TLS loads in PIC model to eliminate redundant " "TLS address calculation.")) |
tlshoist | |
TLS Variable | Hoist |
When an instruction is found to use only loop invariant operands that are safe to hoist, this instruction is called to do the dirty work. More... | |
TLS Variable | false |
#define DEBUG_TYPE "tlshoist" |
Definition at line 41 of file TLSVariableHoist.cpp.
INITIALIZE_PASS_BEGIN | ( | TLSVariableHoistLegacyPass | , |
"tlshoist" | , | ||
"TLS Variable Hoist" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 150 of file TLSVariableHoist.cpp.
References BB, llvm::LoopInfoBase< BlockT, LoopT >::getLoopFor(), and llvm::tlshoist::TLSCandidate::Users.
TLS Variable false |
Definition at line 82 of file TLSVariableHoist.cpp.
bool MachineLICMBase::Hoist |
When an instruction is found to use only loop invariant operands that are safe to hoist, this instruction is called to do the dirty work.
It returns true if the instruction is hoisted.
Definition at line 82 of file TLSVariableHoist.cpp.
tlshoist |
Definition at line 81 of file TLSVariableHoist.cpp.