OSDN Git Service

[SelectionDAG] Don't pass on DemandedElts when handling SCALAR_TO_VECTOR
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 7 Dec 2018 09:18:44 +0000 (09:18 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 7 Dec 2018 09:18:44 +0000 (09:18 +0000)
commit4b99cf2bea9083aa370b1b5f562d2ea256c7d611
tree4b1879e6c8d020356153a25b92dfe7e2ff746f6f
parent11350ce5c4ebcbebc6d6e8752e70db3f55bbea4f
[SelectionDAG] Don't pass on DemandedElts when handling SCALAR_TO_VECTOR

Fixes an assertion:

llc: lib/CodeGen/SelectionDAG/SelectionDAG.cpp:2200: llvm::KnownBits llvm::SelectionDAG::computeKnownBits(llvm::SDValue, const llvm::APInt&, unsigned int) const: Assertion `(!Op.getValueType().isVector() || NumElts == Op.getValueType().getVectorNumElements()) && "Unexpected vector size"' failed.

Committed on behalf of: @pendingchaos (Rhys Perry)

Differential Revision: https://reviews.llvm.org/D55223

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348574 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
test/CodeGen/AMDGPU/computeKnownBits-scalar-to-vector-crash.ll [new file with mode: 0644]