search for: mapinstructions

Displaying 7 results from an estimated 7 matches for "mapinstructions".

2017 Sep 27
0
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...ch instance of a repeated > sequence of instructions with a call to a newly-created function. In the > MachineOutliner, the method by which we do this is decided on by the target. > > So, we at the very least might want an interface that implements something > like > > unsigned mapInstructions(…); > unsigned getOutliningCost(…); > unsigned findCandidates(…); > bool outline(…); > Hi Jessica, I tend to agree we should try to maximize code reuse in this context, and I think yours is a good step forward. In particular, I'm particularly confident the `findCandidates()` bits s...
2017 Sep 28
3
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...> sequence of instructions with a call to a newly-created function. In the >> MachineOutliner, the method by which we do this is decided on by the target. >> >> So, we at the very least might want an interface that implements something >> like >> >> unsigned mapInstructions(…); >> unsigned getOutliningCost(…); >> unsigned findCandidates(…); >> bool outline(…); >> > > Hi Jessica, I tend to agree we should try to maximize code reuse in > this context, and I think yours is a good step forward. In particular, > I'm particularly co...
2017 Sep 27
1
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...s them to the given outliner, which then applies its cost model to it - Takes in a (possibly optional) cost model function, finds all repeated sequences that satisfy that model, and then returns those sequences. If no model is provided, then it will return all sequences. > For what it concerns `mapInstructions()` [please correct me if I'm wrong]. > This bit of the interface should be responsible for value numbering > the instructions, as far as I can tell. That’s correct. > To the best of my understanding the way your outliner value numbers > using a nominal approach, i.e. two instruct...
2017 Sep 28
0
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...ch instance of a repeated > sequence of instructions with a call to a newly-created function. In the > MachineOutliner, the method by which we do this is decided on by the target. > > So, we at the very least might want an interface that implements something > like > > unsigned mapInstructions(…); > unsigned getOutliningCost(…); > unsigned findCandidates(…); > bool outline(…); > > > Hi Jessica, I tend to agree we should try to maximize code reuse in > this context, and I think yours is a good step forward. In particular, > I'm particularly confident the `findC...
2017 Sep 27
3
[RFC] PT.2 Add IR level interprocedural outliner for code size.
...have a function that replaces each instance of a repeated sequence of instructions with a call to a newly-created function. In the MachineOutliner, the method by which we do this is decided on by the target. So, we at the very least might want an interface that implements something like unsigned mapInstructions(…); unsigned getOutliningCost(…); unsigned findCandidates(…); bool outline(…); The MachineOutliner is *almost* set up like this. So, I think it should be pretty easy to build the split this way without a lot of adaptation. The only place I can see it being somewhat tricky is maybe with all of the...
2017 Sep 27
0
[RFC] PT.2 Add IR level interprocedural outliner for code size.
> On Sep 21, 2017, at 8:02 PM, River Riddle <riddleriver at gmail.com> wrote: > > Hey Gerolf, > > On Thu, Sep 21, 2017 at 7:10 PM, Gerolf Hoflehner <ghoflehner at apple.com <mailto:ghoflehner at apple.com>> wrote: > In general I would love to see an outliner at the IR level also. But rather than a comparison vs. the machine outliner I would like to learn more
2017 Sep 22
2
[RFC] PT.2 Add IR level interprocedural outliner for code size.
Hey Gerolf, On Thu, Sep 21, 2017 at 7:10 PM, Gerolf Hoflehner <ghoflehner at apple.com> wrote: > In general I would love to see an outliner at the IR level also. But > rather than a comparison vs. the machine outliner I would like to learn > more about how the core data structures between the outliners will be > shared. > The only structure that needs to be shared is a