Тоесть вы пишите преобразование для llvm ir а способны ныблюдать его прямо на аст
Там же выразительная мощность сильно разная. При понижении уровня абстракции теряется информация, которую неоткуда взять при повышении. А если её импринтить как мета инфу на низком уровне, то преобразования должны уметь с ней работать, что делает низкоуровневые трансформации бессмысленными, ибо проще сразу на высоком уровне и трансформировать. И это не говоря о том, что низкоуровневые трансформации на высоком уровне видеть вообще не хочется.