Lines Matching defs:VectorInfo
61 struct VectorInfo;
98 bool combine(std::list<VectorInfo> &InterleavedLoad,
101 /// Given a set of VectorInfo containing candidates for a given interleave
103 bool findPattern(std::list<VectorInfo> &Candidates,
104 std::list<VectorInfo> &InterleavedLoad, unsigned Factor,
628 /// VectorInfo stores abstract the following information for each vector
635 struct VectorInfo {
637 VectorInfo(const VectorInfo &c) : VTy(c.VTy) {
639 "Copying VectorInfo is neither implemented nor necessary,");
677 VectorInfo(FixedVectorType *VTy) : VTy(VTy) {
681 VectorInfo &operator=(const VectorInfo &other) = delete;
683 virtual ~VectorInfo() { delete[] EI; }
687 /// Test if the VectorInfo can be part of an interleaved load with the
712 static bool compute(Value *V, VectorInfo &Result, const DataLayout &DL) {
731 static bool computeFromBCI(BitCastInst *BCI, VectorInfo &Result,
753 VectorInfo Old(VTy);
786 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result,
792 VectorInfo LHS(ArgTy);
797 VectorInfo RHS(ArgTy);
868 static bool computeFromLI(LoadInst *LI, VectorInfo &Result,
1057 std::list<VectorInfo> &Candidates, std::list<VectorInfo> &InterleavedLoad,
1065 std::vector<std::list<VectorInfo>::iterator> Res(Factor, Candidates.end());
1117 bool InterleavedLoadCombineImpl::combine(std::list<VectorInfo> &InterleavedLoad,
1262 std::list<VectorInfo> Candidates;
1273 if (!VectorInfo::computeFromSVI(SVI, Candidates.back(), DL)) {
1285 std::list<VectorInfo> InterleavedLoad;