1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/CodeGen/SelectionDAG
Jonas Paulsson 189e6bd6f5 [SelectionDAG] Fix codegen of vector stores with non byte-sized elements.
This was completely broken, but hopefully fixed by this patch.

In cases where it is needed, a vector with non byte-sized elements is stored
by extracting, zero-extending, shift:ing and or:ing the elements into an
integer of the same width as the vector, which is then stored.

Review: Eli Friedman, Ulrich Weigand
https://reviews.llvm.org/D42100#inline-369520
https://bugs.llvm.org/show_bug.cgi?id=35520

llvm-svn: 323042
2018-01-20 16:05:10 +00:00
..
CMakeLists.txt Remove trailing whitespace to trigger re-cmaking 2017-10-02 21:54:38 +00:00
DAGCombiner.cpp [DAGCombiner] Add a DAG combine to turn a splat build_vector where the splat elemnt is a bitcast from a vector type into a concat_vector 2018-01-18 04:17:06 +00:00
FastISel.cpp Use phi ranges to simplify code. No functionality change intended. 2017-12-30 15:27:33 +00:00
FunctionLoweringInfo.cpp Use phi ranges to simplify code. No functionality change intended. 2017-12-30 15:27:33 +00:00
InstrEmitter.cpp Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
InstrEmitter.h
LegalizeDAG.cpp [LegalizeDAG] Fix ATOMIC_CMP_SWAP_WITH_SUCCESS legalization. 2018-01-17 22:04:36 +00:00
LegalizeFloatTypes.cpp [SelectionDAG][X86] Don't use ->getValueType(0) after a call to getOperand to get the type of the operand. 2017-12-23 02:54:50 +00:00
LegalizeIntegerTypes.cpp [SelectionDAG][X86] Explicitly store the scale in the gather/scatter ISD nodes 2018-01-10 19:16:05 +00:00
LegalizeTypes.cpp Add optional SelectionDAG* parameter to SValue::dump and SDValue::dumpr 2017-12-20 15:15:04 +00:00
LegalizeTypes.h [SelectionDAG] Don't promote mask operand when widening mstore and mscatter. 2017-12-05 23:08:30 +00:00
LegalizeTypesGeneric.cpp DAG: Add nuw when splitting loads and stores 2017-11-29 01:25:12 +00:00
LegalizeVectorOps.cpp [SelectionDAG] Fix codegen of vector stores with non byte-sized elements. 2018-01-20 16:05:10 +00:00
LegalizeVectorTypes.cpp [SelectionDAG] Fix codegen of vector stores with non byte-sized elements. 2018-01-20 16:05:10 +00:00
LLVMBuild.txt
ResourcePriorityQueue.cpp Silence a bunch of implicit fallthrough warnings 2017-12-19 22:05:25 +00:00
ScheduleDAGFast.cpp Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
ScheduleDAGRRList.cpp [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
ScheduleDAGSDNodes.cpp Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
ScheduleDAGSDNodes.h [Target] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-11 01:45:03 +00:00
ScheduleDAGVLIW.cpp [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
SDNodeDbgValue.h Doxygenify comments. 2017-10-24 17:23:40 +00:00
SelectionDAG.cpp [SelectionDAG] Teach computeKnownBits about ATOMIC_CMP_SWAP_WITH_SUCCESS boolean return value 2018-01-19 20:47:14 +00:00
SelectionDAGAddressAnalysis.cpp [DAG] Teach BaseIndexOffset to correctly handle with indexed operations 2018-01-08 16:21:35 +00:00
SelectionDAGBuilder.cpp Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
SelectionDAGBuilder.h Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
SelectionDAGDumper.cpp [CodeGen] Rename functions PrintReg* to printReg* 2017-11-28 12:42:37 +00:00
SelectionDAGISel.cpp [SelectionDAG] lower math intrinsics to finite version of libcalls when possible (PR35672) 2018-01-09 15:41:00 +00:00
SelectionDAGPrinter.cpp Remove redundant includes from lib/CodeGen. 2017-12-13 21:30:47 +00:00
SelectionDAGTargetInfo.cpp [CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-13 21:15:20 +00:00
StatepointLowering.cpp Use getStoreSize() in various places instead of 'BitSize >> 3'. 2017-11-28 14:44:32 +00:00
StatepointLowering.h [CodeGen] Fix some Clang-tidy modernize-use-default-member-init and Include What You Use warnings; other minor fixes (NFC). 2017-09-27 23:26:01 +00:00
TargetLowering.cpp [SelectionDAG] Fix codegen of vector stores with non byte-sized elements. 2018-01-20 16:05:10 +00:00