search for: congruency

Displaying 20 results from an estimated 40 matches for "congruency".

Did you mean: congruence
2017 Sep 05
5
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...l: - The machine level can have more control over the outlining process. We could have optimized parameterization, alignment handling, etc. ---- Adapting the algorithm to pre-RA IR ---- The analysis portion of the IR outliner is already IR agnostic for the most part. It works on indices into the congruency vector for instructions and their inputs/outputs. This would mean that a preRA outliner would only have to define the MIR specific portions: Congruency detection, cost analysis, parameter/output optimizations, and the outlining of beneficial candidates. -- Implementation -- https://github.com/Riv...
2017 Sep 28
0
[RFC] PT.2 Add IR level interprocedural outliner for code size.
On Wed, Sep 27, 2017 at 6:07 PM, Matthias Braun <mbraun at apple.com> wrote: > > On Sep 27, 2017, at 3:23 PM, Davide Italiano via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > On Wed, Sep 27, 2017 at 9:28 AM, Jessica Paquette via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > > I think that, given previous discussion on the topic, we might want
2017 Sep 22
0
[RFC] PT.2 Add IR level interprocedural outliner for code size.
> > --- Algorithmic differences with the Machine Outliner ---- > > There was a lot of confusion on how exactly the algorithm I am > proposing differs from what is available in the Machine Outliner. The > similarities of the two outliners lie in the usage of a string matching > algorithm and candidate pruning. The first step in the algorithm is to > basically do
2017 Sep 28
3
[RFC] PT.2 Add IR level interprocedural outliner for code size.
> On Sep 27, 2017, at 3:23 PM, Davide Italiano via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > On Wed, Sep 27, 2017 at 9:28 AM, Jessica Paquette via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: >> >> I think that, given previous discussion on the topic, we might want a split >> like this: >>
2017 Sep 22
0
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...ne level can have more control over the outlining process. We could have optimized parameterization, alignment handling, etc. > > ---- Adapting the algorithm to pre-RA IR ---- > The analysis portion of the IR outliner is already IR agnostic for the most part. It works on indices into the congruency vector for instructions and their inputs/outputs. This would mean that a preRA outliner would only have to define the MIR specific portions: Congruency detection, cost analysis, parameter/output optimizations, and the outlining of beneficial candidates. That should apply the other way around too: t...
2017 Sep 22
2
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...can have more control over the outlining process. We > could have optimized parameterization, alignment handling, etc. > > ---- Adapting the algorithm to pre-RA IR ---- > The analysis portion of the IR outliner is already IR agnostic for the > most part. It works on indices into the congruency vector for instructions > and their inputs/outputs. This would mean that a preRA outliner would only > have to define the MIR specific portions: Congruency detection, cost > analysis, parameter/output optimizations, and the outlining of beneficial > candidates. > > That should app...
2017 Sep 27
0
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...have more control over the outlining process. We could have optimized parameterization, alignment handling, etc. >> >> ---- Adapting the algorithm to pre-RA IR ---- >> The analysis portion of the IR outliner is already IR agnostic for the most part. It works on indices into the congruency vector for instructions and their inputs/outputs. This would mean that a preRA outliner would only have to define the MIR specific portions: Congruency detection, cost analysis, parameter/output optimizations, and the outlining of beneficial candidates. > That should apply the other way around t...
2017 Jul 25
5
[RFC] Add IR level interprocedural outliner for code size.
> On Jul 25, 2017, at 9:24 AM, Jessica Paquette <jpaquette at apple.com> wrote: > >> The two passes are pretty different in their approaches to congruency finding, so I don't think it helps to group them as though they were interchangeable "outliner technology". The two passes might be totally orthogonal. > > I think that based off how River described his algorithm, the actual underlying method should be pretty similar. If it is,...
2016 Aug 30
2
[RFC] Interprocedural MIR-level outlining pass
Daniel, OK, I see your point. My understanding was that VNDAG is an internal representation, not meant to be used by VN's customers (that should really care for classes of congruency, nothing more). Also, I thought that VN's results are available for a single function at a time. It seems that NewGVN provides access to VNDAGs computed for the whole program -- which enables its usage in Jessica's pass. Still, some issues remain. I wonder what leaf nodes for reads of &quo...
2017 Jul 25
3
[RFC] Add IR level interprocedural outliner for code size.
...n on the placement of the > outliner in LLVM. > > > My fear with a new framework is that we are going to split the effort for > pushing the outliner technology forward and I’d like to avoid that if at > all possible. > The two passes are pretty different in their approaches to congruency finding, so I don't think it helps to group them as though they were interchangeable "outliner technology". The two passes might be totally orthogonal. I can imagine two extreme outcomes (reality is probably somewhere in between): 1. if you run the LLVM IR level code size outliner,...
2017 Jun 14
2
killing undef and spreading poison
1. ————— Dan, The reasoning given below for how GVN operates seems odd to me, Poison is an attribute of a value, just like nsw is an attribute of an operation, So when GVN sees a pair of equal values, one of which has an extra attribute, The proper choice for representative value is the one without the attribute, Just like when GVN sees a pair of add operations, one of which has an
2017 Jun 15
3
killing undef and spreading poison
Daniel, Thanks for taking the time to respond. Regarding GVN and newGVN, I recently finished a search through the llvm-dev archives for “nsw” in the subject line, and GVN was discussed in some of those threads [1]. In particular it was claimed that there was a right choice for GVN to make given two ADD instructions, one with the “nsw” attribute and one without, the one without ‘nsw’
2017 Sep 27
3
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...ontrol over the outlining process. We could have optimized parameterization, alignment handling, etc. >>> >>> ---- Adapting the algorithm to pre-RA IR ---- >>> The analysis portion of the IR outliner is already IR agnostic for the most part. It works on indices into the congruency vector for instructions and their inputs/outputs. This would mean that a preRA outliner would only have to define the MIR specific portions: Congruency detection, cost analysis, parameter/output optimizations, and the outlining of beneficial candidates. >> That should apply the other way arou...
2017 Feb 27
5
[Proposal][RFC] Epilog loop vectorization
> On Feb 27, 2017, at 9:39 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > > On Mon, Feb 27, 2017 at 9:29 AM, Adam Nemet <anemet at apple.com <mailto:anemet at apple.com>> wrote: > >> On Feb 27, 2017, at 7:27 AM, Hal Finkel <hfinkel at anl.gov <mailto:hfinkel at anl.gov>> wrote: >> >> >> On 02/27/2017 06:29 AM,
2016 Aug 29
2
[RFC] Interprocedural MIR-level outlining pass
Daniel, I wonder what the NewGVN would generate for the following C code: int a, b; int foo() { return a + b; } int bar() { return a + b; } ? Obviously, the expressions would be the same ("value1 + value2"), but a single operator is not worthy to be outlined. What classes of congruency would be assigned to operands? The same for both reads of "a" and "b"? If yes, it would be incorrect, as obviously, these two additions are not guaranteed to be semantically equivalent (a's and b's values can be changed in-between). Also note that one should be able to...
2017 Jul 22
4
[RFC] Add IR level interprocedural outliner for code size.
Hi Andrey, Questions and feedback are very much welcome. - The explanation as to why the improvements can vary between the IR and MIR outliner mainly boil down to the level of abstraction that each are working at. The MIR level has very accurate heuristics and is effectively the last post ISel target independent code gen pass. The IR outliner on the other hand has more estimation in the cost
2014 Jun 19
2
Principal component analysis with EQUAMAX rotation
Hello, I need to do a principal component analysis with EQUAMAX-rotation. Unfortunately the function principal() I use normally for PCA does not offer this rotation specification. I could find out that this might be possible somehow with the package GPArotation but until now I could not figure out how to use this in the principal component analysis. Maybe someone can give an example on how to do
2017 Jul 20
8
[RFC] Add IR level interprocedural outliner for code size.
...e benefits tend to outnumber the regressions). The performance section contains data for both on a variety of benchmarks. -- Why at the IR level -- The decision to place the outliner at the IR level comes from a couple of major factors: - Desire to be target independent - Most opportunities for congruency The downside to having this type of transformation be at the IR level is it means there will be less accuracy in the cost model - we can somewhat accurately model the cost per instruction but we can’t get information on how a window of instructions may lower. This can cause regressions depending...
2017 Jul 21
2
[RFC] Add IR level interprocedural outliner for code size.
...The performance > section contains data for both on a variety of benchmarks. > > -- Why at the IR level -- > > The decision to place the outliner at the IR level comes from a couple of > major factors: > > - Desire to be target independent > > - Most opportunities for congruency > > The downside to having this type of transformation be at the IR level is > it means there will be less accuracy in the cost model - we can somewhat > accurately model the cost per instruction but we can’t get information on > how a window of instructions may lower. This can caus...
2017 Feb 27
2
[Proposal][RFC] Epilog loop vectorization
There's another issue with re-running the vectorizer (which I support, btw - I'm just saying there are more problems to solve on the way :-) ) Historically, we haven't even tried to evaluate the cost of the "constant" (not per-iteration) vectorization overhead - things like alias checks. Instead, we have hard bounds - we won't perform alias checks that are "too