search for: zhangzhengjian

Displaying 20 results from an estimated 22 matches for "zhangzhengjian".

2009 Jun 15
1
[LLVMdev] eh_sjlj_setjmp/ongjmp ?
Hi, I have checkout llvm from the svn, eh_sjlj_setjmp/longjmp intrinsics had beed added ! but it seems llvm-gcc does't generate the eh_sjlj_setjmp/longjmp intrinsics now ? best regards zhangzw
2009 Feb 17
2
[LLVMdev] sjlj-exceptions handlying
in llvm-backend did't support sjlj-exceptions handlying,but support dwarf-excceptions handlying, my question is: if i want change llvm-backend to support, how should i Do ? anyone can give some clue? bestregards zhangzw
2009 Feb 18
0
[LLVMdev] sjlj-exceptions handlying
my ugly way about the sjlj-eh is: in the last part of the llvm codegen build some relative sjlj-eh runtime function. ok, why i do like that, because i want quick run of the sjlj-en for my target., above method,based on the dwarf-eh(llvm used), now the other work of my method are emit except table, also base on llvm, now i have problem about the emit except table for sjlj. because llvm used
2009 Feb 26
2
[LLVMdev] Question LowerSetJmp
Hi In llvm src the file llvm/lib/Transforms/IPO/LowerSetJmp.cpp, it seems for sjlj-eh ? but this pass has no effect about c++ sjlj-eh. this pass is for future extend? zhangzw
2009 Mar 26
2
[LLVMdev] how to get the InvodInst 's Operand Name?
HI all, here is a llvm IR : invoke void @__cxa_throw(i8* %7, i8* bitcast (%struct.__fundamental_type_info_pseudo* @_ZTIi to i8*), void (i8*)* null) noreturn to label %invcont unwind label %lpad say I want to get the Invoke's Operand's name, I use getOperand(i)->getName(), it can work for that the Operand hasname, but some Operand hasn't name, So, My problem is how
2009 Mar 26
1
[LLVMdev] how to get the InvodInst 's Operand Name?
Hi Duncan, >>I don't get it. Sorry my bad English! hehe. >>What has this got to do with determining the >>names "@__cxa_throw" and "@_ZTi"? Record the Information into the MachineModule Info, so in Dwarfwriter or SjLjWriter(my sjlj-eh name) can build the except table correctly! 2009/3/26 Duncan Sands <baldrick at free.fr>: > Hi zhangzw,
2009 Mar 27
1
[LLVMdev] LLVMdev Digest, Vol 57, Issue 51
Hi Evan, >>Is it possible to implement it without using MachineModuleInfo? but llvm-2.5 didn't , if implement it without using MachineModuleInfo, so I should create another ADT, but that is mostly same to MachineModuleInfo, that's repeat work! or less cost for me ! >> It's being removed. if so, what's the replacement of the MachineModuleInfo ? zhangzw
2009 Apr 08
1
[LLVMdev] libstdc++v3
Hi all, I have some doubts on libstdc++v3? at the g++ side the libstdc++v3 as a runtime lib , a component of the g++, but at the llvm, there are no libstdc++v3 ? are llvm leave the libstc++v3 to the front-end(clang or llvm-gcc?). another problem is if I compile libstdc++v3 as byte-code (llvm-IR), just say libstdc++v3.bc , and link libstdc++v3.bc with programs, are this action can
2009 May 05
1
[LLVMdev] how to resolve llvm exception IR?
hi, I'm doing to make llvm backend support sjlj-eh! I have try to use the llvm-IR to generate the sjlj-eh code, but I'm totally despair ! my major problem is that llvm-ir , I mean exception instrinstics are enough for codegen the sjlj-eh code? May I need to modify the llvm-gcc ? or someone can give some advice about llvm-backend 's support sjlj-eh ? best regards
2009 May 06
2
[LLVMdev] SJLJ EH
Hi, >There's definitely more to it than the current intrinsics, which are >there to support dwarf. that's to say we need modify the llvm-gcc so the front end can generate the sjlj-style IR, >SJLJ exceptions rely on runtime library >functions to register and unregister call frames which require >unwinding, so we need to modify LLVM to handle generating those call my
2009 May 06
0
[LLVMdev] SJLJ EH
Hi, >There's definitely more to it than the current intrinsics, which are >there to support dwarf. from the exist llvm-ir it seems there are some common info for sjlj-eh and dwarf-eh! are there possible use the exist llvm-ir to generate exception table for sjlj-eh ? zhangzw
2009 May 07
0
[LLVMdev] llvm-gcc's sjlj-eh support
Hi, many people suggest that if we want llvm to support sjlj-eh, we should modify the llvm-gcc to generate sjlj-style IR. yeah, I'm digging into the llvm-gcc now. there are some functions, at the llvm-gcc e.g TreeToLLVM::CreateExceptionValues() , BasicBlock *TreeToLLVM::getPostPad(unsigned RegionNo), void TreeToLLVM::EmitLandingPads(), void TreeToLLVM::EmitPostPads() , void
2009 May 11
0
[LLVMdev] Exception handling
Hi, >On the other hand, it's not completely possible to separate it from >the front end either since different languages can have different >semantics. Ada, C++, Objective C, etc.. Sometimes these can be handled >the same way under the hood, but it's dangerous for the compiler to >assume that to be true. At least some knowledge needs to be in the >front end code-gen.
2009 May 12
2
[LLVMdev] catch all
Hi, that's right ! catch(all) has extra null arg, eh_select = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %eh_ptr, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* null) ; <i32> [#uses=0] I have doubt that : the llvm-IR like above are all translated from catch(all) statement . zhangzw
2009 May 12
1
[LLVMdev] catch all
2009/5/12 Duncan Sands <baldrick at free.fr>: >>  that's  right !  catch(all) has extra null arg, >> >> eh_select = tail call i32 (i8*, i8*, ...)* >> @llvm.eh.selector.i32(i8* %eh_ptr, i8* bitcast (i32 (...)* >> @__gxx_personality_v0 to i8*), i8* null)        ; <i32> [#uses=0] >> >> I have doubt  that  : >> the llvm-IR like above are
2009 Jun 23
0
[LLVMdev] how to remove MachineInstr ?
Hi, I want to remove all the MachineInstr of one MachineBasicBlock , i iterate the MachineBasicBlock and remove all the MachineInstr, but I can't remove the TerminatorInstr of the MachineBasicBlock , are there some way to walk around it ? zhangzw
2009 Mar 26
2
[LLVMdev] how to get the InvodInst 's Operand Name?
Hi Duncan, >>are you trying to get the name "@_ZTIi" or "@__cxa_throw"? yes! i want get the name @_ZTi or @__cxa_throw, the latter @__cxa_throw i can get it throw value->getName(), but the @_ZTi it did n't has name! zhangzw thanks 2009/3/26 Duncan Sands <baldrick at free.fr>: > Hi zhangzw, > >> invoke void @__cxa_throw(i8* %7, i8*
2009 May 07
2
[LLVMdev] the different semantics between dwarf-eh and sjlj-eh
Hi, >> from the exist llvm-ir it seems there are some common info for sjlj-eh >> and dwarf-eh! >> are there possible use the exist llvm-ir to generate exception table > >for sjlj-eh ? >No. There should be support from llvm-gcc. sjlj eh and dwarf eh have >different semantics different semantics ? ! I think llvm-gcc generate the IR should not include the exception
2009 Mar 26
2
[LLVMdev] how to get the InvodInst 's Operand Name?
Hi Duncan, thanks ! hehe . >> Why do you want the names anyway? because i 'am working on llvm to support sjlj-eh for my target. for my side, I lookup the llvm invoke instruction to build the sjlj-eh on sjlj-eh it's need store the landing pad index to stack before call __cxa_throw, but it seems no ! in llvm-backend because it only suport dwarf-eh! so i have to build
2009 Mar 13
2
[LLVMdev] how to reslove gcc_except_table?
hi: maybe this should not be here! the test code: eh3.cpp int main() { try { throw 34; } catch (int) { } catch (char) { } catch (bool) { } } compile with g++ -S -dA eh3.cpp -o eh3.s the except table of the eh3.s 106 .section .gcc_except_table,"a", at progbits 107 .align 4 108 .LLSDA2: 109