freebsd-nq/contrib/llvm/lib/Transforms
Dimitry Andric f8789c6b84 Pull in r269908 from upstream llvm trunk (by James Molloy):
[VectorUtils] Fix nasty use-after-free

  In truncateToMinimalBitwidths() we were RAUW'ing an instruction then
  erasing it. However, that intruction could be cached in the map we're
  iterating over. The first check is "I->use_empty()" which in most
  cases would return true, as the (deleted) object was RAUW'd first so
  would have zero use count. However in some cases the object could
  have been polluted or written over and this wouldn't be the case.
  Also it makes valgrind, asan and traditionalists who don't like their
  compiler to crash sad.

  No testcase as there are no externally visible symptoms apart from a
  crash if the stars align.

  Fixes PR26509.

This should fix crashes when building a number of ports on arm64.

Reported by:	andrew
2016-05-29 20:54:16 +00:00
..
InstCombine Update llvm, clang and lldb to release_38 branch r260756. 2016-02-13 15:58:51 +00:00
Instrumentation Update llvm, clang and lldb to release_38 branch r258968. 2016-01-27 22:48:52 +00:00
IPO Update llvm and clang to release_38 branch r261369. 2016-02-21 16:23:44 +00:00
ObjCARC Update llvm to trunk r256633. 2015-12-30 13:13:10 +00:00
Scalar Update llvm and clang to release_38 branch r261369. 2016-02-21 16:23:44 +00:00
Utils Update llvm, clang and lldb to release_38 branch r260756. 2016-02-13 15:58:51 +00:00
Vectorize Pull in r269908 from upstream llvm trunk (by James Molloy): 2016-05-29 20:54:16 +00:00