[llvm-dev] BZ12772. Can't reproduce in tree. How could it be fixed?

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Wed Mar 1 16:09:34 PST 2017


On 3/1/2017 3:46 PM, Jon Chesterfield via llvm-dev wrote:
> Hi,
>
> What should I do if I cannot trigger a failure in any of the in-tree 
> targets?
>
> Specifically, bug (https://bugs.llvm.org//show_bug.cgi?id=12772) was 
> raised back in 2012 with a proposed patch but no test case. I've put a 
> couple of hours into trying to demonstrate the bug in tree but have 
> not been successful. The bugzilla suggests the the patch works on 
> three out of tree targets and that others have similarly failed to 
> produce an in tree repro. Applying the patch causes no existing tests 
> to fail.
>
> This isn't a problem in that I'll just mark CONCAT_VECTORS as legal in 
> our back end.
>
> What is the usual strategy for dealing with bugs in untested code 
> where is has proven uneconomic to trigger a bug in an upstream back 
> end? For example, would it be worth converting the patch from 2012 
> into a phabricator diff and seeking feedback there?
>

There are in-tree targets with multiple legal vector types (off the top 
of my head, x86, ARM, Aarch64).  None of those targets have 
CONCAT_VECTORS set to EXPAND, though; the vector registers overlap, so 
there's generally some cheaper way to implement CONCAT_VECTORS.

You could just delete the broken code, I guess?  That wouldn't really 
solve the problem, but at least it would cause a selection failure 
rather than silently miscompiling.

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project



More information about the llvm-dev mailing list