summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDeclCXX.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-08-13 01:25:45 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-08-13 01:25:45 +0000
commitb7eda21bb0c64c113dd7bcb553c2d97f06d4b632 (patch)
treef38f2afff5058450e9dcdae069666adc49a389db /clang/lib/Parse/ParseDeclCXX.cpp
parentbb853c79c0d61acaa0dd9aa4f77cded334166946 (diff)
downloadbcm5719-llvm-b7eda21bb0c64c113dd7bcb553c2d97f06d4b632.tar.gz
bcm5719-llvm-b7eda21bb0c64c113dd7bcb553c2d97f06d4b632.zip
[x86] Rewrite a core part of the new vector shuffle lowering to handle
one pesky test case correctly. This test case caused the old code to infloop occilating between solving the low-half and the high-half. The 'side balancing' part of single-input v8 shuffle lowering didn't handle the one pattern which can cause it to occilate. Fortunately the fuzz testing found this case. Unfortuately it was *terrible* to handle. I'm really sorry for the amount and density of the code here, I'd love suggestions on how to simplify it. I feel like there *must* be a simpler form here, but after a lot of days I've not found it. This is the only one I've found that even works. I've added the one pesky test case along with some nice comments explaining the core problem that we have to solve here. So far this has survived approximately 32k test cases. More strenuous fuzzing commencing. llvm-svn: 215519
Diffstat (limited to 'clang/lib/Parse/ParseDeclCXX.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud