Displaying 20 results from an estimated 2000 matches similar to: "Inliner in legacy pass manager"
2020 Nov 10
1
Inliner in legacy pass manager
Hi,
So, does this mean that in legacy pass manager, when I run:
PM.add( someFunctionPass() ) // PM is modulePassManager
it creates FunctionPassManager, runs the function pass,destroys the
functionPassManager and returns control to modulePassManager?
Also, you have said that this wasn't the primary reason for the
introduction of the new pass manager. But then is this one of the reasons?
2020 Nov 09
0
Inliner in legacy pass manager
In the old pass manager a coarser-grain pass cannot depend on a
fine-grain pass (or analysis). In this case, the coarser-grain is the
Inliner (CallGraphSCCPass) and the finer a FunctionPass. The reason is
that the finer-grain pass has its own "pass manager", i.e. it runs all
the passes and analysis (in that pass manager) on one function, frees
them, and continues with the next function
2006 Jan 10
3
[LLVMdev] passmanager, significant rework idea...
The patch below basically hammers out some ideas as to where I'd like
to take the passmanager in LLVM. I've tried thinking things through,
but I'm still a n00b, so some criticism would be more than welcome. =)
Starting from line 191 down. If you're wondering why I created a
patch, well that's because I found thinking in passmanagert.h the most
productive.
--
Regards.
2018 Jul 21
2
Registering passes on a module
Hi all,
I'm trying to build passes with the PassBuilder to optimize the result of
MCJIT (I assume, this is a requirement for performance).
So I do this:
llvm::PassBuilder passBuilder;
llvm::ModulePassManager modulePassManager =
passBuilder.buildPerModuleDefaultPipeline(llvm::PassBuilder::OptimizationLevel::O3);
llvm::ModuleAnalysisManager moduleAnalysisManager;
2006 Mar 22
3
Something wrong with content_columns
I have a database with a couple of tables. One table called spares has
foreign keys in another called equipment. When I create a new record,
it is added to the spares table however the list action does not show
all the columns in the table. It only shows those columns that are not
foreign keys. I am using the default action generated by scaffold for
list.
Why is that so? Do i need to re-write my
2016 May 10
2
Some questions about phase ordering in OPT and LLC
> >> You can look at AddOptimizationPasses() in opt.cpp.
> >
> > As far as I understand, the two passmanager do not interleave their
> > passes. It first runs all the function passes and below. Then all the
> > module passes. So if you specify:
> >
> > opt -mymodulepass0 -myfunctionpass -mymodulepass1
> >
> > What you actually get is:
2015 Jan 17
3
[LLVMdev] loop multiversioning
Does LLVM have loop multiversioning ? it seems it does not with clang++ -O3
-mllvm -debug-pass=Arguments program.c -c
bash-4.1$ clang++ -O3 -mllvm -debug-pass=Arguments fast_algorithms.c -c
clang-3.6: warning: treating 'c' input as 'c++' when in C++ mode, this
behavior is deprecated
Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa
-tbaa -scoped-noalias
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
add -basicaa to your command line :)
On Mon, May 11, 2015 at 7:15 AM, Willy WOLFF <willy.mh.wolff at gmail.com> wrote:
> I play a bit more with MemoryDependenceAnalysis by wrapping my pass, and
> call explicitely BasicAliasAnalysis. Its still using No Alias Analysis.
>
> How can I let MemoryDependenceAnalysis use BasicAliasAnalysis?
>
> Please, find attached my pass.
>
2016 May 09
4
Some questions about phase ordering in OPT and LLC
Hi,
I'm a PhD student doing phase ordering as part of my PhD topic and I
would like to ask some questions about LLVM.
Executing the following command to see what passes does OPT execute when
targeting a SPARC V8 processor:
/opt/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-15.10/bin/llvm-as <
/dev/null | /opt/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-15.10/bin/opt
-O3 -march=sparc -mcpu=v8
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
2015 May 09
2
[LLVMdev] about MemoryDependenceAnalysis usage
Hi,
I try to use MemoryDependenceAnalysis in a pass to analyse a simple function:
void fct (int *restrict*restrict M, int *restrict*restrict L) {
S1: M[1][1] = 1;
S2: L[2][2] = 2;
}
When I iterate over MemoryDependenceAnalysis on the S2 statement, I get the load instruction for the first depth of the array, that’s ok. But I get also the load and store for the S1 statement.
I assume the
2017 Jun 13
9
RFC: Dynamic dominators
Hi folks,
This summer I'm working on improving dominators during my internship at
Google. Below is an RFC on switching to dynamic dominators, which you can
also read as a Google Doc
<https://docs.google.com/document/d/1wPYeWykeO51YDPLYQEg4KNTlDIGIdyF65OTfhSMaNHQ/edit?usp=sharing>
if you prefer so. Please let us know what you think.
~Kuba
2016 May 09
2
Some questions about phase ordering in OPT and LLC
On Mon, May 09, 2016 at 01:07:07PM -0700, Mehdi Amini via llvm-dev wrote:
>
> > On May 9, 2016, at 10:43 AM, Ricardo Nobre via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> >
> > Hi,
> >
> > I'm a PhD student doing phase ordering as part of my PhD topic and I would like to ask some questions about LLVM.
> >
> > Executing the following
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:
$
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
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
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;
2013 Aug 19
1
[LLVMdev] How to disbale loop-rotate in opt -O3 ?
Hello,
I am trying to simplify the CFG of a given code and eliminate the conditionals, even though I will obtain codes that are not semantically equivalent.
For example, given a simple loop:
for(i=0; i<N; i++){
a[i] = i;
if (i%2==0)
a[i] += 12;
}
I would keep only the loop, without the if statement:
for(i=0; i<N; i++){
a[i] = i;
}
I can eliminate such conditionals on
2006 Apr 13
1
[LLVMdev] standalone llvm
On Wed, 12 Apr 2006 22:48:16 -0500
Patrick Meredith <pmeredit at uiuc.edu> wrote:
>
> On Apr 12, 2006, at 10:23 PM, Simon Burton wrote:
>
> >
> > Is it possible to get llvm to generate native machine code
> > without using gcc and friends ? Do I use lli ?
>
> llc. llc --help lists all the options. it compiles llvm bytecode
> files.
It seems this
2015 May 02
5
[LLVMdev] Modifying LoopUnrollingPass
Hi Zhoulai,
I am trying to modify "LoopUnrollPass" in llvm which produces multiple
copies of loop equal to the loop unroll factor.Currently, using multicore
architecture, say 3 for example and the execution goes like:
for 3 cores if there are 9 iterations of loop
core instruction
1 0,3,6
2 1,4,7
3 2,5,8
But I want to to