Lines Matching defs:Weights
17 // - prof: Represents branch weights. This annotation is added to branches
18 // to indicate the weights of each edge coming out of the branch.
69 "sample block/edge weights through the CFG."));
133 /// \brief Map basic blocks to their computed weights.
136 /// of all the instruction weights in that block.
139 /// \brief Map edges to their computed weights.
141 /// Edge weights are computed by propagating basic block weights in
151 /// \brief Equivalence classes for block weights.
385 /// Clear all the per-function data used to load samples and propagate weights.
530 /// \brief Compute and store the weights of every basic block.
533 /// the weights of every basic block in the CFG.
538 DEBUG(dbgs() << "Block weights\n");
714 /// the weights of all the blocks in the same equivalence class to the same
753 // Assign weights to equivalence classes.
790 /// \brief Propagate weights through incoming/outgoing edges.
800 /// \returns True if new weights were assigned to edges or blocks.
845 // - All the edge weights are known (i.e., NumUnknownEdges == 0).
854 // edge weights. If the edges weight more than BB, then the
871 // of all edge weights.
875 DEBUG(dbgs() << "All edge weights for " << BB->getName()
946 /// \brief Propagate weights into edges
984 // edge weights computed during propagation.
985 DEBUG(dbgs() << "\nPropagation complete. Setting branch weights\n");
995 SmallVector<uint32_t, 1> Weights;
996 Weights.push_back(BlockWeights[BB]);
998 MDB.createBranchWeights(Weights));
1009 DEBUG(dbgs() << "\nGetting weights for branch at line "
1011 SmallVector<uint32_t, 4> Weights;
1019 // Use uint32_t saturated arithmetic to adjust the incoming weights,
1021 // but internally branch weights are expressed as 32-bit values.
1026 Weights.push_back(static_cast<uint32_t>(Weight));
1035 // Only set weights if there is at least one non-zero weight.
1036 // In any other case, let the analyzer set weights.
1038 DEBUG(dbgs() << "SUCCESS. Found non-zero weights.\n");
1040 MDB.createBranchWeights(Weights));
1050 DEBUG(dbgs() << "SKIPPED. All branch weights are zero.\n");
1092 /// Branch weights are computed out of instruction samples using a
1095 /// 1- Assignment of block weights. All the basic blocks in the function
1100 /// blocks, we can fill in the gaps by setting the weights of all the
1106 /// 3- Propagation of block weights into edges. This uses a simple
1133 /// Once all the branch weights are computed, we emit the MD_prof
1150 // Compute basic block weights.
1160 // Propagate weights to all edges.