Hello, I have a kernel that's swizzling a vector inside a loop. The vector was created before the loop. The first node in the dag is an extract subvector which calls into SplitVectorOp. The issue is that the node passed to it comes from a CopyFromReg and SplitVectorOp doesn't know what to do. Is there a reason why SplitVectorOp doesn't handle CopyFromReg nodes? If not, can I submit a patch to add support? Thanks, Javier
Hi Javier,> I have a kernel that's swizzling a vector inside a loop. The vector was > created before the loop. The first node in the dag is an extract subvector > which calls into SplitVectorOp. The issue is that the node passed to it > comes from a CopyFromReg and SplitVectorOp doesn't know what to do. Is > there a reason why SplitVectorOp doesn't handle CopyFromReg nodes? If not, > can I submit a patch to add support?a testcase would be helpful. Ciao, Duncan.
Hi Duncan, Attached is the .ll file I'm trying to compile. The first shufflevector instruction expansion adds the extract_subvector node which in turns tries to split the incoming vector in half. I'm using an LLVM 2.4 based branch and realize that the names have changed. In the TOT SplitVectorOp is called SplitVectorResult. Both don't handle CopyFromReg nodes. Thanks, Javier On Tue, 20 Apr 2010 21:22:14 +0200, Duncan Sands <baldrick at free.fr> wrote:> Hi Javier, > >> I have a kernel that's swizzling a vector inside a loop. The vector was >> created before the loop. The first node in the dag is an extract >> subvector >> which calls into SplitVectorOp. The issue is that the node passed to it >> comes from a CopyFromReg and SplitVectorOp doesn't know what to do. Is >> there a reason why SplitVectorOp doesn't handle CopyFromReg nodes? If >> not, >> can I submit a patch to add support? > > a testcase would be helpful. > > Ciao, > > Duncan. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Apparently Analagous Threads
- [LLVMdev] SplitVectorOp from CopyFromReg
- ShuffleKind SK_ExtractSubvector
- llvm-dev Digest, Vol 166, Issue 22
- [LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
- [LLVMdev] [PATCH] Add new phase to legalization to handle vector operations