ReplacePass
annotation class ReplacePass(val old: KClass<out Pass<*>>, val lang: KClass<out Language<*>>, val with: KClass<out Pass<*>>)
This annotation can be used to replace a certain Pass (identified by old) for a specific Language (identified by lang) with another Pass (identified by with).
The primary use-case for this annotation is to allow language frontends to override specific passes, such as the EvaluationOrderGraphPass in order to optimize language specific graphs.