Sometime this weekend (or today) vararg support will change. vanext
will go away, and the intrinsic signatures will change. Backwards
compatibility code will be included so front ends won't need to change
initially (after that code is tested, then we will upgrade llvm-gcc).
What should work after the transition:
All Pattern based ISels (default on x86, PPC, Alpha, IA64)
Existing .bc and .ll files
What will break:
SparcV8 (which doesn't currently support varargs, so not a big deal)
Simple ISels for x86 and PPC (not the default codegen, so shouldn't
really affect anybody)
If you read a .ll or .bc file it will be converted to the new format and
any file written will use the new instructions and intrinsics. And yes,
the conversion produces horibly ugly code, but oh well.