Что означает «клоббер» в контексте анализа зависимости памяти от LLVM - PullRequest
3 голосов
/ 25 февраля 2020

Я новичок в LLVM, и в настоящее время я работаю над тем, что связано с анализом зависимости от памяти. Читая документы, я обнаружил, что термин «клоббер» используется довольно интенсивно. Теперь я понимаю, что такое сжатый регистр в терминах, например, встроенного ассемблера, но его использование в документации LLVM сбивает меня с толку.

Например, в https://llvm.org/docs/MemorySSA.html упоминается:

Операнды данного MemoryAccess - это все (потенциальные) сгустки упомянутого MemoryAccess, и значение, созданное с помощью MemoryAccess, может действовать как сгусток для других MemoryAccesses ...

или

Магазин для% a явно не является клобуфером для магазина для% b. Это было бы целью уолкера выяснить это и вернуть liveOnEntry при запросе на клопбер MemoryAccess 2.

или

Если вы решите сделать свой собственный ходок Вы можете найти клоббер для MemoryAccess с помощью ...

Кроме того, в этом (коротком) выступлении , в 0:38 он говорит о "вещах, которые сабберы Магазина ", и в 0:53 о том, что операнд Load является" чем бы то ни было, что говорит анализ псевдонимов ".

Я не уверен, как понять смысл использования этого термина, и я был бы признателен за любые указатели справа направление.

...