[PATCH] D60762: [SelectionDAG] Legalize vaargs that require vector splitting
Luke Lau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 31 02:31:15 PDT 2019
luke added a comment.
In D60762#1518966 <https://reviews.llvm.org/D60762#1518966>, @RKSimon wrote:
> Building this locally with EXPENSIVE_CHECKS enabled causes a large number of warnings in the x86 test:
>
> - Bad machine code: Missing mayStore flag ***
> - function: test_large_vec_vaarg
> - basic block: %bb.0 (0x25e70f4da58)
> - instruction: %11:gr32 = MOV32rm %stack.0.args, 1, $noreg, 0, $noreg :: (load store 8 on %ir.args)
It looks like this happens with all vaarg expansions: The same assertions are thrown without vectors:
define i32 @test_large_vec_vaarg(i32 %n, ...) {
%args = alloca i8*, align 4
%x = va_arg i8** %args, i32
ret i32 %x
}
As well as on the existing vaarg tests (2008-10-29-ExpandVAARG.ll).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60762/new/
https://reviews.llvm.org/D60762
More information about the llvm-commits
mailing list