Lines Matching defs:LoadedSlice
19618 struct LoadedSlice {
19634 Cost(const LoadedSlice &LS, bool ForCodeSize)
19647 void addSliceGain(const LoadedSlice &LS) {
19711 LoadedSlice(SDNode *Inst = nullptr, LoadSDNode *Origin = nullptr,
19828 /// object passed the legal check: LoadedSlice::isLegal returned true.
19933 static bool areSlicesNextToEachOther(const LoadedSlice &First,
19934 const LoadedSlice &Second) {
19948 static void adjustCostForPairing(SmallVectorImpl<LoadedSlice> &LoadedSlices,
19949 LoadedSlice::Cost &GlobalLSCost) {
19957 llvm::sort(LoadedSlices, [](const LoadedSlice &LHS, const LoadedSlice &RHS) {
19964 const LoadedSlice *First = nullptr;
19965 const LoadedSlice *Second = nullptr;
20004 /// Check the profitability of all involved LoadedSlice.
20007 /// whose cost (\see LoadedSlice::Cost) is smaller than the original load (3).
20014 static bool isSlicingProfitable(SmallVectorImpl<LoadedSlice> &LoadedSlices,
20029 LoadedSlice::Cost OrigCost(ForCodeSize), GlobalSlicingCost(ForCodeSize);
20033 const LoadedSlice &LS = LoadedSlices[CurrSlice];
20035 LoadedSlice::Cost SliceCost(LS, ForCodeSize);
20073 SmallVector<LoadedSlice, 4> LoadedSlices;
20107 LoadedSlice LS(User, LD, Shift, &DAG);
20135 for (const LoadedSlice &LS : LoadedSlices) {