Mercurial > hg > CbC > CbC_llvm
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 |