Lines Matching defs:LoadedSlice
19193 struct LoadedSlice {
19209 Cost(const LoadedSlice &LS, bool ForCodeSize)
19222 void addSliceGain(const LoadedSlice &LS) {
19286 LoadedSlice(SDNode *Inst = nullptr, LoadSDNode *Origin = nullptr,
19403 /// object passed the legal check: LoadedSlice::isLegal returned true.
19508 static bool areSlicesNextToEachOther(const LoadedSlice &First,
19509 const LoadedSlice &Second) {
19523 static void adjustCostForPairing(SmallVectorImpl<LoadedSlice> &LoadedSlices,
19524 LoadedSlice::Cost &GlobalLSCost) {
19532 llvm::sort(LoadedSlices, [](const LoadedSlice &LHS, const LoadedSlice &RHS) {
19539 const LoadedSlice *First = nullptr;
19540 const LoadedSlice *Second = nullptr;
19579 /// Check the profitability of all involved LoadedSlice.
19582 /// whose cost (\see LoadedSlice::Cost) is smaller than the original load (3).
19589 static bool isSlicingProfitable(SmallVectorImpl<LoadedSlice> &LoadedSlices,
19604 LoadedSlice::Cost OrigCost(ForCodeSize), GlobalSlicingCost(ForCodeSize);
19608 const LoadedSlice &LS = LoadedSlices[CurrSlice];
19610 LoadedSlice::Cost SliceCost(LS, ForCodeSize);
19648 SmallVector<LoadedSlice, 4> LoadedSlices;
19683 LoadedSlice LS(User, LD, Shift, &DAG);
19711 for (const LoadedSlice &LS : LoadedSlices) {