{"push_id":2803761302,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"deeca4e474a84e2172b75d7a65431b168a5416c2","before":"6a3a305d98b3a839b0ee333c7bdeb8e5300d7e88","commits":[{"sha":"deeca4e474a84e2172b75d7a65431b168a5416c2","author":{"name":"Vedant Kumar","email":"004c457a2ebaecf18123fd2614baa1d571fe5234@apple.com"},"message":"[InstrProf] Use atomic profile counter updates for TSan\n\nThread sanitizer instrumentation fails to skip all loads and stores to\nprofile counters. This can happen if profile counter updates are merged:\n\n  %.sink = phi i64* ...\n  %pgocount5 = load i64, i64* %.sink\n  %27 = add i64 %pgocount5, 1\n  %28 = bitcast i64* %.sink to i8*\n  call void @__tsan_write8(i8* %28)\n  store i64 %27, i64* %.sink\n\nTo suppress TSan diagnostics about racy counter updates, make the\ncounter updates atomic when TSan is enabled. If there's general interest\nin this mode it can be surfaced as a clang/swift driver option.\n\nTesting: check-{llvm,clang,profile}\n\nrdar://40477803\n\nDifferential Revision: https://reviews.llvm.org/D50867","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/deeca4e474a84e2172b75d7a65431b168a5416c2"}]}
{"actor":{"display_login":"chapuni"}}