Lines Matching defs:VectorInfo
62 struct VectorInfo;
99 bool combine(std::list<VectorInfo> &InterleavedLoad,
102 /// Given a set of VectorInfo containing candidates for a given interleave
104 bool findPattern(std::list<VectorInfo> &Candidates,
105 std::list<VectorInfo> &InterleavedLoad, unsigned Factor,
629 /// VectorInfo stores abstract the following information for each vector
636 struct VectorInfo {
638 VectorInfo(const VectorInfo &c) : VTy(c.VTy) {
640 "Copying VectorInfo is neither implemented nor necessary,");
678 VectorInfo(FixedVectorType *VTy) : VTy(VTy) {
682 VectorInfo &operator=(const VectorInfo &other) = delete;
684 virtual ~VectorInfo() { delete[] EI; }
688 /// Test if the VectorInfo can be part of an interleaved load with the
713 static bool compute(Value *V, VectorInfo &Result, const DataLayout &DL) {
732 static bool computeFromBCI(BitCastInst *BCI, VectorInfo &Result,
754 VectorInfo Old(VTy);
787 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result,
793 VectorInfo LHS(ArgTy);
798 VectorInfo RHS(ArgTy);
869 static bool computeFromLI(LoadInst *LI, VectorInfo &Result,
1058 std::list<VectorInfo> &Candidates, std::list<VectorInfo> &InterleavedLoad,
1066 std::vector<std::list<VectorInfo>::iterator> Res(Factor, Candidates.end());
1118 bool InterleavedLoadCombineImpl::combine(std::list<VectorInfo> &InterleavedLoad,
1263 std::list<VectorInfo> Candidates;
1274 if (!VectorInfo::computeFromSVI(SVI, Candidates.back(), DL)) {
1286 std::list<VectorInfo> InterleavedLoad;