[llvm-commits] [llvm] r129185 - in /llvm/trunk: lib/CodeGen/SelectionDAG/DAGCombiner.cpp test/CodeGen/X86/call-push.ll

Frits van Bommel fvbommel at gmail.com
Sat Apr 9 02:32:59 PDT 2011


On Sat, Apr 9, 2011 at 4:32 AM, Chris Lattner <sabre at nondot.org> wrote:
> +; There should be no store for the undef operand.
> +
> +; CHECK: _test2:
> +; CHECK-NOT: 8(%esp)
> +; CHECK: 4(%esp)
> +; CHECK: calll

This only checks the undef operand isn't stored to before the '6' is
stored to. It will still accepts e.g.

	movl	$8, (%esp)
	movl	$6, 4(%esp)
	movl	%eax, 8(%esp)
	calll	foo

as a valid call sequence.
(It's probably best to just remove the check for 4(%esp) since
presumably non-undef parameters are tested elsewhere already)

> +declare i32 @foo(i32, i32, i32)
> +
> +define void @test2() nounwind {
> +entry:
> +  %call = call i32 @foo(i32 8, i32 6, i32 undef)
> +  ret void
> +}




More information about the llvm-commits mailing list