| /freebsd/contrib/llvm-project/clang/lib/CIR/Lowering/DirectToLLVM/ |
| H A D | LowerToLLVM.h | 20 namespace cir { 30 mlir::LLVM::Linkage convertLinkage(cir::GlobalLinkageKind linkage); 33 cir::SideEffect sideEffect, 38 : public mlir::OpConversionPattern<cir::AssumeOp> { 40 using mlir::OpConversionPattern<cir::AssumeOp>::OpConversionPattern; 43 matchAndRewrite(cir::AssumeOp op, OpAdaptor, 48 : public mlir::OpConversionPattern<cir::BitClrsbOp> { 50 using mlir::OpConversionPattern<cir::BitClrsbOp>::OpConversionPattern; 53 matchAndRewrite(cir::BitClrsbOp op, OpAdaptor, 58 : public mlir::OpConversionPattern<cir::BitClzOp> { [all …]
|
| H A D | LowerToLLVM.cpp | 44 using namespace cir; 47 namespace cir { namespace 59 .Case<cir::VectorType, mlir::VectorType>( in elementTypeIfVector() 73 if (isa<cir::BoolType>(type)) { in convertTypeForMemory() 101 lowerCIRVisibilityToLLVMVisibility(cir::VisibilityKind visibilityKind) { in lowerCIRVisibilityToLLVMVisibility() 103 case cir::VisibilityKind::Default: in lowerCIRVisibilityToLLVMVisibility() 105 case cir::VisibilityKind::Hidden: in lowerCIRVisibilityToLLVMVisibility() 107 case cir::VisibilityKind::Protected: in lowerCIRVisibilityToLLVMVisibility() 117 cir::LoadOp op, mlir::Value value) { in emitFromMemory() 120 if (auto boolTy = mlir::dyn_cast<cir::BoolType>(op.getType())) { in emitFromMemory() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/CIR/CodeGen/ |
| H A D | CIRGenBuilder.h | 25 class CIRGenBuilderTy : public cir::CIRBaseBuilderTy { 45 auto arrayTy = cir::ArrayType::get(eltTy, finalSize); in getString() 46 return cir::ZeroAttr::get(arrayTy); in getString() 53 cir::ArrayType::get(eltTy, finalSize - trailingZerosNum); in getString() 54 auto fullArrayTy = cir::ArrayType::get(eltTy, finalSize); in getString() 55 return cir::ConstArrayAttr::get( in getString() 74 cir::LongDoubleType getLongDoubleTy(const llvm::fltSemantics &format) const { in getLongDoubleTy() 76 return cir::LongDoubleType::get(getContext(), typeCache.DoubleTy); in getLongDoubleTy() 78 return cir::LongDoubleType::get(getContext(), typeCache.FP80Ty); in getLongDoubleTy() 80 return cir::LongDoubleType::get(getContext(), typeCache.FP128Ty); in getLongDoubleTy() [all …]
|
| H A D | CIRGenTypeCache.h | 28 cir::VoidType VoidTy; 31 cir::IntType SInt8Ty; 32 cir::IntType SInt16Ty; 33 cir::IntType SInt32Ty; 34 cir::IntType SInt64Ty; 35 cir::IntType SInt128Ty; 38 cir::IntType UInt8Ty; 39 cir::IntType UInt16Ty; 40 cir::IntType UInt32Ty; 41 cir::IntType UInt64Ty; [all …]
|
| H A D | CIRGenModule.cpp | 70 VoidTy = cir::VoidType::get(&getMLIRContext()); 71 VoidPtrTy = cir::PointerType::get(VoidTy); 72 SInt8Ty = cir::IntType::get(&getMLIRContext(), 8, /*isSigned=*/true); 73 SInt16Ty = cir::IntType::get(&getMLIRContext(), 16, /*isSigned=*/true); 74 SInt32Ty = cir::IntType::get(&getMLIRContext(), 32, /*isSigned=*/true); 75 SInt64Ty = cir::IntType::get(&getMLIRContext(), 64, /*isSigned=*/true); 76 SInt128Ty = cir::IntType::get(&getMLIRContext(), 128, /*isSigned=*/true); 77 UInt8Ty = cir::IntType::get(&getMLIRContext(), 8, /*isSigned=*/false); 78 UInt16Ty = cir::IntType::get(&getMLIRContext(), 16, /*isSigned=*/false); 79 UInt32Ty = cir::IntType::get(&getMLIRContext(), 32, /*isSigned=*/false); [all …]
|
| H A D | CIRGenCall.cpp | 31 assert(!cir::MissingFeatures::opCallCIRGenFuncInfoParamInfo()); in create() 40 assert(!cir::MissingFeatures::opCallCIRGenFuncInfoExtParamInfo()); in create() 45 cir::FuncType CIRGenTypes::getFunctionType(const CIRGenFunctionInfo &fi) { in getFunctionType() 53 return cir::FuncType::get(argTypes, in getFunctionType() 59 assert(!cir::MissingFeatures::opCallVirtual()); in prepareConcreteCallee() 88 attrs.set(cir::CIRDialect::getNoThrowAttrName(), in addAttributesFromFunctionProtoType() 95 assert(!cir::MissingFeatures::opCallCallConv()); in constructAttributeList() 96 auto sideEffect = cir::SideEffect::All; in constructAttributeList() 105 attrs.set(cir::CIRDialect::getNoThrowAttrName(), in constructAttributeList() 111 assert(!cir::MissingFeatures::opCallAttrs()); in constructAttributeList() [all …]
|
| H A D | CIRGenBuilder.cpp | 16 const auto arrayPtrTy = mlir::cast<cir::PointerType>(arrayPtr.getType()); in maybeBuildArrayDecay() 17 const auto arrayTy = mlir::dyn_cast<cir::ArrayType>(arrayPtrTy.getPointee()); in maybeBuildArrayDecay() 20 const cir::PointerType flatPtrTy = getPointerTo(arrayTy.getElementType()); in maybeBuildArrayDecay() 21 return create<cir::CastOp>(loc, flatPtrTy, cir::CastKind::array_to_ptrdecay, in maybeBuildArrayDecay() 39 return create<cir::PtrStrideOp>(arrayLocEnd, flatPtrTy, basePtr, idx); in getArrayElement() 42 cir::ConstantOp CIRGenBuilderTy::getConstInt(mlir::Location loc, in getConstInt() 46 cir::IntType t = isSigned ? getSIntNTy(width) : getUIntNTy(width); in getConstInt() 51 cir::ConstantOp CIRGenBuilderTy::getConstInt(mlir::Location loc, in getConstInt() 56 cir::ConstantOp CIRGenBuilderTy::getConstInt(mlir::Location loc, mlir::Type t, in getConstInt() 58 assert(mlir::isa<cir::IntType>(t) && "expected cir::IntType"); in getConstInt() [all …]
|
| H A D | CIRGenModule.h | 105 const cir::CIRDataLayout getDataLayout() const { in getDataLayout() 108 return cir::CIRDataLayout(theModule); in getDataLayout() 117 llvm::DenseMap<const Decl *, cir::GlobalOp> staticLocalDeclMap; 121 cir::GlobalOp getStaticLocalDeclAddress(const VarDecl *d) { in getStaticLocalDeclAddress() 125 void setStaticLocalDeclAddress(const VarDecl *d, cir::GlobalOp c) { in setStaticLocalDeclAddress() 129 cir::GlobalOp getOrCreateStaticVarDecl(const VarDecl &d, 130 cir::GlobalLinkageKind linkage); 134 cir::GlobalOp getOrCreateCIRGlobal(llvm::StringRef mangledName, mlir::Type ty, 138 cir::GlobalOp getOrCreateCIRGlobal(const VarDecl *d, mlir::Type ty, 141 static cir::GlobalOp createGlobalOp(CIRGenModule &cgm, mlir::Location loc, [all …]
|
| H A D | CIRGenExprScalar.cpp | 51 auto lhsci = dyn_cast<cir::ConstantOp>(lhs.getDefiningOp()); in mayHaveIntegerOverflow() 52 auto rhsci = dyn_cast<cir::ConstantOp>(rhs.getDefiningOp()); in mayHaveIntegerOverflow() 56 assert(!cir::MissingFeatures::mayHaveIntegerOverflow()); in mayHaveIntegerOverflow() 103 if (mlir::isa<cir::IntType>(dstTy)) in maybePromoteBoolResult() 105 if (mlir::isa<cir::BoolType>(dstTy)) in maybePromoteBoolResult() 159 return builder.create<cir::ConstantOp>( in VisitIntegerLiteral() 160 cgf.getLoc(e->getExprLoc()), cir::IntAttr::get(type, e->getValue())); in VisitIntegerLiteral() 165 assert(mlir::isa<cir::FPTypeInterface>(type) && in VisitFloatingLiteral() 167 return builder.create<cir::ConstantOp>( in VisitFloatingLiteral() 168 cgf.getLoc(e->getExprLoc()), cir::FPAttr::get(type, e->getValue())); in VisitFloatingLiteral() [all …]
|
| H A D | CIRGenExpr.cpp | 31 using namespace cir; 48 auto fieldPtr = cir::PointerType::get(fieldType); in emitAddrOfFieldStorage() 52 cir::GetMemberOp memberAddr = builder.createGetMember( in emitAddrOfFieldStorage() 101 assert(!cir::MissingFeatures::opTBAA()); in emitPointerWithAlignment() 102 assert(!cir::MissingFeatures::addressIsKnownNonNull()); in emitPointerWithAlignment() 221 const mlir::Value newVector = builder.create<cir::VecInsertOp>( in emitStoreThroughLValue() 236 assert(!cir::MissingFeatures::opLoadStoreObjC()); in emitStoreThroughLValue() 247 assert(!cir::MissingFeatures::opGlobalThreadLocal()); in emitGlobalVarDeclLValue() 261 assert(!cir::MissingFeatures::addressSpace()); in emitGlobalVarDeclLValue() 263 cir::PointerType realPtrTy = cgf.getBuilder().getPointerTo(realVarTy); in emitGlobalVarDeclLValue() [all …]
|
| H A D | CIRGenBuiltin.cpp | 40 assert(!cir::MissingFeatures::builtinCheckKind()); in emitBuiltinBitOp() 46 if constexpr (std::is_same_v<Op, cir::BitClzOp> || in emitBuiltinBitOp() 47 std::is_same_v<Op, cir::BitCtzOp>) in emitBuiltinBitOp() 85 assert(!cir::MissingFeatures::builtinCallF128()); in emitBuiltinExpr() 93 assert(!cir::MissingFeatures::builtinCallMathErrno()); in emitBuiltinExpr() 94 assert(!cir::MissingFeatures::builtinCall()); in emitBuiltinExpr() 106 builder.create<cir::AssumeOp>(loc, argValue); in emitBuiltinExpr() 142 return emitBuiltinBitOp<cir::BitClrsbOp>(*this, e); in emitBuiltinExpr() 149 assert(!cir::MissingFeatures::builtinCheckKind()); in emitBuiltinExpr() 150 return emitBuiltinBitOp<cir::BitCtzOp>(*this, e, /*poisonZero=*/true); in emitBuiltinExpr() [all …]
|
| H A D | CIRGenDecl.cpp | 107 assert(!cir::MissingFeatures::opAllocaCaptureByInit()); in emitAutoVarInit() 139 if (constant && !mlir::isa<cir::ZeroAttr>(constant) && in emitAutoVarInit() 159 auto allocaOp = dyn_cast_or_null<cir::AllocaOp>(val.getDefiningOp()); in emitAutoVarInit() 189 assert(!cir::MissingFeatures::opAllocaPreciseLifetime()); in emitAutoVarCleanups() 220 cir::GlobalLinkageKind linkage = in emitVarDecl() 264 cir::GlobalOp 266 cir::GlobalLinkageKind linkage) { in getOrCreateStaticVarDecl() 271 if (cir::GlobalOp existingGV = getStaticLocalDeclAddress(&d)) in getOrCreateStaticVarDecl() 284 assert(!cir::MissingFeatures::addressSpace()); in getOrCreateStaticVarDecl() 289 assert(!cir::MissingFeatures::addressSpace()); in getOrCreateStaticVarDecl() [all …]
|
| H A D | CIRGenStmt.cpp | 24 using namespace cir; 38 builder.create<cir::ScopeOp>( in emitCompoundStmt() 51 assert(!cir::MissingFeatures::generateDebugInfo()); in emitStopPoint() 344 assert(!cir::MissingFeatures::emitCondLikelihoodViaExpectIntrinsic()); in emitIfStmt() 345 assert(!cir::MissingFeatures::incrementProfileCounter()); in emitIfStmt() 353 builder.create<cir::ScopeOp>( in emitIfStmt() 398 case cir::TEK_Scalar: in emitReturnStmt() 412 builder.create<cir::BrOp>(loc, retBlock); in emitReturnStmt() 524 cir::CaseOpKind kind; in emitCaseStmt() 533 value = builder.getArrayAttr({cir::IntAttr::get(condType, intVal), in emitCaseStmt() [all …]
|
| H A D | CIRGenFunction.cpp | 34 cir::TypeEvaluationKind CIRGenFunction::getEvaluationKind(QualType type) { in getEvaluationKind() 68 return cir::TEK_Scalar; in getEvaluationKind() 72 return cir::TEK_Complex; in getEvaluationKind() 82 return cir::TEK_Aggregate; in getEvaluationKind() 217 assert(!cir::MissingFeatures::cgfSymbolTable()); in declare() 219 auto allocaOp = cast<cir::AllocaOp>(addrVal.getDefiningOp()); in declare() 264 builder.create<cir::BrOp>(*returnLoc, returnBlock); in cleanup() 274 !retVal ? builder.create<cir::YieldOp>(localScope->endLoc) in cleanup() 275 : builder.create<cir::YieldOp>(localScope->endLoc, retVal); in cleanup() 280 cir::ReturnOp CIRGenFunction::LexicalScope::emitReturn(mlir::Location loc) { in emitReturn() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/CIR/Dialect/IR/ |
| H A D | CIRDialect.cpp | 29 using namespace cir; 39 if (auto recordType = dyn_cast<cir::RecordType>(type)) { in getAlias() 47 if (auto intType = dyn_cast<cir::IntType>(type)) { in getAlias() 56 if (auto voidType = dyn_cast<cir::VoidType>(type)) { in getAlias() 65 if (auto boolAttr = mlir::dyn_cast<cir::BoolAttr>(attr)) { in getAlias() 69 if (auto bitfield = mlir::dyn_cast<cir::BitfieldInfoAttr>(attr)) { in getAlias() 78 void cir::CIRDialect::initialize() { in initialize() 88 Operation *cir::CIRDialect::materializeConstant(mlir::OpBuilder &builder, in materializeConstant() 92 return builder.create<cir::ConstantOp>(loc, type, in materializeConstant() 116 template <> struct EnumTraits<cir::Ty> { \ [all …]
|
| H A D | CIRMemorySlot.cpp | 31 llvm::SmallVector<MemorySlot> cir::AllocaOp::getPromotableSlots() { in getPromotableSlots() 35 Value cir::AllocaOp::getDefaultValue(const MemorySlot &slot, in getDefaultValue() 37 return builder.create<cir::ConstantOp>(getLoc(), in getDefaultValue() 38 cir::UndefAttr::get(slot.elemType)); in getDefaultValue() 41 void cir::AllocaOp::handleBlockArgument(const MemorySlot &slot, in handleBlockArgument() 46 cir::AllocaOp::handlePromotionComplete(const MemorySlot &slot, in handlePromotionComplete() 58 bool cir::LoadOp::loadsFrom(const MemorySlot &slot) { in loadsFrom() 62 bool cir::LoadOp::storesTo(const MemorySlot &slot) { return false; } in storesTo() 64 Value cir::LoadOp::getStored(const MemorySlot &slot, OpBuilder &builder, in getStored() 69 bool cir::LoadOp::canUsesBeRemoved( in canUsesBeRemoved() [all …]
|
| /freebsd/contrib/llvm-project/clang/include/clang/CIR/Dialect/Builder/ |
| H A D | CIRBaseBuilder.h | 26 namespace cir { 66 return create<cir::ConstantOp>(loc, cir::IntAttr::get(typ, val)); in getConstAPInt() 69 cir::ConstantOp getConstant(mlir::Location loc, mlir::TypedAttr attr) { in getConstant() 70 return create<cir::ConstantOp>(loc, attr); in getConstant() 73 cir::ConstantOp getConstantInt(mlir::Location loc, mlir::Type ty, in getConstantInt() 75 return getConstant(loc, cir::IntAttr::get(ty, value)); in getConstantInt() 79 cir::ConstantOp getNullValue(mlir::Type ty, mlir::Location loc) { in getNullValue() 84 assert(mlir::isa<cir::PointerType>(t) && "expected cir.ptr"); in getConstNullPtrAttr() 89 if (mlir::isa<cir::IntType>(ty)) in getZeroInitAttr() 90 return cir::IntAttr::get(ty, 0); in getZeroInitAttr() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/CIR/Dialect/Transforms/ |
| H A D | FlattenCFG.cpp | 27 using namespace cir; 37 rewriter.replaceOpWithNewOp<cir::BrOp>(op, dest); in lowerTerminator() 59 struct CIRIfFlattening : public mlir::OpRewritePattern<cir::IfOp> { 63 matchAndRewrite(cir::IfOp ifOp, in matchAndRewrite() 84 dyn_cast<cir::YieldOp>(thenAfterBody->getTerminator())) { in matchAndRewrite() 85 rewriter.replaceOpWithNewOp<cir::BrOp>(thenYieldOp, thenYieldOp.getArgs(), in matchAndRewrite() 103 rewriter.create<cir::BrCondOp>(loc, ifOp.getCondition(), thenBeforeBody, in matchAndRewrite() 109 dyn_cast<cir::YieldOp>(elseAfterBody->getTerminator())) { in matchAndRewrite() 110 rewriter.replaceOpWithNewOp<cir::BrOp>( in matchAndRewrite() 120 class CIRScopeOpFlattening : public mlir::OpRewritePattern<cir::ScopeOp> { [all …]
|
| H A D | CIRSimplify.cpp | 22 using namespace cir; 63 cir::YieldOp trueBranchYieldOp = in matchAndRewrite() 64 mlir::cast<cir::YieldOp>(op.getTrueRegion().front().getTerminator()); in matchAndRewrite() 65 cir::YieldOp falseBranchYieldOp = in matchAndRewrite() 66 mlir::cast<cir::YieldOp>(op.getFalseRegion().front().getTerminator()); in matchAndRewrite() 74 rewriter.replaceOpWithNewOp<cir::SelectOp>(op, op.getCond(), trueValue, in matchAndRewrite() 99 auto yieldOp = mlir::cast<cir::YieldOp>(onlyBlock.getTerminator()); in isSimpleTernaryBranch() 100 auto yieldValueDefOp = mlir::dyn_cast_if_present<cir::ConstantOp>( in isSimpleTernaryBranch() 132 mlir::dyn_cast_if_present<cir::ConstantOp>(trueValueOp); in matchAndRewrite() 134 mlir::dyn_cast_if_present<cir::ConstantOp>(falseValueOp); in matchAndRewrite() [all …]
|
| /freebsd/contrib/llvm-project/clang/include/clang/CIR/Dialect/IR/ |
| H A D | CIROps.td | 40 // LLVMLoweringInfo is used by cir-tablegen to generate LLVM lowering logic 56 // cir-tablegen will generate LLVM lowering code for the FooOp similar to the 60 // : public mlir::OpConversionPattern<cir::FooOp> { 62 // using OpConversionPattern<cir::FooOp>::OpConversionPattern; 65 // cir::FooOp op, 172 Note: not all conversions are implemented using `cir.cast`. For instance, 173 lvalue-to-rvalue conversion is modeled as a `cir.load` instead. Currently 204 %4 = cir.cast(int_to_bool, %3 : i32), !cir.bool 206 %x = cir.cast(array_to_ptrdecay, %0 : !cir.ptr<!cir.array<i32 x 10>>), !cir.ptr<i32> 236 %3 = cir.const 0 : i32 [all …]
|
| H A D | CIRTypeConstraints.td | 50 def CIR_AnyBoolType : CIR_TypeBase<"::cir::BoolType", "boolean type">; 56 def CIR_AnyIntType : CIR_TypeBase<"::cir::IntType", "integer type">; 67 : CPred<"::cir::isValidFundamentalIntWidth($_self.getWidth())">; 135 def CIR_AnySingleType : CIR_TypeBase<"::cir::SingleType", "single float type">; 138 def CIR_AnyDoubleType : CIR_TypeBase<"::cir::DoubleType", "double float type">; 141 def CIR_AnyFP16Type : CIR_TypeBase<"::cir::FP16Type", "f16 type">; 142 def CIR_AnyBFloat16Type : CIR_TypeBase<"::cir::BF16Type", "bf16 type">; 143 def CIR_AnyFP80Type : CIR_TypeBase<"::cir::FP80Type", "f80 type">; 144 def CIR_AnyFP128Type : CIR_TypeBase<"::cir::FP128Type", "f128 type">; 145 def CIR_AnyLongDoubleType : CIR_TypeBase<"::cir::LongDoubleType", [all …]
|
| H A D | CIRAttrs.td | 47 let cppNamespace = "::cir"; 52 let cppNamespace = "::cir"; 76 The `#cir.opt_info` attribute holds optimization related information. For 104 #cir.opt_info<level = 2, size = 0> // -O2 121 let summary = "Represent true/false for !cir.bool types"; 127 "", "cir::BoolType">:$type, 132 return $_get($_ctxt, cir::BoolType::get($_ctxt), value); 176 AttributeSelfTypeParameter<"", "cir::IntTypeInterface">:$type, 183 auto intType = mlir::cast<cir::IntTypeInterface>(type); 188 auto intType = mlir::cast<cir::IntTypeInterface>(type); [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/CIR/Dialect/OpenACC/ |
| H A D | CIROpenACCTypeInterfaces.cpp | 17 namespace cir::acc { namespace 24 if (auto allocaOp = mlir::dyn_cast<cir::AllocaOp>(*op)) in getBaseType() 28 if (auto castOp = mlir::dyn_cast<cir::CastOp>(*op)) in getBaseType() 32 if (auto ptrStrideOp = mlir::dyn_cast<cir::PtrStrideOp>(*op)) in getBaseType() 35 if (auto getMemberOp = mlir::dyn_cast<cir::GetMemberOp>(*op)) in getBaseType() 38 return mlir::cast<cir::PointerType>(varPtr.getType()).getPointee(); in getBaseType() 43 OpenACCPointerLikeModel<cir::PointerType>::getPointeeTypeCategory( in getPointeeTypeCategory() 52 mlir::isa<cir::BoolType>(eleTy) || mlir::isa<cir::PointerType>(eleTy)) in getPointeeTypeCategory() 54 if (mlir::isa<cir::ArrayType>(eleTy)) in getPointeeTypeCategory() 56 if (mlir::isa<cir::RecordType>(eleTy)) in getPointeeTypeCategory() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/CIR/Lowering/ |
| H A D | LoweringHelpers.cpp | 18 convertStringAttrToDenseElementsAttr(cir::ConstArrayAttr attr, in convertStringAttrToDenseElementsAttr() 26 const auto arrayTy = mlir::cast<cir::ArrayType>(attr.getType()); in convertStringAttrToDenseElementsAttr() 28 assert(!cir::MissingFeatures::stringTypeWithDifferentArraySize()); in convertStringAttrToDenseElementsAttr() 36 assert(mlir::isa<cir::IntType>(ty) && "expected int type"); in getZeroInitFromType() 37 const auto intTy = mlir::cast<cir::IntType>(ty); in getZeroInitFromType() 42 assert((mlir::isa<cir::SingleType, cir::DoubleType>(ty)) && in getZeroInitFromType() 45 if (ty.isF32() || mlir::isa<cir::SingleType>(ty)) in getZeroInitFromType() 48 if (ty.isF64() || mlir::isa<cir::DoubleType>(ty)) in getZeroInitFromType() 61 cir::ConstArrayAttr attr, llvm::SmallVectorImpl<StorageTy> &values, in convertToDenseElementsAttrImpl() 65 if (auto arrayType = mlir::dyn_cast<cir::ArrayType>(attr.getType())) { in convertToDenseElementsAttrImpl() [all …]
|
| /freebsd/contrib/llvm-project/clang/include/clang/CIR/Interfaces/ |
| H A D | CIROpInterfaces.td | 20 let cppNamespace = "::cir" in { 40 "cir::SideEffect", "getSideEffect", (ins)>, 51 return cir::isExternalLinkage($_op.getLinkage()); 57 return cir::isAvailableExternallyLinkage($_op.getLinkage()); 63 return cir::isLinkOnceLinkage($_op.getLinkage()); 69 return cir::isLinkOnceAnyLinkage($_op.getLinkage()); 75 return cir::isLinkOnceODRLinkage($_op.getLinkage()); 81 return cir::isWeakLinkage($_op.getLinkage()); 87 return cir::isWeakAnyLinkage($_op.getLinkage()); 93 return cir::isWeakODRLinkage($_op.getLinkage()); [all …]
|