comparison test/CodeGen/X86/sjlj.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 95c75e76d11b
children
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
13 13
14 declare void @llvm.eh.sjlj.longjmp(i8*) nounwind 14 declare void @llvm.eh.sjlj.longjmp(i8*) nounwind
15 15
16 define i32 @sj0() nounwind { 16 define i32 @sj0() nounwind {
17 %fp = tail call i8* @llvm.frameaddress(i32 0) 17 %fp = tail call i8* @llvm.frameaddress(i32 0)
18 store i8* %fp, i8** getelementptr inbounds ([5 x i8*]* @buf, i64 0, i64 0), align 16 18 store i8* %fp, i8** getelementptr inbounds ([5 x i8*], [5 x i8*]* @buf, i64 0, i64 0), align 16
19 %sp = tail call i8* @llvm.stacksave() 19 %sp = tail call i8* @llvm.stacksave()
20 store i8* %sp, i8** getelementptr inbounds ([5 x i8*]* @buf, i64 0, i64 2), align 16 20 store i8* %sp, i8** getelementptr inbounds ([5 x i8*], [5 x i8*]* @buf, i64 0, i64 2), align 16
21 %r = tail call i32 @llvm.eh.sjlj.setjmp(i8* bitcast ([5 x i8*]* @buf to i8*)) 21 %r = tail call i32 @llvm.eh.sjlj.setjmp(i8* bitcast ([5 x i8*]* @buf to i8*))
22 ret i32 %r 22 ret i32 %r
23 ; X86: sj0 23 ; X86: sj0
24 ; x86: movl %ebp, buf 24 ; x86: movl %ebp, buf
25 ; X86: movl %esp, buf+8 25 ; X86: movl %esp, buf+8