diff options
Diffstat (limited to 'contrib/llvm-project/llvm/include/llvm/IR/Instructions.h')
-rw-r--r-- | contrib/llvm-project/llvm/include/llvm/IR/Instructions.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/contrib/llvm-project/llvm/include/llvm/IR/Instructions.h b/contrib/llvm-project/llvm/include/llvm/IR/Instructions.h index a14bc39cea65..083fed5de4a3 100644 --- a/contrib/llvm-project/llvm/include/llvm/IR/Instructions.h +++ b/contrib/llvm-project/llvm/include/llvm/IR/Instructions.h @@ -44,6 +44,7 @@ namespace llvm { class APFloat; class APInt; class BasicBlock; +class BlockAddress; class ConstantInt; class DataLayout; class StringRef; @@ -4004,9 +4005,6 @@ class CallBrInst : public CallBase { ArrayRef<BasicBlock *> IndirectDests, ArrayRef<Value *> Args, ArrayRef<OperandBundleDef> Bundles, const Twine &NameStr); - /// Should the Indirect Destinations change, scan + update the Arg list. - void updateArgBlockAddresses(unsigned i, BasicBlock *B); - /// Compute the number of operands to allocate. static int ComputeNumOperands(int NumArgs, int NumIndirectDests, int NumBundleInputs = 0) { @@ -4154,7 +4152,6 @@ public: *(&Op<-1>() - getNumIndirectDests() - 1) = reinterpret_cast<Value *>(B); } void setIndirectDest(unsigned i, BasicBlock *B) { - updateArgBlockAddresses(i, B); *(&Op<-1>() - getNumIndirectDests() + i) = reinterpret_cast<Value *>(B); } @@ -4172,6 +4169,8 @@ public: unsigned getNumSuccessors() const { return getNumIndirectDests() + 1; } + BlockAddress *getBlockAddressForIndirectDest(unsigned DestNo) const; + // Methods for support type inquiry through isa, cast, and dyn_cast: static bool classof(const Instruction *I) { return (I->getOpcode() == Instruction::CallBr); |