khchen added inline comments.
================ Comment at: clang/utils/TableGen/RISCVVEmitter.cpp:687 + + unsigned Skew = 0; + if (HasMaskedOffOperand) ---------------- craig.topper wrote: > ``` > unsigned Skew = HasMaskedOffOperand ? 1 : 0; > ``` > > unless this needs to get more complicated in a future patch? > No. thanks. ================ Comment at: clang/utils/TableGen/RISCVVEmitter.cpp:695 + // Verify the result of CTypeOrder has legal value. + if (std::upper_bound(CTypeOrder.begin(), CTypeOrder.end(), + CTypeOrder.size() - 1) != CTypeOrder.end()) ---------------- craig.topper wrote: > std::upper_bound requires a list to be sorted. It tells you the upper > location of where the value belongs in the sorted sequence. std::max_element > can tell you the largest value in an unsorted range. thanks for point out my error. ================ Comment at: clang/utils/TableGen/RISCVVEmitter.cpp:699 + "The index of PermuteOperand is bigger than the operand number"); + if (std::unique(CTypeOrder.begin(), CTypeOrder.end()) != CTypeOrder.end()) + PrintFatalError( ---------------- craig.topper wrote: > std::unique only compares adjacent values. As far it is concerned "[1, 0, 1]" > is unique because the adjacent values are different. To check for duplicates > I think you need to sort it first and then you want std::adjacent_find rather > than std::unique. std::unique modifies the range and shifts them down. > std::adjacent_find just tells you were the duplicate is. Another option is to > iterate and use a set to keep track of values you already saw. thanks, I prefer the latter. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98388/new/ https://reviews.llvm.org/D98388 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits