search for: newpm

Displaying 20 results from an estimated 39 matches for "newpm".

2018 Jan 08
1
Relationship between clang, opt and llc
...achine-dependent optimizations), Difficult to customize pipeline, N/A 2. LLD: all bc files and obj files -> 1 binary (passing -flto to clang for *.bc file generation), back-end link-time optimizations and code generations and machine-dependent optimizations, Easy to customize pipeline w/ -lto-newpm-passes, what is the connection between -lto-newpm-passes and -lto-newpm-aa-pipeline and how to use -lto-newpm-passes to customize pipeline? You just specify the list of passes to run, as you would to opt -passes -lto-newpm-aa-pipeline has the same function as opt's -aa-pipeline option. 3....
2018 Jan 08
0
Relationship between clang, opt and llc
...achine-dependent optimizations), Difficult to customize pipeline, N/A 2. LLD: all bc files and obj files -> 1 binary (passing -flto to clang for *.bc file generation), back-end link-time optimizations and code generations and machine-dependent optimizations, Easy to customize pipeline w/ -lto-newpm-passes, what is the connection between -lto-newpm-passes and -lto-newpm-aa-pipeline and how to use -lto-newpm-passes to customize pipeline? 3. gold: mixed obj files and bc files -> 1 binary (passing -flto to clang for *.bc file generation), back-end link-time optimization w/ LLVMgold.so and cod...
2018 Dec 28
2
Advice for Porting SafeStack to New Pass Manager
Hello, I'm in the process of creating a pass for the new PM for SafeStack which is only available as a part of the legacy PM. The only thing bugging me is in regards to the TargetPassConfig analysis. Whereas most other passes/analyses I have seen separate the logic between the actual pass and anything it does to the IRUnits it runs over are in 2 separate classes, TargetPassConfig has them
2018 Jan 07
2
Relationship between clang, opt and llc
...to construct custom pipelines for (backend passes are often required for correctness or have complex ordering requirements). -- Sean Silva On Jan 6, 2018 7:35 PM, "toddy wang" <wenwangtoddy at gmail.com> wrote: @Sean, do you mean llc ? For llc 4.0 and llc 5.0, I cannot find -lto-newpm-passes option, is it a hidden one? On Sat, Jan 6, 2018 at 7:37 PM, Sean Silva <chisophugis at gmail.com> wrote: > > > On Jan 5, 2018 11:30 PM, "toddy wang via llvm-dev" < > llvm-dev at lists.llvm.org> wrote: > > What I am trying is to compile a program with...
2018 Dec 29
0
Advice for Porting SafeStack to New Pass Manager
...gt; many other analysis inherit from this class as well. I also do not > think this analysis has a new PM equivalent. My knowledge on Codegen is close to being non-existent, but as far as I see there is no New-PM equivalent for CodeGen passes/analyses at all. And as Chandler and others told me, NewPM CodeGen work not yet done includes fleshing out a "new-style" IRUnit support for MachineIR (Pass/Analysis Managers for those). You can surely convert some Codegen FunctionPass'es into NewPM, but you wont be able to create a fully operational CodeGen pipeline w/o a MachineIR. (this...
2018 Sep 28
3
Porting Pass to New PassManager
...`opt < %s -passed='asan' -asan-module -S` > > asan-module is another ModulePass, not a commandline option. You can't mix that like this. > > I'm inclined to consider this as a deficiency of our command line interface. > We really should be giving some noise about newpm's -passes overriding any legacy-pass options. > > Especially since these legacy-pass options sometimes are hard to distinguish from non-pass options. > > regards, > Fedor. > > > Cheers, > Philip > >> >> doesn't produce the same IR as >> &g...
2018 Jan 07
0
Relationship between clang, opt and llc
@Sean, do you mean llc ? For llc 4.0 and llc 5.0, I cannot find -lto-newpm-passes option, is it a hidden one? On Sat, Jan 6, 2018 at 7:37 PM, Sean Silva <chisophugis at gmail.com> wrote: > > > On Jan 5, 2018 11:30 PM, "toddy wang via llvm-dev" < > llvm-dev at lists.llvm.org> wrote: > > What I am trying is to compile a program with...
2020 May 14
2
Sanitizers + New Pass Manager
On 5/14/20 5:33 AM, Arthur Eubanks via llvm-dev wrote: > > Is it the case that with the legacy PM there is no inlining at > either -O2 or -O3 and with newPM there is? Or is there something else > going on? > Legacy PM inlines at -O2/-O3, new PM inlines at -O1/-O2/-O3. These > cases where inlining occurs also coincide with the test failure. I > agree that inlining itself isn't the issue, but it seems to contribute > to the strippi...
2018 Jan 07
2
Relationship between clang, opt and llc
...0 PM, "toddy wang via llvm-dev" <llvm-dev at lists.llvm.org> wrote: What I am trying is to compile a program with different sets of optimization flags. If there is no fine-grained control over clang optimization flags, it would be impossible to achieve what I intend. LLD has -lto-newpm-passes (and the corresponding -lto-newpm-aa-pipeline) which allows you to pass a custom pass pipeline with full control. At one point I was using a similar modification to clang (see https://reviews.llvm.org/D21954) that never landed. -- Sean Silva Although there is fine-grained control via opt,...
2017 Oct 03
2
New Pass Manager with flto[=thin] not enabled (??)
...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. >> > > `-fexperimental-new-pass-manager` is a compile time flag and has no > effect on the link step IIRC. > You may want to teach the driver to pass the correct flag to the LTO > plugin in gold or to lld. > &g...
2019 Oct 04
4
Exposing the New Pass Manager in the LLVM C API
Hi all, At some time in the near future we would like to allow for Rust to use the new PM. As I understand it, Rust uses LLVM through the stable LLVM C API, which currently only provides an interface to the legacy PM. We wanted to ask what people think about how we should go about exposing the new PM through this API. We can think of 3 possibilities for now: 1) Just replace the API to expose the
2019 Jun 13
3
Using the new pass manager for CodeGen
Hi, I am looking into potentially porting CodeGen and some of the passes to using the new pass manager. Two questions: 1. Has anybody made an attempt in this direction already? Maybe I am missing a branch out there that has started on this already. From what I can tell, there is no work in-tree in CodeGen that is aware of the new pass manager besides some assembly utilities in BackendUtils.cpp.
2020 May 14
2
Sanitizers + New Pass Manager
...2020 at 3:13 AM Fedor Sergeev via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> >> >> On 5/14/20 5:33 AM, Arthur Eubanks via llvm-dev wrote: >> >> > Is it the case that with the legacy PM there is no inlining at either >> -O2 or -O3 and with newPM there is? Or is there something else going on? >> Legacy PM inlines at -O2/-O3, new PM inlines at -O1/-O2/-O3. These cases >> where inlining occurs also coincide with the test failure. I agree that >> inlining itself isn't the issue, but it seems to contribute to the >>...
2018 Sep 27
2
Porting Pass to New PassManager
> > `opt < %s -passed='asan' -asan-module -S` > asan-module is another ModulePass, not a commandline option. You can't mix that like this. Cheers, Philip > doesn't produce the same IR as > > `opt < %s -asan -asan-module -S` > > More specifically, the only thing missing seems to be the > `asan.module_ctor` that should get added to the global
2016 Jun 08
0
Intended behavior of CGSCC pass manager.
...ave this issue AFAIK > because it does not consider the ref graph. > Does anybody have any info/experience about how densely connected the > ref graph can get in programs that might reasonably be fed to the > compiler? > I just did a quick sanity check with LLD/ELF using > `--lto-newpm-passes=cgscc(no-op-cgscc)` and it at least seemed to > terminate / not run out of memory. Based on some rough calculations > looking at the profile, it seem like the entire run of the inliner > in the old LTO pipeline (which is about 5% of total LTO time on this > particular example I l...
2020 May 13
2
Sanitizers + New Pass Manager
On 5/13/20 3:31 PM, David Blaikie via llvm-dev wrote: > I believe it's meant to run after /some/ optimizations to make it a bit > more efficient, while not so optimized that it misses opportunities to > detect bugs - but I could be wrong there. I'll leave it up to other folks > to chime in. I think that is right. The more transformations you run the more UB you can also
2016 Jun 08
3
Intended behavior of CGSCC pass manager.
...issue AFAIK because it does not consider the ref graph. >>> >>> Does anybody have any info/experience about how densely connected the ref graph can get in programs that might reasonably be fed to the compiler? >>> I just did a quick sanity check with LLD/ELF using `--lto-newpm-passes=cgscc(no-op-cgscc)` and it at least seemed to terminate / not run out of memory. Based on some rough calculations looking at the profile, it seem like the entire run of the inliner in the old LTO pipeline (which is about 5% of total LTO time on this particular example I looked at) is only 2-...
2016 Jun 08
12
Intended behavior of CGSCC pass manager.
...CGSCC pass manager does not have this issue AFAIK because it does not consider the ref graph. Does anybody have any info/experience about how densely connected the ref graph can get in programs that might reasonably be fed to the compiler? I just did a quick sanity check with LLD/ELF using `--lto-newpm-passes=cgscc(no-op-cgscc)` and it at least seemed to terminate / not run out of memory. Based on some rough calculations looking at the profile, it seem like the entire run of the inliner in the old LTO pipeline (which is about 5% of total LTO time on this particular example I looked at) is only 2-...
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
...ager does not have this issue AFAIK because it does not consider the ref graph. > > Does anybody have any info/experience about how densely connected the ref graph can get in programs that might reasonably be fed to the compiler? > I just did a quick sanity check with LLD/ELF using `--lto-newpm-passes=cgscc(no-op-cgscc)` and it at least seemed to terminate / not run out of memory. Based on some rough calculations looking at the profile, it seem like the entire run of the inliner in the old LTO pipeline (which is about 5% of total LTO time on this particular example I looked at) is only 2-...
2016 Jun 08
2
Intended behavior of CGSCC pass manager.
...cause it >> does not consider the ref graph. >> >> Does anybody have any info/experience about how densely connected the ref >> graph can get in programs that might reasonably be fed to the compiler? >> I just did a quick sanity check with LLD/ELF using >> `--lto-newpm-passes=cgscc(no-op-cgscc)` and it at least seemed to terminate >> / not run out of memory. Based on some rough calculations looking at the >> profile, it seem like the entire run of the inliner in the old LTO pipeline >> (which is about 5% of total LTO time on this particular exam...