Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] how to get the InvodInst 's Operand Name?"
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 Mar 26
0
[LLVMdev] how to get the InvodInst 's Operand Name?
Hi zhangzw,
> 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
are you trying to get the name "@_ZTIi" or "@__cxa_throw"?
Ciao,
Duncan.
2009 Mar 26
0
[LLVMdev] how to get the InvodInst 's Operand Name?
Hi zhangzw,
>> 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
>
> >>are you trying to get the name "@_ZTIi" or "@__cxa_throw"?
>
> yes! i want get the name @_ZTi or @__cxa_throw,
> the latter
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 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 =
2010 Dec 07
0
[LLVMdev] RFC: Exception Handling Proposal Revised
Hi Bill, there are a couple of things I didn't understand about your proposal,
for example how it interacts with inlining, whether it is feasible to do the
"turn invoke-of-Unwind_Resume into a branch" optimization and also whether in
"resumedest" you still plan to use _Unwind_Resume to continue unwinding up the
stack. Could you please show what the LLVM IR would look like
2010 Dec 01
10
[LLVMdev] RFC: Exception Handling Proposal Revised
This is a revision of the second exception handling proposal I sent out. You can see it here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-November/036484.html
After much discussion, there are some changes to the proposal – some significant and some minor. One major point, this proposal does not address the issue of catching an exception thrown from a non-invoke instruction. However if done
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 26
0
[LLVMdev] how to get the InvodInst 's Operand Name?
Hi zhangzw,
> >> 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!
2010 Dec 01
8
[LLVMdev] Alternative exception handling proposal
Here is an alternative proposal to Bill's. It is closer to what we already
have (which can be seen as a good or a bad thing!), and is also closer to
what gcc does. It is more incremental than Bill's and introduces fewer
new concepts.
Executive summary
-----------------
Remove the personality and list of catches out of eh.selector and stick them
directly on invoke instructions.
The
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() {
2010 Dec 01
0
[LLVMdev] RFC: Exception Handling Proposal Revised
Hi Bill, this proposal seems strangely complicated. I don't see the advantage
of the dispatch instruction over just attaching the information to each invoke.
Right now you have
invoke void @_Z3foov()
to label %invcont unwind label %catch.handlers
catch.handlers: landingpad
dispatch resume to label %...
catches [
%struct.__fundamental_type_info_pseudo* @_ZTIi, label
2010 Dec 01
0
[LLVMdev] Alternative exception handling proposal
On Dec 1, 2010, at 1:37 PM, Duncan Sands wrote:
> Inlining
> --------
>
> Many a plausible seeming exception handling scheme has fallen by the way-side
> because it interacts poorly with inlining.
>
> Here is how inlining would work with this scheme. It's pretty close to how
> it works right now. Suppose you have
>
> invoke void @foo()
> to
2010 Dec 01
0
[LLVMdev] Alternative exception handling proposal
On Dec 1, 2010, at 1:37 PM, Duncan Sands wrote:
> Executive summary
> -----------------
>
> Remove the personality and list of catches out of eh.selector and stick them
> directly on invoke instructions.
>
> The invoke instruction
> ----------------------
>
> The invoke instruction is modified by adding extra catch info to it:
>
> <result> = invoke
2010 Dec 01
2
[LLVMdev] RFC: Exception Handling Proposal Revised
On Dec 1, 2010, at 10:20 AM, Duncan Sands wrote:
> Hi Bill, this proposal seems strangely complicated. I don't see the advantage
> of the dispatch instruction over just attaching the information to each invoke.
> Right now you have
>
> invoke void @_Z3foov()
> to label %invcont unwind label %catch.handlers
>
> catch.handlers: landingpad
> dispatch resume
2010 Dec 02
2
[LLVMdev] Alternative exception handling proposal
Hi John,
>> Inlining
>> --------
>>
>> Many a plausible seeming exception handling scheme has fallen by the way-side
>> because it interacts poorly with inlining.
>>
>> Here is how inlining would work with this scheme. It's pretty close to how
>> it works right now. Suppose you have
>>
>> invoke void @foo()
>>
2010 Dec 02
3
[LLVMdev] Alternative exception handling proposal
Hi Bill,
> This is similar to my first proposal.
yup, I still consider your first proposal to have been basically sound.
But it also suffers from a major problem,
> which stopped that proposal dead in its tracks. Namely, you have information in
> one place which needs to be shared in two different, but possibly disjoint,
> places: the type, filters, and personality information. In
2009 Sep 03
2
[LLVMdev] Non-local DSE optimization
Hi,
It looks like PDT.getRootNode() returns NULL for:
define fastcc void @c974001__lengthy_calculation.
1736(%struct.FRAME.c974001* nocapture %CHAIN.185) noreturn {
entry:
br label %bb
bb:
br label %bb
}
Isn't it a bug in PostDominatorTree?
Please note that this crashes:
opt -postdomtree -debug dom_crash.bc
I think this should be reported as a bug,
-Jakub
On Sep 3, 2009, at
2009 Sep 03
0
[LLVMdev] Non-local DSE optimization
Hi Jakub, interesting patch. I ran it over the Ada testsuite and this
picked up some problems even without enabling dse-ssu. For example,
"opt -inline -dse -domtree" crashes on the attached testcase.
Ciao,
Duncan.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dom_crash.ll
URL:
2009 Aug 31
2
[LLVMdev] Non-local DSE optimization
Hello,
This patch adds non-local DSE optimization. It uses Static Single Use
representation. This is my first "big" patch, please be tolerant :-)
Please note that optimization is disabled by default.
-Jakub
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dse_ssu.patch
Type: application/octet-stream
Size: 17352 bytes
Desc: not available
URL: