Home
last modified time | relevance | path

Searched refs:cir (Results 1 – 25 of 101) sorted by relevance

12345

/freebsd/contrib/llvm-project/clang/lib/CIR/Lowering/DirectToLLVM/
H A DLowerToLLVM.h20 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 DLowerToLLVM.cpp44 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 DCIRGenBuilder.h25 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 DCIRGenTypeCache.h28 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 DCIRGenModule.cpp70 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 DCIRGenCall.cpp31 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 DCIRGenBuilder.cpp16 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 DCIRGenModule.h105 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 DCIRGenExprScalar.cpp51 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 DCIRGenExpr.cpp31 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 DCIRGenBuiltin.cpp40 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 DCIRGenDecl.cpp107 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 DCIRGenStmt.cpp24 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 DCIRGenFunction.cpp34 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 DCIRDialect.cpp29 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 DCIRMemorySlot.cpp31 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 DCIRBaseBuilder.h26 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 DFlattenCFG.cpp27 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 DCIRSimplify.cpp22 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 DCIROps.td40 // 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 DCIRTypeConstraints.td50 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 DCIRAttrs.td47 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 DCIROpenACCTypeInterfaces.cpp17 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 DLoweringHelpers.cpp18 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 DCIROpInterfaces.td20 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 …]

12345