Sparse currently defines macros that emulate var args. However these macros do not make sense when a backend is being used to generate code; the macros result in bad code being generated and the resulting code crashes. There should be a code generation mode flag that if set should disable these macros or redefine them to generate error at compile time. This mode should be enabled when the sparse-llvm backend is being used.
Disabling the macro or generate an error is not really an option. What need to be done is to add support for varags at the IR level.