Displaying 20 results from an estimated 1000 matches similar to: "LoopSimplify pass prevents loop unrolling"
2017 Jun 30
2
LoopSimplify pass prevents loop unrolling
On 6/30/2017 7:48 AM, Balaram Makam via llvm-dev wrote:
>
> Edit. Predecessor -> successor.
>
> *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf
> Of *Balaram Makam via llvm-dev
> *Sent:* Friday, June 30, 2017 10:47 AM
> *To:* llvm-dev at lists.llvm.org
> *Subject:* [llvm-dev] LoopSimplify pass prevents loop unrolling
>
> Hi All,
>
>
2017 Jun 30
2
LoopSimplify pass prevents loop unrolling
On 6/30/2017 11:38 AM, Balaram Makam wrote:
>
> Thanks Eli,
>
> I was looking at this code which keeps track of loop headers but is
> checking if the destination of branch is a loop header sufficient?
> This prevents merging empty preheaders into the loop headers as well.
>
There isn't really any reason to collapse preheaders anyway;
LoopSimplify will recreate them,
2017 Jun 30
0
LoopSimplify pass prevents loop unrolling
I will try to reduce a test case for the regression I found and will update.
Thanks,
Balaram
From: Friedman, Eli [mailto:efriedma at codeaurora.org]
Sent: Friday, June 30, 2017 2:54 PM
To: Balaram Makam <bmakam at codeaurora.org>; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] LoopSimplify pass prevents loop unrolling
On 6/30/2017 11:38 AM, Balaram Makam wrote:
Thanks Eli,
2014 Sep 03
3
[LLVMdev] LICM promoting memory to scalar
Thanks for the background on the concurrent memory model.
So, is it sufficient that the loop entry is guarded by condition (cbz at
top) for preventing the race?
The loop entry will be guarded by condition if loop has been rotated by loop
rotate pass.
Since LICM runs after loop rotate, we can use
ScalarEvolution::isLoopEntryGuardedByCond to check if we can speculatively
execute load without
2014 Sep 02
2
[LLVMdev] LICM promoting memory to scalar
I think gcc is right.
It inserted a branch for n == 0 (the cbz at the top), so that's not a problem.
In all other regards, this is safe: if you examine the sequence of loads and stores, it eliminated all but the first load and all but the last store. How's that unsafe?
If I had to guess, the bug here is that LLVM doesn't want to hoist the load over the condition (which it is right
2015 Jun 17
2
[LLVMdev] Inline hint for methods defined in-class
that looks like a different fix. The case mentioned by Easwaran is
class A{
int foo () { return 1; }
...
};
where 'foo' is not explicitly declared with 'inline' keyword.
David
On Wed, Jun 17, 2015 at 4:07 PM, Balaram Makam <bmakam at codeaurora.org> wrote:
> AFAIK, this was fixed in r233817.
>
> -----Original Message-----
> From: llvmdev-bounces at
2015 Jun 24
4
[LLVMdev] Inline hint for methods defined in-class
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
> Behalf Of Easwaran Raman
> Sent: Wednesday, June 24, 2015 9:54 AM
> To: Xinliang David Li
> Cc: <llvmdev at cs.uiuc.edu> List
> Subject: Re: [LLVMdev] Inline hint for methods defined in-class
>
> Ping.
>
> On Wed, Jun 17, 2015 at 4:13 PM,
2014 Sep 02
3
[LLVMdev] LICM promoting memory to scalar
All,
If we can speculatively execute a load instruction, why isn’t it safe to hoist it out by promoting it to a scalar in LICM pass?
There is a comment in LICM pass that if a load/store is conditional then it is not safe because it would break the LLVM concurrency model (See commit 73bfa4a).
It has an IR test for checking this in test/Transforms/LICM/scalar-promote-memmodel.ll
However, I have
2015 Jun 24
4
[LLVMdev] Inline hint for methods defined in-class
The method to identify functions with in-class definitions is one part
of my question. Even if there is a way to do that without passing the
hint, I'm interested in getting feedback on treating it at-par with
functions having the inline hint in inline cost analysis.
Thanks,
Easwaran
On Wed, Jun 24, 2015 at 12:56 PM, Xinliang David Li
<xinliangli at gmail.com> wrote:
> The problem
2015 Jun 24
6
[LLVMdev] Inline hint for methods defined in-class
On Wed, Jun 24, 2015 at 2:10 PM, Robinson, Paul
<Paul_Robinson at playstation.sony.com> wrote:
>> -----Original Message-----
>> From: Easwaran Raman [mailto:eraman at google.com]
>> Sent: Wednesday, June 24, 2015 1:27 PM
>> To: Xinliang David Li
>> Cc: Robinson, Paul; Xinliang David Li; <llvmdev at cs.uiuc.edu> List
>> Subject: Re: [LLVMdev] Inline
2015 Apr 17
3
[LLVMdev] RFC: Indirect Call Promotion LLVM Pass
Hi, we've implemented an indirect call promotion llvm pass. The design
notes including examples are shown below. This pass complements the
indirect call profile infrastructure
http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-April/084271.html
Your feedback and comments will be highly appreciated.
Thanks,
Ivan
============================================================================RFC:
2017 Aug 16
2
Heroic LLVM optimizations
Hi Tobias-
The loop fusion you mention is the one in libquantum/cpu2006 ? Or something else in cpu2017 ?
-Thx
Dibyendu
-----Original Message-----
From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Tobias Grosser via llvm-dev
Sent: Wednesday, August 16, 2017 10:10 AM
To: renau at uncore.io; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] Heroic LLVM optimizations
Hi
2015 Jun 24
2
[LLVMdev] Inline hint for methods defined in-class
On Wed, Jun 24, 2015 at 2:10 PM, Robinson, Paul
<Paul_Robinson at playstation.sony.com> wrote:
>> -----Original Message-----
>> From: Easwaran Raman [mailto:eraman at google.com]
>> Sent: Wednesday, June 24, 2015 1:27 PM
>> To: Xinliang David Li
>> Cc: Robinson, Paul; Xinliang David Li; <llvmdev at cs.uiuc.edu> List
>> Subject: Re: [LLVMdev] Inline
2017 Aug 15
2
Heroic LLVM optimizations
I am a professor at UC Santa Cruz, but I also do consulting a Huawei.
Chris Lattner told me that I should post
this in the llvm-dev.
HiSilicon (Santa Clara office) is looking for some developer capable of
implementing the "heroic optimizations"
(http://llvm.org/devmtg/2015-10/slides/Gerolf-PerformanceImprovementsAndHeadroom.pdf)
in LLVM. Focus on SPEC2006 but also looking at the
2015 Jun 24
3
[LLVMdev] Inline hint for methods defined in-class
Sorry for misinterpreting, but what is the basis for the simple fact
you mentioned?
David
On Wed, Jun 24, 2015 at 2:43 PM, Robinson, Paul
<Paul_Robinson at playstation.sony.com> wrote:
>> -----Original Message-----
>> From: Xinliang David Li [mailto:davidxl at google.com]
>> Sent: Wednesday, June 24, 2015 2:17 PM
>> To: Robinson, Paul
>> Cc: Easwaran Raman;
2017 Nov 02
13
[RFC] Enable Partial Inliner by default
Forgot to add that all experiments were done with '-O3 -m64
-fexperimental-new-pass-manager'.
Graham Yiu
LLVM Compiler Development
IBM Toronto Software Lab
Office: (905) 413-4077 C2-707/8200/Markham
Email: gyiu at ca.ibm.com
From: Graham Yiu/Toronto/IBM
To: llvm-dev at lists.llvm.org
Cc: junbuml at codeaurora.org, xinliangli at gmail.com
Date: 11/02/2017 05:26 PM
Subject: [RFC]
2017 Aug 16
1
Heroic LLVM optimizations
I'll be interested in seeing the improvements. As a reference, this is
what I get in an Intel 6700K when
I compare gcc 5.4 (Ofast flto) vs published Intel results. 23x in
libquantum, and over 40% in many benchmarks.
I think that it is mostly from AoS vs SoA and loop transformations.
5.4
2017 Nov 10
0
[RFC] Enable Partial Inliner by default
Hi Evgeny,
I just realized that if these are compile-time errors I can help
investigate on my end. Do you have something I can use to reproduce?
Cheers,
Graham Yiu
LLVM Compiler Development
IBM Toronto Software Lab
Office: (905) 413-4077 C2-707/8200/Markham
Email: gyiu at ca.ibm.com
From: Graham Yiu/Toronto/IBM
To: Evgeny Astigeevich <Evgeny.Astigeevich at arm.com>
Cc:
2015 Jun 24
3
[LLVMdev] Inline hint for methods defined in-class
On Wed, Jun 24, 2015 at 2:35 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Wed, Jun 24, 2015 at 2:20 PM, Easwaran Raman <eraman at google.com> wrote:
>>
>> On Wed, Jun 24, 2015 at 2:10 PM, Robinson, Paul
>> <Paul_Robinson at playstation.sony.com> wrote:
>> >> -----Original Message-----
>> >> From: Easwaran Raman
2015 Jun 17
2
[LLVMdev] Inline hint for methods defined in-class
Clang adds the InlineHint attribute to functions that are explicitly
marked inline, but not if they are defined in the class body. I tried
the following patch, which I believe handles the in-class definition
case:
--- a/lib/CodeGen/CodeGenFunction.cpp
+++ b/lib/CodeGen/CodeGenFunction.cpp
@@ -630,7 +630,7 @@ void CodeGenFunction::StartFunction(GlobalDecl GD,
if (const FunctionDecl *FD =