Open Shaquille-Wu opened 3 weeks ago
Your point is valid. I tried to change llvm.struct
into vector
for numerical types and LLVMFixedVectorType
for pointer types. It works okay, but you'd need to change several places. While llvm.struct
has a problem you pointed, it's handy as it can take any types. To address your concern, we could simply add an assert before/after unpack/packLLElements.
Hello, triton experts. I have a question about llvm.struct and vector
I think the element type of llvm.struct cannot be ensured the same, but, the each element type of vector must be the same with each other.
So, I guess vector has more advantages than llvm.struct, if llvm execute optimization pass(only guess)
In triton, I found output of loadOp is llvm.struct if the loadOp is vectorized. and the code like this:
I don't know what is the reason, it is llvm.struct instead of vector. why?
Is there anyone would like to teach me?