Displaying 2 results from an estimated 2 matches for "d62624".
2019 Sep 27
2
DenseMap/ValueMap: is M[New]=M[Old] valid ?
I actually ran into an elusive bug with this exact same issue some time
ago as well, see https://bugs.llvm.org/show_bug.cgi?id=42065 and
https://reviews.llvm.org/D62624.
The strange thing about that bug was that it only showed up if built with
GCC; Clang dereferenced the right hand side reference before evaluating
the left hand side, as long as the value type was as small as the
reference itself.
// Martin
On Thu, 26 Sep 2019, David Blaikie via llvm-dev wrot...
2019 Sep 26
2
DenseMap/ValueMap: is M[New]=M[Old] valid ?
Hi,
I have a question about llvm/ADT/DenseMap.h and llvm/IR/ValueMap.h:
When you have a:
MapType M;
is it safe to do:
M[NewKey] = M[OldKey];
or do you need to do it in two steps:
auto tmp = M[OldKey]; // ensure the reference to M[OldKey] is copied, before reassigning.
M[NewKey] = tmp; // might reallocate
aka, will a possible allocation for M[NewKey] invalidate the