[PATCH] Vselect improvements part 2
Arsenault, Matthew
Matthew.Arsenault at amd.com
Tue Jun 25 00:50:06 PDT 2013
> This change looks incorrect. The function SplitVecOp_VSETCC should split setcc nodes. Your change makes it convert the i1s return type into OutVT which may not be a legal type.
I thought the DAG was iteratively legalized until it's done, so those would be taken care of later. As it was, the type already wasn't necessarily legal. In the example I gave, the v4i1 setccs weren't legal.
> The last part is especially suspicious. Why are you handling VSETCCs that return vector i1s or something else ?
I didn't understand that part of the patch I started with, and meant to remove it. In that example at least, the result is the same in either case.
> The VSETCCs need to be consistent. I think that at this phase they are all i1s.
So there should never be an intermediate phase where types are changed into a different illegal type? I thought it was weird creating a setcc with something other than getSetCCResultType, but this originally already did that.
More information about the llvm-commits
mailing list