[llvm-dev] SDNodeFlags and getNode() reasoning? (original) (raw)
Kevin Neal via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 22 09:54:17 PDT 2018
- Previous message: [llvm-dev] Research Assistant/Research Associate in Compiler Engineering at University of Edinburgh
- Next message: [llvm-dev] PR36144: X86 Intel syntax and masm flavor
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I'm looking at SelectionDAG's getNode() members, and I notice some of them take a SDNodeFlags argument and some don't.
Some uses of those Flags avoid memoizing new nodes, others don't. Unless I misunderstand. And some places in the vector legalizer drop it in some cases. I don't know why. Is there a reason?
I ask because I need a getNode() that takes a list of SDValues, a list of EVT, and a Flags argument. No such function exists. I need to create a node that is chained, and that's why I think I need the list of EVT. And the list of SDValue operands seems cleanest in the caller. The Flags argument is the spoiler.
So what's the story with the Flags argument? Do we have reasons for dropping it when we do? Is it safe to drop? Is it safe to always keep it? If I add a new getNode() do I need to deal with memoizing?
-- Kevin P. Neal SAS/C and SAS/C++ Compiler Host Research and Development SAS Institute, Inc.
-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181022/1420f851/attachment-0001.html>
- Previous message: [llvm-dev] Research Assistant/Research Associate in Compiler Engineering at University of Edinburgh
- Next message: [llvm-dev] PR36144: X86 Intel syntax and masm flavor
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]