From 06587497dc1c39516f24784a2ac1d9323faae0a5 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Fri, 24 Oct 2008 02:05:00 +0000 Subject: Avoid splitting an interval multiple times; avoid splitting re-materializable val# (for now). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58068 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/pre-split3.ll | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 test/CodeGen/X86/pre-split3.ll (limited to 'test/CodeGen/X86/pre-split3.ll') diff --git a/test/CodeGen/X86/pre-split3.ll b/test/CodeGen/X86/pre-split3.ll new file mode 100644 index 0000000..e762784 --- /dev/null +++ b/test/CodeGen/X86/pre-split3.ll @@ -0,0 +1,26 @@ +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -pre-alloc-split -stats |& \ +; RUN: grep {pre-alloc-split} | grep {Number of intervals split} | grep 2 + +define i32 @t(i32 %arg) { +entry: + br label %bb6 + +.noexc6: ; preds = %bb6 + %0 = and i32 %2, -8 ; [#uses=1] + tail call void @llvm.memmove.i32(i8* %3, i8* null, i32 %0, i32 1) nounwind + store double %1, double* null, align 8 + br label %bb6 + +bb6: ; preds = %.noexc6, %entry + %1 = uitofp i32 %arg to double ; [#uses=1] + %2 = sub i32 0, 0 ; [#uses=1] + %3 = invoke i8* @_Znwm(i32 0) + to label %.noexc6 unwind label %lpad32 ; [#uses=1] + +lpad32: ; preds = %bb6 + unreachable +} + +declare void @llvm.memmove.i32(i8*, i8*, i32, i32) nounwind + +declare i8* @_Znwm(i32) -- cgit v1.1