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