[LLVMdev] 1728 unused functions

Jakob Stoklund Olesen stoklund at 2pi.dk
Mon Aug 16 10:57:32 PDT 2010


Hi,

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.
  EmitPredicateFunctions(OS);

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

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

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?

/jakob





More information about the llvm-dev mailing list