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

Declarations

include/llvm/Analysis/TargetTransformInfo.h
   39 enum ID : unsigned;
include/llvm/Analysis/VectorUtils.h
  146 enum ID : unsigned;
include/llvm/IR/CallSite.h
   48 enum ID : unsigned;
include/llvm/IR/Function.h
   46 enum ID : unsigned;
include/llvm/IR/GlobalValue.h
   41   enum ID : unsigned;
include/llvm/IR/InstrTypes.h
   50 enum ID : unsigned;

References

gen/include/llvm/IR/IntrinsicImpl.inc
 9583 AttributeList Intrinsic::getAttributes(LLVMContext &C, ID id) {
18380 Intrinsic::ID Intrinsic::getIntrinsicForGCCBuiltin(const char *TargetPrefixStr, StringRef BuiltinNameStr) {
26948     Intrinsic::ID IntrinID;
31798 Intrinsic::ID Intrinsic::getIntrinsicForMSBuiltin(const char *TargetPrefixStr, StringRef BuiltinNameStr) {
31808     Intrinsic::ID IntrinID;
gen/tools/clang/include/clang/Basic/arm_mve_builtin_cg.inc
  105   Intrinsic::ID  Param0;
  186   Intrinsic::ID  Param0;
  366   Intrinsic::ID  Param1;
include/llvm/ADT/Hashing.h
  363 typename std::enable_if<is_hashable_data<T>::value, T>::type
  363 typename std::enable_if<is_hashable_data<T>::value, T>::type
  364 get_hashable_data(const T &value) {
  385 bool store_and_advance(char *&buffer_ptr, char *buffer_end, const T& value,
  514   char *combine_data(size_t &length, char *buffer_ptr, char *buffer_end, T data) {
  554                     const T &arg, const Ts &...args) {
  554                     const T &arg, const Ts &...args) {
  600 template <typename ...Ts> hash_code hash_combine(const Ts &...args) {
include/llvm/ADT/Optional.h
  144     T value;
  160   explicit OptionalStorage(in_place_t, Args &&... args)
  172   T &getValue() LLVM_LVALUE_FUNCTION noexcept {
  176   T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
  181   T &&getValue() && noexcept {
  206       ::new ((void *)std::addressof(value)) T(std::move(y));
  216   optional_detail::OptionalStorage<T> Storage;
  219   using value_type = T;
  224   Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
  227   Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
  230   Optional &operator=(T &&y) {
  241   static inline Optional create(const T *y) {
  245   Optional &operator=(const T &y) {
  253   const T *getPointer() const { return &Storage.getValue(); }
  254   T *getPointer() { return &Storage.getValue(); }
  255   const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  256   T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  260   const T *operator->() const { return getPointer(); }
  261   T *operator->() { return getPointer(); }
  262   const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
  263   T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
  266   constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
  271   T &&getValue() && { return std::move(Storage.getValue()); }
  272   T &&operator*() && { return std::move(Storage.getValue()); }
  275   T getValueOr(U &&value) && {
include/llvm/ADT/StringSwitch.h
   48   Optional<T> Result;
   67   StringSwitch &Case(StringLiteral S, T Value) {
   74   StringSwitch& EndsWith(StringLiteral S, T Value) {
   81   StringSwitch& StartsWith(StringLiteral S, T Value) {
   88   StringSwitch &Cases(StringLiteral S0, StringLiteral S1, T Value) {
   93                       T Value) {
   98                       StringLiteral S3, T Value) {
  103                       StringLiteral S3, StringLiteral S4, T Value) {
  109                       T Value) {
  115                       StringLiteral S6, T Value) {
  121                       StringLiteral S6, StringLiteral S7, T Value) {
  128                       T Value) {
  135                       StringLiteral S9, T Value) {
  140   StringSwitch &CaseLower(StringLiteral S, T Value) {
  147   StringSwitch &EndsWithLower(StringLiteral S, T Value) {
  154   StringSwitch &StartsWithLower(StringLiteral S, T Value) {
  161   StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, T Value) {
  166                            T Value) {
  171                            StringLiteral S3, T Value) {
  176                            StringLiteral S3, StringLiteral S4, T Value) {
  181   R Default(T Value) {
  181   R Default(T Value) {
  188   operator R() {
include/llvm/Analysis/TargetTransformInfo.h
  281   int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
  288   int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
  376                                   Intrinsic::ID IID) const;
  747   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
  988   int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
  995   int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
 1173   virtual int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
 1175   virtual int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
 1188                                           Intrinsic::ID IID) const = 0;
 1260   virtual int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
 1328   virtual int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
 1331   virtual int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
 1417   int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
 1421   int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
 1446                                   Intrinsic::ID IID) const override {
 1617   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
 1745   int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy, ArrayRef<Type *> Tys,
 1750   int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
include/llvm/Analysis/TargetTransformInfoImpl.h
  160                                   Intrinsic::ID IID) const {
  352   unsigned getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
  475   unsigned getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
  480   unsigned getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
  707     if (Intrinsic::ID IID = F->getIntrinsicID()) {
  789   unsigned getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
  833   unsigned getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
include/llvm/Analysis/ValueTracking.h
  188   Intrinsic::ID getIntrinsicForCallSite(ImmutableCallSite ICS,
include/llvm/Analysis/VectorUtils.h
  153 bool isTriviallyVectorizable(Intrinsic::ID ID);
  156 bool hasVectorInstrinsicScalarOpd(Intrinsic::ID ID, unsigned ScalarOpdIdx);
  161 Intrinsic::ID getVectorIntrinsicIDForCall(const CallInst *CI,
include/llvm/CodeGen/BasicTTIImpl.h
  220                                   Intrinsic::ID IID) const {
  306   unsigned getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
  311   unsigned getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
 1060   unsigned getIntrinsicInstrCost(Intrinsic::ID IID, Type *RetTy,
 1169       Intrinsic::ID IID, Type *RetTy, ArrayRef<Type *> Tys, FastMathFlags FMF,
 1330       Intrinsic::ID OverflowOp = IID == Intrinsic::sadd_sat
 1350       Intrinsic::ID OverflowOp = IID == Intrinsic::uadd_sat
include/llvm/CodeGen/GlobalISel/IRTranslator.h
  217                         Intrinsic::ID ID);
  228   unsigned getSimpleIntrinsicOpcode(Intrinsic::ID ID);
  232   bool translateSimpleIntrinsic(const CallInst &CI, Intrinsic::ID ID,
  235   bool translateKnownIntrinsic(const CallInst &CI, Intrinsic::ID ID,
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
  862   MachineInstrBuilder buildIntrinsic(Intrinsic::ID ID, ArrayRef<Register> Res,
  864   MachineInstrBuilder buildIntrinsic(Intrinsic::ID ID, ArrayRef<DstOp> Res,
include/llvm/CodeGen/MachineInstrBuilder.h
  243   const MachineInstrBuilder &addIntrinsicID(Intrinsic::ID ID) const {
include/llvm/CodeGen/MachineOperand.h
  175     Intrinsic::ID IntrinsicID; // For MO_IntrinsicID.
  576   Intrinsic::ID getIntrinsicID() const {
  902   static MachineOperand CreateIntrinsicID(Intrinsic::ID ID) {
include/llvm/IR/CallSite.h
  141   Intrinsic::ID getIntrinsicID() const {
include/llvm/IR/Function.h
  193   Intrinsic::ID getIntrinsicID() const LLVM_READONLY { return IntID; }
  200   static Intrinsic::ID lookupIntrinsicID(StringRef Name);
include/llvm/IR/GlobalValue.h
  162   Intrinsic::ID IntID;
include/llvm/IR/IRBuilder.h
  731   CallInst *CreateUnaryIntrinsic(Intrinsic::ID ID, Value *V,
  737   CallInst *CreateBinaryIntrinsic(Intrinsic::ID ID, Value *LHS, Value *RHS,
  744   CallInst *CreateIntrinsic(Intrinsic::ID ID, ArrayRef<Type *> Types,
  771   CallInst *CreateMaskedIntrinsic(Intrinsic::ID Id, ArrayRef<Value *> Ops,
 1484       Intrinsic::ID ID, Value *L, Value *R, Instruction *FMFSource = nullptr,
 2078       Intrinsic::ID ID, Value *V, Type *DestTy,
include/llvm/IR/InstrTypes.h
 1323   Intrinsic::ID getIntrinsicID() const;
include/llvm/IR/IntrinsicInst.h
   50     Intrinsic::ID getIntrinsicID() const {
include/llvm/IR/Intrinsics.h
   49   StringRef getName(ID id);
   56   std::string getName(ID id, ArrayRef<Type*> Tys);
   59   FunctionType *getType(LLVMContext &Context, ID id,
   63   bool isOverloaded(ID id);
   68   bool isLeaf(ID id);
   71   AttributeList getAttributes(LLVMContext &C, ID id);
   80   Function *getDeclaration(Module *M, ID id, ArrayRef<Type*> Tys = None);
   90   ID getIntrinsicForGCCBuiltin(const char *Prefix, StringRef BuiltinName);
   93   ID getIntrinsicForMSBuiltin(const char *Prefix, StringRef BuiltinName);
  169   void getIntrinsicInfoTableEntries(ID id, SmallVectorImpl<IITDescriptor> &T);
include/llvm/IR/PatternMatch.h
 1691   IntrinsicID_match(Intrinsic::ID IntrID) : ID(IntrID) {}
include/llvm/Support/type_traits.h
   31   using UnderlyingT = typename std::remove_reference<T>::type;
   91     T t;
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  145       std::is_copy_constructible<detail::trivial_helper<T>>::value;
  147       !std::is_copy_constructible<T>::value;
  151       std::is_move_constructible<detail::trivial_helper<T>>::value;
  153       !std::is_move_constructible<T>::value;
  157       is_copy_assignable<detail::trivial_helper<T>>::value;
  159       !is_copy_assignable<T>::value;
  163       is_move_assignable<detail::trivial_helper<T>>::value;
  165       !is_move_assignable<T>::value;
  169       std::is_destructible<detail::trivial_helper<T>>::value;
lib/Analysis/BasicAliasAnalysis.cpp
  811 static bool isIntrinsicCall(const CallBase *Call, Intrinsic::ID IID) {
lib/Analysis/ConstantFolding.cpp
 1685                                          Intrinsic::ID IntrinsicID,
 2024                                          Intrinsic::ID IntrinsicID,
 2277                                          Intrinsic::ID IntrinsicID,
 2372                                         Intrinsic::ID IntrinsicID,
 2390                                         Intrinsic::ID IntrinsicID,
lib/Analysis/InstructionSimplify.cpp
 4856 static bool IsIdempotent(Intrinsic::ID ID) {
 4932   Intrinsic::ID IID = F->getIntrinsicID();
 5004   Intrinsic::ID IID = F->getIntrinsicID();
 5148   Intrinsic::ID IID = F->getIntrinsicID();
lib/Analysis/ObjCARCInstKind.cpp
   88   Intrinsic::ID ID = F->getIntrinsicID();
  229         Intrinsic::ID ID = F->getIntrinsicID();
lib/Analysis/TargetTransformInfo.cpp
  189     Intrinsic::ID IID, Type *RetTy, ArrayRef<const Value *> Arguments,
  226   SmallVectorImpl<int> &OpIndexes, Intrinsic::ID IID) const  {
  464 int TargetTransformInfo::getIntImmCost(Intrinsic::ID IID, unsigned Idx,
  682 int TargetTransformInfo::getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
  691 int TargetTransformInfo::getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
lib/Analysis/ValueTracking.cpp
 2782 Intrinsic::ID llvm::getIntrinsicForCallSite(ImmutableCallSite ICS,
 2922     Intrinsic::ID IID = getIntrinsicForCallSite(Call, TLI);
 3019     Intrinsic::ID IID = getIntrinsicForCallSite(CI, TLI);
lib/Analysis/VectorUtils.cpp
   43 bool llvm::isTriviallyVectorizable(Intrinsic::ID ID) {
   92 bool llvm::hasVectorInstrinsicScalarOpd(Intrinsic::ID ID,
  112 Intrinsic::ID llvm::getVectorIntrinsicIDForCall(const CallInst *CI,
  114   Intrinsic::ID ID = getIntrinsicForCallSite(CI, TLI);
lib/CodeGen/Analysis.cpp
  639     Intrinsic::ID IID = F->getIntrinsicID();
lib/CodeGen/CodeGenPrepare.cpp
  392                                      Intrinsic::ID IID);
 1181                                                  Intrinsic::ID IID) {
 1724   auto IntrinsicID = CountZeros->getIntrinsicID();
lib/CodeGen/ExpandReductions.cpp
   30 unsigned getOpcode(Intrinsic::ID ID) {
   59 RecurrenceDescriptor::MinMaxRecurrenceKind getMRK(Intrinsic::ID ID) {
   91     Intrinsic::ID ID = II->getIntrinsicID();
lib/CodeGen/GCRootLowering.cpp
  136       if (Intrinsic::ID IID = F->getIntrinsicID())
lib/CodeGen/GlobalISel/CombinerHelper.cpp
 1251   Intrinsic::ID ID = (Intrinsic::ID)MI.getIntrinsicID();
lib/CodeGen/GlobalISel/IRTranslator.cpp
 1120                                     Intrinsic::ID ID) {
 1198 unsigned IRTranslator::getSimpleIntrinsicOpcode(Intrinsic::ID ID) {
 1259                                             Intrinsic::ID ID,
 1278 bool IRTranslator::translateKnownIntrinsic(const CallInst &CI, Intrinsic::ID ID,
 1600   Intrinsic::ID ID = Intrinsic::not_intrinsic;
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
  414   Intrinsic::ID ID = MI.getOperand(0).getIntrinsicID();
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  671 MachineInstrBuilder MachineIRBuilder::buildIntrinsic(Intrinsic::ID ID,
  683 MachineInstrBuilder MachineIRBuilder::buildIntrinsic(Intrinsic::ID ID,
lib/CodeGen/HardwareLoops.cpp
  373   Intrinsic::ID ID = UseLoopGuard ?
lib/CodeGen/MIRParser/MIParser.cpp
 2222   Intrinsic::ID ID = Function::lookupIntrinsicID(Name);
lib/CodeGen/MachineOperand.cpp
  926     Intrinsic::ID ID = getIntrinsicID();
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
 1184       Intrinsic::ID IID = EHPtrCall->getIntrinsicID();
 1209         Intrinsic::ID IID = Call->getIntrinsicID();
lib/IR/AutoUpgrade.cpp
   37 static bool UpgradePTESTIntrinsic(Function* F, Intrinsic::ID IID,
   53 static bool UpgradeX86IntrinsicsWith8BitMask(Function *F, Intrinsic::ID IID,
  468       Intrinsic::ID Permil2ID;
  538       static const Intrinsic::ID StoreInts[] = {Intrinsic::arm_neon_vst1,
  543       static const Intrinsic::ID StoreLaneInts[] = {
  603       Intrinsic::ID ID = Intrinsic::not_intrinsic;
  623       Intrinsic::ID ID = IsLifetimeStart ?
  636       Intrinsic::ID ID = IsLifetimeEnd ?
  741       Intrinsic::ID IID = StringSwitch<Intrinsic::ID>(Name)
  832   if (Intrinsic::ID id = F->getIntrinsicID())
 1037   Intrinsic::ID IID;
 1098   Intrinsic::ID IID =
 1127   Intrinsic::ID IID = IsRotateRight ? Intrinsic::fshr : Intrinsic::fshl;
 1197   Intrinsic::ID IID = IsShiftRight ? Intrinsic::fshr : Intrinsic::fshl;
 1362                                     Intrinsic::ID IID) {
 1399   Intrinsic::ID IID;
 1809         Intrinsic::ID IID = Name[18] == 's' ? Intrinsic::x86_avx512_sqrt_ps_512
 1931       Intrinsic::ID IID;
 1946       Intrinsic::ID IID;
 1969       Intrinsic::ID IID;
 2102         Intrinsic::ID IID = IsUnsigned ? Intrinsic::x86_avx512_uitofp_round
 2161       Intrinsic::ID IID = IsCompress ? Intrinsic::x86_avx512_mask_compress
 2731         Intrinsic::ID IID;
 2747         Intrinsic::ID IID;
 2763         Intrinsic::ID IID;
 2779         Intrinsic::ID IID;
 2798       static const Intrinsic::ID MinMaxTbl[2][2] = {
 2802       Intrinsic::ID IID = MinMaxTbl[IsMin][IsDouble];
 2825       Intrinsic::ID IID;
 2893       Intrinsic::ID IID;
 2961       Intrinsic::ID IID;
 3114         Intrinsic::ID IID;
 3169         Intrinsic::ID IID;
 3224         Intrinsic::ID IID;
 3271       Intrinsic::ID IID;
 3299       Intrinsic::ID IID;
 3335       Intrinsic::ID IID;
 3365       Intrinsic::ID IID;
 3391       Intrinsic::ID IID;
 3937   std::pair<const char *, llvm::Intrinsic::ID> RuntimeFuncs[] = {
lib/IR/Core.cpp
 2318 static Intrinsic::ID llvm_map_to_intrinsic_id(unsigned ID) {
 2328   auto IID = llvm_map_to_intrinsic_id(ID);
 2333   auto IID = llvm_map_to_intrinsic_id(ID);
 2341   auto IID = llvm_map_to_intrinsic_id(ID);
 2350   auto IID = llvm_map_to_intrinsic_id(ID);
 2362   auto IID = llvm_map_to_intrinsic_id(ID);
lib/IR/Function.cpp
  547 Intrinsic::ID Function::lookupIntrinsicID(StringRef Name) {
  556   Intrinsic::ID ID = static_cast<Intrinsic::ID>(Idx + Adjust);
  640 StringRef Intrinsic::getName(ID id) {
  647 std::string Intrinsic::getName(ID id, ArrayRef<Type*> Tys) {
  913 void Intrinsic::getIntrinsicInfoTableEntries(ID id,
 1050                                  ID id, ArrayRef<Type*> Tys) {
 1070 bool Intrinsic::isOverloaded(ID id) {
 1076 bool Intrinsic::isLeaf(ID id) {
 1093 Function *Intrinsic::getDeclaration(Module *M, ID id, ArrayRef<Type*> Tys) {
 1390   Intrinsic::ID ID = F->getIntrinsicID();
lib/IR/IRBuilder.cpp
  314 static CallInst *getReductionIntrinsic(IRBuilderBase *Builder, Intrinsic::ID ID,
  367   auto ID = IsSigned ? Intrinsic::experimental_vector_reduce_smax
  373   auto ID = IsSigned ? Intrinsic::experimental_vector_reduce_smin
  505 CallInst *IRBuilderBase::CreateMaskedIntrinsic(Intrinsic::ID Id,
  708  Intrinsic::ID ID = Intrinsic::experimental_gc_result;
  733 CallInst *IRBuilderBase::CreateUnaryIntrinsic(Intrinsic::ID ID, Value *V,
  741 CallInst *IRBuilderBase::CreateBinaryIntrinsic(Intrinsic::ID ID, Value *LHS,
  750 CallInst *IRBuilderBase::CreateIntrinsic(Intrinsic::ID ID,
lib/IR/Instruction.cpp
  611   Intrinsic::ID ID = II->getIntrinsicID();
lib/IR/Instructions.cpp
  291 Intrinsic::ID CallBase::getIntrinsicID() const {
lib/IR/Verifier.cpp
  476   void visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call);
  499   bool performTypeCheck(Intrinsic::ID ID, Function *F, Type *Ty, int VT,
 2975     if (Intrinsic::ID ID = (Intrinsic::ID)F->getIntrinsicID())
 4232 void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
lib/Target/AArch64/AArch64FastISel.cpp
 3411   Intrinsic::ID IID = II->getIntrinsicID();
 3703     Intrinsic::ID IID = II->getIntrinsicID();
lib/Target/AArch64/AArch64ISelLowering.cpp
 1076     Intrinsic::ID IntID = static_cast<Intrinsic::ID>(CN->getZExtValue());
 8832   static const Intrinsic::ID LoadInts[3] = {Intrinsic::aarch64_neon_ld2,
 8974   static const Intrinsic::ID StoreInts[3] = {Intrinsic::aarch64_neon_st2,
12179     Intrinsic::ID Int =
12195   Intrinsic::ID Int =
12224     Intrinsic::ID Int =
12235   Intrinsic::ID Int =
lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  149 int AArch64TTIImpl::getIntImmCost(Intrinsic::ID IID, unsigned Idx,
lib/Target/AArch64/AArch64TargetTransformInfo.h
   77   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
  145 static StringRef intrinsicToAttrName(Intrinsic::ID ID,
  288         Intrinsic::ID IID = Callee->getIntrinsicID();
lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
  478   Intrinsic::ID IntrID = Intrinsic::not_intrinsic;
lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
 1569   Intrinsic::ID TrigIntrin = MI.getOpcode() == AMDGPU::G_FSIN ?
lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
   64   Intrinsic::ID ID = F.getIntrinsicID();
lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
  271   Intrinsic::ID IntrID = Intrinsic::ID::not_intrinsic;
  271   Intrinsic::ID IntrID = Intrinsic::ID::not_intrinsic;
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  594                                             Intrinsic::ID IID) const {
  612   auto IntrID = II->getIntrinsicID();
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  195                                   Intrinsic::ID IID) const;
lib/Target/ARM/ARMCodeGenPrepare.cpp
  428 static Intrinsic::ID getNarrowIntrinsic(Instruction *I) {
lib/Target/ARM/ARMISelLowering.cpp
15416     Intrinsic::ID IntID = static_cast<Intrinsic::ID>(CN->getZExtValue());
16616     Intrinsic::ID Int =
16634   Intrinsic::ID Int = IsAcquire ? Intrinsic::arm_ldaex : Intrinsic::arm_ldrex;
16660     Intrinsic::ID Int =
16673   Intrinsic::ID Int = IsRelease ? Intrinsic::arm_stlex : Intrinsic::arm_strex;
16789   static const Intrinsic::ID LoadInts[3] = {Intrinsic::arm_neon_vld2,
16937   static const Intrinsic::ID StoreInts[3] = {Intrinsic::arm_neon_vst2,
lib/Target/ARM/MVETailPredication.cpp
   97   Intrinsic::ID ID = Call->getIntrinsicID();
  106   Intrinsic::ID ID = Call->getIntrinsicID();
  140       Intrinsic::ID ID = Call->getIntrinsicID();
  456     Intrinsic::ID ID = I->getIntrinsicID();
  484     Intrinsic::ID VCTPID;
lib/Target/Hexagon/HexagonGenExtract.cpp
  210   Intrinsic::ID IntId = (BW == 32) ? Intrinsic::hexagon_S2_extractu
lib/Target/Hexagon/HexagonISelLowering.cpp
 3247   Intrinsic::ID IntID = (SZ == 32) ? Intrinsic::hexagon_L2_loadw_locked
 3271   Intrinsic::ID IntID = (SZ == 32) ? Intrinsic::hexagon_S2_storew_locked
lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
   46     bool intrinsicAlreadySextended(Intrinsic::ID IntID);
   55 bool HexagonOptimizeSZextends::intrinsicAlreadySextended(Intrinsic::ID IntID) {
lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
  133 unsigned HexagonTTIImpl::getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
  138 unsigned HexagonTTIImpl::getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
lib/Target/Hexagon/HexagonTargetTransformInfo.h
  108   unsigned getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
  110   unsigned getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
lib/Target/Lanai/LanaiTargetTransformInfo.h
   73   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
lib/Target/PowerPC/PPCISelLowering.cpp
10023   Intrinsic::ID BifID = Intrinsic::ppc_altivec_vmaxsw;
10260 static Instruction* callIntrinsic(IRBuilder<> &Builder, Intrinsic::ID Id) {
13662       Intrinsic::ID Intr, IntrLD, IntrPerm;
13769       Intrinsic::ID Intr = (isLittleEndian ? Intrinsic::ppc_altivec_lvsr
lib/Target/PowerPC/PPCTargetTransformInfo.cpp
   87 int PPCTTIImpl::getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
lib/Target/PowerPC/PPCTargetTransformInfo.h
   50   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
lib/Target/RISCV/RISCVISelLowering.cpp
 2753 static Intrinsic::ID
 2861   Intrinsic::ID CmpXchgIntrID = Intrinsic::riscv_masked_cmpxchg_i32;
lib/Target/RISCV/RISCVTargetTransformInfo.cpp
   88 int RISCVTTIImpl::getIntImmCost(Intrinsic::ID IID, unsigned Idx,
lib/Target/RISCV/RISCVTargetTransformInfo.h
   46   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  183 int SystemZTTIImpl::getIntImmCost(Intrinsic::ID IID, unsigned Idx,
 1123 static int getVectorIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy) {
 1129 int SystemZTTIImpl::getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
 1138 int SystemZTTIImpl::getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
lib/Target/SystemZ/SystemZTargetTransformInfo.h
   44   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
  101   int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
  104   int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
lib/Target/X86/X86TargetTransformInfo.cpp
 1877 int X86TTIImpl::getIntrinsicInstrCost(Intrinsic::ID IID, Type *RetTy,
 2281 int X86TTIImpl::getIntrinsicInstrCost(Intrinsic::ID IID, Type *RetTy,
 3057 int X86TTIImpl::getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
lib/Target/X86/X86TargetTransformInfo.h
  148   int getIntrinsicInstrCost(Intrinsic::ID IID, Type *RetTy,
  151   int getIntrinsicInstrCost(Intrinsic::ID IID, Type *RetTy,
  184   int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
  109   Intrinsic::ID IID = matchRotate(P0, RotSrc, RotAmt);
lib/Transforms/Coroutines/CoroInstr.h
  101     auto ID = I->getIntrinsicID();
  241     auto ID = I->getIntrinsicID();
lib/Transforms/Coroutines/Coroutines.cpp
  351   switch (auto IdIntrinsic = Id->getIntrinsicID()) {
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
 2084   Intrinsic::ID IID = IsFshl ? Intrinsic::fshl : Intrinsic::fshr;
lib/Transforms/InstCombine/InstCombineCalls.cpp
 1192     Intrinsic::ID ID = IsTZ ? Intrinsic::ctlz : Intrinsic::cttz;
 1529     Optional<Intrinsic::ID> IID;
 1538     SimplifyAction(Intrinsic::ID IID, FtzRequirementTy FtzReq)
 1829           Intrinsic::ID MemCpyID =
 1882   Intrinsic::ID IID = II->getIntrinsicID();
 2168       Intrinsic::ID NewIID;
 3749       Intrinsic::ID NewIID = CmpInst::isFPPredicate(SrcPred) ?
lib/Transforms/InstCombine/InstCombineCasts.cpp
  571   Intrinsic::ID IID = IsFshl ? Intrinsic::fshl : Intrinsic::fshr;
lib/Transforms/InstCombine/InstCombineSelect.cpp
 2063   Intrinsic::ID IntrinsicID;
 2185   Intrinsic::ID IID = IsFshl ? Intrinsic::fshl : Intrinsic::fshr;
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
 1024   auto IID = II->getIntrinsicID();
lib/Transforms/Instrumentation/AddressSanitizer.cpp
 1043     Intrinsic::ID ID = II.getIntrinsicID();
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 2741   Intrinsic::ID getSignedPackIntrinsic(Intrinsic::ID id) {
 2741   Intrinsic::ID getSignedPackIntrinsic(Intrinsic::ID id) {
lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
  134   Function *getIntrinsicEntryPoint(Function *&Decl, Intrinsic::ID IntID) {
lib/Transforms/Scalar/InferAddressSpaces.cpp
  286   auto IID = II->getIntrinsicID();
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  249   void transformLoopToCountable(Intrinsic::ID IntrinID, BasicBlock *PreCondBB,
 1420                                       Intrinsic::ID &IntrinID, Value *&InitX,
 1499   Intrinsic::ID IntrinID;
 1649                                     Intrinsic::ID IID) {
 1693     Intrinsic::ID IntrinID, BasicBlock *Preheader, Instruction *CntInst,
lib/Transforms/Scalar/Scalarizer.cpp
  481 static bool isTriviallyScalariable(Intrinsic::ID ID) {
  487                                                Intrinsic::ID ID,
  503   Intrinsic::ID ID = F->getIntrinsicID();
lib/Transforms/Scalar/SpeculateAroundPHIs.cpp
  277     Intrinsic::ID IID = Intrinsic::not_intrinsic;
lib/Transforms/Utils/CodeExtractor.cpp
  175         auto IID = F->getIntrinsicID();
lib/Transforms/Utils/Local.cpp
 2031           auto IntrinsicID = F->getIntrinsicID();
 2524     if (auto IID = F->getIntrinsicID())
 2855   Intrinsic::ID Intrin;
lib/Transforms/Utils/SimplifyCFG.cpp
 3950     Intrinsic::ID IntrinsicID = II->getIntrinsicID();
lib/Transforms/Utils/SimplifyLibCalls.cpp
 1216 static Value *replaceUnaryCall(CallInst *CI, IRBuilder<> &B, Intrinsic::ID IID) {
 1298     Intrinsic::ID IID = CalleeFn->getIntrinsicID();
 1459       Intrinsic::ID ID;
 1805   Intrinsic::ID IID = Callee->getName().startswith("fmin") ? Intrinsic::minnum
 1815   Intrinsic::ID LogID = LogFn->getIntrinsicID();
 1919   Intrinsic::ID ArgID = Arg->getIntrinsicID();
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  705         Intrinsic::ID IntrinID = getVectorIntrinsicIDForCall(CI, TLI);
lib/Transforms/Vectorize/LoopVectorize.cpp
 3266   Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
 4273     Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
 6892     Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
 6903       Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
lib/Transforms/Vectorize/SLPVectorizer.cpp
  453     Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
 2693       Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
 3196       Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
 4113       Intrinsic::ID IID  = Intrinsic::not_intrinsic;
 4136       Intrinsic::ID ID = getVectorIntrinsicIDForCall(CI, TLI);
tools/clang/lib/CodeGen/CGBuiltin.cpp
  461                                           const llvm::Intrinsic::ID IntrinsicID,
  536   Intrinsic::ID inst = IsStart ? Intrinsic::vastart : Intrinsic::vaend;
 3179     llvm::Intrinsic::ID IntrinsicId;
 3243     llvm::Intrinsic::ID IntrinsicId;
 3327     llvm::Intrinsic::ID IntrinsicId;
 4134   Intrinsic::ID IntrinsicID = Intrinsic::not_intrinsic;
 6263   Intrinsic::ID CRCIntrinsicID = Intrinsic::not_intrinsic;
 6794   Intrinsic::ID IRIntr;
 7274   Intrinsic::ID CRCIntrinsicID = Intrinsic::not_intrinsic;
 7306   Intrinsic::ID MTEIntrinsicID = Intrinsic::not_intrinsic;
 9560   Intrinsic::ID IID = IsCompress ? Intrinsic::x86_avx512_mask_compress
 9752     Intrinsic::ID IID = IsSigned ? Intrinsic::x86_avx512_sitofp_round
 9788   Intrinsic::ID IID = Intrinsic::not_intrinsic;
 9904     Intrinsic::ID IID = Ops[0]->getType()->getPrimitiveSizeInBits() == 32 ?
 9964   Intrinsic::ID IID;
 9997   Intrinsic::ID IID =
10335     Intrinsic::ID ID;
10654     Intrinsic::ID IID;
10762     Intrinsic::ID IID;
10941     Intrinsic::ID IID;
11488     Intrinsic::ID IID;
11528     Intrinsic::ID IID;
11643       Intrinsic::ID IID = BuiltinID == X86::BI__builtin_ia32_sqrtsd_round_mask ?
11666         Intrinsic::ID IID = BuiltinID == X86::BI__builtin_ia32_sqrtps512 ?
11828     Intrinsic::ID ID;
11860     Intrinsic::ID IID;
11894     Intrinsic::ID ID;
11928     Intrinsic::ID ID;
11965     Intrinsic::ID ID;
11989     Intrinsic::ID ID;
12148     Intrinsic::ID IID = Intrinsic::x86_avx512bf16_mask_cvtneps2bf16_128;
12156     Intrinsic::ID IID;
12386   Intrinsic::ID ID = Intrinsic::not_intrinsic;
12971     Intrinsic::ID Intrin = BuiltinID == AMDGPU::BI__builtin_amdgcn_ds_append ?
13177     Intrinsic::ID ID = Intrinsic::not_intrinsic;
13223     Intrinsic::ID ID = Intrinsic::not_intrinsic;
13253     Intrinsic::ID ID = Intrinsic::not_intrinsic;
14450   Intrinsic::ID ID = Intrinsic::not_intrinsic;
tools/clang/lib/CodeGen/CGDeclCXX.cpp
  160   llvm::Intrinsic::ID InvStartID = llvm::Intrinsic::invariant_start;
tools/clang/lib/CodeGen/CGExpr.cpp
 3302 llvm::CallInst *CodeGenFunction::EmitTrapCall(llvm::Intrinsic::ID IntrID) {
tools/clang/lib/CodeGen/CGExprScalar.cpp
 3414       llvm::Intrinsic::ID IID = ResultFixedSema.isSigned()
 3425       llvm::Intrinsic::ID IID = ResultFixedSema.isSigned()
 3684 static llvm::Intrinsic::ID GetIntrinsic(IntrinsicType IT,
 3751       llvm::Intrinsic::ID ID = llvm::Intrinsic::not_intrinsic;
tools/clang/lib/CodeGen/CGObjC.cpp
 1985     llvm::Function *&fn, llvm::Intrinsic::ID IntID,
 2011                                          llvm::Intrinsic::ID IntID) {
 2036                                           llvm::Intrinsic::ID IntID,
 2062                                  llvm::Intrinsic::ID IntID) {
tools/clang/lib/CodeGen/CodeGenFunction.h
 4131   llvm::CallInst *EmitTrapCall(llvm::Intrinsic::ID IntrID);
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1795   if (llvm::Intrinsic::ID IID = F->getIntrinsicID()) {
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
   98     move(_Tp&& __t) noexcept
  136     inline _GLIBCXX17_CONSTEXPR _Tp*
  137     addressof(_Tp& __r) noexcept
  143     const _Tp* addressof(const _Tp&&) = delete;
  143     const _Tp* addressof(const _Tp&&) = delete;
usr/include/c++/7.4.0/bits/stl_pair.h
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  114 	return __and_<is_constructible<_T1, _U1&&>,
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  121 	return __and_<is_convertible<_U1&&, _T1>,
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  147 	return __and_<is_constructible<_T1, _U1&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  311        constexpr pair(_U1&& __x, const _T2& __y)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  326        : first(__x), second(std::forward<_U2>(__y)) { }
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_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
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  825     : public __is_destructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1526 	static void __test_aux(_To1);
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 2157     { typedef _Tp type; };
utils/unittest/googletest/include/gtest/gtest-printers.h
  223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
  276   static ::std::string Format(const ToPrint& value) {
  351     const T1& value, const T2& /* other_operand */) {
  351     const T1& value, const T2& /* other_operand */) {
  352   return FormatForComparison<T1, T2>::Format(value);
  352   return FormatForComparison<T1, T2>::Format(value);
  366 void UniversalPrint(const T& value, ::std::ostream* os);
  373                     const C& container, ::std::ostream* os) {
  439                     const T& value, ::std::ostream* os) {
  455 void PrintTo(const T& value, ::std::ostream* os) {
  478   DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
  699   static void Print(const T& value, ::std::ostream* os) {
  784   static void Print(const T& value, ::std::ostream* os) {
  856   typedef T T1;
  983   internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h
 1377                                    const T1& lhs, const T2& rhs) {
 1377                                    const T1& lhs, const T2& rhs) {
 1389                             const T1& lhs,
 1390                             const T2& rhs) {
 1419                                  const T1& lhs,
 1420                                  const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   37   return StreamSwitch<T>::printable(V);
   54   const T& V;
   55   friend std::ostream &operator<<(std::ostream &S, const RawStreamProxy<T> &V) {
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }
utils/unittest/googletest/include/gtest/internal/gtest-internal.h
   94 ::std::string PrintToString(const T& value);