当前位置: 首页>>代码示例>>C++>>正文


C++ llvm::ImmutableCallSite类代码示例

本文整理汇总了C++中llvm::ImmutableCallSite的典型用法代码示例。如果您正苦于以下问题:C++ ImmutableCallSite类的具体用法?C++ ImmutableCallSite怎么用?C++ ImmutableCallSite使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ImmutableCallSite类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: getModRefInfo

llvm::ModRefInfo SwiftAAResult::getModRefInfo(llvm::ImmutableCallSite CS,
                                              const llvm::MemoryLocation &Loc) {
  // We know the mod-ref behavior of various runtime functions.
  switch (classifyInstruction(*CS.getInstruction())) {
  case RT_AllocObject:
  case RT_NoMemoryAccessed:
  case RT_Retain:
  case RT_RetainUnowned:
  case RT_CheckUnowned:
  case RT_ObjCRetain:
  case RT_BridgeRetain:
  case RT_UnknownRetain:
  case RT_RetainN:
  case RT_UnknownRetainN:
  case RT_BridgeRetainN:
  case RT_FixLifetime:
    // These entrypoints don't modify any compiler-visible state.
    return MRI_NoModRef;
  case RT_ReleaseN:
  case RT_UnknownReleaseN:
  case RT_BridgeReleaseN:
  case RT_Release:
  case RT_ObjCRelease:
  case RT_BridgeRelease:
  case RT_UnknownRelease:
  case RT_Unknown:
    break;
  }

  return AAResultBase::getModRefInfo(CS, Loc);
}
开发者ID:asdfeng,项目名称:swift,代码行数:31,代码来源:LLVMSwiftAA.cpp

示例2: getModRefInfo

ModRefInfo SwiftAAResult::getModRefInfo(llvm::ImmutableCallSite CS,
                                        const llvm::MemoryLocation &Loc) {
  // We know at compile time that certain entry points do not modify any
  // compiler-visible state ever. Quickly check if we have one of those
  // instructions and return if so.
  if (ModRefInfo::NoModRef ==
      getConservativeModRefForKind(*CS.getInstruction()))
    return ModRefInfo::NoModRef;

  // Otherwise, delegate to the rest of the AA ModRefInfo machinery.
  return AAResultBase::getModRefInfo(CS, Loc);
}
开发者ID:DevAndArtist,项目名称:swift,代码行数:12,代码来源:LLVMSwiftAA.cpp


注:本文中的llvm::ImmutableCallSite类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。