Подумал я тут, подумал... И, пожалуй, соглашусь с akron1.
У Оберона, имхо, есть только два пути:
1. Простой компилятор в натив. Вроде того, что в BlackBox или в Linz Oberon V4 или в ETH S3. Это собсна самый трушный оберонвэй.
2. Простой компилятор в байткод простой виртуальной машины + виртуальная машина, реализованная на C99 + транслятор в C99. Т.е. песочница в виртуальной машине для разработки, полноценной отладки и высокоуровневой профилировки, плюс возможность транслировать систему в C99 и собрать монолитное приложение.
Использовать LLVM как целевую архитектуру в первом варианте - это просто не в духе оберонов. Слишком монстрячая штука этот ваш LLVM.
Использовать LLVM во втором варианте вместо C99... ну... может быть и можно... Но смысла особого нет. Ни чем оно у C99 не выигрывает, а транслятор в C таки проще сделать.
Возможен еще и третий вариант. Использовать только транслятор в C99. Но, имхо, это будет дико неудобно.