Lines Matching full:loads

52              cl::desc("Limit the number of loads analysed"));
70 SmallVector<LoadInst*, 2> VecLd; // Container for loads to widen.
197 SmallVector<LoadInst*, 4> Loads; member in __anon176cfc890111::WidenedLoad
202 append_range(Loads, Lds); in WidenedLoad()
226 LoadInst* CreateWideLoad(MemInstList &Loads, IntegerType *LoadTy);
307 LLVM_DEBUG(dbgs() << "Loads are sequential and valid:\n"; in AreSequentialLoads()
337 /// Iterate through the block and record base, offset pairs of loads which can
340 SmallVector<LoadInst*, 8> Loads; in RecordMemoryOps() local
345 // Collect loads and instruction that may write to memory. For now we only in RecordMemoryOps()
346 // record loads which are simple, sign-extended and have a single user. in RecordMemoryOps()
347 // TODO: Allow zero-extended loads. in RecordMemoryOps()
355 Loads.push_back(Ld); in RecordMemoryOps()
358 if (Loads.empty() || Loads.size() > NumLoadLimit) in RecordMemoryOps()
368 for (auto *Read : Loads) { in RecordMemoryOps()
379 // Check whether there's not a write between the two loads which would in RecordMemoryOps()
400 for (auto *Base : Loads) { in RecordMemoryOps()
401 for (auto *Offset : Loads) { in RecordMemoryOps()
500 // If constants are used instead of loads, these will need to be hoisted
503 // If loop invariants are used instead of loads, these need to be packed
551 // Check that the muls operate directly upon sign extended loads. in CreateParallelPairs()
558 // The first elements of each vector should be loads with sexts. If we in CreateParallelPairs()
559 // find that its two pairs of consecutive loads, then these can be in CreateParallelPairs()
560 // transformed into two wider loads and the users can be replaced with in CreateParallelPairs()
567 // Check that each mul is operating on two different loads. in CreateParallelPairs()
573 LLVM_DEBUG(dbgs() << "OK: found two pairs of parallel loads!\n"); in CreateParallelPairs()
577 LLVM_DEBUG(dbgs() << "OK: found two pairs of parallel loads!\n"); in CreateParallelPairs()
584 LLVM_DEBUG(dbgs() << "OK: found two pairs of parallel loads!\n"); in CreateParallelPairs()
729 LoadInst* ARMParallelDSP::CreateWideLoad(MemInstList &Loads, in CreateWideLoad() argument
731 assert(Loads.size() == 2 && "currently only support widening two loads"); in CreateWideLoad()
733 LoadInst *Base = Loads[0]; in CreateWideLoad()
734 LoadInst *Offset = Loads[1]; in CreateWideLoad()
740 && "Loads should have a single, extending, user"); in CreateWideLoad()
775 // From the wide load, create two values that equal the original two loads. in CreateWideLoad()
776 // Loads[0] needs trunc while Loads[1] needs a lshr and trunc. in CreateWideLoad()
799 std::make_unique<WidenedLoad>(Loads, WideLoad))); in CreateWideLoad()