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

References

lib/Bitcode/Writer/BitcodeWriter.cpp
 2605   VE.setInstructionID(&I);
 2606   switch (I.getOpcode()) {
 2608     if (Instruction::isCast(I.getOpcode())) {
 2610       if (!pushValueAndType(I.getOperand(0), InstID, Vals))
 2612       Vals.push_back(VE.getTypeID(I.getType()));
 2613       Vals.push_back(getEncodedCastOpcode(I.getOpcode()));
 2615       assert(isa<BinaryOperator>(I) && "Unknown instruction!");
 2617       if (!pushValueAndType(I.getOperand(0), InstID, Vals))
 2619       pushValue(I.getOperand(1), InstID, Vals);
 2620       Vals.push_back(getEncodedBinaryOpcode(I.getOpcode()));
 2621       uint64_t Flags = getOptimizationFlags(&I);
 2631     if (!pushValueAndType(I.getOperand(0), InstID, Vals))
 2633     Vals.push_back(getEncodedUnaryOpcode(I.getOpcode()));
 2634     uint64_t Flags = getOptimizationFlags(&I);
 2645     auto &GEPInst = cast<GetElementPtrInst>(I);
 2648     for (unsigned i = 0, e = I.getNumOperands(); i != e; ++i)
 2649       pushValueAndType(I.getOperand(i), InstID, Vals);
 2654     pushValueAndType(I.getOperand(0), InstID, Vals);
 2655     const ExtractValueInst *EVI = cast<ExtractValueInst>(&I);
 2661     pushValueAndType(I.getOperand(0), InstID, Vals);
 2662     pushValueAndType(I.getOperand(1), InstID, Vals);
 2663     const InsertValueInst *IVI = cast<InsertValueInst>(&I);
 2669     pushValueAndType(I.getOperand(1), InstID, Vals);
 2670     pushValue(I.getOperand(2), InstID, Vals);
 2671     pushValueAndType(I.getOperand(0), InstID, Vals);
 2672     uint64_t Flags = getOptimizationFlags(&I);
 2679     pushValueAndType(I.getOperand(0), InstID, Vals);
 2680     pushValueAndType(I.getOperand(1), InstID, Vals);
 2684     pushValueAndType(I.getOperand(0), InstID, Vals);
 2685     pushValue(I.getOperand(1), InstID, Vals);
 2686     pushValueAndType(I.getOperand(2), InstID, Vals);
 2690     pushValueAndType(I.getOperand(0), InstID, Vals);
 2691     pushValue(I.getOperand(1), InstID, Vals);
 2692     pushValue(I.getOperand(2), InstID, Vals);
 2698     pushValueAndType(I.getOperand(0), InstID, Vals);
 2699     pushValue(I.getOperand(1), InstID, Vals);
 2700     Vals.push_back(cast<CmpInst>(I).getPredicate());
 2701     uint64_t Flags = getOptimizationFlags(&I);
 2710       unsigned NumOperands = I.getNumOperands();
 2714         if (!pushValueAndType(I.getOperand(0), InstID, Vals))
 2718           pushValueAndType(I.getOperand(i), InstID, Vals);
 2725       const BranchInst &II = cast<BranchInst>(I);
 2736       const SwitchInst &SI = cast<SwitchInst>(I);
 2748     Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));
 2750     pushValue(I.getOperand(0), InstID, Vals);
 2751     for (unsigned i = 1, e = I.getNumOperands(); i != e; ++i)
 2752       Vals.push_back(VE.getValueID(I.getOperand(i)));
 2756     const InvokeInst *II = cast<InvokeInst>(&I);
 2774       pushValue(I.getOperand(i), InstID, Vals); // fixed param.
 2780         pushValueAndType(I.getOperand(i), InstID, Vals); // vararg
 2786     pushValueAndType(I.getOperand(0), InstID, Vals);
 2790     const auto &CRI = cast<CleanupReturnInst>(I);
 2798     const auto &CRI = cast<CatchReturnInst>(I);
 2805     const auto &FuncletPad = cast<FuncletPadInst>(I);
 2818     const auto &CatchSwitch = cast<CatchSwitchInst>(I);
 2832     const CallBrInst *CBI = cast<CallBrInst>(&I);
 2856       pushValue(I.getOperand(i), InstID, Vals); // fixed param.
 2862         pushValueAndType(I.getOperand(i), InstID, Vals); // vararg
 2872     const PHINode &PN = cast<PHINode>(I);
 2884     uint64_t Flags = getOptimizationFlags(&I);
 2895     const LandingPadInst &LP = cast<LandingPadInst>(I);
 2912     const AllocaInst &AI = cast<AllocaInst>(I);
 2914     Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));
 2915     Vals.push_back(VE.getValueID(I.getOperand(0))); // size.
 2928     if (cast<LoadInst>(I).isAtomic()) {
 2930       pushValueAndType(I.getOperand(0), InstID, Vals);
 2933       if (!pushValueAndType(I.getOperand(0), InstID, Vals)) // ptr
 2936     Vals.push_back(VE.getTypeID(I.getType()));
 2937     Vals.push_back(Log2_32(cast<LoadInst>(I).getAlignment())+1);
 2938     Vals.push_back(cast<LoadInst>(I).isVolatile());
 2939     if (cast<LoadInst>(I).isAtomic()) {
 2940       Vals.push_back(getEncodedOrdering(cast<LoadInst>(I).getOrdering()));
 2941       Vals.push_back(getEncodedSyncScopeID(cast<LoadInst>(I).getSyncScopeID()));
 2945     if (cast<StoreInst>(I).isAtomic())
 2949     pushValueAndType(I.getOperand(1), InstID, Vals); // ptrty + ptr
 2950     pushValueAndType(I.getOperand(0), InstID, Vals); // valty + val
 2951     Vals.push_back(Log2_32(cast<StoreInst>(I).getAlignment())+1);
 2952     Vals.push_back(cast<StoreInst>(I).isVolatile());
 2953     if (cast<StoreInst>(I).isAtomic()) {
 2954       Vals.push_back(getEncodedOrdering(cast<StoreInst>(I).getOrdering()));
 2956           getEncodedSyncScopeID(cast<StoreInst>(I).getSyncScopeID()));
 2961     pushValueAndType(I.getOperand(0), InstID, Vals); // ptrty + ptr
 2962     pushValueAndType(I.getOperand(1), InstID, Vals); // cmp.
 2963     pushValue(I.getOperand(2), InstID, Vals);        // newval.
 2964     Vals.push_back(cast<AtomicCmpXchgInst>(I).isVolatile());
 2966         getEncodedOrdering(cast<AtomicCmpXchgInst>(I).getSuccessOrdering()));
 2968         getEncodedSyncScopeID(cast<AtomicCmpXchgInst>(I).getSyncScopeID()));
 2970         getEncodedOrdering(cast<AtomicCmpXchgInst>(I).getFailureOrdering()));
 2971     Vals.push_back(cast<AtomicCmpXchgInst>(I).isWeak());
 2975     pushValueAndType(I.getOperand(0), InstID, Vals); // ptrty + ptr
 2976     pushValue(I.getOperand(1), InstID, Vals);        // val.
 2978         getEncodedRMWOperation(cast<AtomicRMWInst>(I).getOperation()));
 2979     Vals.push_back(cast<AtomicRMWInst>(I).isVolatile());
 2980     Vals.push_back(getEncodedOrdering(cast<AtomicRMWInst>(I).getOrdering()));
 2982         getEncodedSyncScopeID(cast<AtomicRMWInst>(I).getSyncScopeID()));
 2986     Vals.push_back(getEncodedOrdering(cast<FenceInst>(I).getOrdering()));
 2987     Vals.push_back(getEncodedSyncScopeID(cast<FenceInst>(I).getSyncScopeID()));
 2990     const CallInst &CI = cast<CallInst>(I);
 3000     unsigned Flags = getOptimizationFlags(&I);
 3032     Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));   // valistty
 3033     pushValue(I.getOperand(0), InstID, Vals);                   // valist.
 3034     Vals.push_back(VE.getTypeID(I.getType())); // restype.