Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] Optimization passes organization and tradeoffs"
2008 May 20
4
[LLVMdev] Optimization passes organization and tradeoffs
On May 20, 2008, at 8:57 AM, David Greene wrote:
> On Tuesday 20 May 2008 07:03, Nicolas Capens wrote:
>
>> 1) Does ScalarReplAggregates totally superscede
>> PromoteMemoryToRegister? I
>
> Nope, they are different. Mem2Reg is really important if you want
> register
> allocation.
Actually SROA does fully subsume Mem2Reg. It iterates between breaking
up
2008 May 20
0
[LLVMdev] Optimization passes organization and tradeoffs
On Tuesday 20 May 2008 07:03, Nicolas Capens wrote:
> 1) Does ScalarReplAggregates totally superscede PromoteMemoryToRegister? I
Nope, they are different. Mem2Reg is really important if you want register
allocation.
> think I need it to optimize small arrays, but what is the expected added
> complexity?
I shouldn't think it would be very expensive at all.
> 2) Does SCCP also
2008 May 21
0
[LLVMdev] Optimization passes organization and tradeoffs
Hi Chris,
Thanks for the detailed explanations. I have a few remaining questions:
Am I correct that ScalarReplAggregates is hardly more expensive than Mem2Reg
and therefore generally preferable?
What would be the code quality implications of using "-dce -simplifycfg"
instead of -adce? As far as I understand the algorithms involved, -dce would
hardly ever miss a dead instruction if
2008 May 20
0
[LLVMdev] Optimization passes organization and tradeoffs
On Tue, May 20, 2008 at 2:28 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On May 20, 2008, at 8:57 AM, David Greene wrote:
>
>> On Tuesday 20 May 2008 07:03, Nicolas Capens wrote:
>>
>>> 1) Does ScalarReplAggregates totally superscede
>>> PromoteMemoryToRegister? I
>>
>> Nope, they are different. Mem2Reg is really important if you
2008 May 21
2
[LLVMdev] Optimization passes organization and tradeoffs
On Wed, 21 May 2008, Nicolas Capens wrote:
> Thanks for the detailed explanations. I have a few remaining questions:
>
> Am I correct that ScalarReplAggregates is hardly more expensive than Mem2Reg
> and therefore generally preferable?
Right.
> What would be the code quality implications of using "-dce -simplifycfg"
> instead of -adce? As far as I understand the
2008 Apr 14
2
[LLVMdev] standard passes
> If you're running opt on the command line directly, then use the
> "-p" option. See "-help" for more information on that.
>
> -bw
>
I have a couple of more questions.
1. Does -std-compile-opts of opt do the same optimization with llvm-gcc
with -O[1-3] options? If I want to debug into passes through llvm-gcc,
how do I set a breakpoint right before pass
2008 May 21
0
[LLVMdev] Optimization passes organization and tradeoffs
Hi David,
Thanks for the info, but I'm not using any of the command line options. I'm
dynamically generating code at run-time. So unless I'm missing some way to
set these command line options at run-time I think I need another API for
controlling register allocation and scheduling.
I was also under the impression that linear scan register allocation is
quite cheap, faster than graph
2008 Apr 18
1
[LLVMdev] llvm-ld optimization options
> There should be no difference between using llvm-gcc at some -O
> level, and running it at -O0 and using opt to run the passes on
> the unoptimized bitcode.
However, you wrote earlier:
> Finally, llvm-gcc runs the following passes on each function
> immediately after it is created:
>
> CFGSimplification, PromoteMemoryToRegister,
> ScalarReplAggregates,
2007 May 29
4
[LLVMdev] Code generation issues
Hi,
Today I managed to link ioquake3, but generating a binary does not
work yet.
1) On OSX, I get:
Error: Code generator does not support intrinsic function
'llvm.ppc.altivec.lvsl'!
when I do: llc file.bc -march=c -o file.c
2) On Linux X86, llc does not give any problem, but I get this while
compiling the generated .c file:
error: unknown register name 'S' in
2008 May 21
0
[LLVMdev] Optimization passes organization and tradeoffs
On Wednesday 21 May 2008 15:48, Chris Lattner wrote:
> > What's the difference between GVN and GCSE, if they both perform common
> > subexpression elimination?
>
> GVN does more, and is a better algorithm. GCSE is basically deprecated
> and should be removed at some point.
Er...waitaminute. Maybe there's something I don't fully grok about GVN,
but in general,
2008 Apr 18
0
[LLVMdev] llvm-ld optimization options
Hi Kenneth,
On Thursday 17 April 2008 20:50:24 Kenneth Hoste wrote:
> On 17 Apr 2008, at 20:39, Chris Lattner wrote:
> > On Thu, 17 Apr 2008, HyperQuantum wrote:
> >> I have been wondering why llvm-ld generates the same code with or
> > without the option "-O5" so I looked at its source (llvm 2.2). And
> > apparently, the options "-On" are
2007 May 29
0
[LLVMdev] Code generation issues
Hi Bram,
Could you submit bug reports for all of these problems?
Thanks!
-bw
On 5/29/07, Bram Adams <bram.adams at ugent.be> wrote:
> Hi,
>
> Today I managed to link ioquake3, but generating a binary does not
> work yet.
>
>
> 1) On OSX, I get:
>
> Error: Code generator does not support intrinsic function
> 'llvm.ppc.altivec.lvsl'!
>
> when I
2008 Apr 17
3
[LLVMdev] llvm-ld optimization options
On 17 Apr 2008, at 20:39, Chris Lattner wrote:
> On Thu, 17 Apr 2008, HyperQuantum wrote:
>> I have been wondering why llvm-ld generates the same code with or
> without the option "-O5" so I looked at its source (llvm 2.2). And
> apparently, the options "-On" are accepted but never used! The program
> runs a fixed set of optimization passes, unless
2013 Jul 17
5
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
Since introducing the new TargetTransformInfo analysis, there has been some confusion over the role of target heuristics in IR passes. A few patches have led to interesting discussions.
To centralize the discussion, until we get some documentation and better APIs in place, let me throw out an oversimplified Straw Man for a new pass pipline. It serves two purposes: (1) an overdue reorganization of
2013 Jul 29
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
On 7/16/2013 11:38 PM, Andrew Trick wrote:
> Since introducing the new TargetTransformInfo analysis, there has been some confusion over the role of target heuristics in IR passes. A few patches have led to interesting discussions.
>
> To centralize the discussion, until we get some documentation and better APIs in place, let me throw out an oversimplified Straw Man for a new pass pipline.
2008 Oct 07
2
[LLVMdev] mem2reg optimization
On Tuesday 07 October 2008 00:32, Nicolas Capens wrote:
> Anyway, this can definitely also be done with an analysis pass that
> provides information about ordering between loads and stores. It's just
Actually, no it can't. See the thread about analysis passes depending on
other analysis passes and when things do and don't get updated by
PassManager.
2008 Sep 24
2
[LLVMdev] mem2reg optimization
Hi Dave,
Did that patch of yours ever make it into trunk? I can't seem to find any
related checkin for PromoteMemoryToRegister.cpp. I've been doing some extra
profiling lately and the RewriteSingleStoreAlloca function alone is taking a
whopping 63% of execution time.
Thanks!
Nicolas
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
2008 Sep 25
3
[LLVMdev] mem2reg optimization
Hi Dave,
As an exercise I tried to fix this myself, and I think I have a working
patch (attached). My own tests are all working wonderfully, and at fantastic
performance!
I'm looking forward to your patch to see whether we used the same approach
or whether things could be improved further.
Anyway, I've re-profiled the code and found ComputeLiveInBlocks to be the
main hotspot now. Again
2008 Sep 24
0
[LLVMdev] mem2reg optimization
On Wednesday 24 September 2008 09:35, Nicolas Capens wrote:
> Hi Dave,
>
> Did that patch of yours ever make it into trunk? I can't seem to find any
> related checkin for PromoteMemoryToRegister.cpp. I've been doing some extra
> profiling lately and the RewriteSingleStoreAlloca function alone is taking
> a whopping 63% of execution time.
I will commit it today along with
2008 Oct 07
2
[LLVMdev] mem2reg optimization
On Tuesday 07 October 2008 12:37, Dan Gohman wrote:
> On Tue, October 7, 2008 9:02 am, David Greene wrote:
> > On Tuesday 07 October 2008 00:32, Nicolas Capens wrote:
> >> Anyway, this can definitely also be done with an analysis pass that
> >> provides information about ordering between loads and stores. It's just
> >
> > Actually, no it can't. See