Lines Matching defs:AddrInfo

207   struct AddrInfo {
208 AddrInfo(const AddrInfo &) = default;
209 AddrInfo(const HexagonVectorCombine &HVC, Instruction *I, Value *A, Type *T,
213 AddrInfo &operator=(const AddrInfo &) = default;
224 using AddrList = std::vector<AddrInfo>;
234 MoveGroup(const AddrInfo &AI, Instruction *B, bool Hvx, bool Load)
303 std::optional<AddrInfo> getAddrInfo(Instruction &In) const;
304 bool isHvx(const AddrInfo &AI) const;
357 friend raw_ostream &operator<<(raw_ostream &OS, const AddrInfo &AI);
367 raw_ostream &operator<<(raw_ostream &OS, const AlignVectors::AddrInfo &AI) {
621 -> std::optional<AddrInfo> {
623 return AddrInfo(HVC, L, L->getPointerOperand(), L->getType(),
626 return AddrInfo(HVC, S, S->getPointerOperand(),
632 return AddrInfo(HVC, II, II->getArgOperand(0), II->getType(),
635 return AddrInfo(HVC, II, II->getArgOperand(1),
643 auto AlignVectors::isHvx(const AddrInfo &AI) const -> bool {
873 auto findBaseAndOffset = [&](AddrInfo &AI) -> std::pair<Instruction *, int> {
874 for (AddrInfo &W : WorkStack) {
930 auto tryAddTo = [&](const AddrInfo &Info, MoveGroup &Move) {
960 for (const AddrInfo &Info : Group) {
985 auto tryAddTo = [&](const AddrInfo &Info, MoveGroup &Move) {
1011 const AddrInfo &Info = *I;
1438 [&TestSet](const AddrInfo &AI) { return TestSet.count(AI.Inst); });
1441 const AddrInfo &WithMaxAlign =
1442 getMaxOf(MoveInfos, [](const AddrInfo &AI) { return AI.HaveAlign; });
1446 const AddrInfo &WithMinOffset =
1447 getMaxOf(MoveInfos, [](const AddrInfo &AI) { return -AI.Offset; });
1449 const AddrInfo &WithMaxNeeded =
1450 getMaxOf(MoveInfos, [](const AddrInfo &AI) { return AI.NeedAlign; });
1504 for (const AddrInfo &AI : MoveInfos) {
1562 for (const AddrInfo &AI : AL)