Eliminate user-defined primitives (UDPs), replacing them with equivalent modules.
This transform eliminates all user-defined primitives from a design, replacing them with modules. When the UDPs are simple enough to support, we can create replace them with equivalent modules. In other cases, e.g., when the UDP includes scary, nonsensical X behavior, we may simply create a shell module that includes fatal warnings.