similar to: [LLVMdev] Add a function splitting pass to LLVM which extracts cold regions into their own functions

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Add a function splitting pass to LLVM which extracts cold regions into their own functions"

2012 Sep 17
1
[LLVMdev] Create superblock in LLVM IR
Last time I asked here about superblocks (which we were using in the first version of ThreadSanitizer instrumentation) Tobias Grosser has suggested to use RegionInfo: did you have a look at the RegionInfo pass? It currently detects some kind of refinded SESE regions. I use them in Polly and as far as I know the Intel OpenCL SDK also uses them in some way. It is not SEME, but it may
2011 Oct 23
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
On 10/22/2011 08:41 AM, Marcello Maggioni wrote: > I was trying the new feature you introduce about printing out the > graphs, so I updated my version of llvm/clang/polly synchronizing them > to the last version, but I get this error launching clang (also , I > recently switched to MacOS X for development): > > $ clang not_so_simple_loop.c -O3 -Xclang -load -Xclang >
2014 Feb 06
2
[LLVMdev] The implementation algorithm behind LLVM's RegionInfo class
Hi fellows, I am writing to ask what is the algorithm implemented in LLVM's RegionInfo.h/cpp. In the header file "RegionInfo.h", it says "Calculates a program structure tree built out of single entry single exit regions (defined in a 1994 paper called "The Program Structure Tree"). ... ... The algorithm to calculate these data structures however is COMPLETELY
2011 Oct 22
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
I was trying the new feature you introduce about printing out the graphs, so I updated my version of llvm/clang/polly synchronizing them to the last version, but I get this error launching clang (also , I recently switched to MacOS X for development): $ clang not_so_simple_loop.c -O3 -Xclang -load -Xclang ${PATH_TO_POLLY_LIB}/LLVMPolly.dylib -mllvm -enable-polly-viewer -mllvm -enable-iv-rewrite
2014 Feb 06
2
[LLVMdev] The implementation algorithm behind LLVM's RegionInfo class
Hi Tobias, Thanks a lot for the detailed reply. I am working on several new optimizations for OpenCL kernels for a DSP architecture. The project itself has an NDA associated with it, so I cannot go into more details, but the source will be open to public after completion. One of the first steps is to serialize the work-items in a work-group (e.g., insert nested loops around REGIONs in
2011 Dec 14
2
[LLVMdev] Generating superblocks (SEME regions w/o loops and calls) in LLVM
Hi all, While developing compile-time instrumentation for ThreadSanitizer (http://code.google.com/p/data-race-test) I need to generate SEME regions without loop and call instructions (I'll call them superblocks hereafter, although some researchers do allow loops in their definition of superblocks). This is necessary to get the largest piece of IR in which the memory operations can be
2011 Feb 03
1
[LLVMdev] Preserve RegionInfo after regionsimplify
Hi Tobias, My RegionSimplify pass adds new exit node for refined regions to convert them into simple region. However, the RegionInfo pass does not seem to recognize those changes. For example, in the attached file, bb4.region is supposed to be in the first region. My RegionExtractor pass required the extracted region to be simple. Should we modify RegionInfo or is their away to preserve the
2017 Mar 02
5
Structurizing multi-exit regions
Hi, I'm trying to solve a problem from StructurizeCFG not actually handling regions with multiple exits. Sample IR attached. StructurizeCFG doesn't touch this function, exiting early on the isTopLevelRegion check. SIAnnotateControlFlow then gets confused and ends up inserting an if into one of the blocks, and the matching end.cf into one of the return/unreachable blocks. The input to
2011 Oct 08
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
On 10/07/2011 03:43 PM, Marcello Maggioni wrote: > 2011/10/7 Marcello Maggioni<hayarms at gmail.com>: >> Hi, >> >> for example this loop: >> >> #include<stdio.h> >> >> int main() >> { >> int A[1024]; >> int j, k=10; >> for (j = 1; j< 1024; j++) >> A[j] =
2011 Oct 07
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
I add also the output of these commands: [hades at artemis examples]$ ./compile_ex.sh super_simple_loop Printing analysis 'Polly - Detect Scops in functions' for function 'main': [hades at artemis examples]$ modifying it in : #include <stdio.h> int main() { int A[1024]; int j, k=10; for (j = 0; j < 1024; j++) A[j] = k;
2010 Jan 12
0
[LLVMdev] Make LoopBase inherit from "RegionBase"?
Why not use the "standard" algorithm for detecting SESE-regions and building a program structure tree? It should handle everything you want. It also becomes much simpler to specify a connected SESE-region by entry/exit edges, while a disconnected region is specified by entry/exit blocks. Only defining regions on blocks is not enough to be able to quickly determine how to replace/move a
2012 Sep 17
0
[LLVMdev] Create superblock in LLVM IR
On Sep 17, 2012, at 9:13 AM, Tomas Minac <minac.tomas at gmail.com> wrote: > Hi Andy, > > thank you for your respond, > > On 09/06/12 21:32, Andrew Trick wrote: >> >> On Sep 4, 2012, at 9:05 AM, Tomas Minac <minac.tomas at gmail.com> wrote: >> >>> >>> Hello, >>> >>> I am member of research team on our Faculty
2012 Jul 31
2
[LLVMdev] Assertion failure on region analysis
Hi all, I ran across an assertion failure while using region analysis in my passes. I get the same thing when doing: opt -regions -analyze [...]   [1] entry => if.end End region tree Printing analysis 'Detect single entry single exit regions' for function 'njDecodeSOF': Region tree: [0] entry => <Function Return>   [1] entry => return     [2] if.end => return
2012 Jul 31
0
[LLVMdev] Assertion failure on region analysis
Hi , It will be good ,If you get us the sample that assert. Thanks ~Umesh On Tue, Jul 31, 2012 at 11:40 AM, 田中 太郎 <dontforgettobringatowel at live.jp>wrote: > > Hi all, > > I ran across an assertion failure while using region analysis in my passes. > I get the same thing when doing: opt -regions -analyze > > [...] > [1] entry => if.end > End region tree
2007 Dec 08
0
[LLVMdev] Reproducing output of llvm-gcc using opt tool
On Dec 7, 2007, at 1:43 AM, Wojciech Matyjewicz wrote: > Recently, I was looking into the bug #1227. I wanted to check if > reordering optimization passes could solve it. To start with, I > tried to > reproduce the output of llvm-g++ -O3 using the combination of llvm-g++ > -O0 and opt with the appropriate passes. However, I was unable to. I > use > SVN versions of llvm and
2016 Aug 01
2
RFC: We should stop merging allocas in the inliner
The existing lifetime start/end is not very well defined (by spec, or by code) in what it means, so you could have nested lifetime markers if you wanted. If you made the spec well-defined, they would be meaningful (for loops, etc). There are a number of open bugs/complaints about lifetime markers and the fact that the scope is not well defined (the spec says "This intrinsic indicates that
2007 Dec 07
3
[LLVMdev] Reproducing output of llvm-gcc using opt tool
Hi, Recently, I was looking into the bug #1227. I wanted to check if reordering optimization passes could solve it. To start with, I tried to reproduce the output of llvm-g++ -O3 using the combination of llvm-g++ -O0 and opt with the appropriate passes. However, I was unable to. I use SVN versions of llvm and llvm-gcc-4.2. First, I compile example.cpp (attached; taken from the bug #1227) with: $
2014 Jun 27
2
[LLVMdev] The implementation algorithm behind LLVM's RegionInfo class
Hi Tobi, I have one additional question about the RegionInfo::isRegion function. In the second case (i.e. Entry dominates Exit), why is checking the following two conditions are equivalent to checking it's a refined region: For any BB in DF(exit), 1) BB should be in DF(entry) 2) BB reachable only from entry through a path passing exit.
2012 Sep 17
2
[LLVMdev] Create superblock in LLVM IR
Hi Andy, thank you for your respond, On 09/06/12 21:32, Andrew Trick wrote: > > On Sep 4, 2012, at 9:05 AM, Tomas Minac <minac.tomas at gmail.com > <mailto:minac.tomas at gmail.com>> wrote: > >> >> Hello, >> >> I am member of research team on our Faculty of Information Technology >> (university VUT in Brno Czech Republic). We use LLVM for
2011 Oct 24
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
Strange , with --enable-shared (I use auto tool by the way ...) it gives: MacBook-Pro-di-Marcello:examples Kariddi$ ./compile_ex.sh not_so_simple_loop clang (LLVM option parsing): Unknown command line argument '-enable-polly-viewer'. Try: 'clang (LLVM option parsing) -help' clang (LLVM option parsing): Did you mean '-enable-polly-vector'? Seems like it doesn't