adams381 wrote:

I've addressed the review feedback. The changes keep `emitVAArg` ABI-agnostic 
by removing the aggregate pointer wrapping, and 
`AggExprEmitter::VisitVAArgExpr` now handles aggregate values by creating a 
temporary alloca to materialize the value before copying to the destination.

**Changes made:**
- Reverted `emitVAArg` to return aggregate type directly (removed ABI-specific 
pointer wrapping)
- Updated `AggExprEmitter::VisitVAArgExpr` to create a temporary alloca, store 
the `va_arg` result, and copy from the temporary to the destination
- Updated test expectations to match the new behavior (`va_arg` returns 
`!rec_Bar` directly, not a pointer)

This ensures ABI-specific pointer handling will be done later in 
LoweringPrepare, as intended. All tests pass.

https://github.com/llvm/llvm-project/pull/172551
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to