From: Hal Finkel Date: Sat, 26 Jan 2013 16:49:04 +0000 (+0000) Subject: BBVectorize: Add a additional comment about the cost computation X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ec5c3c2bd37828e9fbd913f5ac7b7f75711ddd59;p=oota-llvm.git BBVectorize: Add a additional comment about the cost computation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173580 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Vectorize/BBVectorize.cpp b/lib/Transforms/Vectorize/BBVectorize.cpp index 411d7f6ba33..4bd11c68446 100644 --- a/lib/Transforms/Vectorize/BBVectorize.cpp +++ b/lib/Transforms/Vectorize/BBVectorize.cpp @@ -994,6 +994,12 @@ namespace { unsigned JCost = getInstrCost(J->getOpcode(), JT1, JT2); Type *VT1 = getVecTypeForPair(IT1, JT1), *VT2 = getVecTypeForPair(IT2, JT2); + + // Note that this procedure is incorrect for insert and extract element + // instructions (because combining these often results in a shuffle), + // but this cost is ignored (because insert and extract element + // instructions are assigned a zero depth factor and are not really + // fused in general). unsigned VCost = getInstrCost(I->getOpcode(), VT1, VT2); if (VCost > ICost + JCost)