30 return &
F.getEntryBlock();
34 return &
F.getEntryBlock();
39 for (
auto &
instr :
block.instructionsWithoutDebug(
true)) {
40 if (
instr.isTerminator())
42 if (
instr.getType()->isVoidTy())
52 if (
instr.isTerminator())
69 if (
const auto *instruction = dyn_cast<Instruction>(
value))
70 return instruction->getParent();
79 if (
auto *Phi = dyn_cast<PHINode>(&Instr))
80 return Phi->hasConstantOrUndefValue();
89 return print(cast<Value>(Inst));
100 MST.incorporateFunction(*BB->
getParent());
101 Out << MST.getLocalSlot(BB);
static const Function * getParent(const Value *V)
Given that RA is a live value
This file declares a specialization of the GenericSSAContext<X> class template for LLVM IR.
unify loop Fixup each natural loop to have a single exit block
LLVM Basic Block Representation.
const Function * getParent() const
Return the enclosing method, or null if none.
static BasicBlock * getEntryBlock(Function &F)
static Value * ValueRefNull
static bool comesBefore(const Instruction *lhs, const Instruction *rhs)
static bool isConstantOrUndefValuePhi(const Instruction &Instr)
const BasicBlock * getDefBlock(const Value *value) const
static void appendBlockDefs(SmallVectorImpl< Value * > &defs, BasicBlock &block)
static void appendBlockTerms(SmallVectorImpl< Instruction * > &terms, BasicBlock &block)
void setFunction(Function &Fn)
Printable print(const BasicBlock *Block) const
bool comesBefore(const Instruction *Other) const
Given an instruction Other in the same basic block as this instruction, return true if this instructi...
Manage lifetime of a slot tracker for printing IR.
Simple wrapper around std::function<void(raw_ostream&)>.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
void push_back(const T &Elt)
LLVM Value Representation.
StringRef getName() const
Return a constant reference to the value's name.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
Printable print(const GCNRegPressure &RP, const GCNSubtarget *ST=nullptr)