HomePhabricator

[CodeGen] Fix some broken IR generated by -fsanitize=unsigned-integer-overflow

Authored by erik.pilkington on Feb 27 2019, 4:47 PM.

Description

[CodeGen] Fix some broken IR generated by -fsanitize=unsigned-integer-overflow

I think the author of the function assumed that GetInsertBlock()
wouldn't change from where atomicPHI was created, but this isn't
true when -fsanitize=unsigned-integer-overflow is enabled (we
generate an overflow/continuation label). Fix by keeping track of the
block we want to return to to complete the cmpxchg loop.

rdar://48406558

Differential revision: https://reviews.llvm.org/D58744

llvm-svn: 355054