search for: fexperimental

Displaying 20 results from an estimated 48 matches for "fexperimental".

Did you mean: experimental
2017 Oct 03
2
New Pass Manager with flto[=thin] not enabled (??)
Hello, I recently noticed that the new pass manager was not enabled at regular/thin LTO link step even if '-fexperimental-new-pass-manager' was specified in the compile step and link step commands. Upon closer inspection, it seems there's so real way to invoke the new pass manager path ('runNewPMPasses' in lib/LTO/LTOBackend.cpp) during link step. 'Conf.UseNewPM' is used to select the new PM...
2017 Oct 18
18
RFC: Switching to the new pass manager by default
...quivalent functionality. ... that's it? Optimization quality / run-time performance: - We've been using it at Google extensively and are very happy with the optimization quality. Benchmarks look *very* good here. - More data from other users would be important. - You can try it out with `-fexperimental-new-pass-manager` to Clang Compile-time performance: - Sometimes *much* better due to cached analyses. - Sometimes worse, typically due to more / different inlining in turn running main pipeline (GVN + InstCombine) more times or over more code. - Overall somewhat a wash, but the increased compile...
2017 Dec 07
2
devirtualization with new-PM pipeline
...been playing with the new PM pipeline, being particularly interested in how it can handle devirtualization. Now, I discovered what I believe is a "regression" vs old PM on a rather simple one-translation-unit testcase. clang is able to devirtualize it with -O3 and fails to do so with -fexperimental-new-pass-manager added. It looks like a pipeline issue, though I did not dig deeper as I'm not sure if this kind of behavior is expected at current stage of New PM life or not? If it is not expected then I'ld be happy to file a bug and do a bit deeper look for the cause. regards,   Fe...
2017 Oct 03
2
New Pass Manager with flto[=thin] not enabled (??)
...liano <davide at freebsd.org> wrote: > On Tue, Oct 3, 2017 at 11:57 AM, Graham Yiu via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> Hello, >> >> I recently noticed that the new pass manager was not enabled at regular/thin >> LTO link step even if '-fexperimental-new-pass-manager' was specified in the >> compile step and link step commands. Upon closer inspection, it seems >> there's so real way to invoke the new pass manager path ('runNewPMPasses' in >> lib/LTO/LTOBackend.cpp) during link step. >> > > `-fexperi...
2017 Oct 25
2
RFC: Switching to the new pass manager by default
On 10/25/2017 12:10 PM, Evgeny Astigeevich via llvm-dev wrote: > > Hi Chandler, > > I ran the LNT benchmarks and SPEC2k6.train on AArch64 Cortex-A57. I > used revisions: Clang 316561, LLVM 316563. > > Options: -O3 -mcpu=cortex-a57 -fomit-frame-pointer > -fexperimental-new-pass-manager > > Regressions: execution time increase > > LNT > > MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow 1018.58% > How real is this? -Hal > MultiSource/Benchmarks/Fhourstones/fhourstones > 9.06% > > MultiSou...
2017 Oct 25
5
RFC: Switching to the new pass manager by default
...On 10/25/2017 12:10 PM, Evgeny Astigeevich via llvm-dev wrote: > > Hi Chandler, > > I ran the LNT benchmarks and SPEC2k6.train on AArch64 Cortex-A57. > I used revisions: Clang 316561, LLVM 316563. > > Options: -O3 -mcpu=cortex-a57 -fomit-frame-pointer > -fexperimental-new-pass-manager > > Regressions: execution time increase > > LNT > > MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow 1018.58% > > > How real is this? > > -Hal > > > MultiSource/Benchmarks/Fhourstones/fhourstones >...
2017 Oct 26
3
RFC: Switching to the new pass manager by default
...>> Optimization quality / run-time performance: >> - We've been using it at Google extensively and are very happy with >> the optimization quality. Benchmarks look *very* good here. >> - More data from other users would be important. >> - You can try it out with `-fexperimental-new-pass-manager` to Clang >> >> Compile-time performance: >> - Sometimes *much* better due to cached analyses. >> - Sometimes worse, typically due to more / different inlining in turn >> running main pipeline (GVN + InstCombine) more times or over more code. >>...
2017 Dec 14
2
devirtualization with new-PM pipeline
...ing particularly > interested in how it can handle devirtualization. > > Now, I discovered what I believe is a "regression" vs old PM on a rather > simple one-translation-unit testcase. > > > > clang is able to devirtualize it with -O3 and fails to do so with > -fexperimental-new-pass-manager added. > > I hate to correct myself ;) yet it is able to devirtualize (that is GVN > does its job) though it does fail to perform > a rather expected inline afterwards. > > regards, > Fedor. > > > > > > > It looks like a pipeline issue, t...
2017 Oct 25
2
RFC: Switching to the new pass manager by default
...> Optimization quality / run-time performance: > - We've been using it at Google extensively and are very happy > with the optimization quality. Benchmarks look *very* good here. > - More data from other users would be important. > - You can try it out with `-fexperimental-new-pass-manager` to Clang > > Compile-time performance: > - Sometimes *much* better due to cached analyses. > - Sometimes worse, typically due to more / different inlining in > turn running main pipeline (GVN + InstCombine) more times or over > more code. >...
2019 Dec 12
3
Adding custom callback function before/after passes
...ot;standard" functionality, like -print-after-all or -time-passes. > StandardInstrumentations registers its individual instrumentations the > same way you would register your own. > > Note, that PassInstrumentation is only supported in new pass manager (opt > -passes= or clang -fexperimental-new-pass-manager). > > regards, > Fedor. > > > Do we have something similar to RegisterStandardPasses, so custom > callbacks can be added from somewhere outside LLVM? > > Thanks, > Juneyoung Lee > > > > _______________________________________________ >...
2018 Apr 18
2
LLVM Pass Managers
.../lists.llvm.org/pipermail/llvm-dev/2012-July/051643.html > > LegacyPassManager is currently still the default, but we are really close > to switching over the the new one. Both opt and clang have switches to > enable the new one, by calling `opt -passes="...."` or `clang > -fexperimental-new-pass-manager`. PassBuilder is essentially a big > factory to produce PassManager and AnalysisManager objects for the passes > and analyses included in core LLVM. If you develop analyses and passes, I'd > suggest doing so against the new PM, especially if you plan on upstreaming &gt...
2018 Apr 17
0
LLVM Pass Managers
...g the motivation: http://lists.llvm.org/pipermail/llvm-dev/2012-July/051643.html LegacyPassManager is currently still the default, but we are really close to switching over the the new one. Both opt and clang have switches to enable the new one, by calling `opt -passes="...."` or `clang -fexperimental-new-pass-manager`. PassBuilder is essentially a big factory to produce PassManager and AnalysisManager objects for the passes and analyses included in core LLVM. If you develop analyses and passes, I'd suggest doing so against the new PM, especially if you plan on upstreaming your work. Cheers...
2018 Apr 19
0
LLVM Pass Managers
...-dev/2012-July/051643. >> html >> >> LegacyPassManager is currently still the default, but we are really close >> to switching over the the new one. Both opt and clang have switches to >> enable the new one, by calling `opt -passes="...."` or `clang >> -fexperimental-new-pass-manager`. PassBuilder is essentially a big >> factory to produce PassManager and AnalysisManager objects for the passes >> and analyses included in core LLVM. If you develop analyses and passes, I'd >> suggest doing so against the new PM, especially if you plan on ups...
2018 Apr 17
2
LLVM Pass Managers
Hello all, I have 2 separate questions: 1, What are the differences between *LegacyPassManager* and *PassManager*? I see that *opt* uses the former most of the times while the latter is used via *PassBuilder* API when an user wants to build her own pipeline, but I have no idea why so. What to use and when to use it is not clear to me. 2, I've asked this question once but have had no answer,
2018 Apr 20
2
LLVM Pass Managers
...>>> ml >>> >>> LegacyPassManager is currently still the default, but we are really >>> close to switching over the the new one. Both opt and clang have switches >>> to enable the new one, by calling `opt -passes="...."` or `clang >>> -fexperimental-new-pass-manager`. PassBuilder is essentially a big >>> factory to produce PassManager and AnalysisManager objects for the passes >>> and analyses included in core LLVM. If you develop analyses and passes, I'd >>> suggest doing so against the new PM, especially if you...
2019 Dec 03
3
Adding custom callback function before/after passes
Hello all, Is there a way to register callback that runs before/after passes? PassTimingInfo seems to do a similar thing by calling PassInstrumentationCallbacks::registerBeforePassCallback / registerAfterPassCallback, but it is hard-wired with StandardInstrumentations class. Do we have something similar to RegisterStandardPasses, so custom callbacks can be added from somewhere outside LLVM?
2018 Feb 06
2
Current PGO status
...to turn it on is -fprofile-generate/-fprofile-use > * value profiling support in PGO -- currently support indirect call > target profiling and memcpy/memset size profiling and optimizations > * Profile data is made available for inliner to use (enabled only for > the new pass manager: -fexperimental-new-pass-manager) > * Profile aware LICM is available -- implemented via a profile driven > code sinking pass  > * Partial inlining is made profile aware;  Graham Yu also added > support for multiple region function outlining (with PGO) > * BB layout heuristics are tuned with PGO &gt...
2018 Feb 05
0
Current PGO status
...formance. The option to turn it on is -fprofile-generate/-fprofile-use * value profiling support in PGO -- currently support indirect call target profiling and memcpy/memset size profiling and optimizations * Profile data is made available for inliner to use (enabled only for the new pass manager: -fexperimental-new-pass-manager) * Profile aware LICM is available -- implemented via a profile driven code sinking pass * Partial inlining is made profile aware; Graham Yu also added support for multiple region function outlining (with PGO) * BB layout heuristics are tuned with PGO * hotness driven function lay...
2020 Jan 16
7
[RFC] Upstream development of support for yet-to-be-ratified RISC-V extensions
...build bots etc. 2) Feature always compiled, but the code path to enable it is disabled without a particular build flag. Also needs extra build bots. 3) Feature is always compiled and can be enabled regardless of LLVM build flags used. Option 2) has some precedent in the form of flags like `-fexperimental-new-pass-manager`. Option 3) doesn't have precedent in LLVM, but Robin Kruppe pointed out it has similarities to Rust, where experimental features can only be enabled in nightly builds. # Proposal Although we want to discourage downstream reliance on unratified extensions, there doesn't s...
2018 Feb 05
3
Current PGO status
Hello David! I have recently started acquaintance with PGO in LLVM/clang and found your e-mail thread: http://lists.llvm.org/pipermail/llvm-dev/2016-May/099395.html . Here you posted a nice list of optimizations that use profiling and of those which could be using but don't. However that thread is about 2 years old. Could you please kindly let me know if there were any significant changes in