llvm-6502/lib
Chandler Carruth 6bb093bbe7 [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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215519 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-13 01:25:45 +00:00
..
Analysis
AsmParser
Bitcode
CodeGen [PowerPC] Implement PPCTargetLowering::getTgtMemIntrinsic 2014-08-13 01:15:40 +00:00
DebugInfo
ExecutionEngine
IR Don't upgrade global constructors when reading bitcode 2014-08-12 16:46:37 +00:00
IRReader
LineEditor
Linker Don't upgrade global constructors when reading bitcode 2014-08-12 16:46:37 +00:00
LTO
MC
Object
Option
ProfileData
Support
TableGen
Target [x86] Rewrite a core part of the new vector shuffle lowering to handle 2014-08-13 01:25:45 +00:00
Transforms Allwo bitcast + struct GEP transform to work with addrspacecast 2014-08-12 19:46:13 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile