Add the shufflevector conversion. It only handles the static, i.e., IntegerAttr, index.
I am not sure whether it is ok to create multiple constantOps with the same value in llvm dialect, therefore I add a utility to find existing constant Op for a specific value. Correct me if we don't need to do it.
Co-authored: Xinyi Liu <xyliuhelen@gmail.com>
Can use OpAdaptor instead of ArrayRef<Value> so that you can access vector1() and vector2() using methods.