1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib
Ahmed Bougacha 38c0bf429c [SelectionDAG] When scalarizing trunc, don't assert for legal operands.
r212242 introduced a legalizer hook, originally to let AArch64 widen
v1i{32,16,8} rather than scalarize, because the legalizer expected, when
scalarizing the result of a conversion operation, to already have
scalarized the operands.  On AArch64, v1i64 is legal, so that commit
ensured operations such as v1i32 = trunc v1i64 wouldn't assert.

It did that by choosing to widen v1 types whenever possible.  However,
v1i1 types, for which there's no legal widened type, would still trigger
the assert.

This commit fixes that, by only scalarizing a trunc's result when the
operand has already been scalarized, and introducing an extract_elt
otherwise.  
This is similar to r205625.

Fixes PR20777.

llvm-svn: 220937
2014-10-30 23:46:50 +00:00
..
Analysis Add handling for range metadata in ValueTracking isKnownNonZero 2014-10-30 20:25:19 +00:00
AsmParser X86: Implement the vectorcall calling convention 2014-10-28 01:29:26 +00:00
Bitcode Untabify. 2014-10-29 23:44:35 +00:00
CodeGen [SelectionDAG] When scalarizing trunc, don't assert for legal operands. 2014-10-30 23:46:50 +00:00
DebugInfo [dwarfdump] Dump DW_AT_ranges values inline in the debug_info dump. 2014-10-23 04:08:34 +00:00
ExecutionEngine Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled 2014-10-29 09:18:49 +00:00
IR [C API] PR19859: Add functions to query and modify branches. 2014-10-28 19:46:56 +00:00
IRReader Pass a && to getLazyBitcodeModule. 2014-09-03 17:31:46 +00:00
LineEditor
Linker Fix the merging of the constantness of declarations. 2014-10-30 20:50:23 +00:00
LTO Add an option to the LTO code generator to disable vectorization during LTO 2014-10-26 21:50:58 +00:00
MC Attempt to fix the build after r220439 2014-10-22 22:46:05 +00:00
Object Fix unicode chars into ascii in comment lines. 2014-10-27 08:08:18 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData Add profile writing capabilities for sampling profiles. 2014-10-30 18:00:06 +00:00
Support Speculative fix for Windows build after r220932 2014-10-30 23:10:01 +00:00
TableGen Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
Target [AVX512] Added VBROADCAST{SS/SD} encoding for VL subset. 2014-10-30 14:21:47 +00:00
Transforms Fix Twine corruption problem with diagnostics. 2014-10-30 18:48:41 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile