[NFCI][ValueTracking] getUnderlyingObject(): assert that no cycles are encountered
authorRoman Lebedev <lebedev.ri@gmail.com>
Mon, 15 Mar 2021 08:51:23 +0000 (11:51 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Mon, 15 Mar 2021 08:52:31 +0000 (11:52 +0300)
commit36f1c3db66f7268ea3183bcf0bbf05b3e1c570b4
tree5de177055f098ebfc5ff699c5f8dc991dac9de07
parent581672be04d15533caf7ec9830382219f78e4ce9
[NFCI][ValueTracking] getUnderlyingObject(): assert that no cycles are encountered

Jeroen Dobbelaere in
https://lists.llvm.org/pipermail/llvm-dev/2021-March/149206.html
is reporting that this function can end up in an endless loop
when called from SROA w/ full restrict patches.

For now, simply ensure that such problems are caught earlier/easier.
llvm/lib/Analysis/ValueTracking.cpp