Meta-programming SILInstructions


I have a branch that I'm working on that adds a bunch of SILInstructions, and there is a lot of boilerplate fallout that I'd like to start minimizing via better SILInstruction meta-programming. For example, I'd like to move the per-instruction inline cost into the SILNodes.def file. I'd also like to convert some exhaustive switch statements to the visitor pattern, and maybe even refine the SILInstruction type hierarchy to make the visitor pattern easier to use.

What should I know before I start creating pull requests?


I'd prefer these changes do not land until after the last Swift 4.2 re-branch from master on Friday (April 20).