Displaying 20 results from an estimated 1000 matches similar to: "LLVM is getting faster, April edition"
2017 Apr 18
3
LLVM is getting faster, April edition
> On Apr 11, 2017, at 10:25 PM, Madhur Amilkanthwar via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> I am interested in knowing more.
> 1. What benchmarks does LLVM community use for compile-time study? I see CTMark, but is that the only one being analyzed?
CTMark is not cast in stone. Its purpose is for the community to have a trackable proxy for the overall llvm test
2017 Mar 22
3
Saving Compile Time in InstCombine
> To (hopefully) make it easier to answer this question, I've posted my
(work-in-progress) patch which adds a known-bits cache to InstCombine.
> I rebased it yesterday, so it should be fairly easy to apply:
https://reviews.llvm.org/D31239 - Seeing what this does to the performance
of the
> benchmarks mentioned in this thread (among others) would certainly be
interesting.
Thanks! I
2017 Mar 21
2
Saving Compile Time in InstCombine
> On Mar 17, 2017, at 6:12 PM, David Majnemer via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Honestly, I'm not a huge fan of this change as-is. The set of transforms that were added behind ExpensiveChecks seems awfully strange and many would not lead the reader to believe that they are expensive at all (the SimplifyDemandedInstructionBits and foldICmpUsingKnownBits calls
2017 Mar 23
2
Saving Compile Time in InstCombine
In my testing results are not that impressive, but that's because I'm now focusing on Os. For me even complete disabling of all KnownBits-related patterns in InstCombine places the results very close to the noise level. In my original patch I also had some extra patterns moved under ExpensiveCombines - and that seems to make a difference too (without this part, or without the KnownBits
2017 Mar 20
2
Saving Compile Time in InstCombine
> On Mar 17, 2017, at 6:12 PM, David Majnemer <david.majnemer at gmail.com> wrote:
>
> Honestly, I'm not a huge fan of this change as-is. The set of transforms that were added behind ExpensiveChecks seems awfully strange and many would not lead the reader to believe that they are expensive at all (the SimplifyDemandedInstructionBits and foldICmpUsingKnownBits calls being the
2017 Jun 28
2
Enabling EarlyCSE w/ MemorySSA by default
Can you share you compile-time and memory footprint measurements at least for CTMark? For a new pass/feature it would be great to share this with the community before you commit. Or did I miss them?
Thanks
Gerolf
> On Jun 27, 2017, at 3:26 PM, Geoff Berry via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> EarlyCSE w/ MemorySSA has been enabled by default as of r306477
>
2017 May 24
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Hi Kristof,
Thanks for the measurements.
> On May 24, 2017, at 6:00 AM, Kristof Beyls <kristof.beyls at arm.com> wrote:
>
>>
>> On 23 May 2017, at 21:48, Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at apple.com>> wrote:
>>
>> Great!
>> I thought I had to look at our pipeline at O0 to make sure optimized regalloc was
2017 May 23
2
[GlobalISel][AArch64] Toward flipping the switch for O0: Please give it a try!
Great!
I thought I had to look at our pipeline at O0 to make sure optimized regalloc was supported (https://bugs.llvm.org/show_bug.cgi?id=33022 <https://bugs.llvm.org/show_bug.cgi?id=33022> in mind). Glad I was wrong, it saves me some time.
> On May 22, 2017, at 12:51 AM, Kristof Beyls <kristof.beyls at arm.com> wrote:
>
>
>> On 22 May 2017, at 09:09, Diana Picus
2017 Mar 17
7
Saving Compile Time in InstCombine
Hi,
One of the most time-consuming passes in LLVM middle-end is InstCombine (see e.g. [1]). It is a very powerful pass capable of doing all the crazy stuff, and new patterns are being constantly introduced there. The problem is that we often use it just as a clean-up pass: it's scheduled 6 times in the current pass pipeline, and each time it's invoked it checks all known patterns. It
2018 Mar 03
2
Removing the LoopInstSimplify pass
Hi,
I think we should remove the LoopInstSimplify pass, as it has no test coverage and no users (afaik).
If you are using the pass, or think that it should stay in tree for some other reason, please let me know.
Here's the patch: https://reviews.llvm.org/D44053 <https://reviews.llvm.org/D44053>
vedant
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2018 Mar 05
2
Removing the LoopInstSimplify pass
Thanks for sharing this background information :). If you've got the time, I think it'd be great to check this bulleted list into docs/. I see that we don't have a Canonicalizations.rst or a LoopOptimizations.rst -- your notes look like a good starting point.
Given that the pass seems to be doing the right thing from a design perspective, should it stay in tree? Since it's been
2016 Nov 17
4
CTMark - regular LLVM and CLANG compile-time tracking
> On Nov 17, 2016, at 2:55 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> Hi Gerolf,
>
> This is really cool!
> I’m very excited about this initiative and I hope we’ll be able to get to a stage where compile time regression are handled like other regression: if they are not expected / justified by the commit author promptly, the commit should be reverted in the
2016 Nov 15
2
CTMark - regular LLVM and CLANG compile-time tracking
Hi,
this is about kicking-off regular compile-time tracking for LLVM and CLANG on the green dragon: http://lab.llvm.org:8080/green/view/Compile%20Time/ <http://lab.llvm.org:8080/green/view/Compile%20Time/>. The goal is to stay on top of compile-time issues immediately when they occur so they can be assessed rather than creeping in unnoticed. The methodology is simple: form a CTMark suite
2017 Mar 18
4
Saving Compile Time in InstCombine
On 03/17/2017 04:30 PM, Mehdi Amini via llvm-dev wrote:
>
>> On Mar 17, 2017, at 11:50 AM, Mikhail Zolotukhin via llvm-dev
>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Hi,
>>
>> One of the most time-consuming passes in LLVM middle-end is
>> InstCombine (see e.g. [1]). It is a very powerful pass capable
2018 Mar 05
0
Removing the LoopInstSimplify pass
We're not actively using this, but from a design perspective I'm
wondering if we should be using this or something like it. At the
moment, our various loop optimization assume mostly canonical input.
Some of the passes have been taught to deal with limited amounts of
non-canonical-ism, but there's a strong code simplicity argument in
favor of only handling canonical input and
2014 Feb 01
8
[LLVMdev] [RFC] LCSSA vs. SSAUpdater ... FIGHT!
So, there are two primary ideas behind SSA form management in the loop
optimizers of LLVM:
- Require LCSSA form input, leverage its (very powerful) guarantees to
simplify maintaining SSA form, and also maintain LCSSA form.
- Don't bother with LCSSA form input, assume the worst, and use powerful
incremental SSA formation utilities built on SSAUpdater to form SSA on
demand when needed.
(Note,
2018 Mar 05
0
Removing the LoopInstSimplify pass
The code is simple enough that I'd vote to delete and reintroduce later
if needed. :)
Philip
On 03/05/2018 01:23 PM, Vedant Kumar wrote:
> Thanks for sharing this background information :). If you've got the
> time, I think it'd be great to check this bulleted list into docs/. I
> see that we don't have a Canonicalizations.rst or a
> LoopOptimizations.rst --
2014 Feb 07
2
[LLVMdev] [RFC] LCSSA vs. SSAUpdater ... FIGHT!
On Feb 7, 2014, at 11:29 AM, Chris Lattner <clattner at apple.com> wrote:
>
> On Feb 1, 2014, at 4:33 AM, Chandler Carruth <chandlerc at gmail.com> wrote:
>
>> So, there are two primary ideas behind SSA form management in the loop optimizers of LLVM:
>>
>> - Require LCSSA form input, leverage its (very powerful) guarantees to simplify maintaining SSA
2019 Apr 16
2
Interprocedural DSE for -ftrivial-auto-var-init
Can you post numbers for how many stores get eliminated from CTMark?
> On Apr 16, 2019, at 11:45 AM, Vitaly Buka <vitalybuka at google.com> wrote:
>
> I tried -Os and effect of new approach significantly increases.
> I run regular DSE and immediately myDSE. With -Os myDSE removes more than 50% of DSE number.
> Which is expected as -Os inlines less and regular DSE can't
2016 Oct 14
2
LCSSA verification for the top-level loops
Hi Michael,
+CC llvm-dev
My guess is that it would be rather error prone to pinpoint exact places where we start populating new LPPassManager since it’s created lazily via LoopPass::assignPassManager. So we are risking to miss adding verifiers in some of the LPPassManager’s.
One similar idea is to introduce LCSSAVerifier function pass and make LCSSA pass to be dependant on it. That will allow