reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/CodeGen/AsmPrinter.h
   37 class BlockAddress;
include/llvm/CodeGen/MachineFunction.h
   49 class BlockAddress;
include/llvm/CodeGen/MachineOperand.h
   25 class BlockAddress;
include/llvm/CodeGen/SelectionDAG.h
   60 class BlockAddress;
lib/Target/ARM/ARMConstantPoolValue.h
   26 class BlockAddress;

References

include/llvm/Analysis/LazyCallGraph.h
 1089       if (BlockAddress *BA = dyn_cast<BlockAddress>(C)) {
 1089       if (BlockAddress *BA = dyn_cast<BlockAddress>(C)) {
include/llvm/CodeGen/AsmPrinter.h
  467   MCSymbol *GetBlockAddressSymbol(const BlockAddress *BA) const;
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
 1212   MachineInstrBuilder buildBlockAddress(Register Res, const BlockAddress *BA);
include/llvm/CodeGen/MachineFunction.h
  207   const BlockAddress *RecoverBA;
  892                           const BlockAddress *RecoverBA);
include/llvm/CodeGen/MachineInstrBuilder.h
  181   const MachineInstrBuilder &addBlockAddress(const BlockAddress *BA,
include/llvm/CodeGen/MachineOperand.h
  192         const BlockAddress *BA;   // For MO_BlockAddress.
  561   const BlockAddress *getBlockAddress() const {
  849   static MachineOperand CreateBA(const BlockAddress *BA, int64_t Offset,
include/llvm/CodeGen/SelectionDAG.h
  688   SDValue getBlockAddress(const BlockAddress *BA, EVT VT, int64_t Offset = 0,
  690   SDValue getTargetBlockAddress(const BlockAddress *BA, EVT VT,
include/llvm/CodeGen/SelectionDAGNodes.h
 2086   const BlockAddress *BA;
 2090   BlockAddressSDNode(unsigned NodeTy, EVT VT, const BlockAddress *ba,
 2096   const BlockAddress *getBlockAddress() const { return BA; }
include/llvm/IR/Constants.h
  851   static BlockAddress *get(Function *F, BasicBlock *BB);
  855   static BlockAddress *get(BasicBlock *BB);
  860   static BlockAddress *lookup(const BasicBlock *BB);
  876   public FixedNumOperandTraits<BlockAddress, 2> {
include/llvm/IR/OperandTraits.h
   31   static Use *op_begin(SubClass* U) {
   33         !std::is_polymorphic<SubClass>::value,
   37   static Use *op_end(SubClass* U) {
include/llvm/IR/User.h
  127   template <int Idx, typename U> static Use &OpFrom(const U *that) {
  129       ? OperandTraits<U>::op_end(const_cast<U*>(that))[Idx]
  130       : OperandTraits<U>::op_begin(const_cast<U*>(that))[Idx];
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  360                             typename cast_retty<X, Y>::ret_type>::type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
lib/Analysis/InlineCost.cpp
 1848       for (User *U : BlockAddress::get(&*BB)->users())
 2101       for (User *U : BlockAddress::get(&*BI)->users())
lib/Analysis/ModuleSummaryAnalysis.cpp
  107       if (isa<BlockAddress>(Operand)) {
lib/AsmParser/LLParser.cpp
 3301     ID.ConstantVal = BlockAddress::get(F, BB);
 5567     GV->replaceAllUsesWith(BlockAddress::get(&F, BB));
lib/Bitcode/Reader/BitcodeReader.cpp
 2817       V = BlockAddress::get(Fn, BB);
lib/Bitcode/Writer/BitcodeWriter.cpp
 2516     } else if (const BlockAddress *BA = dyn_cast<BlockAddress>(C)) {
 2516     } else if (const BlockAddress *BA = dyn_cast<BlockAddress>(C)) {
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
 2177   if (const BlockAddress *BA = dyn_cast<BlockAddress>(CV))
 2177   if (const BlockAddress *BA = dyn_cast<BlockAddress>(CV))
 2780 MCSymbol *AsmPrinter::GetBlockAddressSymbol(const BlockAddress *BA) const {
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
  432               const BlockAddress *BA = MI->getOperand(OpNo).getBlockAddress();
lib/CodeGen/GlobalISel/IRTranslator.cpp
 2165   } else if (auto *BA = dyn_cast<BlockAddress>(&C)) {
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  910 MachineIRBuilder::buildBlockAddress(Register Res, const BlockAddress *BA) {
lib/CodeGen/IndirectBrExpandPass.cpp
  124       return isa<BlockAddress>(U.getUser());
  135     auto *BA = cast<BlockAddress>(BlockAddressUseIt->getUser());
  135     auto *BA = cast<BlockAddress>(BlockAddressUseIt->getUser());
lib/CodeGen/MIRParser/MIParser.cpp
 2198   Dest = MachineOperand::CreateBA(BlockAddress::get(F, BB), /*Offset=*/0);
lib/CodeGen/MachineFunction.cpp
  768                                          const BlockAddress *RecoverBA) {
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 1805 SDValue SelectionDAG::getBlockAddress(const BlockAddress *BA, EVT VT,
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 1526     if (const BlockAddress *BA = dyn_cast<BlockAddress>(C))
 1526     if (const BlockAddress *BA = dyn_cast<BlockAddress>(C))
 8073         const auto *BA = cast<BlockAddress>(OpInfo.CallOperandVal);
 8073         const auto *BA = cast<BlockAddress>(OpInfo.CallOperandVal);
lib/IR/AsmWriter.cpp
  198   if (auto *BA = dyn_cast<BlockAddress>(V))
 1386   if (const BlockAddress *BA = dyn_cast<BlockAddress>(CV)) {
 1386   if (const BlockAddress *BA = dyn_cast<BlockAddress>(CV)) {
lib/IR/BasicBlock.cpp
   75       BlockAddress *BA = cast<BlockAddress>(user_back());
   75       BlockAddress *BA = cast<BlockAddress>(user_back());
lib/IR/ConstantFold.cpp
 1542       !isa<BlockAddress>(V1)) {
 1544         !isa<BlockAddress>(V2)) {
 1585     } else if (isa<BlockAddress>(V2)) {
 1599   } else if (const BlockAddress *BA = dyn_cast<BlockAddress>(V1)) {
 1599   } else if (const BlockAddress *BA = dyn_cast<BlockAddress>(V1)) {
 1611     if (const BlockAddress *BA2 = dyn_cast<BlockAddress>(V2)) {
 1611     if (const BlockAddress *BA2 = dyn_cast<BlockAddress>(V2)) {
lib/IR/Constants.cpp
  517   if (const BlockAddress *BA = dyn_cast<BlockAddress>(this))
  517   if (const BlockAddress *BA = dyn_cast<BlockAddress>(this))
  533         if (isa<BlockAddress>(LHSOp0) && isa<BlockAddress>(RHSOp0) &&
  533         if (isa<BlockAddress>(LHSOp0) && isa<BlockAddress>(RHSOp0) &&
  534             cast<BlockAddress>(LHSOp0)->getFunction() ==
  535                 cast<BlockAddress>(RHSOp0)->getFunction())
 1460 BlockAddress *BlockAddress::get(BasicBlock *BB) {
 1465 BlockAddress *BlockAddress::get(Function *F, BasicBlock *BB) {
 1466   BlockAddress *&BA =
 1469     BA = new BlockAddress(F, BB);
 1483 BlockAddress *BlockAddress::lookup(const BasicBlock *BB) {
 1489   BlockAddress *BA =
 1517   BlockAddress *&NewBA =
lib/IR/Core.cpp
 1815   return wrap(BlockAddress::get(unwrap<Function>(F), unwrap(BB)));
lib/IR/Function.cpp
 1423     if (isa<BlockAddress>(FU))
 1448     if (!isa<BlockAddress>(U))
lib/IR/Instructions.cpp
  823     BlockAddress *Old = BlockAddress::get(OldBB);
  823     BlockAddress *Old = BlockAddress::get(OldBB);
  824     BlockAddress *New = BlockAddress::get(B);
  824     BlockAddress *New = BlockAddress::get(B);
  826       if (dyn_cast<BlockAddress>(getArgOperand(ArgNo)) == Old)
lib/IR/LLVMContextImpl.h
 1308   DenseMap<std::pair<const Function *, const BasicBlock *>, BlockAddress *>
lib/IR/Verifier.cpp
 2511       if (auto *BA = dyn_cast<BlockAddress>(V))
 2511       if (auto *BA = dyn_cast<BlockAddress>(V))
lib/Target/AArch64/AArch64InstructionSelector.cpp
 1140           MF, MachineOperand::CreateBA(cast<BlockAddress>(V),
lib/Target/ARM/ARMAsmPrinter.cpp
  890     const BlockAddress *BA =
lib/Target/ARM/ARMConstantPoolValue.cpp
  187 const BlockAddress *ARMConstantPoolConstant::getBlockAddress() const {
  188   return dyn_cast_or_null<BlockAddress>(CVal);
lib/Target/ARM/ARMConstantPoolValue.h
  177   const BlockAddress *getBlockAddress() const;
lib/Target/ARM/ARMISelLowering.cpp
 3028   const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
lib/Target/AVR/AVRExpandPseudoInsts.cpp
  511     const BlockAddress *BA = MI.getOperand(1).getBlockAddress();
lib/Target/AVR/AVRISelLowering.cpp
  414   const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
lib/Target/Hexagon/HexagonConstExtenders.cpp
  343         const BlockAddress *BA; // MO_BlockAddress
lib/Target/Hexagon/HexagonHardwareLoops.cpp
 1276   BlockAddress::get(const_cast<BasicBlock *>(LoopStart->getBasicBlock()));
lib/Target/Hexagon/HexagonISelLowering.cpp
 1050   const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
lib/Target/Lanai/LanaiISelLowering.cpp
 1195   const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
   50     const BlockAddress *BlockAddr;
lib/Target/MSP430/MSP430ISelLowering.cpp
 1021   const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
lib/Target/PowerPC/PPCISelLowering.cpp
 2814   const BlockAddress *BA = BASDN->getBlockAddress();
lib/Target/SystemZ/SystemZISelLowering.cpp
 3017   const BlockAddress *BA = Node->getBlockAddress();
lib/Target/X86/X86ISelDAGToDAG.cpp
   70     const BlockAddress *BlockAddr;
lib/Target/X86/X86ISelLowering.cpp
17840   const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
lib/Target/XCore/XCoreISelLowering.cpp
  314   const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
lib/Transforms/IPO/GlobalOpt.cpp
 2105     if (isa<BlockAddress>(U))
 2123     if (isa<BlockAddress>(U))
 2146     if (isa<BlockAddress>(U))
 2187     if (isa<BlockAddress>(U))
 2204     if (isa<BlockAddress>(U))
lib/Transforms/IPO/IPConstantPropagation.cpp
   62     if (isa<BlockAddress>(UR)) continue;
lib/Transforms/IPO/LowerTypeTests.cpp
 1721     if (isa<BlockAddress>(U.getUser()))
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
  856           BlockAddress *BA = dyn_cast<BlockAddress>(*UI);
  856           BlockAddress *BA = dyn_cast<BlockAddress>(*UI);
  860                 BlockAddress::get(NewF, BA->getBasicBlock()));
 1198     if (isa<Function>(Obj) || isa<BlockAddress>(Obj))
lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  680           BlockAddress::get(AllBlocks[i]), IntptrPtrTy));
lib/Transforms/Scalar/JumpThreading.cpp
  582     return dyn_cast<BlockAddress>(Val->stripPointerCasts());
  987   BlockAddress *BA = BlockAddress::get(BB);
  987   BlockAddress *BA = BlockAddress::get(BB);
 1646       DestBB = cast<BlockAddress>(Val)->getBasicBlock();
lib/Transforms/Scalar/SCCP.cpp
  166   BlockAddress *getBlockAddress() const {
  168       return dyn_cast<BlockAddress>(getConstant());
  720     BlockAddress *Addr = IBRValue.getBlockAddress();
 1708         IBR->setAddress(BlockAddress::get(IBR->getSuccessor(0)));
 1987     if (!isa<BlockAddress>(IBR->getAddress()->stripPointerCasts())) {
 1990       C = BlockAddress::get(IBR->getSuccessor(0));
lib/Transforms/Utils/CloneFunction.cpp
  182       Constant *OldBBAddr = BlockAddress::get(const_cast<Function*>(OldFunc),
  184       VMap[OldBBAddr] = BlockAddress::get(NewFunc, CBB);
  324     Constant *OldBBAddr = BlockAddress::get(const_cast<Function*>(OldFunc),
  326     VMap[OldBBAddr] = BlockAddress::get(NewFunc, NewBB);
lib/Transforms/Utils/CodeExtractor.cpp
  104     if (isa<BlockAddress const>(Curr))
lib/Transforms/Utils/Evaluator.cpp
   70   if (C->getNumOperands() == 0 || isa<BlockAddress>(C))
  627         if (BlockAddress *BA = dyn_cast<BlockAddress>(Val))
  627         if (BlockAddress *BA = dyn_cast<BlockAddress>(Val))
lib/Transforms/Utils/FunctionComparator.cpp
  357     const BlockAddress *LBA = cast<BlockAddress>(L);
  357     const BlockAddress *LBA = cast<BlockAddress>(L);
  358     const BlockAddress *RBA = cast<BlockAddress>(R);
  358     const BlockAddress *RBA = cast<BlockAddress>(R);
lib/Transforms/Utils/Local.cpp
  303     if (auto *BA =
  304           dyn_cast<BlockAddress>(IBI->getAddress()->stripPointerCasts())) {
  706     BlockAddress *BA = BlockAddress::get(DestBB);
  706     BlockAddress *BA = BlockAddress::get(DestBB);
lib/Transforms/Utils/SimplifyCFG.cpp
 3559   BlockAddress *TBA = dyn_cast<BlockAddress>(SI->getTrueValue());
 3559   BlockAddress *TBA = dyn_cast<BlockAddress>(SI->getTrueValue());
 3560   BlockAddress *FBA = dyn_cast<BlockAddress>(SI->getFalseValue());
 3560   BlockAddress *FBA = dyn_cast<BlockAddress>(SI->getFalseValue());
lib/Transforms/Utils/SplitModule.cpp
  136         BlockAddress *BA = BlockAddress::lookup(&BB);
  136         BlockAddress *BA = BlockAddress::lookup(&BB);
lib/Transforms/Utils/ValueMapper.cpp
   60   DelayedBasicBlock(const BlockAddress &Old)
  181   Value *mapBlockAddress(const BlockAddress &BA);
  415   if (BlockAddress *BA = dyn_cast<BlockAddress>(C))
  415   if (BlockAddress *BA = dyn_cast<BlockAddress>(C))
  490 Value *Mapper::mapBlockAddress(const BlockAddress &BA) {
  504   return getVM()[&BA] = BlockAddress::get(F, BB ? BB : BA.getBasicBlock());
tools/bugpoint/ExtractFunction.cpp
   67     if (BlockAddress *BA = dyn_cast<BlockAddress>(V)) {
   67     if (BlockAddress *BA = dyn_cast<BlockAddress>(V)) {
tools/clang/lib/CodeGen/CGDecl.cpp
  867       isa<llvm::ConstantVector>(Init) || isa<llvm::BlockAddress>(Init) ||
  904       isa<llvm::ConstantVector>(Init) || isa<llvm::BlockAddress>(Init) ||
tools/clang/lib/CodeGen/CGStmt.cpp
 2224         llvm::BlockAddress *BA =
 2225             llvm::BlockAddress::get(CurFn, Dest.getBlock());
tools/clang/lib/CodeGen/CodeGenFunction.cpp
 1691 llvm::BlockAddress *CodeGenFunction::GetAddrOfLabel(const LabelDecl *L) {
 1700   return llvm::BlockAddress::get(CurFn, BB);
tools/clang/lib/CodeGen/CodeGenFunction.h
 2383   llvm::BlockAddress *GetAddrOfLabel(const LabelDecl *L);
tools/llvm-diff/DifferenceEngine.cpp
  406     if (isa<BlockAddress>(L))
  407       return Blocks[cast<BlockAddress>(L)->getBasicBlock()]
  408                  == cast<BlockAddress>(R)->getBasicBlock();
unittests/IR/InstructionsTest.cpp
 1106   BlockAddress *IndirectBA = BlockAddress::get(CBI.getIndirectDest(0));
 1106   BlockAddress *IndirectBA = BlockAddress::get(CBI.getIndirectDest(0));
 1107   BlockAddress *ArgBA = cast<BlockAddress>(CBI.getArgOperand(0));
 1107   BlockAddress *ArgBA = cast<BlockAddress>(CBI.getArgOperand(0));
unittests/Linker/LinkModulesTest.cpp
   47     Constant *SwitchCase1BA = BlockAddress::get(SwitchCase1BB);
   50     Constant *SwitchCase2BA = BlockAddress::get(SwitchCase2BB);
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {