search for: _z4copypvs_

Displaying 2 results from an estimated 2 matches for "_z4copypvs_".

2019 Sep 27
3
DenseMap/ValueMap: is M[New]=M[Old] valid ?
...ue type, and different forms of the assignment expression (where one form of the expression helped for Clang but not for GCC). The core part of the testcase is this: void copy(void *a, void *b) { GlobalMap[a] = GlobalMap[b]; } When compiled with Clang, ends up like this: define void @_Z4copyPvS_(i8*, i8*) #1 { %3 = alloca i8*, align 8 %4 = alloca i8*, align 8 store i8* %0, i8** %3, align 8 store i8* %1, i8** %4, align 8 %5 = call dereferenceable(8) i8** @_ZN4llvm12DenseMapBaseINS_8DenseMapIPvS2_NS_12DenseMapInfoIS2_EENS_6detail12DenseMapPairIS2_S2_EEEES2_S2_S4_S7_EixERKS2_(%...
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