Displaying 20 results from an estimated 4000 matches similar to: "RFC: Dynamic dominators"
2017 Jun 13
2
RFC: Dynamic dominators
Hi Tobias,
1) Daniel and Chandler have for a long time been talking about computing
> dominance and post-dominance in one shot to reduce the cost of
> post-dominance and make it (freely) available everywhere. Is this
> covered by your current (or planned) work?
I'm not sure what you exactly mean by one shot; I'll ask around tomorrow.
I wanted to play a little bit with your
2017 Jul 17
2
An update on the DominatorTree and incremental dominators
Hi folks,
For the past month I’ve been working on improving the DominatorTree and
PostDominatorTree in LLVM. The RFC that explains the motivations and plans
can be found here:
http://lists.llvm.org/pipermail/llvm-dev/2017-June/114045.html .
Here’s a short summary of what changed upstream since posting it:
-
We switched from the Simple Lengauer-Tarjan algorithm for computing
dominators
2017 Aug 26
2
building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
This is release_50 branch of git,
sha1: f1d5723be3f9456a6b16cdf687847ac2918846de
Using gcc 7.2.0 from homebrew.
$ CC=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-gcc-7
CXX=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-g++-7 cmake ..
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/Users/andy/local/llvm5
-DCMAKE_PREFIX_PATH=/Users/andy/local/llvm5
$ make VERBOSE=1
[ 92%] Linking CXX
2018 Mar 01
2
[GSOC 2018] Implement a single updater class for Dominators
Hello,
I’m an undergraduate student studying CS in the South China University
of Technology.
I have been using clang compiler and related tools since I started
studying C++ and I would like to work on LLVM in this year’s GSoC. I
am interested in “Implement a single updater class for Dominators”.
[1] I have achieved a bronze medal in the 2017 ACM-ICPC Asia Xian
Regional Contest [2] (being a
2018 Mar 12
2
[GSOC 2018] Implement a single updater class for Dominators
Hi Kuba,
Thanks for your advice in your previous letter.
During last week, I have read the documents on Doxygen and the source
code of the DomTreeBase/DomTree/PostDomTree/DeferredDominance class, I
believe now I have a much better understanding on the relationship
between these classes and how DeferredDominance class performs lazy
updates. I have also learnt the current usage and drawbacks of
2017 Jun 13
2
RFC: Dynamic dominators
Btw, here is another interesting paper about post-dominators and control
dependence:
https://pdfs.semanticscholar.org/cbb2/9a0e4895025bd9df24f9263217df12f1ed1e.pdf
I think a great outcome of your internship would be some precise
documentation regarding the guarantees the LLVM dominators give --
possibly also considering classic and weak control dependence and the
difference between
2018 Mar 21
2
[GSOC 2018] Implement a single updater class for Dominators
Hi Kuba,
Thanks for your clarification on the project in the previous letter.
I have submitted a proposal draft at the GSoC website, the draft has
been shared with the LLVM organization. I will appreciate it if you
can give me some advice on the proposal. This draft can be viewed by
the organization. (If you do not have access, please mail me, and I
will give you the link.)
I am looking forward
2018 Mar 02
0
[GSOC 2018] Implement a single updater class for Dominators
Hi Chijun,
Thanks for your interest in the project.
I have gone through most of the LLVM Kaleidoscope tutorial and I have
> watched the video of the presentation “Dominator Trees and incremental
> updates that transcend time” presented on the 2017 LLVM Developers’
> Meeting. I have also started to understand the algorithm mentioned in
> the comments of the code related to the
2018 Mar 14
0
[GSOC 2018] Implement a single updater class for Dominators
Hi Chijun,
Great, seems like you did a lot of progress and understand the issues quite
well!
I have done some early sketch on the API of the new updater class.
> From my current understanding, to solve the fragmentation problem of
> the API, the new class first, need to maintain the DomTree and
> PostDomTree class and deprecate the DefferredDominance class.
>
There are a couple of
2018 Mar 22
0
[GSOC 2018] Implement a single updater class for Dominators
Hi Chijun,
I left you my feedback in the doc (+ some nitpicks). Overall, it looks very
solid and shows you understand the problem well and know what to expect.
Your proposed timeline is reasonable and I don't see any major things to
improve there. Don't hesitate to reach out if you have any questions
related to my comments (either here or in the document).
Thanks,
Kuba
On Wed, Mar 21,
2018 Mar 22
1
[GSOC 2018] Implement a single updater class for Dominators
Hi Kuba,
Thanks for your feedback. I have made some improvements on the
proposal according to your feedback and clarify something on the time
availability. I left comments on the questions you asked in the doc.
Please check it out.
Thanks,
Chijun
2018-03-22 10:37 GMT+08:00 Jakub (Kuba) Kuderski <kubakuderski at gmail.com>:
> Hi Chijun,
>
> I left you my feedback in the doc (+
2007 Dec 03
1
[LLVMdev] Using Function Passes from Module Passes
Dear All,
I'm having some problems using a function pass from a Module pass. My
code is as follows:
DominatorTree & domTree;
...
Function &F = *I; // I is an interator from using Module::begin()
...
domTree = getAnalysis<DominatorTree>(F);
When I compile this code, I get the following error:
/home/vadve/criswell/src/llvm22/include/llvm/Pass.h: In member function
2017 Aug 07
3
[RFC][InlineCost] Modeling JumpThreading (or similar) in inline cost model
Hi,
Coincidentally I've been working to optimize this same case last week. I was struggling a bit to determine where to put this functionality and eventually went for the pragmatic approach of creating an experimental pass. Probably not the eventual solution, but it may provide some useful input to the discussion here.
Basically, I experimented with a 'pre-inlining-transform' pass
2017 Aug 04
3
[RFC][InlineCost] Modeling JumpThreading (or similar) in inline cost model
All,
I'm working on an improvement to the inline cost model, but I'm unsure
how to proceed. Let me begin by first describing the problem I'm trying
to solve. Consider the following pseudo C code:
*typedef struct element {
unsigned idx;
} element_t;
*
*static inline
unsigned char fn2 (element_t *dst_ptr, const element_t *a_ptr,
const element_t *b_ptr,
2017 Aug 04
4
[RFC][InlineCost] Modeling JumpThreading (or similar) in inline cost model
On 8/4/2017 2:06 PM, Daniel Berlin wrote:
> A few notes:
> I'm a bit surprised IPO copy/constant propagation doesn't get this
> case, but i didn't look if the lattice supports variables.
> In particular, in your example, given no other call sites, it should
> eliminate the dead code.
> (In a real program, it may require cloning).
In the actual program
2008 Mar 29
2
[LLVMdev] unwinds to in the CFG
Gordon Henriksen wrote:
> What blocks would a phi node in %catch require for a case like this?
>
> define i8 @f(i1 %b) {
>
> entry:
>
> b label %try
>
> try: unwinds to %catch
>
> b i1 %b, label %then, label %else
>
> then: unwinds to %catch
>
> ret void
>
> else: unwinds to %catch
>
> ret
2017 Aug 07
2
[RFC][InlineCost] Modeling JumpThreading (or similar) in inline cost model
On 8/7/2017 1:02 PM, Daniel Berlin wrote:
> Can someone fill me in on the issue with the dominator tree,
> precisely, during inlining?
> We now have the capability of quickly keeping it up to date without
> too much trouble (it may require pushing it through a bunch of places,
> but the actual changes to do should be easy).
If I'm not mistaken (which I very well could be
2019 Jan 11
3
LLVM Pass to count reachable BB
Hello,
I have code containing conditions and loops. Hence some BB execution are
determined at run time depending on condition. Now I want to count only
those BB that are always executed irrespective of condition result means
reachable. and their execution is evident at compile time.
How to do this?
Please help
Thank You
Regards
-------------- next part --------------
An HTML attachment was
2014 Feb 14
2
[LLVMdev] DominatorTree not updated properly after calling the llvm::SplitBlock.
Hi Andrew,
Thanks a lot. But the function "DT->dominate(A,B)" decides the
dominance relationship through comparing the DFS numbers, right? At least,
in my example, when I check whether the newly split node (i.e., %
*for.end.split*) DOMINATES the original node (I.e., %for.end), the answer
is true, which is obviously wrong.
Paul
On Fri, Feb 14, 2014 at 1:59 AM, Andrew Trick
2015 Mar 12
3
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
I think it would make sense for (1) and (2). I am not sure if (3) is
feasible in instcombine. (I am not too familiar with LoopInfo)
For the Octasic's Opus platform, I modified shouldMergeGEPs in our fork to:
if (GEP.hasAllZeroIndices() && !Src.hasAllZeroIndices() &&
!Src.hasOneUse())
return false;
return Src.hasAllConstantIndices(); // was return false;