It was the caller's responsibility to call TargetIsa::check() before; now one can't manipulate a TargetIsa without calling the TargetIsaBuilder::finish() method, which is less error-prone and more in line with what's coming for other things we're going to generate in the meta crate. Also splits the construction of a RegClass in two parts: a prototype is made first when declaring the RegClass, and missing bits are filled in when adding it to the TargetIsa(Builder). This avoids an awkward passing of the isa to the RegClass ctor.
This crate contains the core Cranelift code generator. It translates code from an intermediate representation into executable machine code.