As mentioned a few days ago, a very nice thing that we can do with tree-ssa is eliminating all the messy handling of postincrements and the pending postincrement chain; and a RTL code that I had just learnt about, QUEUED. :-) ~700 lines go away, and many comments like "the caller should have done so" and "the callee will do so", which is quite nice. Unfortunately (but quite understandably), va_arg expanders are heavy users of {pre,post}{in,de}crements, which means that this patch has ramifications in backend code. The obvious solution is to expand preincrements and predecrements manually, and for postincrements use (x+N)-N; of course the real solution would be to transition these backends to using gimplifiers for va_arg: these could well use the now-banned tree codes, but this is well above my abilities. This patch bootstrapped/regtested all languages on i686-pc-linux-gnu. I also built cc1 for c4x-elf, fr30-elf, iq2000-elf, mn10300-elf, m32r-elf, mips-elf, hppa-linux, i860-sysv4, s390-linux. Ok for mainline? Paolo