Home | History | Annotate | Download | only in Writer

Lines Matching refs:VE

167 static void WriteAttributeTable(const ValueEnumerator &VE,
169 const std::vector<AttrListPtr> &Attrs = VE.getAttributes();
191 static void WriteTypeTable(const ValueEnumerator &VE, BitstreamWriter &Stream) {
192 const ValueEnumerator::TypeList &TypeList = VE.getTypes();
197 uint64_t NumBits = Log2_32_Ceil(VE.getTypes().size()+1);
280 TypeVals.push_back(VE.getTypeID(PTy->getElementType()));
291 TypeVals.push_back(VE.getTypeID(FT->getReturnType()));
293 TypeVals.push_back(VE.getTypeID(FT->getParamType(i)));
304 TypeVals.push_back(VE.getTypeID(*I));
329 TypeVals.push_back(VE.getTypeID(AT->getElementType()));
338 TypeVals.push_back(VE.getTypeID(VT->getElementType()));
395 static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE,
421 MaxGlobalType = std::max(MaxGlobalType, VE.getTypeID(GV->getType()));
490 Vals.push_back(VE.getTypeID(GV->getType()));
493 (VE.getValueID(GV->getInitializer()) + 1));
515 Vals.push_back(VE.getTypeID(F->getType()));
519 Vals.push_back(VE.getAttributeID(F->getAttributes()));
535 Vals.push_back(VE.getTypeID(AI->getType()));
536 Vals.push_back(VE.getValueID(AI->getAliasee()));
564 const ValueEnumerator &VE,
569 Record.push_back(VE.getTypeID(N->getOperand(i)->getType()));
570 Record.push_back(VE.getValueID(N->getOperand(i)));
572 Record.push_back(VE.getTypeID(Type::getVoidTy(N->getContext())));
583 const ValueEnumerator &VE,
585 const ValueEnumerator::ValueList &Vals = VE.getMDValues();
597 WriteMDNode(N, VE, Stream, Record);
639 Record.push_back(VE.getValueID(NMD->getOperand(i)));
649 const ValueEnumerator &VE,
653 const SmallVector<const MDNode *, 8> &Vals = VE.getFunctionLocalMDValues();
661 WriteMDNode(N, VE, Stream, Record);
669 const ValueEnumerator &VE,
688 Record.push_back(VE.getInstructionID(I));
692 Record.push_back(VE.getValueID(MDs[i].second));
761 const ValueEnumerator &VE,
802 const ValueEnumerator::ValueList &Vals = VE.getValues();
809 Record.push_back(VE.getTypeID(LastTy));
916 Record.push_back(VE.getValueID(C->getOperand(i)));
924 Record.push_back(VE.getTypeID(C->getOperand(0)->getType()));
925 Record.push_back(VE.getValueID(C->getOperand(0)));
931 Record.push_back(VE.getValueID(C->getOperand(0)));
932 Record.push_back(VE.getValueID(C->getOperand(1)));
943 Record.push_back(VE.getTypeID(C->getOperand(i)->getType()));
944 Record.push_back(VE.getValueID(C->getOperand(i)));
949 Record.push_back(VE.getValueID(C->getOperand(0)));
950 Record.push_back(VE.getValueID(C->getOperand(1)));
951 Record.push_back(VE.getValueID(C->getOperand(2)));
955 Record.push_back(VE.getTypeID(C->getOperand(0)->getType()));
956 Record.push_back(VE.getValueID(C->getOperand(0)));
957 Record.push_back(VE.getValueID(C->getOperand(1)));
961 Record.push_back(VE.getValueID(C->getOperand(0)));
962 Record.push_back(VE.getValueID(C->getOperand(1)));
963 Record.push_back(VE.getValueID(C->getOperand(2)));
974 Record.push_back(VE.getTypeID(C->getOperand(0)->getType()));
976 Record.push_back(VE.getValueID(C->getOperand(0)));
977 Record.push_back(VE.getValueID(C->getOperand(1)));
978 Record.push_back(VE.getValueID(C->getOperand(2)));
983 Record.push_back(VE.getTypeID(C->getOperand(0)->getType()));
984 Record.push_back(VE.getValueID(C->getOperand(0)));
985 Record.push_back(VE.getValueID(C->getOperand(1)));
991 Record.push_back(VE.getTypeID(BA->getFunction()->getType()));
992 Record.push_back(VE.getValueID(BA->getFunction()));
993 Record.push_back(VE.getGlobalBasicBlockID(BA->getBasicBlock()));
1007 static void WriteModuleConstants(const ValueEnumerator &VE,
1009 const ValueEnumerator::ValueList &Vals = VE.getValues();
1015 WriteConstants(i, Vals.size(), VE, Stream, true);
1031 ValueEnumerator &VE) {
1032 unsigned ValID = VE.getValueID(V);
1035 Vals.push_back(VE.getTypeID(V->getType()));
1043 ValueEnumerator &VE, BitstreamWriter &Stream,
1047 VE.setInstructionID(&I);
1052 if (!PushValueAndType(I.getOperand(0), InstID, Vals, VE))
1054 Vals.push_back(VE.getTypeID(I.getType()));
1059 if (!PushValueAndType(I.getOperand(0), InstID, Vals, VE))
1061 Vals.push_back(VE.getValueID(I.getOperand(1)));
1077 PushValueAndType(I.getOperand(i), InstID, Vals, VE);
1081 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1089 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1090 PushValueAndType(I.getOperand(1), InstID, Vals, VE);
1098 PushValueAndType(I.getOperand(1), InstID, Vals, VE);
1099 Vals.push_back(VE.getValueID(I.getOperand(2)));
1100 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1104 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1105 Vals.push_back(VE.getValueID(I.getOperand(1)));
1109 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1110 Vals.push_back(VE.getValueID(I.getOperand(1)));
1111 Vals.push_back(VE.getValueID(I.getOperand(2)));
1115 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1116 Vals.push_back(VE.getValueID(I.getOperand(1)));
1117 Vals.push_back(VE.getValueID(I.getOperand(2)));
1123 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1124 Vals.push_back(VE.getValueID(I.getOperand(1)));
1135 if (!PushValueAndType(I.getOperand(0), InstID, Vals, VE))
1139 PushValueAndType(I.getOperand(i), InstID, Vals, VE);
1147 Vals.push_back(VE.getValueID(II.getSuccessor(0)));
1149 Vals.push_back(VE.getValueID(II.getSuccessor(1)));
1150 Vals.push_back(VE.getValueID(II.getCondition()));
1166 Vals64.push_back(VE.getTypeID(SI.getCondition()->getType()));
1167 Vals64.push_back(VE.getValueID(SI.getCondition()));
1168 Vals64.push_back(VE.getValueID(SI.getDefaultDest()));
1205 Vals64.push_back(VE.getValueID(i.getCaseSuccessor()));
1217 Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));
1219 Vals.push_back(VE.getValueID(I.getOperand(i)));
1229 Vals.push_back(VE.getAttributeID(II->getAttributes()));
1231 Vals.push_back(VE.getValueID(II->getNormalDest()));
1232 Vals.push_back(VE.getValueID(II->getUnwindDest()));
1233 PushValueAndType(Callee, InstID, Vals, VE);
1237 Vals.push_back(VE.getValueID(I.getOperand(i))); // fixed param.
1243 PushValueAndType(I.getOperand(i), InstID, Vals, VE); // vararg
1249 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1259 Vals.push_back(VE.getTypeID(PN.getType()));
1261 Vals.push_back(VE.getValueID(PN.getIncomingValue(i)));
1262 Vals.push_back(VE.getValueID(PN.getIncomingBlock(i)));
1270 Vals.push_back(VE.getTypeID(LP.getType()));
1271 PushValueAndType(LP.getPersonalityFn(), InstID, Vals, VE);
1279 VE);
1286 Vals.push_back(VE.getTypeID(I.getType()));
1287 Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));
1288 Vals.push_back(VE.getValueID(I.getOperand(0))); // size.
1295 PushValueAndType(I.getOperand(0), InstID, Vals, VE);
1298 if (!PushValueAndType(I.getOperand(0), InstID, Vals, VE)) // ptr
1313 PushValueAndType(I.getOperand(1), InstID, Vals, VE); // ptrty + ptr
1314 Vals.push_back(VE.getValueID(I.getOperand(0))); // val.
1324 PushValueAndType(I.getOperand(0), InstID, Vals, VE); // ptrty + ptr
1325 Vals.push_back(VE.getValueID(I.getOperand(1))); // cmp.
1326 Vals.push_back(VE.getValueID(I.getOperand(2))); // newval.
1335 PushValueAndType(I.getOperand(0), InstID, Vals, VE); // ptrty + ptr
1336 Vals.push_back(VE.getValueID(I.getOperand(1))); // val.
1356 Vals.push_back(VE.getAttributeID(CI.getAttributes()));
1358 PushValueAndType(CI.getCalledValue(), InstID, Vals, VE); // Callee
1362 Vals.push_back(VE.getValueID(CI.getArgOperand(i))); // fixed param.
1368 PushValueAndType(CI.getArgOperand(i), InstID, Vals, VE); // varargs
1374 Vals.push_back(VE.getTypeID(I.getOperand(0)->getType())); // valistty
1375 Vals.push_back(VE.getValueID(I.getOperand(0))); // valist.
1376 Vals.push_back(VE.getTypeID(I.getType())); // restype.
1386 const ValueEnumerator &VE,
1430 NameVals.push_back(VE.getValueID(SI->getValue()));
1443 static void WriteFunction(const Function &F, ValueEnumerator &VE,
1446 VE.incorporateFunction(F);
1452 Vals.push_back(VE.getBasicBlocks().size());
1458 VE.getFunctionConstantRange(CstStart, CstEnd);
1459 WriteConstants(CstStart, CstEnd, VE, Stream, false);
1462 WriteFunctionLocalMetadata(F, VE, Stream);
1475 WriteInstruction(*I, InstID, VE, Stream, Vals);
1496 Vals.push_back(Scope ? VE.getValueID(Scope)+1 : 0);
1497 Vals.push_back(IA ? VE.getValueID(IA)+1 : 0);
1506 WriteValueSymbolTable(F.getValueSymbolTable(), VE, Stream);
1509 WriteMetadataAttachment(F, VE, Stream);
1510 VE.purgeFunction();
1515 static void WriteBlockInfo(const ValueEnumerator &VE, BitstreamWriter &Stream) {
1569 Log2_32_Ceil(VE.getTypes().size()+1)));
1589 Log2_32_Ceil(VE.getTypes().size()+1)));
1642 Log2_32_Ceil(VE.getTypes().size()+1)));
1682 static void WriteUseList(const Value *V, const ValueEnumerator &VE,
1708 static void WriteFunctionUseList(const Function *F, ValueEnumerator &VE,
1710 VE.incorporateFunction(*F);
1714 WriteUseList(AI, VE, Stream);
1717 WriteUseList(BB, VE, Stream);
1720 WriteUseList(II, VE, Stream);
1725 WriteUseList(*OI, VE, Stream);
1729 VE.purgeFunction();
1733 static void WriteModuleUseLists(const Module *M, ValueEnumerator &VE,
1748 WriteUseList(GI, VE, Stream);
1752 WriteUseList(GI->getInitializer(), VE, Stream);
1757 WriteUseList(FI, VE, Stream);
1759 WriteFunctionUseList(FI, VE, Stream);
1765 WriteUseList(AI, VE, Stream);
1766 WriteUseList(AI->getAliasee(), VE, Stream);
1784 ValueEnumerator VE(M);
1787 WriteBlockInfo(VE, Stream);
1790 WriteAttributeTable(VE, Stream);
1793 WriteTypeTable(VE, Stream);
1797 WriteModuleInfo(M, VE, Stream);
1800 WriteModuleConstants(VE, Stream);
1803 WriteModuleMetadata(M, VE, Stream);
1809 WriteValueSymbolTable(M->getValueSymbolTable(), VE, Stream);
1813 WriteModuleUseLists(M, VE, Stream);
1818 WriteFunction(*F, VE, Stream);