diff options
author | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2017-10-24 12:08:11 +0000 |
---|---|---|
committer | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2017-10-24 12:08:11 +0000 |
commit | 1c043a9f28629929719c7262c74f837476416d43 (patch) | |
tree | 6ab8f2b7a41b3991b03dde70cb0e1cb3845c5b48 /lldb/packages/Python/lldbsuite/support/gmodules.py | |
parent | e1285e3cdf6bd34311611070ffe2ac6a6af76276 (diff) | |
download | bcm5719-llvm-1c043a9f28629929719c7262c74f837476416d43.tar.gz bcm5719-llvm-1c043a9f28629929719c7262c74f837476416d43.zip |
[ConstantFolding] Avoid assert when folding ptrtoint of vectorized GEP
Summary:
Got asserts in llvm::CastInst::getCastOpcode saying:
`DestBits == SrcBits && "Illegal cast to vector (wrong type or size)"' failed.
Problem seemed to be that llvm::ConstantFoldCastInstruction did
not handle ptrtoint cast of a getelementptr returning a vector
correctly. I assume such situations are quite rare, since the
GEP needs to be considered as a constant value (base pointer
being null).
The solution used here is to simply avoid the constant fold
of ptrtoint when the value is a vector. It is not supported,
and by bailing out we do not fail on assertions later on.
Reviewers: craig.topper, majnemer, davide, filcab, efriedma
Reviewed By: efriedma
Subscribers: efriedma, filcab, llvm-commits
Differential Revision: https://reviews.llvm.org/D38546
llvm-svn: 316430
Diffstat (limited to 'lldb/packages/Python/lldbsuite/support/gmodules.py')
0 files changed, 0 insertions, 0 deletions