[llvm-dev] Question about changes to 'SelectionDAGISel.h'
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Tue Jun 28 09:03:54 PDT 2016
On 28 June 2016 at 17:01, Ahmed Bougacha via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> On Tue, Jun 28, 2016 at 8:53 AM, Martin J. O'Riordan via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> It occurred to me that instead of the various breakout ‘Select*’ functions
>> returning the ‘SDNode*’ result, maybe I should be calling:
>> ReplaceNode(N, newValue);
> Yes, I think the core difference is that Select() - not its caller -
> now does the replacement, so there's nothing to return.
> This is actually mentioned in the release notes (kudos to Justin!):
> SelectionDAGISel::Select now returns void. Out of tree targets
> will need to be updated to replace the argument node and remove any
> dead nodes in cases where they currently return an SDNode * from this
> You can look at the changes to the various in-tree targets between
> r268693 and r270454 (e.g., r269144 for x86).
Also see http://lists.llvm.org/pipermail/llvm-dev/2016-May/099216.html
for the motivation for the change.
More information about the llvm-dev