search for: selectimpl

Displaying 6 results from an estimated 6 matches for "selectimpl".

2016 May 05
2
SelectionDAGISel::Select's API considered harmful
...onDAGISel.cpp says: > // FIXME: This is pretty gross. 'Select' should be changed to not return > // anything at all and this code should be nuked with a tactical strike. I'm just gonna go ahead and take this advice. I'll phase this in a couple of steps: 1. Rename Select to SelectImpl in all targets, and implement "virtual void Select(SDNode *)" in SelectionDAGISel. I'll move the current sketchy behaviour into this version of Select. 2. Update backends one at a time to implement "void Select(SDNode *)" instead of SelectImpl. 3. Make SelectionDA...
2016 May 21
0
SelectionDAGISel::Select's API considered harmful
Update: All in tree backends now implement `void Select`. I'll be removing the SelectImpl path on Monday. Justin Bogner <mail at justinbogner.com> writes: > TLDR: Heads up for out of tree backends - you're going to need to update > your *DAGToDAGISel::Select method to unconditionally replace nodes > directly instead of returning the desired replacement. > > So...
2016 May 23
2
SelectionDAGISel::Select's API considered harmful
Can you put something in the release notes when this happens? Thanks, Hans On Sat, May 21, 2016 at 10:57 AM, Justin Bogner via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Update: All in tree backends now implement `void Select`. I'll be > removing the SelectImpl path on Monday. > > Justin Bogner <mail at justinbogner.com> writes: >> TLDR: Heads up for out of tree backends - you're going to need to update >> your *DAGToDAGISel::Select method to unconditionally replace nodes >> directly instead of returning the desired repla...
2016 May 23
0
SelectionDAGISel::Select's API considered harmful
...hen I added the void Select option in the first place :) > Thanks, > Hans > > On Sat, May 21, 2016 at 10:57 AM, Justin Bogner via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> Update: All in tree backends now implement `void Select`. I'll be >> removing the SelectImpl path on Monday. This is done in r270454. >> Justin Bogner <mail at justinbogner.com> writes: >>> TLDR: Heads up for out of tree backends - you're going to need to update >>> your *DAGToDAGISel::Select method to unconditionally replace nodes >>> directly...
2016 Jun 28
0
Question about changes to 'SelectionDAGISel.h'
...use the value that Select(N) used to return, try to refactor so you don't have to. You can probably do this by pulling pieces of Select into more specific helpers. You can find lots of examples of how to do the void Select transition in the version control history - look for commits with "SelectImpl" in the title. That said, the basic playbook I used for conversions went something like this: 1. Avoid leaving dangling nodes around in your Select function - places that currently call ReplaceUses() and then return nullptr often do that. There are examples of this in r269256. 2. Simil...
2016 Jun 28
2
Question about changes to 'SelectionDAGISel.h'
Thanks Ahmed and also Alex for your replies. This is more or less what I was realising, but it is a great confidence booster to know that it is the correct way also. I can replace all of my various 'Select*' specialisations with version that use 'ReplaceNode/SelectCode' and return 'void', but what about the places where I currently call 'Select(N)' directly?