https://github.com/rjmccall commented:
I was hoping that you might push this down into the target code — if you make `emitVoidPtrVAArg` return an `RValue`, that'll handle about half of the targets. Most of the rest will just need an `EmitLoadOfLValue` at the end. MIPS (which is the target with the weird unpromotion logic) calls `emitVoidPtrVAArg`, so it will just need to do its unpromotion on the scalar value, which it should be able to do without creating a temporary. But this works as a first pass if you think that's too much to ask. https://github.com/llvm/llvm-project/pull/94635 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits