search for: mikulin

Displaying 20 results from an estimated 27 matches for "mikulin".

2017 Apr 14
2
Saving Compile Time in InstCombine
On Fri, Apr 14, 2017 at 2:19 PM, Mikulin, Dmitry <dmitry.mikulin at sony.com> wrote: > >>> Is this a run with debug info? i.e. are you passing -g to the per-TU >>> pipeline? I'm inclined to think this is mostly an additive effect >>> adding matchers here and there that don't really hurt small te...
2018 May 01
2
ThinLTO + CFI
...nPrefix(".cfi"); > that should make all jump table section names begin with ".text.cfi", which I think should be enough to cause the behaviour needed for cross-DSO CFI here (eugenis can probably confirm). > > Peter > > On Tue, May 1, 2018 at 12:59 PM, <dmitry.mikulin at sony.com> wrote: > That seems to do the trick. > I get “symbol ordering file: no such symbol: <blah>” warnings for symbols that didn’t get renamed. > Maybe we'll have a separate order file for CFI builds... > > What about the comment above that line? > > &gt...
2018 Apr 19
3
ThinLTO + CFI
On Wed, Apr 18, 2018 at 4:49 PM, <dmitry.mikulin at sony.com> wrote: > Hi Teresa, > > Thanks for the info! > This example is my attempt to reduce FreeBSD kernel to something more > manageable :) > > I will take a look at why globals are not being imported in this case. > What’s the best tool to look into ThinLTO object...
2018 May 01
0
ThinLTO + CFI
...or CFI, including cross-DSO CFI) still passes. If that breaks check-cfi, we can probably leave the logic in place for cross-DSO CFI only (i.e. module flag named "Cross-DSO CFI" present) and we can figure out a better way to do this later. Peter On Tue, May 1, 2018 at 2:04 PM, <dmitry.mikulin at sony.com> wrote: > Jump table sections already have this prefix: ".text..L.cfi.jumptable.”, > without forcing the name with setSection(). Is that good enough? > > > > On May 1, 2018, at 1:16 PM, Peter Collingbourne <peter at pcc.me.uk> wrote: > > > >...
2018 May 02
1
ThinLTO + CFI
...ss-DSO CFI) still passes. If that breaks check-cfi, we can probably leave the logic in place for cross-DSO CFI only (i.e. module flag named "Cross-DSO CFI" present) and we can figure out a better way to do this later. > > Peter > > On Tue, May 1, 2018 at 2:04 PM, <dmitry.mikulin at sony.com> wrote: > Jump table sections already have this prefix: ".text..L.cfi.jumptable.”, without forcing the name with setSection(). Is that good enough? > > > > On May 1, 2018, at 1:16 PM, Peter Collingbourne <peter at pcc.me.uk> wrote: > > > > I t...
2018 May 01
2
ThinLTO + CFI
...>” warnings for symbols that didn’t get renamed. Maybe we'll have a separate order file for CFI builds... What about the comment above that line? > On May 1, 2018, at 11:46 AM, Peter Collingbourne <peter at pcc.me.uk> wrote: > > On Tue, May 1, 2018 at 11:29 AM, <dmitry.mikulin at sony.com> wrote: > It’s not the functions themselves, it’s the jump tables that end up in the same section of the thin-link temporary object. If I have, say, foo and bar and both of them need a jump table entry, both entries will be in the same section of the temp object. The real function...
2018 May 01
0
ThinLTO + CFI
...e::MachO) F->setSectionPrefix(".cfi"); that should make all jump table section names begin with ".text.cfi", which I think should be enough to cause the behaviour needed for cross-DSO CFI here (eugenis can probably confirm). Peter On Tue, May 1, 2018 at 12:59 PM, <dmitry.mikulin at sony.com> wrote: > That seems to do the trick. > I get “symbol ordering file: no such symbol: <blah>” warnings for symbols > that didn’t get renamed. > Maybe we'll have a separate order file for CFI builds... > > What about the comment above that line? > > &...
2018 Apr 20
0
ThinLTO + CFI
...e same page. So not having jump table entries for the functions that don't really need them would be ideal. Thanks. Dmitry. On Apr 18, 2018, at 6:11 PM, Teresa Johnson <tejohnson at google.com<mailto:tejohnson at google.com>> wrote: On Wed, Apr 18, 2018 at 4:49 PM, <dmitry.mikulin at sony.com<mailto:dmitry.mikulin at sony.com>> wrote: Hi Teresa, Thanks for the info! This example is my attempt to reduce FreeBSD kernel to something more manageable :) I will take a look at why globals are not being imported in this case. What’s the best tool to look into ThinLTO obje...
2018 May 01
2
ThinLTO + CFI
...able, followed by bar. In our case the jump table section is about 80K, so the expectation of foo being on the same page as bar breaks down. > On May 1, 2018, at 11:16 AM, Peter Collingbourne <peter at pcc.me.uk> wrote: > > > > On Tue, May 1, 2018 at 11:10 AM, <dmitry.mikulin at sony.com> wrote: > > > > On Apr 30, 2018, at 6:04 PM, Peter Collingbourne <peter at pcc.me.uk> wrote: > > > > On Mon, Apr 30, 2018 at 1:05 PM, <dmitry.mikulin at sony.com> wrote: > > Replacing direct calls to jump table entries with calls to real...
2018 May 01
0
ThinLTO + CFI
On Tue, May 1, 2018 at 11:29 AM, <dmitry.mikulin at sony.com> wrote: > It’s not the functions themselves, it’s the jump tables that end up in the > same section of the thin-link temporary object. If I have, say, foo and bar > and both of them need a jump table entry, both entries will be in the same > section of the temp object. T...
2018 Apr 20
2
ThinLTO + CFI
.... So not having jump table entries for the functions > that don't really need them would be ideal. > > Thanks. > Dmitry. > > > On Apr 18, 2018, at 6:11 PM, Teresa Johnson <tejohnson at google.com> wrote: > > > > On Wed, Apr 18, 2018 at 4:49 PM, <dmitry.mikulin at sony.com> wrote: > >> Hi Teresa, >> >> Thanks for the info! >> This example is my attempt to reduce FreeBSD kernel to something more >> manageable :) >> >> I will take a look at why globals are not being imported in this case. >> What’s the b...
2018 Apr 26
0
ThinLTO + CFI
...e same page. So not having jump table entries for the functions that don't really need them would be ideal. Thanks. Dmitry. On Apr 18, 2018, at 6:11 PM, Teresa Johnson <tejohnson at google.com<mailto:tejohnson at google.com>> wrote: On Wed, Apr 18, 2018 at 4:49 PM, <dmitry.mikulin at sony.com<mailto:dmitry.mikulin at sony.com>> wrote: Hi Teresa, Thanks for the info! This example is my attempt to reduce FreeBSD kernel to something more manageable :) I will take a look at why globals are not being imported in this case. What’s the best tool to look into ThinLTO obje...
2017 Apr 14
3
Saving Compile Time in InstCombine
> On Apr 13, 2017, at 7:43 PM, Davide Italiano <davide at freebsd.org> wrote: > > On Thu, Apr 13, 2017 at 5:18 PM, Mikulin, Dmitry > <dmitry.mikulin at sony.com> wrote: >> I’m taking a first look at InstCombine performance. I picked up the caching patch and ran a few experiments on one of our larger C++ apps. The size of the *.0.2.internalize.bc no-debug IR is ~ 30M. Here are my observations so far. >...
2018 May 01
2
ThinLTO + CFI
> On Apr 30, 2018, at 6:04 PM, Peter Collingbourne <peter at pcc.me.uk> wrote: > > On Mon, Apr 30, 2018 at 1:05 PM, <dmitry.mikulin at sony.com> wrote: > Replacing direct calls to jump table entries with calls to real targets recovers most of the performance loss in my benchmark. Dealing with link order files is a bit cumbersome though: I can’t keep both, say “foo” and “foo.cfi” next to each other in link order, because i...
2018 May 01
0
ThinLTO + CFI
On Tue, May 1, 2018 at 11:10 AM, <dmitry.mikulin at sony.com> wrote: > > > > On Apr 30, 2018, at 6:04 PM, Peter Collingbourne <peter at pcc.me.uk> > wrote: > > > > On Mon, Apr 30, 2018 at 1:05 PM, <dmitry.mikulin at sony.com> wrote: > > Replacing direct calls to jump table entries with calls to re...
2018 Apr 17
3
ThinLTO + CFI
...s is part of a more complex example where it is not possible to do this? Also note that with r327254 we started importing global variables. Do you know why we don't import in your case? I wonder if it has to do with it being CFI inserted code? Teresa On Tue, Apr 17, 2018 at 9:17 AM <dmitry.mikulin at sony.com> wrote: > I watched Teresa’s talk on ThinLTO from last year’s CppCon, and it > sounded like adding global variable information to the summaries was in the > works, or at least in planning. Can someone (Teresa?) please share the > current status? If it’s part of future p...
2018 May 14
1
ThinLTO + CFI
...http://llvm-cs.pcc.me.uk/lib/Transforms/IPO/LowerTypeTests.cpp#1620 >> Renaming: http://llvm-cs.pcc.me.uk/lib/Transforms/IPO/LowerTypeTests.cpp#1642 >> Do you have an example of what you are seeing? >> >> Peter >> >> On Thu, Apr 26, 2018 at 4:54 PM, <dmitry.mikulin at sony.com> wrote: >> Hi Peter, >> >> We could probably tolerate a certain amount of unused jump table entries. However, I just realized that all non-inline imported calls end up going through a jump table entry. Is that correct? Initially I thought you meant calls promoted f...
2018 Apr 18
0
ThinLTO + CFI
...s is part of a more complex example where it is not possible to do this? Also note that with r327254 we started importing global variables. Do you know why we don't import in your case? I wonder if it has to do with it being CFI inserted code? Teresa On Tue, Apr 17, 2018 at 9:17 AM <dmitry.mikulin at sony.com<mailto:dmitry.mikulin at sony.com>> wrote: I watched Teresa’s talk on ThinLTO from last year’s CppCon, and it sounded like adding global variable information to the summaries was in the works, or at least in planning. Can someone (Teresa?) please share the current status? If i...
2018 Apr 30
4
ThinLTO + CFI
...: http://llvm-cs.pcc.me.uk/lib/Transforms/IPO/LowerTypeTests.cpp#1620 >> Renaming: http://llvm-cs.pcc.me.uk/lib/Transforms/IPO/LowerTypeTests.cpp#1642 >> Do you have an example of what you are seeing? >> >> Peter >> >> On Thu, Apr 26, 2018 at 4:54 PM, <dmitry.mikulin at sony.com> wrote: >> Hi Peter, >> >> We could probably tolerate a certain amount of unused jump table entries. However, I just realized that all non-inline imported calls end up going through a jump table entry. Is that correct? Initially I thought you meant calls promoted fr...
2018 May 01
0
ThinLTO + CFI
...irect function reference instead of just direct calls. Also, I believe the logic for replaceDirectCalls() should be more restrictive, currently it will also rewrite calls where the function use is as a function pointer argument instead of the call target. On Mon, Apr 30, 2018 at 1:05 PM <dmitry.mikulin at sony.com> wrote: > Replacing direct calls to jump table entries with calls to real targets > recovers most of the performance loss in my benchmark. Dealing with link > order files is a bit cumbersome though: I can’t keep both, say “foo” and > “foo.cfi” next to each other in link...