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

Declarations

include/llvm/CodeGen/MachineFunction.h
   52 class DIExpression;
include/llvm/CodeGen/MachineInstr.h
   41 class DIExpression;
include/llvm/IR/Metadata.def
   83 HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DIExpression)
lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
   23 class DIExpression;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
   62 class DIExpression;

References

include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/CodeGen/DebugHandlerBase.h
   40   llvm::Optional<llvm::DIExpression::FragmentInfo> FragmentInfo;
include/llvm/CodeGen/MachineFunction.h
  361     const DIExpression *Expr;
  366     VariableDbgInfo(const DILocalVariable *Var, const DIExpression *Expr,
  974   void setVariableDbgInfo(const DILocalVariable *Var, const DIExpression *Expr,
include/llvm/CodeGen/MachineInstr.h
  408   const DIExpression *getDebugExpression() const;
include/llvm/CodeGen/SelectionDAG.h
 1293   SDDbgValue *getDbgValue(DIVariable *Var, DIExpression *Expr, SDNode *N,
 1298   SDDbgValue *getConstantDbgValue(DIVariable *Var, DIExpression *Expr,
 1303   SDDbgValue *getFrameIndexDbgValue(DIVariable *Var, DIExpression *Expr,
 1308   SDDbgValue *getVRegDbgValue(DIVariable *Var, DIExpression *Expr,
include/llvm/CodeGen/TargetInstrInfo.h
   65 using ParamLoadedValue = std::pair<MachineOperand, DIExpression*>;
include/llvm/IR/DIBuilder.h
   82                                DIExpression *Expr, const DILocation *DL,
   92                             DIExpression *Expr, const DILocation *DL,
  585         DIExpression *Expr = nullptr, MDNode *Decl = nullptr,
  637     DIExpression *createExpression(ArrayRef<uint64_t> Addr = None);
  638     DIExpression *createExpression(ArrayRef<int64_t> Addr);
  642     DIExpression *createConstantValueExpression(uint64_t Val) {
  643       return DIExpression::get(
  801                                DIExpression *Expr, const DILocation *DL,
  811                                DIExpression *Expr, const DILocation *DL,
  836                                          DIExpression *Expr,
  848                                          DIExpression *Expr,
include/llvm/IR/DebugInfoMetadata.h
 2311   static DIExpression *getImpl(LLVMContext &Context,
 2481   static const DIExpression *extractAddressClass(const DIExpression *Expr,
 2481   static const DIExpression *extractAddressClass(const DIExpression *Expr,
 2495   static DIExpression *prepend(const DIExpression *Expr, uint8_t Flags,
 2495   static DIExpression *prepend(const DIExpression *Expr, uint8_t Flags,
 2500   static DIExpression *prependOpcodes(const DIExpression *Expr,
 2500   static DIExpression *prependOpcodes(const DIExpression *Expr,
 2509   static DIExpression *append(const DIExpression *Expr, ArrayRef<uint64_t> Ops);
 2509   static DIExpression *append(const DIExpression *Expr, ArrayRef<uint64_t> Ops);
 2515   static DIExpression *appendToStack(const DIExpression *Expr,
 2515   static DIExpression *appendToStack(const DIExpression *Expr,
 2528   static Optional<DIExpression *>
 2529   createFragmentExpression(const DIExpression *Expr, unsigned OffsetInBits,
 2555   int fragmentCmp(const DIExpression *Other) const {
 2562   bool fragmentsOverlap(const DIExpression *Other) const {
 2576 inline bool operator==(const DIExpression::FragmentInfo &A,
 2577                        const DIExpression::FragmentInfo &B) {
 2582 inline bool operator<(const DIExpression::FragmentInfo &A,
 2583                       const DIExpression::FragmentInfo &B) {
 2589   using FragInfo = DIExpression::FragmentInfo;
 3081   DIExpression *getExpression() const {
 3082     return cast<DIExpression>(getRawExpression());
include/llvm/IR/IntrinsicInst.h
  104     DIExpression *getExpression() const {
  105       return cast<DIExpression>(getRawExpression());
include/llvm/IR/Metadata.h
  982   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  982   static typename std::enable_if<std::is_base_of<MDNode, T>::value, T *>::type
  983   replaceWithUniqued(std::unique_ptr<T, TempMDNodeDeleter> N) {
  984     return cast<T>(N.release()->replaceWithUniquedImpl());
 1042   static void dispatchRecalculateHash(NodeTy *N, std::true_type) {
 1046   static void dispatchRecalculateHash(NodeTy *, std::false_type) {}
 1048   static void dispatchResetHash(NodeTy *N, std::true_type) {
 1052   static void dispatchResetHash(NodeTy *, std::false_type) {}
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
   77     return isa_impl<To, From>::doit(Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*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,
  168   using ret_type = const To &; // Normal case, return Ty&
  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) {
  258   return cast_convert_val<X, Y,
  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;
  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;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Transforms/Utils/Local.h
  366 DIExpression *salvageDebugInfoImpl(Instruction &I, DIExpression *DIExpr,
  366 DIExpression *salvageDebugInfoImpl(Instruction &I, DIExpression *DIExpr,
lib/Bitcode/Reader/MetadataLoader.cpp
  507                   Context, GV, DIExpression::get(Context, {}));
  520               Context, DGV, DIExpression::get(Context, {}));
  536           if (auto *DIExpr = DDI->getExpression())
  542               auto *E = DIExpression::get(Context, Ops);
  542               auto *E = DIExpression::get(Context, Ops);
 1743           Expr = DIExpression::get(Context,
 1760             Context, DGV, Expr ? Expr : DIExpression::get(Context, {}));
 1839       Expr = DIExpression::get(Context, {});
lib/Bitcode/Writer/BitcodeWriter.cpp
  344   void writeDIExpression(const DIExpression *N,
 1871 void ModuleBitcodeWriter::writeDIExpression(const DIExpression *N,
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  842   const DIExpression *Expr = MI->getDebugExpression();
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
 2995       const DIExpression *DIE = GVE->getExpression();
 3102     const DIExpression *DIE = CVGV.GVInfo.get<const DIExpression *>();
 3102     const DIExpression *DIE = CVGV.GVInfo.get<const DIExpression *>();
lib/CodeGen/AsmPrinter/CodeViewDebug.h
  104     PointerUnion<const GlobalVariable *, const DIExpression *> GVInfo;
lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
  170     const DIExpression *DIExpr = DV.getDebugExpression();
lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
   42   const DIExpression *DIExpr = Instruction.getDebugExpression();
  241           const DIExpression *Fragment = I->getInstr()->getDebugExpression();
lib/CodeGen/AsmPrinter/DebugLocEntry.h
   26   const DIExpression *Expression;
   43   DbgValueLoc(const DIExpression *Expr, int64_t i)
   47   DbgValueLoc(const DIExpression *Expr, const ConstantFP *CFP)
   51   DbgValueLoc(const DIExpression *Expr, const ConstantInt *CIP)
   55   DbgValueLoc(const DIExpression *Expr, MachineLocation Loc)
   70   const DIExpression *getExpression() const { return Expression; }
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  184     const DIExpression *Expr = GE.Expr;
  223         const DIExpression *NewExpr =
  224             DIExpression::extractAddressClass(Expr, LocalNVPTXAddressSpace);
  641     const DIExpression *Expr = Fragment.Expr;
  646     DIExpression::appendOffset(Ops, Offset);
  655       const DIExpression *NewExpr =
  656           DIExpression::extractAddressClass(Expr, LocalNVPTXAddressSpace);
 1199   const DIExpression *DIExpr = DV.getSingleExpression();
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  126     const DIExpression *Expr;
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  233   const DIExpression *Expr = MI->getDebugExpression();
  673     DIExpression *EntryExpr = DIExpression::get(
  673     DIExpression *EntryExpr = DIExpression::get(
 1000       auto *Expr = GVE->getExpression();
lib/CodeGen/AsmPrinter/DwarfDebug.h
  126     const DIExpression *Expr;
  140   void initializeMMI(const DIExpression *E, int FI) {
  170   const DIExpression *getSingleExpression() const {
lib/CodeGen/AsmPrinter/DwarfExpression.cpp
  372   Optional<DIExpression::ExprOperand> PrevConvertOp = None;
  546 void DwarfExpression::addFragmentOffset(const DIExpression *Expr) {
lib/CodeGen/AsmPrinter/DwarfExpression.h
   37   DIExpression::expr_op_iterator Start, End;
   40   DIExpressionCursor(const DIExpression *Expr) {
   55   Optional<DIExpression::ExprOperand> take() {
   65   Optional<DIExpression::ExprOperand> peek() const {
   72   Optional<DIExpression::ExprOperand> peekNext() const {
   86   DIExpression::expr_op_iterator begin() const { return Start; }
   87   DIExpression::expr_op_iterator end() const { return End; }
   90   Optional<DIExpression::FragmentInfo> getFragmentInfo() const {
   91     return DIExpression::getFragmentInfo(Start, End);
  336   void addFragmentOffset(const DIExpression *Expr);
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  112   const DIExpression *DIExpr = cast<DIExpression>(Expr);
  112   const DIExpression *DIExpr = cast<DIExpression>(Expr);
  113   DIExpr = DIExpression::append(DIExpr, {dwarf::DW_OP_deref});
  129   const DIExpression *DIExpr = cast<DIExpression>(Expr);
  129   const DIExpression *DIExpr = cast<DIExpression>(Expr);
  130   DIExpr = DIExpression::append(DIExpr, {dwarf::DW_OP_deref});
lib/CodeGen/LiveDebugValues.cpp
  123   using FragmentInfo = DIExpression::FragmentInfo;
  124   using OptFragmentInfo = Optional<DIExpression::FragmentInfo>;
  146     DebugVariable(const DILocalVariable *Var, const DIExpression *DIExpr,
  196     const DIExpression *Expr;
  249                                  const DIExpression *EntryExpr) {
  286       const DIExpression *DIExpr = MI.getDebugExpression();
  302         auto *SpillExpr = DIExpression::prepend(
  302         auto *SpillExpr = DIExpression::prepend(
  303             DIExpr, DIExpression::ApplyOffset, Loc.SpillLocation.SpillOffset);
  386       std::pair<const DILocalVariable *, DIExpression::FragmentInfo>;
  388       DenseMap<FragmentOfVar, SmallVector<DIExpression::FragmentInfo, 1>>;
  568 const DIExpression::FragmentInfo
  675   const DIExpression *Expr = MI.getDebugExpression();
  720     DIExpression *NewExpr = DIExpression::prepend(
  720     DIExpression *NewExpr = DIExpression::prepend(
  721         ParamDebugInstr->getDebugExpression(), DIExpression::EntryValue);
 1100     if (DIExpression::fragmentsOverlap(ThisFragment, ASeenFragment)) {
lib/CodeGen/LiveDebugVariables.cpp
  156   const DIExpression *Expression;
  161   UserValueIdentity(const DILocalVariable *Var, const DIExpression *Expr,
  165   bool match(const DILocalVariable *Var, const DIExpression *Expr,
  187   const DIExpression *Expression; ///< Any complex address expression.
  213   UserValue(const DILocalVariable *var, const DIExpression *expr, DebugLoc L,
  413   UserValue *getUserValue(const DILocalVariable *Var, const DIExpression *Expr,
  574                                  const DIExpression *Expr, const DebugLoc &DL) {
  645   const DIExpression *Expr = MI.getDebugExpression();
 1312   const DIExpression *Expr = Expression;
 1314     Expr = DIExpression::prepend(Expr, DIExpression::ApplyOffset, SpillOffset);
 1314     Expr = DIExpression::prepend(Expr, DIExpression::ApplyOffset, SpillOffset);
lib/CodeGen/MIRParser/MIParser.cpp
 1887   Expr = DIExpression::get(MF.getFunction().getContext(), Elements);
lib/CodeGen/MIRParser/MIRParser.cpp
  763 static bool typecheckMDNode(T *&Result, MDNode *Node,
  768   Result = dyn_cast<T>(Node);
  789   DIExpression *DIExpr = nullptr;
lib/CodeGen/MachineInstr.cpp
  821 const DIExpression *MachineInstr::getDebugExpression() const {
  823   return cast<DIExpression>(getOperand(3).getMetadata());
 2072 static const DIExpression *computeExprForSpill(const MachineInstr &MI) {
 2077   const DIExpression *Expr = MI.getDebugExpression();
 2080     Expr = DIExpression::prepend(Expr, DIExpression::DerefBefore);
 2080     Expr = DIExpression::prepend(Expr, DIExpression::DerefBefore);
 2089   const DIExpression *Expr = computeExprForSpill(Orig);
 2098   const DIExpression *Expr = computeExprForSpill(Orig);
lib/CodeGen/PrologEpilogInserter.cpp
  194     const DIExpression *Expr = MI.getDebugExpression();
 1217         const DIExpression *DIExpr = MI.getDebugExpression();
 1224         unsigned PrependFlags = DIExpression::ApplyOffset;
 1226           PrependFlags |= DIExpression::StackValue;
 1235           DIExpr = DIExpression::prependOpcodes(DIExpr, Ops, WithStackValue);
 1239         DIExpr = DIExpression::prepend(DIExpr, PrependFlags, Offset);
lib/CodeGen/SafeStack.cpp
  579                       DIExpression::ApplyOffset, -Offset);
  590     replaceDbgDeclareForAlloca(AI, BasePointer, DIB, DIExpression::ApplyOffset,
  678     replaceDbgDeclareForAlloca(AI, NewAI, DIB, DIExpression::ApplyOffset, 0);
lib/CodeGen/SelectionDAG/FastISel.cpp
 1392       auto *Expr = DI->getExpression();
 1393       Expr = DIExpression::append(Expr, {dwarf::DW_OP_deref});
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  680   const DIExpression *Expr = SD->getExpression();
  706       Expr = DIExpression::append(Expr, {dwarf::DW_OP_deref});
  754     Expr = DIExpression::append(Expr, {dwarf::DW_OP_deref});
lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
   49   DIExpression *Expr;
   59   SDDbgValue(DIVariable *Var, DIExpression *Expr, SDNode *N, unsigned R,
   68   SDDbgValue(DIVariable *Var, DIExpression *Expr, const Value *C, DebugLoc dl,
   76   SDDbgValue(DIVariable *Var, DIExpression *Expr, unsigned VRegOrFrameIdx,
   96   DIExpression *getExpression() const { return Expr; }
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 7979 SDDbgValue *SelectionDAG::getDbgValue(DIVariable *Var, DIExpression *Expr,
 7990                                               DIExpression *Expr,
 8000                                                 DIExpression *Expr, unsigned FI,
 8012                                           DIExpression *Expr,
 8049     auto *Expr = Dbg->getExpression();
 8058       auto Fragment = DIExpression::createFragmentExpression(Expr, OffsetInBits,
 8102         auto *DIExpr = DV->getExpression();
 8104             DIExpression::prepend(DIExpr, DIExpression::StackValue, Offset);
 8104             DIExpression::prepend(DIExpr, DIExpression::StackValue, Offset);
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 1132                                                 const DIExpression *Expr) {
 1136     DIExpression *DanglingExpr = DI->getExpression();
 1173     DIExpression *Expr = DI->getExpression();
 1216   DIExpression *Expr = DDI.getDI()->getExpression();
 1235     DIExpression *NewExpr = salvageDebugInfoImpl(VAsInst, Expr, StackValue);
 1269                                            DIExpression *Expr, DebugLoc dl,
 1340           auto FragmentExpr = DIExpression::createFragmentExpression(
 5422     const Value *V, DILocalVariable *Variable, DIExpression *Expr,
 5537         auto FragmentExpr = DIExpression::createFragmentExpression(
 5578     Expr = DIExpression::append(Expr, {dwarf::DW_OP_deref});
 5589                                              DIExpression *Expr,
 5809     DIExpression *Expression = DI.getExpression();
 5900     DIExpression *Expression = DI.getExpression();
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  480                              const DIExpression *Expr);
  494                         DIExpression *Expr, DebugLoc CurDL,
  783                                 DIExpression *Expr, DILocation *DL,
  795                           DIExpression *Expr, const DebugLoc &dl,
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
 1327       DIExpression *Expr = DI->getExpression();
 1329         Expr = DIExpression::prepend(Expr, DIExpression::ApplyOffset,
 1329         Expr = DIExpression::prepend(Expr, DIExpression::ApplyOffset,
lib/CodeGen/TargetInstrInfo.cpp
 1127   DIExpression *Expr = DIExpression::get(MF->getFunction().getContext(), {});;
 1127   DIExpression *Expr = DIExpression::get(MF->getFunction().getContext(), {});;
lib/IR/AsmWriter.cpp
 1196   if (isa<DIExpression>(N))
 2136 static void writeDIExpression(raw_ostream &Out, const DIExpression *N,
 2309   if (const DIExpression *Expr = dyn_cast<DIExpression>(MD)) {
 2309   if (const DIExpression *Expr = dyn_cast<DIExpression>(MD)) {
 3170     if (auto *Expr = dyn_cast<DIExpression>(Op)) {
 3170     if (auto *Expr = dyn_cast<DIExpression>(Op)) {
 4392   if (OnlyAsOperand || !N || isa<DIExpression>(MD))
lib/IR/DIBuilder.cpp
  641     unsigned LineNumber, DIType *Ty, bool isLocalToUnit, DIExpression *Expr,
  734 DIExpression *DIBuilder::createExpression(ArrayRef<uint64_t> Addr) {
  735   return DIExpression::get(VMContext, Addr);
  738 DIExpression *DIBuilder::createExpression(ArrayRef<int64_t> Signed) {
  850                                       DIExpression *Expr, const DILocation *DL,
  857                                       DIExpression *Expr, const DILocation *DL,
  879                                                 DIExpression *Expr,
  889                                                 DIExpression *Expr,
  920                                       DIExpression *Expr, const DILocation *DL,
  941     Value *V, DILocalVariable *VarInfo, DIExpression *Expr,
lib/IR/DebugInfo.cpp
 1293       unwrap<DIExpression>(Expr), unwrapDI<MDNode>(Decl),
 1352                   unwrap<DIExpression>(Expr), unwrap<DILocation>(DL),
 1361                   unwrap<DIExpression>(Expr), unwrap<DILocation>(DL),
 1373                   unwrap<DIExpression>(Expr), unwrap<DILocation>(DebugLoc),
 1385                   unwrap<DIExpression>(Expr), unwrap<DILocation>(DebugLoc),
lib/IR/DebugInfoMetadata.cpp
  823 DIExpression *DIExpression::getImpl(LLVMContext &Context,
  967 Optional<DIExpression::FragmentInfo>
  971       DIExpression::FragmentInfo Info = {I->getArg(1), I->getArg(0)};
 1014 const DIExpression *DIExpression::extractAddressClass(const DIExpression *Expr,
 1014 const DIExpression *DIExpression::extractAddressClass(const DIExpression *Expr,
 1025     return DIExpression::get(Expr->getContext(),
 1032 DIExpression *DIExpression::prepend(const DIExpression *Expr, uint8_t Flags,
 1032 DIExpression *DIExpression::prepend(const DIExpression *Expr, uint8_t Flags,
 1035   if (Flags & DIExpression::DerefBefore)
 1039   if (Flags & DIExpression::DerefAfter)
 1042   bool StackValue = Flags & DIExpression::StackValue;
 1043   bool EntryValue = Flags & DIExpression::EntryValue;
 1048 DIExpression *DIExpression::prependOpcodes(const DIExpression *Expr,
 1048 DIExpression *DIExpression::prependOpcodes(const DIExpression *Expr,
 1078   return DIExpression::get(Expr->getContext(), Ops);
 1081 DIExpression *DIExpression::append(const DIExpression *Expr,
 1081 DIExpression *DIExpression::append(const DIExpression *Expr,
 1100   return DIExpression::get(Expr->getContext(), NewOps);
 1103 DIExpression *DIExpression::appendToStack(const DIExpression *Expr,
 1103 DIExpression *DIExpression::appendToStack(const DIExpression *Expr,
 1133   return DIExpression::append(Expr, NewOps);
 1136 Optional<DIExpression *> DIExpression::createFragmentExpression(
 1137     const DIExpression *Expr, unsigned OffsetInBits, unsigned SizeInBits) {
 1170   return DIExpression::get(Expr->getContext(), Ops);
lib/IR/LLVMContextImpl.h
  249   using KeyTy = MDNodeKeyImpl<NodeTy>;
  251   static bool isSubsetEqual(const KeyTy &LHS, const NodeTy *RHS) {
  255   static bool isSubsetEqual(const NodeTy *LHS, const NodeTy *RHS) {
  255   static bool isSubsetEqual(const NodeTy *LHS, const NodeTy *RHS) {
 1005   MDNodeKeyImpl(const DIExpression *N) : Elements(N->getElements()) {}
 1007   bool isKeyOf(const DIExpression *RHS) const {
 1139   using KeyTy = MDNodeKeyImpl<NodeTy>;
 1140   using SubsetEqualTy = MDNodeSubsetEqualImpl<NodeTy>;
 1142   static inline NodeTy *getEmptyKey() {
 1143     return DenseMapInfo<NodeTy *>::getEmptyKey();
 1146   static inline NodeTy *getTombstoneKey() {
 1147     return DenseMapInfo<NodeTy *>::getTombstoneKey();
 1152   static unsigned getHashValue(const NodeTy *N) {
 1156   static bool isEqual(const KeyTy &LHS, const NodeTy *RHS) {
 1162   static bool isEqual(const NodeTy *LHS, const NodeTy *RHS) {
 1162   static bool isEqual(const NodeTy *LHS, const NodeTy *RHS) {
lib/IR/Metadata.cpp
  761 static T *uniquifyImpl(T *N, DenseSet<T *, InfoT> &Store) {
  761 static T *uniquifyImpl(T *N, DenseSet<T *, InfoT> &Store) {
  761 static T *uniquifyImpl(T *N, DenseSet<T *, InfoT> &Store) {
  762   if (T *U = getUniqued(Store, N))
  778   static const bool value = sizeof(check<NodeTy>(nullptr)) == sizeof(Yes);
 1471       DIExpression *E = nullptr;
 1484       E = DIExpression::get(getContext(), Elements);
lib/IR/MetadataImpl.h
   22 static T *getUniqued(DenseSet<T *, InfoT> &Store,
   22 static T *getUniqued(DenseSet<T *, InfoT> &Store,
   42 T *MDNode::storeImpl(T *N, StorageType Storage, StoreT &Store) {
   42 T *MDNode::storeImpl(T *N, StorageType Storage, StoreT &Store) {
lib/IR/Verifier.cpp
  518                                 DIExpression::FragmentInfo Fragment,
 1281 void Verifier::visitDIExpression(const DIExpression &N) {
 1290   if (auto *Expr = GVE.getExpression()) {
 4990   DIExpression *E = dyn_cast_or_null<DIExpression>(I.getRawExpression());
 4990   DIExpression *E = dyn_cast_or_null<DIExpression>(I.getRawExpression());
 5015                                         DIExpression::FragmentInfo Fragment,
 5060   DIExpression *E = dyn_cast_or_null<DIExpression>(I.getRawExpression());
 5060   DIExpression *E = dyn_cast_or_null<DIExpression>(I.getRawExpression());
lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp
   75           auto *DIExpr = DIExpression::prepend(
   75           auto *DIExpr = DIExpression::prepend(
   76               MI.getDebugExpression(), DIExpression::ApplyOffset, Offset);
lib/Target/X86/X86InstrInfo.cpp
 7564   DIExpression *Expr = nullptr;
 7636     DIExpression::appendOffset(Ops, Offset);
 7637     Expr = DIExpression::get(MI.getMF()->getFunction().getContext(), Ops);
lib/Target/X86/X86OptimizeLEAs.cpp
  572   DIExpression *Expr = const_cast<DIExpression *>(MI.getDebugExpression());
  574     Expr = DIExpression::prepend(Expr, DIExpression::StackValue, AddrDispShift);
  574     Expr = DIExpression::prepend(Expr, DIExpression::StackValue, AddrDispShift);
lib/Transforms/IPO/GlobalOpt.cpp
  444     DIExpression *Expr = GVE->getExpression();
  446       if (auto E = DIExpression::createFragmentExpression(
 1661         DIExpression *E = GVe->getExpression();
 1680         E = DIExpression::prependOpcodes(E, Ops, WithStackValue);
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 3074   uint8_t DIExprFlags = DIExpression::ApplyOffset;
 3115     DIExprFlags |= DIExpression::DerefBefore;
lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
 1066       DIExpression *OldExpr = DDI->getExpression();
 1067       DIExpression *NewExpr = DIExpression::append(
 1067       DIExpression *NewExpr = DIExpression::append(
lib/Transforms/Scalar/SROA.cpp
 4355     auto *Expr = DbgDeclares.front()->getExpression();
 4362       auto *FragmentExpr = Expr;
 4396                   DIExpression::createFragmentExpression(Expr, Start, Size))
lib/Transforms/Utils/BasicBlockUtils.cpp
  285       SmallDenseSet<std::pair<DILocalVariable *, DIExpression *>, 2>
lib/Transforms/Utils/InlineFunction.cpp
 1860       replaceDbgDeclareForAlloca(AI, AI, DIB, DIExpression::ApplyOffset, 0);
lib/Transforms/Utils/Local.cpp
 1213 static bool LdStHasDebugValue(DILocalVariable *DIVar, DIExpression *DIExpr,
 1232                              DIExpression *DIExpr,
 1292   auto *DIExpr = DII->getExpression();
 1320   auto *DIExpr = DII->getExpression();
 1351   auto *DIExpr = DII->getExpression();
 1436         auto *DerefExpr =
 1437             DIExpression::append(DDI->getExpression(), dwarf::DW_OP_deref);
 1546     auto *DIExpr = DII->getExpression();
 1548     DIExpr = DIExpression::prepend(DIExpr, DIExprFlags, Offset);
 1570   auto *DIExpr = DVI->getExpression();
 1583     DIExpr = DIExpression::prepend(DIExpr, 0, Offset);
 1625     DIExpression *DIExpr =
 1641 DIExpression *llvm::salvageDebugInfoImpl(Instruction &I,
 1642                                          DIExpression *SrcDIExpr,
 1649     DIExpression *DIExpr = SrcDIExpr;
 1651       DIExpr = DIExpression::prependOpcodes(DIExpr, Ops, WithStackValue);
 1659     DIExpression::appendOffset(Ops, Offset);
 1727 using DbgValReplacement = Optional<DIExpression *>;
 1868       return DIExpression::appendToStack(DII.getExpression(), Ops);
lib/Transforms/Utils/LoopRotationUtils.cpp
  311       std::pair<std::pair<Value *, DILocalVariable *>, DIExpression *>;
lib/Transforms/Utils/LoopUtils.cpp
  600   llvm::SmallDenseSet<std::pair<DIVariable *, DIExpression *>, 4> DeadDebugSet;
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 4150   auto *Expr = DBuilder.createExpression(addr);
 4508   llvm::DIExpression *InitExpr = nullptr;
unittests/IR/AsmWriterTest.cpp
   57   DIExpression *Expr = DIExpression::get(Ctx, Ops);
   57   DIExpression *Expr = DIExpression::get(Ctx, Ops);
unittests/IR/MetadataTest.cpp
 2228   auto *Expr = DIExpression::get(Context, {1, 2});
 2228   auto *Expr = DIExpression::get(Context, {1, 2});
 2229   auto *Expr2 = DIExpression::get(Context, {1, 2, 3});
 2229   auto *Expr2 = DIExpression::get(Context, {1, 2, 3});
 2321   auto *N = DIExpression::get(Context, Elements);
 2321   auto *N = DIExpression::get(Context, Elements);
 2337   auto *N0 = DIExpression::get(Context, Elts0);
 2337   auto *N0 = DIExpression::get(Context, Elts0);
 2338   uint8_t DIExprFlags = DIExpression::ApplyOffset;
 2339   DIExprFlags |= DIExpression::DerefBefore;
 2340   DIExprFlags |= DIExpression::DerefAfter;
 2341   DIExprFlags |= DIExpression::StackValue;
 2342   auto *N0WithPrependedOps = DIExpression::prepend(N0, DIExprFlags, 64);
 2342   auto *N0WithPrependedOps = DIExpression::prepend(N0, DIExprFlags, 64);
 2348   auto *N1 = DIExpression::get(Context, Elts1);
 2348   auto *N1 = DIExpression::get(Context, Elts1);
 2354   auto *N2 = DIExpression::append(N0, Elts2);
 2354   auto *N2 = DIExpression::append(N0, Elts2);
unittests/Transforms/Utils/CloningTest.cpp
  498     auto *E = DBuilder.createExpression();
unittests/Transforms/Utils/LocalTest.cpp
  156   replaceDbgDeclare(AI, NewBase, DII, DIB, DIExpression::ApplyOffset, 0);
usr/include/c++/7.4.0/bits/unique_ptr.h
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>
 1983     { typedef _Up     type; };
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {