1728 unused functions


Now that clang is warning about unused functions, the self-host build is really noisy.

The majority of the unused functions are generated by TableGen:

/Volumes/Data/b/lib/Target/ARM/ARMGenDAGISel.inc:643:13: warning: unused function 'Predicate_t2_so_imm2part' [-Wunused-function]
inline bool Predicate_t2_so_imm2part(SDNode *inN) const {

Specifically this FIXME in DAGISelEmitter::run:

  // FIXME: These are being used by hand written code, gross.

The targets are using the Predicate_* functions in a few places (X86ISelDAGToDAG.cpp):

        if (Predicate_immSext8(Val.getNode()))
          Opc = X86::LOCK_SUB16mi8;

We need to move the relevant Predicate_* functions into *ISelDAGToDAG.cpp, change the PatLeafs to call the new functions, and finally stop emitting the predicate functions in TableGen.

Any volunteers?