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