[PATCH] D65148: [SimplifyCFG] Bump phi-node-folding-threshold from 2 to 3
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 14 04:02:14 PDT 2019
dmgreen added a comment.
> That is a valid transformation: https://rise4fun.com/Alive/bxq
I see, because of the truncs back into an i16. That makes sense.
> So i suppose my question here is - other than this, did you observe any other regressions?
> If not, care to tentatively stamp? I will *not* land this patch until after that last needed patch.
It's hard to tell for sure if they are all the same thing. Here's one example of some code if its useful. The code is now smaller, but I think it doesn't like being selects over branches as the chance of executing the branched code is so low:
void arm_abs_q31(
const int * pSrc,
int * pDst,
unsigned blockSize)
{
unsigned blkCnt = blockSize >> 2U;
while (blkCnt > 0U)
{
int in = *pSrc++;
*pDst++ = (in > 0) ? in : ((in == (~0x7fffffff)) ? 2147483647 : -in);
in = *pSrc++;
*pDst++ = (in > 0) ? in : ((in == (~0x7fffffff)) ? 2147483647 : -in);
in = *pSrc++;
*pDst++ = (in > 0) ? in : ((in == (~0x7fffffff)) ? 2147483647 : -in);
in = *pSrc++;
*pDst++ = (in > 0) ? in : ((in == (~0x7fffffff)) ? 2147483647 : -in);
blkCnt--;
}
blkCnt = blockSize % 0x4U;
while (blkCnt > 0U)
{
int in = *pSrc++;
*pDst++ = (in > 0) ? in : ((in == (~0x7fffffff)) ? 2147483647 : -in);
blkCnt--;
}
}
That's from the same CMSIS DSP suite again, and only when compiling for v6m. Which might not be the most interesting of suites. I've not seen any significant changes anywhere else.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65148/new/
https://reviews.llvm.org/D65148
More information about the llvm-commits
mailing list