RFC: Splitting <Target>DAGISel.inc into declarations and definitions


Currently, TableGen generates all the instruction selection functions (in the .inc file) as if they were top-most functions. To make them members of their corresponding SelectionDAGISel derivative, each target has to include the .inc file directly into the body of the class:

--- FooDAGISel.inc ---
void SelectCode(Node *N) {
   // 1E6 lines of pattern matching code

This seems reasonable to me.

Though I think we usually make these things self cleaning so the “#undef DAGISEL_DECL” should be in the .inc file after its #ifdef.

Great! I posted a review: https://reviews.llvm.org/D39596, it includes the self-cleanup.