llvm-6502/test
Stepan Dyatkovskiy 5842a037fb Fix for PR18045:
http://llvm.org/bugs/show_bug.cgi?id=18045

Short issue description:
For X86 machines with sse < sse4.1 we got failures for some
particular load/store vector sequences:

$ clang-trunk -m32 -O2 test-case.c
fatal error: error in backend: Cannot select: 0x4200920: v4i32,ch = load 0x41d6ab0, 0x4205850,
      0x41dcb10<LD16[getelementptr inbounds ([4 x i32]* @e, i32 0, i32 0)](align=4)> [ORD=82]
      [ID=58]
  0x4205850: i32 = X86ISD::Wrapper 0x41d5490 [ORD=26] [ID=43]
    0x41d5490: i32 = TargetGlobalAddress<[4 x i32]* @e> 0 [ORD=26] [ID=23]
  0x41dcb10: i32 = undef [ID=2]

The reason is that EltsFromConsecutiveLoads could emit such load instruction
both before and after legalize stage. Though this instruction is not legal for
machines with SSSE3 and lower.

The fix: In EltsFromConsecutiveLoads, if we have passed legalize stage, we
check whether nodes it emits are legal. 

P.S.: If you get failure in time from 12:00 and till 22:00 (UTC-8),
perhaps I'll slow with response, so you better reject this commit. Thanks!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197492 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-17 12:07:33 +00:00
..
Analysis
Assembler
Bindings
Bitcode Ensure bitcode encoding of global variable attributes stays stable. Patch by Boaz Ouriel. 2013-12-15 11:50:45 +00:00
BugPoint
CodeGen Fix for PR18045: 2013-12-17 12:07:33 +00:00
DebugInfo DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers 2013-12-13 21:33:40 +00:00
ExecutionEngine Remove empty MCJIT/load-object-a.ll since r196641. 2013-12-07 06:17:10 +00:00
Feature
FileCheck
Instrumentation Teach MemoryBuiltins about address spaces 2013-12-14 00:27:48 +00:00
Integer
JitListener
Linker
LTO Resubmit r196544: Apply transformation on OS X 10.9+ and iOS 7.0+: pow(10, x) ―> __exp10(x) 2013-12-12 01:55:04 +00:00
MC Fixed a bug in getARMFixupKindMachOInfo() where three ARM fixup kinds 2013-12-13 22:46:54 +00:00
Object Correct word hyphenations 2013-12-05 05:44:44 +00:00
Other Removed llvm-cov.test from Other folder. 2013-12-12 20:29:54 +00:00
TableGen
tools llvm-cov: Added -u option for unconditional branch info. 2013-12-16 22:14:02 +00:00
Transforms LoopVectorizer: Don't if-convert constant expressions that can trap 2013-12-17 01:11:01 +00:00
Unit
Verifier Grow the stackmap/patchpoint format to hold 64-bit IDs. 2013-12-13 18:37:10 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh