summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/ConstantFolding/cast-vector.ll
Commit message (Collapse)AuthorAgeFilesLines
* [ConstantFolding] Avoid assert when folding ptrtoint of vectorized GEPBjorn Pettersson2017-10-241-0/+32
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
OpenPOWER on IntegriCloud