aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/MemoryBuffer.cpp
diff options
context:
space:
mode:
authorAndrei Elovikov <andrei.elovikov@intel.com>2018-01-15 10:56:07 +0000
committerAndrei Elovikov <andrei.elovikov@intel.com>2018-01-15 10:56:07 +0000
commit7457aa0bce3352d9ca22d1a7435d2763def8e885 (patch)
tree98aafd519884512ec9743d120fe2b673429893c8 /llvm/lib/Support/MemoryBuffer.cpp
parentcc2ba028170e4f00b7f9edc260cf1e833e6eda27 (diff)
downloadllvm-7457aa0bce3352d9ca22d1a7435d2763def8e885.zip
llvm-7457aa0bce3352d9ca22d1a7435d2763def8e885.tar.gz
llvm-7457aa0bce3352d9ca22d1a7435d2763def8e885.tar.bz2
[LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from a trunc.
Summary: This method is supposed to be called for IVs that have casts in their use-def chains that are completely ignored after vectorization under PSE. However, for truncates of such IVs the same InductionDescriptor is used during creation/widening of both original IV based on PHINode and new IV based on TruncInst. This leads to unintended second call to recordVectorLoopValueForInductionCast with a VectorLoopVal set to the newly created IV for a trunc and causes an assert due to attempt to store new information for already existing entry in the map. This is wrong and should not be done. Fixes PR35773. Reviewers: dorit, Ayal, mssimpso Reviewed By: dorit Subscribers: RKSimon, dim, dcaballe, hsaito, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D41913 llvm-svn: 322473
Diffstat (limited to 'llvm/lib/Support/MemoryBuffer.cpp')
0 files changed, 0 insertions, 0 deletions