Я только начинаю знакомиться с LLVM, и я искал информацию относительно фактического состояния JIT API LLVM и его внедрения. Многие примеры, которые я нашел, показывают использование либо ExecutionEngine
class , либо MCJit / ORC API, но никогда не показывают их вместе.
Поэтому мой вопрос: какова связь между классом ExecutionEngine
и MCJit / ORC API? В настоящее время я понимаю, что ExecutionEngine
является своего рода классом API для MCJit и ORC, скрывая детали их реализации. Это правильно? Можно ли предположить, что всегда следует использовать ExecutionEngine
класс вместо MCJit / ORC API? Если да, то почему официальный учебник LLVM напрямую использует ORC API и даже не упоминает о существовании класса ExecutionEngine
? Это просто устарело?