search for: zhengjian

Displaying 20 results from an estimated 23 matches for "zhengjian".

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 17
0
[LLVMdev] sjlj-exceptions handlying
On Tuesday 17 February 2009 02:21:55 zhengjian zhang wrote: > 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? It's hard to say - I'm not sure anyone here knows 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 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 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 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 May 12
1
[LLVMdev] How distinguish Catch all llvm-IR from other catch type ?
Hi, catch_all.cpp: 1 int main() 2 { 3 try { 4 throw 34; 5 } 6 catch (...) {} 7 } llvm-gcc -O3 -S -emit-llvm catch_all.cpp -o catch_all.ll: 1 ; ModuleID = 'catch_all.cpp' 2 target datalayout =
2009 Apr 28
3
[LLVMdev] how to resolve llvm exception IR?
here are the cpp file: $ cat -n eh1.catch.cpp 1 #include <iostream> 2 3 int main() 4 { 5 try { 6 throw 78; 7 } 8 catch (int){ 9 10 std::cout << "at catch\n"; 11 12 } 13 } LLVM-IR: $ llvm-g++ -S -emit-llvm eh1.catch.cpp -o eh1.catch.ll ... 46 define i32 @main() {
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 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 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