Lines Matching +full:0 +full:x2ff
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
121 SWITCH_INST_MAGIC = 0x4B5 // May 2012 => 1205 => Hex
142 for (unsigned C : {0x0, 0xC, 0xE, 0xD})
160 // The magic number is 0x0B17C0DE stored in little endian.
229 convertToString(Record, 0, ProducerIdentification);
232 unsigned epoch = (unsigned)Record[0];
308 if (convertToString(Record, 0, S))
388 if (convertToString(Record, 0, S))
479 unsigned ModuleVersion = Record[0];
491 if (Record[0] + Record[1] > Strtab.size())
493 return {StringRef(Strtab.data() + Record[0], Record[1]), Record.slice(2)};
531 unsigned BlockAddressBB = 0;
535 ExtraInfo(uint8_t Opcode, uint8_t Flags = 0, Type *SrcElemTy = nullptr,
591 uint64_t NextUnreadBit = 0;
593 uint64_t LastFunctionBlockBit = 0;
595 uint64_t VSTOffset = 0;
733 static constexpr unsigned InvalidTypeID = ~0u;
737 unsigned getContainedTypeID(unsigned ID, unsigned Idx = 0);
834 /// Version of getValue that returns ResVal directly, or 0 if there is an
922 Error parseValueSymbolTable(uint64_t Offset = 0);
956 uint64_t VSTOffset = 0;
1009 SmallVector<ValueInfo, 0> makeRefList(ArrayRef<uint64_t> Record);
1010 SmallVector<FunctionSummary::EdgeTy, 0>
1114 case 0:
1155 Flags.ReadNone = RawFlags & 0x1;
1156 Flags.ReadOnly = (RawFlags >> 1) & 0x1;
1157 Flags.NoRecurse = (RawFlags >> 2) & 0x1;
1158 Flags.ReturnDoesNotAlias = (RawFlags >> 3) & 0x1;
1159 Flags.NoInline = (RawFlags >> 4) & 0x1;
1160 Flags.AlwaysInline = (RawFlags >> 5) & 0x1;
1161 Flags.NoUnwind = (RawFlags >> 6) & 0x1;
1162 Flags.MayThrow = (RawFlags >> 7) & 0x1;
1163 Flags.HasUnknownCall = (RawFlags >> 8) & 0x1;
1164 Flags.MustBeUnreachable = (RawFlags >> 9) & 0x1;
1170 // linkage: [0,4), notEligibleToImport: 4, live: 5, local: 6, canAutoHide: 7,
1177 auto Linkage = GlobalValue::LinkageTypes(RawFlags & 0xF); // 4 bits
1181 bool NotEligibleToImport = (RawFlags & 0x1) || Version < 3;
1185 bool Live = (RawFlags & 0x2) || Version < 3;
1186 bool Local = (RawFlags & 0x4);
1187 bool AutoHide = (RawFlags & 0x8);
1196 (RawFlags & 0x1) ? true : false, (RawFlags & 0x2) ? true : false,
1197 (RawFlags & 0x4) ? true : false,
1204 static_cast<CalleeInfo::HotnessType>(RawFlags & 0x7); // 3 bits
1205 bool HasTailCall = (RawFlags & 0x8); // 1 bit
1220 case 0: return GlobalValue::DefaultVisibility;
1230 case 0: return GlobalValue::DefaultStorageClass;
1239 case 0: return false;
1263 case 0: return GlobalVariable::NotThreadLocal;
1275 case 0: return GlobalVariable::UnnamedAddr::None;
1412 if (0 != (Val & bitc::UnsafeAlgebra))
1414 if (0 != (Val & bitc::AllowReassoc))
1416 if (0 != (Val & bitc::NoNaNs))
1418 if (0 != (Val & bitc::NoInfs))
1420 if (0 != (Val & bitc::NoSignedZeros))
1422 if (0 != (Val & bitc::AllowReciprocal))
1424 if (0 != (Val & bitc::AllowContract))
1426 if (0 != (Val & bitc::ApproxFunc))
1473 return getTypeByID(getContainedTypeID(ID, 0));
1478 unsigned ChildTypeID = ChildTypeIDs.empty() ? InvalidTypeID : ChildTypeIDs[0];
1598 C = UpgradeBitCastExpr(BC->Opcode, ConstOps[0], BC->getType());
1600 C = ConstantExpr::getCast(BC->Opcode, ConstOps[0], BC->getType());
1602 C = ConstantExpr::get(BC->Opcode, ConstOps[0], ConstOps[1], BC->Flags);
1614 C = ConstantPtrAuth::get(ConstOps[0], Key, Disc, ConstOps[3]);
1618 auto *GV = dyn_cast<GlobalValue>(ConstOps[0]);
1625 auto *GV = dyn_cast<GlobalValue>(ConstOps[0]);
1632 Function *Fn = dyn_cast<Function>(ConstOps[0]);
1645 for (size_t I = 0, E = BBID; I != E; ++I) {
1704 BC->SrcElemTy, ConstOps[0], ArrayRef(ConstOps).drop_front(),
1708 C = ConstantExpr::getExtractElement(ConstOps[0], ConstOps[1]);
1711 C = ConstantExpr::getInsertElement(ConstOps[0], ConstOps[1],
1717 C = ConstantExpr::getShuffleVector(ConstOps[0], ConstOps[1], Mask);
1740 I = CastInst::Create((Instruction::CastOps)BC->Opcode, Ops[0],
1743 I = UnaryOperator::Create((Instruction::UnaryOps)BC->Opcode, Ops[0],
1746 I = BinaryOperator::Create((Instruction::BinaryOps)BC->Opcode, Ops[0],
1782 (CmpInst::Predicate)BC->Flags, Ops[0], Ops[1],
1786 I = GetElementPtrInst::Create(BC->SrcElemTy, Ops[0],
1792 I = SelectInst::Create(Ops[0], Ops[1], Ops[2], "constexpr", InsertBB);
1795 I = ExtractElementInst::Create(Ops[0], Ops[1], "constexpr", InsertBB);
1798 I = InsertElementInst::Create(Ops[0], Ops[1], Ops[2], "constexpr",
1802 I = new ShuffleVectorInst(Ops[0], Ops[1], Ops[2], "constexpr",
1850 case Attribute::None: return 0;
1851 case Attribute::ZExt: return 1 << 0;
1916 return 0;
1947 unsigned Alignment = (EncodedAttrs & (0xffffULL << 16)) >> 16;
1954 uint64_t Attrs = ((EncodedAttrs & (0xfffffULL << 32)) >> 11) |
1955 (EncodedAttrs & 0xffff);
2040 for (unsigned i = 0, e = Record.size(); i != e; i += 2) {
2343 uint64_t GrpID = Record[0];
2349 if (Record[i] == 0) { // Enum attribute
2413 while (Record[i] != 0 && i != e)
2415 assert(Record[i] == 0 && "Kind string not null terminated");
2419 ++i; // Skip the '0' that terminates the "kind" string.
2420 while (Record[i] != 0 && i != e)
2422 assert(Record[i] == 0 && "Value string not null terminated");
2465 for (unsigned Idx = 0; Idx < RangeSize; ++Idx) {
2505 unsigned NumRecords = 0;
2544 TypeList.resize(Record[0]);
2591 uint64_t NumBits = Record[0];
2602 unsigned AddressSpace = 0;
2605 ResultTy = getTypeByID(Record[0]);
2609 ContainedIDs.push_back(Record[0]);
2616 unsigned AddressSpace = Record[0];
2638 ResultTy = FunctionType::get(ResultTy, ArgTys, Record[0]);
2661 ResultTy = FunctionType::get(ResultTy, ArgTys, Record[0]);
2677 ResultTy = StructType::get(Context, EltTys, Record[0]);
2681 if (convertToString(Record, 0, TypeName))
2710 if (auto E = Res->setBodyOrError(EltTys, Record[0]))
2741 if (Record[0] >= Record.size())
2744 unsigned NumTys = Record[0];
2747 for (unsigned i = 0; i < NumTys; i++) {
2774 ResultTy = ArrayType::get(ResultTy, Record[0]);
2780 if (Record[0] == 0)
2787 ResultTy = VectorType::get(ResultTy, Record[0], Scalable);
2840 if (convertToString(Record, 0, BundleTags.back()))
2883 if (convertToString(Record, 0, SSN))
2897 unsigned ValueID = Record[0];
2903 if (NameStr.contains(0))
2977 unsigned ValueID = Record[0];
2995 if (Offset > 0) {
3047 if (Offset > 0)
3087 BasicBlock *BB = getBasicBlock(Record[0]);
3102 if ((V & 1) == 0)
3106 // There is no such thing as -0 with integers. "-0" really means MININT.
3166 Info.PersonalityFn = 0;
3176 Info.Prefix = 0;
3186 Info.Prologue = 0;
3255 if (Record[0] >= TypeList.size() || !TypeList[Record[0]])
3257 if (TypeList[Record[0]] == VoidType)
3259 CurTyID = Record[0];
3274 V = ConstantInt::get(CurTy, decodeSignRotatedValue(Record[0]));
3292 APInt(16, (uint16_t)Record[0])));
3295 CurTy, APFloat(APFloat::BFloat(), APInt(16, (uint32_t)Record[0])));
3298 APInt(32, (uint32_t)Record[0])));
3301 CurTy, APFloat(APFloat::IEEEdouble(), APInt(64, Record[0])));
3305 Rearrange[0] = (Record[1] & 0xffffLL) | (Record[0] << 16);
3306 Rearrange[1] = Record[0] >> 48;
3326 for (unsigned i = 0; i != Size; ++i)
3418 int Opc = getDecodedUnaryOpcode(Record[0], CurTy);
3419 if (Opc < 0) {
3429 int Opc = getDecodedBinaryOpcode(Record[0], CurTy);
3430 if (Opc < 0) {
3433 uint8_t Flags = 0;
3459 int Opc = getDecodedCastOpcode(Record[0]);
3460 if (Opc < 0) {
3480 unsigned OpNum = 0;
3487 uint64_t Flags = 0;
3523 BaseTypeID = getContainedTypeID(BaseTypeID, 0);
3549 {(unsigned)Record[0], (unsigned)Record[1], (unsigned)Record[2]});
3556 unsigned OpTyID = Record[0];
3594 {(unsigned)Record[0], (unsigned)Record[1], IdxRecord});
3603 {(unsigned)Record[0], (unsigned)Record[1], (unsigned)Record[2]});
3609 dyn_cast_or_null<VectorType>(getTypeByID(Record[0]));
3620 unsigned OpTyID = Record[0];
3638 bool HasSideEffects = Record[0] & 1;
3639 bool IsAlignStack = Record[0] >> 1;
3647 for (unsigned i = 0; i != AsmStrSize; ++i)
3649 for (unsigned i = 0; i != ConstStrSize; ++i)
3664 bool HasSideEffects = Record[0] & 1;
3665 bool IsAlignStack = (Record[0] >> 1) & 1;
3666 unsigned AsmDialect = Record[0] >> 2;
3674 for (unsigned i = 0; i != AsmStrSize; ++i)
3676 for (unsigned i = 0; i != ConstStrSize; ++i)
3690 unsigned OpNum = 0;
3705 for (unsigned i = 0; i != AsmStrSize; ++i)
3708 for (unsigned i = 0; i != ConstStrSize; ++i)
3722 unsigned OpNum = 0;
3741 for (unsigned i = 0; i != AsmStrSize; ++i)
3744 for (unsigned i = 0; i != ConstStrSize; ++i)
3754 unsigned FnTyID = Record[0];
3760 {BitcodeConstant::BlockAddressOpcode, 0, (unsigned)Record[2]},
3767 unsigned GVTyID = Record[0];
3778 unsigned GVTyID = Record[0];
3792 {(unsigned)Record[0], (unsigned)Record[1],
3854 unsigned NumUses = 0;
3928 (DeferredFunctionInfo[Fn] == 0 || DeferredFunctionInfo[Fn] == CurBit) &&
4041 Comdat::SelectionKind SK = getDecodedComdatSelectionKind(Record[0]);
4050 for (unsigned i = 0; i != ComdatNameSize; ++i)
4069 if (V & (1 << 0))
4092 unsigned TyID = Record[0];
4223 unsigned FTyID = Record[0];
4228 FTyID = getContainedTypeID(FTyID, 0);
4262 for (unsigned i = 0; i != Func->arg_size(); ++i) {
4298 !Func->arg_empty() && !Func->hasParamAttribute(0, Attribute::ByVal)) {
4304 Func->addParamAttr(0, NewAttr);
4331 FunctionOperandInfo OperandInfo = {Func, 0, 0, 0};
4384 DeferredFunctionInfo[Func] = 0;
4405 unsigned OpNum = 0;
4577 assert(VSTOffset == 0 || FunctionsWithBodies.empty());
4584 assert(VSTOffset > 0);
4622 if (VSTOffset > 0) {
4702 if (convertToString(Record, 0, S))
4710 if (convertToString(Record, 0, TentativeDataLayoutStr))
4716 if (convertToString(Record, 0, S))
4724 if (convertToString(Record, 0, S))
4731 if (convertToString(Record, 0, S))
4738 if (convertToString(Record, 0, S))
4775 VSTOffset = Record[0] - 1;
4780 if (convertToString(Record, 0, ValueName))
4802 return parseModule(0, ShouldLazyLoadMetadata, Callbacks);
4816 for (unsigned i = 0; i != CB->arg_size(); ++i) {
4848 unsigned ArgNo = 0;
4886 ArgNo = 0;
4920 unsigned ArgNo = 0;
4931 unsigned CurBBNo = 0;
5014 if (Record.empty() || Record[0] == 0)
5017 FunctionBBs.resize(Record[0]);
5031 for (unsigned I = 0, E = FunctionBBs.size(), RE = BBRefs.size(); I != E;
5044 CurBB = FunctionBBs[0];
5089 unsigned Line = Record[0], Col = Record[1];
5113 unsigned OpNum = 0;
5136 unsigned OpNum = 0;
5178 unsigned OpNum = 0;
5228 unsigned OpNum = 0;
5271 if (cast<GEPOperator>(I)->getNumIndices() != 0) {
5274 unsigned SubType = 0;
5300 unsigned OpNum = 0;
5309 return error("EXTRACTVAL: Invalid instruction with 0 indices");
5344 unsigned OpNum = 0;
5356 return error("INSERTVAL: Invalid instruction with 0 indices");
5393 unsigned OpNum = 0;
5414 unsigned OpNum = 0;
5448 unsigned OpNum = 0;
5463 unsigned OpNum = 0;
5482 unsigned OpNum = 0;
5511 unsigned OpNum = 0;
5558 if (Size == 0) {
5564 unsigned OpNum = 0;
5579 BasicBlock *TrueDest = getBasicBlock(Record[0]);
5602 unsigned Idx = 0;
5622 unsigned Idx = 0;
5641 unsigned Idx = 0;
5652 for (unsigned Op = 0; Op != NumHandlers; ++Op) {
5684 unsigned Idx = 0;
5695 for (unsigned Op = 0; Op != NumArgOperands; ++Op) {
5716 if ((Record[0] >> 16) == SWITCH_INST_MAGIC) {
5737 for (unsigned i = 0; i != NumCases; ++i) {
5740 for (unsigned ci = 0; ci != NumItems; ++ci) {
5778 if (Record.size() < 3 || (Record.size() & 1) == 0)
5780 unsigned OpTyID = Record[0];
5789 for (unsigned i = 0, e = NumCases; i != e; ++i) {
5805 unsigned OpTyID = Record[0];
5813 for (unsigned i = 0, e = NumDests; i != e; ++i) {
5829 unsigned OpNum = 0;
5864 for (unsigned i = 0, e = FTy->getNumParams(); i != e; ++i, ++OpNum) {
5908 unsigned Idx = 0;
5919 unsigned OpNum = 0;
5926 for (unsigned i = 0, e = NumIndirectDests; i != e; ++i)
5959 for (unsigned i = 0, e = FTy->getNumParams(); i != e; ++i, ++OpNum) {
6025 unsigned ArgNo = 0;
6026 size_t Pos = 0;
6053 static_cast<CallingConv::ID>((0x7ff & CCInfo) >> bitc::CALL_CCONV));
6069 unsigned TyID = Record[0];
6086 for (unsigned i = 0; i != NumArgs; i++) {
6139 if (Record.size() % 2 == 0) {
6152 unsigned Idx = 0;
6182 for (unsigned J = 0; J != NumClauses; ++J) {
6215 unsigned TyID = Record[0];
6257 unsigned OpNum = 0;
6296 unsigned OpNum = 0;
6326 if (Ordering != AtomicOrdering::NotAtomic && Record[OpNum] == 0)
6341 unsigned OpNum = 0;
6377 unsigned OpNum = 0;
6404 if (Ordering != AtomicOrdering::NotAtomic && Record[OpNum] == 0)
6420 unsigned OpNum = 0;
6473 I = ExtractValueInst::Create(I, 0);
6488 unsigned OpNum = 0;
6555 unsigned OpNum = 0;
6616 AtomicOrdering Ordering = getDecodedOrdering(Record[0]);
6633 DILocation *DIL = cast<DILocation>(getFnMetadataByID(Record[0]));
6660 unsigned Slot = 0;
6661 // Common fields (0-2).
6672 unsigned TyID = 0;
6719 unsigned OpNum = 0;
6760 for (unsigned i = 0, e = FTy->getNumParams(); i != e; ++i, ++OpNum) {
6796 static_cast<CallingConv::ID>((0x7ff & CCInfo) >> bitc::CALL_CCONV));
6823 unsigned OpTyID = Record[0];
6840 if (Record.empty() || Record[0] >= BundleTags.size())
6853 OperandBundles.emplace_back(BundleTags[Record[0]], std::move(Inputs));
6858 unsigned OpNum = 0;
6947 while (DeferredFunctionInfoIterator->second == 0) {
6952 assert(VSTOffset == 0 || !F->hasName());
6981 // If its position is recorded as 0, its body is somewhere in the stream
6983 if (DFII->second == 0)
7066 if (MD->getOperand(0) != nullptr && isa<MDString>(MD->getOperand(0))) {
7067 MDString *MDS = cast<MDString>(MD->getOperand(0));
7072 unsigned ExpectedNumOperands = 0;
7099 for (unsigned ArgNo = 0; ArgNo < CI->arg_size(); ++ArgNo)
7190 // included in the index. The bitcode writer records 0 in that case,
7192 assert(AllowNullValueInfo || std::get<0>(VGI));
7228 assert(Offset > 0 && "Expected non-zero VST offset");
7273 unsigned ValueID = Record[0];
7287 unsigned ValueID = Record[0];
7299 unsigned ValueID = Record[0];
7320 unsigned ValueId = 0;
7349 assert(((SeenValueSymbolTable && VSTOffset > 0) ||
7366 if (VSTOffset > 0) {
7398 if (convertToString(Record, 0, ValueName))
7408 int Pos = 0;
7422 VSTOffset = Record[0] - 1;
7453 SmallVector<ValueInfo, 0>
7455 SmallVector<ValueInfo, 0> Ret;
7458 Ret.push_back(std::get<0>(getValueInfoFromValueId(RefValueId)));
7462 SmallVector<FunctionSummary::EdgeTy, 0>
7466 SmallVector<FunctionSummary::EdgeTy, 0> Ret;
7474 for (unsigned I = 0, E = Record.size(); I != E; ++I) {
7477 uint64_t RelBF = 0;
7478 ValueInfo Callee = std::get<0>(getValueInfoFromValueId(Record[I]));
7521 for (uint64_t I = 0; I != ResByArgNum; ++I)
7528 size_t Slot = 0;
7571 Call.Callee = std::get<0>(getValueInfoFromValueId(Record.front()));
7583 ValueInfo Callee = std::get<0>(getValueInfoFromValueId(Record[Slot++]));
7589 size_t Slot = 0;
7610 for (unsigned J = 0; J < NumStackEntries; J++) {
7628 if (static_cast<std::make_signed_t<unsigned>>(Elem) < 0) {
7633 assert(static_cast<std::make_signed_t<unsigned>>(Elem) >= 0);
7676 const uint64_t Version = Record[0];
7688 GlobalValue::GUID LastSeenGUID = 0;
7736 TheIndex.setFlags(Record[0]);
7740 uint64_t ValueID = Record[0];
7763 unsigned ValueID = Record[0];
7766 uint64_t RawFunFlags = 0;
7768 unsigned NumRORefs = 0, NumWORefs = 0;
7788 // module path string table entry with an empty (0) ID to take
7793 SmallVector<ValueInfo, 0> Refs = makeRefList(
7797 SmallVector<FunctionSummary::EdgeTy, 0> Calls = makeCallList(
7822 TheIndex.addGlobalValueSummary(std::get<0>(VIAndOriginalGUID),
7830 unsigned ValueID = Record[0];
7838 // module path string table entry with an empty (0) ID to take
7842 auto AliaseeVI = std::get<0>(getValueInfoFromValueId(AliaseeID));
7850 TheIndex.addGlobalValueSummary(std::get<0>(GUID), std::move(AS));
7855 unsigned ValueID = Record[0];
7867 SmallVector<ValueInfo, 0> Refs =
7874 TheIndex.addGlobalValueSummary(std::get<0>(GUID), std::move(FS));
7881 unsigned ValueID = Record[0];
7888 SmallVector<ValueInfo, 0> Refs = makeRefList(
7892 ValueInfo Callee = std::get<0>(getValueInfoFromValueId(Record[I]));
7902 TheIndex.addGlobalValueSummary(std::get<0>(GUID), std::move(VS));
7913 unsigned ValueID = Record[0];
7917 uint64_t RawFunFlags = 0;
7919 unsigned NumRORefs = 0, NumWORefs = 0;
7947 SmallVector<ValueInfo, 0> Refs = makeRefList(
7950 SmallVector<FunctionSummary::EdgeTy, 0> Edges = makeCallList(
7953 ValueInfo VI = std::get<0>(getValueInfoFromValueId(ValueID));
7974 unsigned ValueID = Record[0];
7983 auto AliaseeVI = std::get<0>(getValueInfoFromValueId(AliaseeValueId));
7987 ValueInfo VI = std::get<0>(getValueInfoFromValueId(ValueID));
7994 unsigned ValueID = Record[0];
8007 SmallVector<ValueInfo, 0> Refs =
8013 ValueInfo VI = std::get<0>(getValueInfoFromValueId(ValueID));
8020 uint64_t OriginalName = Record[0];
8027 LastSeenGUID = 0;
8037 for (unsigned I = 0; I != Record.size(); I += 2)
8043 for (unsigned I = 0; I != Record.size(); I += 2)
8049 {{Record[0], Record[1]}, {Record.begin() + 2, Record.end()}});
8054 {{Record[0], Record[1]}, {Record.begin() + 2, Record.end()}});
8060 for (unsigned I = 0; I != Record.size(); I += 2)
8069 for (unsigned I = 0; I != Record.size(); I += 2)
8084 TheIndex.addBlockCount(Record[0]);
8101 assert(Record.size() % 2 == 0);
8114 unsigned ValueID = Record[0];
8120 ValueInfo VI = std::get<0>(getValueInfoFromValueId(ValueID));
8132 for (unsigned J = 0; J < NumStackIds; J++) {
8138 for (unsigned J = 0; J < NumVersions; J++)
8140 ValueInfo VI = std::get<0>(
8150 assert(Record.size() % 2 == 0);
8158 unsigned I = 0;
8160 unsigned NumMIBs = 0;
8163 unsigned MIBsRead = 0;
8179 unsigned ContextIdIndex = 0;
8180 MIBsRead = 0;
8191 for (unsigned J = 0; J < NumContextSizeInfoEntries; J++) {
8211 unsigned I = 0;
8215 unsigned MIBsRead = 0;
8224 for (unsigned J = 0; J < NumVersions; J++)
8272 uint64_t ModuleId = Record[0];
8289 int Pos = 0;
8570 ModuleIdentifier, 0);
8614 uint64_t Flags = Record[0];
8616 assert(Flags <= 0x2ff && "Unexpected bits in flag");
8618 bool EnableSplitLTOUnit = Flags & 0x8;
8619 bool UnifiedLTO = Flags & 0x200;
8697 return (*MsOrErr)[0];