У меня есть постоянный указатель типа *TypeB из адреса глобальной переменной, и мне нужно преобразовать его в указатель типа *TypeA, где TypeB отличается от TypeA, но также является допустимым TypeA.
Например, TypeA может иметь элементы (uint id, int data1), а TypeB может иметь элементы (uint id, int data1, int data2).
Вопрос в том, как привести указатель постоянный к другому типу, сохранив его постоянный (без инструкций).





Очевидно, с использованием bitcastпостоянное выражение.
См. документация для ConstantExpr::getBitCast().