В этот коммит, getDataLayout
был удален после устаревания. Каков текущий способ получения DataLayout
?
DataLayout также должен быть в модуле, поэтому вытащить его из TargetMachine больше нельзя. То есть в основном все, что строит модуль, должно знать достаточно для построения DataLayout.
Я полагаю TargetMachine::createDataLayout()
может быть использован.
TargetMachine.h:
const DataLayout createDataLayout() const { return DL; }
Это возвращает копию макета данных, а не константную ссылку.
Во всяком случае, это можно использовать более безопасно, поскольку копия макета данных остается действительной после уничтожения объекта TargetMachine.
Если я правильно помню, DataLyaout не особо большой класс, поэтому накладные расходы на копирование должны быть приемлемыми. Если это окажется проблемой, я рекомендую сохранить копию для очень частого доступа.