[PATCH][SelectionDAG] Added BuildVectorSDNode::isSplat() and used it to implement build_vector for MIPS MSA

Daniel Sanders Daniel.Sanders at imgtec.com
Wed Sep 18 07:18:28 PDT 2013


Hi,

I previously submitted this patch with the subject '[PATCH] [mips][msa] Implemented build_vector' but I failed to attract any reviewers for the change to the common code. Following a suggestion from a colleague that the subject sounded like it was MIPS specific, I've changed the subject to make it clearer that the patch affects the common BuildVectorSDNode class.

This patch implements support for ISD::BUILD_VECTOR to MIPS MSA. As part of this, it makes a small addition to the target-independent code. It adds BuildVectorSDNode::isSplat() which returns true if the BuildVectorSDNode can be trivially determined to be a (possibly non-constant) splat.

This patch is blocking a large number of my MSA-specific patches from being submitted so my current plan is to give this a couple more days to be reviewed, but failing that I'll have to revise the patch by replacing BuildVectorSDNode::isSplat() with an equivalent function in the MIPS backend.

From: Daniel Sanders
Sent: 16 September 2013 10:34
To: Daniel Sanders; Jack Carter
Cc: llvm-commits at cs.uiuc.edu
Subject: RE: [PATCH] [mips][msa] Implemented build_vector.

Hi,

Sorry to ping this after only a couple days but can someone review the target-independent part of the patch (the addition of BuildVectorSDNode::isSplat() to SelectionDAGNodes.h and SelectionDAG.cpp)?

The reason I'm pinging this so soon is that I've got quite a few MIPS MSA patches (18 at the time of writing) queued up behind this one.

From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Daniel Sanders
Sent: 12 September 2013 13:28
To: Jack Carter
Cc: llvm-commits at cs.uiuc.edu
Subject: [PATCH] [mips][msa] Implemented build_vector.

Hi,

This patch implements support for ISD::BUILD_VECTOR to MIPS MSA. As part of this, it makes a small addition to the target-independent code. It adds BuildVectorSDNode::isSplat() which returns true if the BuildVectorSDNode can be trivially determined to be a (possibly non-constant) splat.

Daniel Sanders
Leading Software Design Engineer, MIPS Processor IP
Imagination Technologies Limited
www.imgtec.com<http://www.imgtec.com/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130918/0a8381fd/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0008-mips-msa-Implemented-build_vector-using-ldi-fill-and.patch
Type: application/octet-stream
Size: 22599 bytes
Desc: 0008-mips-msa-Implemented-build_vector-using-ldi-fill-and.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130918/0a8381fd/attachment.obj>


More information about the llvm-commits mailing list