opnsense-src/contrib/llvm/lib/Transforms/Vectorize
Dimitry Andric a7264ff541 Pull in r322473 from upstream llvm trunk (by Andrei Elovikov):
[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

This should fix "Vector value already set for part" assertions when
building the net/iodine and sysutils/daa2iso ports.

Reported by:	jbeich
PR:		224867,224868
2018-01-15 18:20:15 +00:00
..
LoadStoreVectorizer.cpp Merge llvm trunk r321017 to contrib/llvm. 2017-12-20 14:16:56 +00:00
LoopVectorize.cpp Pull in r322473 from upstream llvm trunk (by Andrei Elovikov): 2018-01-15 18:20:15 +00:00
SLPVectorizer.cpp Pull in r321994 from upstream llvm trunk (by Alexey Bataev): 2018-01-12 18:19:14 +00:00
Vectorize.cpp Merge llvm trunk r321017 to contrib/llvm. 2017-12-20 14:16:56 +00:00
VPlan.cpp Merge llvm trunk r321017 to contrib/llvm. 2017-12-20 14:16:56 +00:00
VPlan.h Merge llvm trunk r321017 to contrib/llvm. 2017-12-20 14:16:56 +00:00
VPlanBuilder.h Merge llvm trunk r321017 to contrib/llvm. 2017-12-20 14:16:56 +00:00
VPlanValue.h Merge llvm trunk r321017 to contrib/llvm. 2017-12-20 14:16:56 +00:00