But yep, maybe for consistency even compile-only runs should have their ops defined, even if they are mostly empty functions or NULL function pointers. I will do that.
Yeah, I'd rather have a "null executor" to abstract compilation only, rather than have another flag.