diff options
author | Pirama Arumuga Nainar <pirama@google.com> | 2015-04-10 22:08:18 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-10 22:08:18 +0000 |
commit | 13a7db5b9c4f5e543d037be68ec3428216bfd550 (patch) | |
tree | 1b2c9792582e12f5af0b1512e3094425f0dc0df9 /test/CodeGen/X86/frameallocate.ll | |
parent | 0eb46f5d1e06a4284663d636a74b06adc3a161d7 (diff) | |
parent | 31195f0bdca6ee2a5e72d07edf13e1d81206d949 (diff) | |
download | external_llvm-13a7db5b9c4f5e543d037be68ec3428216bfd550.zip external_llvm-13a7db5b9c4f5e543d037be68ec3428216bfd550.tar.gz external_llvm-13a7db5b9c4f5e543d037be68ec3428216bfd550.tar.bz2 |
am 31195f0b: Merge "Update aosp/master llvm for rebase to r233350"
* commit '31195f0bdca6ee2a5e72d07edf13e1d81206d949':
Update aosp/master llvm for rebase to r233350
Diffstat (limited to 'test/CodeGen/X86/frameallocate.ll')
-rw-r--r-- | test/CodeGen/X86/frameallocate.ll | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/test/CodeGen/X86/frameallocate.ll b/test/CodeGen/X86/frameallocate.ll deleted file mode 100644 index 7a2f9e3..0000000 --- a/test/CodeGen/X86/frameallocate.ll +++ /dev/null @@ -1,43 +0,0 @@ -; RUN: llc -mtriple=x86_64-windows-msvc < %s | FileCheck %s - -declare i8* @llvm.frameallocate(i32) -declare i8* @llvm.frameaddress(i32) -declare i8* @llvm.framerecover(i8*, i8*) -declare i32 @printf(i8*, ...) - -@str = internal constant [10 x i8] c"asdf: %d\0A\00" - -define void @print_framealloc_from_fp(i8* %fp) { - %alloc = call i8* @llvm.framerecover(i8* bitcast (void(i32*, i32*)* @alloc_func to i8*), i8* %fp) - %alloc_i32 = bitcast i8* %alloc to i32* - %r = load i32* %alloc_i32 - call i32 (i8*, ...)* @printf(i8* getelementptr ([10 x i8]* @str, i32 0, i32 0), i32 %r) - ret void -} - -; CHECK-LABEL: print_framealloc_from_fp: -; CHECK: movabsq $.Lframeallocation_alloc_func, %[[offs:[a-z]+]] -; CHECK: movl (%rcx,%[[offs]]), %edx -; CHECK: leaq {{.*}}(%rip), %rcx -; CHECK: callq printf -; CHECK: retq - -define void @alloc_func(i32* %s, i32* %d) { - %alloc = call i8* @llvm.frameallocate(i32 16) - %alloc_i32 = bitcast i8* %alloc to i32* - store i32 42, i32* %alloc_i32 - %fp = call i8* @llvm.frameaddress(i32 0) - call void @print_framealloc_from_fp(i8* %fp) - ret void -} - -; CHECK-LABEL: alloc_func: -; CHECK: subq $48, %rsp -; CHECK: .seh_stackalloc 48 -; CHECK: leaq 48(%rsp), %rbp -; CHECK: .seh_setframe 5, 48 -; CHECK: .Lframeallocation_alloc_func = -[[offs:[0-9]+]] -; CHECK: movl $42, -[[offs]](%rbp) -; CHECK: leaq -48(%rbp), %rcx -; CHECK: callq print_framealloc_from_fp -; CHECK: retq |