Я новичок в LLVM, и в настоящее время я работаю над тем, что связано с анализом зависимости от памяти. Читая документы, я обнаружил, что термин «клоббер» используется довольно интенсивно. Теперь я понимаю, что такое сжатый регистр в терминах, например, встроенного ассемблера, но его использование в документации LLVM сбивает меня с толку.
Например, в https://llvm.org/docs/MemorySSA.html упоминается:
Операнды данного MemoryAccess - это все (потенциальные) сгустки упомянутого MemoryAccess, и значение, созданное с помощью MemoryAccess, может действовать как сгусток для других MemoryAccesses ...
или
Магазин для% a явно не является клобуфером для магазина для% b. Это было бы целью уолкера выяснить это и вернуть liveOnEntry при запросе на клопбер MemoryAccess 2.
или
Если вы решите сделать свой собственный ходок Вы можете найти клоббер для MemoryAccess с помощью ...
Кроме того, в этом (коротком) выступлении , в 0:38 он говорит о "вещах, которые сабберы Магазина ", и в 0:53 о том, что операнд Load является" чем бы то ни было, что говорит анализ псевдонимов ".
Я не уверен, как понять смысл использования этого термина, и я был бы признателен за любые указатели справа направление.