llvm-6502/lib
Andrea Di Biagio 217cd18656 [DAGCombiner] Avoid calling method 'isShuffleMaskLegal' on illegal vector types.
This patch fixes a crasher in method 'DAGCombiner::visitOR' due to an invalid
call to method 'isShuffleMaskLegal'. On x86, method 'isShuffleMaskLegal'
always expects a legal vector value type in input.

With this patch, we immediately check if the input OR dag node has a legal
vector type; we only try to fold a OR dag node into a single shufflevector
if we know that the resulting shuffle will have a legal type.
This is to avoid calling method 'isShuffleMaskLegal' on a potentially
illegal vector value type.

Added a new test-case to file 'CodeGen/X86/combine-or.ll' to verify that
DAGCombiner doesn't crash in the attempt to check/combine an OR between shuffles
with illegal types.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213020 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-15 00:02:32 +00:00
..
Analysis Look through addrspacecast in IsConstantOffsetFromGlobal 2014-07-14 22:39:26 +00:00
AsmParser Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Bitcode Fix a bug in the conversion to ErrorOr. 2014-07-04 20:05:56 +00:00
CodeGen [DAGCombiner] Avoid calling method 'isShuffleMaskLegal' on illegal vector types. 2014-07-15 00:02:32 +00:00
DebugInfo Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
ExecutionEngine [RuntimeDyld] Handle endiannes differences between the host and target while 2014-07-14 23:19:50 +00:00
IR Look through addrspacecast when checking isDereferenceablePointer 2014-07-14 18:54:12 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Include <tuple> to make buildbots happy 2014-06-27 18:38:12 +00:00
LTO Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
MC CodeGen: Stick constant pool entries in COMDAT sections for WinCOFF 2014-07-14 22:57:27 +00:00
Object Object/LLVMBuild.txt: Sort required_libraries by alphabetical order. 2014-07-14 02:52:08 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Support Fix a -Wunused-local-typedefs warning 2014-07-14 22:46:45 +00:00
TableGen Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Target R600: Add denormal handling subtarget features. 2014-07-14 23:40:49 +00:00
Transforms Don't eliminate memcpy's when the address of the pointer may itself be relevant. Fixes PR18304. Patch by David Wiberg! 2014-07-14 18:52:02 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00