Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] The nearest basic block being dominated by all used values."
2010 Aug 05
3
[LLVMdev] a problem when using postDominatorTree
On 08/05/2010 06:46 AM, Wenbin Zhang wrote:
> Hi all,
> I'm using postDominatorTree to do some program analysis. My code works
> well for small tests, but when I run it on real applications, the
> following error occurs:
> /Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
> [1] <<exit node>> {0,21}
> [2] %bb1 {1,2}
> [2] %bb {3,4}
> [2]
2010 Aug 05
1
[LLVMdev] a problem when using postDominatorTree
Wenbin Zhang wrote:
> I'll try the trunk, as well as check my code again. If indeed it's not
> fixed, I'll try to post a triggering case here.
> Thanks for the advice~
>
Did you run the -mergereturn pass (it might also be called
UnifyExitNodes in the source code)? This is the pass that ensures that
each function has exactly one basic block that returns control to the
2010 Aug 05
0
[LLVMdev] a problem when using postDominatorTree
I'll try the trunk, as well as check my code again. If indeed it's not
fixed, I'll try to post a triggering case here.
Thanks for the advice~
Best,
--Wenbin
----- Original Message -----
From: "Tobias Grosser" <grosser at fim.uni-passau.de>
To: "Wenbin Zhang" <zhangwen at cse.ohio-state.edu>
Cc: <llvmdev at cs.uiuc.edu>
Sent: Thursday, August
2006 Jul 07
2
BUG in " == " ? (PR#9065)
Hello,
here is the version of R that I use :
> version
_
platform i486-pc-linux-gnu
arch i486
os linux-gnu
system i486, linux-gnu
status
major 2
minor 3.1
year 2006
month 06
day 01
svn rev 38247
language R
version.string Version 2.3.1 (2006-06-01)
And here is one of the sequences of
2013 Nov 15
2
[LLVMdev] dominator, post-dominator and memory leak
Hi Henrique,
I have tried using -mergereturn and inserting a free into the predecessors
of dominance frontier of malloc block and it caused double free. It is
possible for multiple free's to be inserted on the path from malloc to an
exit. For example, in the following CFG:
BB10 (malloc)
/ \
BB11 BB12
... / \ / \
2013 Nov 13
3
[LLVMdev] dominator, post-dominator and memory leak
Hi Henrique,
Thanks for the quick reply!
On Tue, Nov 12, 2013 at 9:13 PM, Henrique Santos <
henrique.nazare.santos at gmail.com> wrote:
> PRE normally uses a latest placement algorithm to do something of the sort.
> I don't know about GVN/PRE, but older version of PRE might have it.
> Just placing the calls to free at the predecessors (dominated by BB12) of
> the dominance
2013 Nov 13
0
[LLVMdev] dominator, post-dominator and memory leak
>
> It seems that placing the calls to free at the predecessors of dominance
> frontier is inadequate. It is possible that there are exit blocks that are
> dominated by BB12 (calls to malloc). I guess we can also insert calls to
> free at these exit blocks too.
That crossed my mind a few minutes later. : )
If you're interested, PRE.cpp existed last at r25315. It calculates the
2009 Aug 24
2
[LLVMdev] Post-dominance analysis for multiple-exit functions
Many published analyses which build on post-dominance assume a
canonical single-dominator-tree form induced by unifying all exits
(and often adding a virtual edge from START to END). In contrast, it
seems that the current LLVM post-dominator analysis only operates in a
mode in which it generates a forest of post-dominator trees, with one
rooted at each exit node. The problem this can cause is
2010 Apr 06
2
[LLVMdev] Get the loop trip count variable
Thanks a lot for your guys' help!!!
I guess once I am able to get *V* (which probably is a pointer to a
Value object), then, I can instrument some code at the IR level to
dump V. As long as I maintain V at this pass stage, I should be able
to dump the loop trip count. This is true, isn't it?
Basically, what I am going to do is to add a function call before the
loop body, such as:
2010 Apr 06
1
[LLVMdev] Get the loop trip count variable
Hi Eli,
Could you tell me how to extract the variable name?
The reason I want to do it at the IR level is because I have more
information at this stage, such as, constant propagation and back
edges.
Cheers,
Zheng
On 5 April 2010 21:51, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Mon, Apr 5, 2010 at 1:19 PM, Zheng Wang <jason.wangz at gmail.com> wrote:
>> Hello,
2010 Apr 05
3
[LLVMdev] Get the loop trip count variable
Hello,
I am wondering whether I can get the variable name of loop trip count in LLVM?
For example,
int NUM;
NUM=atoi(argv[i]);
for (int i=0; i<NUM; i++)
{
...
}
How can I get the corresponding variable name for "NUM"? Then, I can
instrument something in the source code to record the loop trip count
for a given input data set.
BasicBlock* b = L->getHeader();
returns the
2010 Apr 08
1
[LLVMdev] Declaring constant global variables
Can I do this in my own pass module?
Because the string is actually depended on the type of a value object.
On 8 April 2010 20:29, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Thu, Apr 8, 2010 at 12:18 PM, Zheng Wang <jason.wangz at gmail.com> wrote:
>> Hiya,
>>
>> I want to declare a constant global variable as:
>>
>> @.str = private constant
2010 May 18
4
[LLVMdev] DEBUG INFO at the bytecode level
Thanks Edwin.
I found DebugInfo.cpp may be useful. Could you tell me which function
I should call inorder to know the source file name and the line number
for a particular instruction?
Cheers,
Zheng
2010/5/18 Török Edwin <edwintorok at gmail.com>:
> On 05/18/2010 01:26 PM, Zheng Wang wrote:
>> Hello,
>>
>> Could I get some debug info at the byte code level? I am
2010 Apr 05
0
[LLVMdev] Get the loop trip count variable
On Mon, Apr 5, 2010 at 1:19 PM, Zheng Wang <jason.wangz at gmail.com> wrote:
> Hello,
>
> I am wondering whether I can get the variable name of loop trip count in LLVM?
>
> For example,
>
> int NUM;
>
> NUM=atoi(argv[i]);
>
> for (int i=0; i<NUM; i++)
> {
> ...
> }
>
> How can I get the corresponding variable name for "NUM"?
2017 Apr 26
2
Collectively dominance
Hi Daniel,
Thanks a lot for all these explanation, I will try it out.
Hongbin
On Tue, Apr 25, 2017 at 7:04 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
> On Tue, Apr 25, 2017 at 6:42 PM, Hongbin Zheng <etherzhhb at gmail.com>
> wrote:
>
>>
>>
>> On Tue, Apr 25, 2017 at 6:32 PM, Daniel Berlin <dberlin at dberlin.org>
>> wrote:
2017 Apr 26
2
Collectively dominance
On Tue, Apr 25, 2017 at 6:32 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
> On Tue, Apr 25, 2017 at 6:17 PM, Hongbin Zheng <etherzhhb at gmail.com>
> wrote:
>
>> Hi Daniel,
>>
>> I mean "*As a set*, B + C dominate D".
>>
>> On Tue, Apr 25, 2017 at 5:42 PM, Daniel Berlin <dberlin at dberlin.org>
>> wrote:
2010 Apr 08
4
[LLVMdev] How to Load a Value?
Hello,
I have a problem of generating a load instruction. The LLVM bytecode is:
------------------------
entry:
...
%2 = call i32 (...)* @atoi(i8*%1) nounwind
/*<- Insertpos*/
...
--
bb1:
..
%5 = icmp sgt i32 %2, %i.0
...
-----------------
Now I have
pb: pointer to the Value object of *%2* of bb1.
Here, I want to generate a load instruction and I did it as:
new LoadInst(pb,
2013 Nov 15
0
[LLVMdev] dominator, post-dominator and memory leak
Try breaking the critical edges (-break-crit-edges).
This way, a new block will be created between BB13 and BB11 (call this
BB11.break) and BB15 and BB12 (call this BB12.break).
The predecessors of the dominance frontier will, thus, be BB11.break,
BB12.break, and BB14.
When we enter through a block with a call to malloc(), we will end up in
one of the blocks in the dominance frontier (kind of).
2010 Mar 31
2
[LLVMdev] CFG entry and exit blocks
Hi,
I'm confused about the entry and exit blocks of an LLVM CFG. I
understand that every CFG has one and only one entry block, and this
is confirmed by the existence of the getEntryBlock function in the
Function class.
But what about exit (a.k.a. return) blocks? At first I assumed that
LLVM CFGs have one and only one exit block, too, but the following
code is a counter-example:
2017 Apr 26
1
Collectively dominance
Like I said, i'm nearly positive there is a much faster way, as the sets
are mostly shared except in the cyclic case, and in all reducible cyclic
cases, removal of back-arcs does not affect dominance
(because in any reducible flowgraph, v dominates u whenever u,v is a
back-arc)
On Tue, Apr 25, 2017 at 7:38 PM, Hongbin Zheng <etherzhhb at gmail.com> wrote:
> Hi Daniel,
>
>