Paul C. Anagnostopoulos via llvm-dev
2020-Oct-19 16:53 UTC
[llvm-dev] Manipulating DAGs in TableGen
I think I will do both. In order that dag(i) can work and fetch the operator, an integer index is needed for it. So -1 for the operator. Then that should be supported in the other bang operators. Meanwhile, I will rename !getdagop and !setdagop just for consistency. The old !getop and !setop will remain, of course, but deprecated. !getop is used 0 times and !setop 4 times. ~~ Paul At 10/19/2020 12:39 PM, Nicolai Hähnle wrote:>I generally like the proposal. > >On Sat, Oct 17, 2020 at 2:05 PM Paul C. Anagnostopoulos via llvm-dev ><llvm-dev at lists.llvm.org> wrote: >> Now I'm second-guessing myself about the indexes used to access the operator and operands. All the C++ functions used to access the operands index them from 0, as expected. It seems foolish and confusing to index them from 1 in these bang operators. >> >> One option is to index the operator as -1 and the operands from 0. >> >> A second option is to remove the ability to index the operator and retain the !getop and !setop bangs for that purpose, possibly renamed to !getdagop and !setdagop. > >That's a good thought. It seems like a good idea to be consistent with >how things look from a backend's perspective in C++, so separate >!get(dag)op and !set(dag)op seems slightly better. Just my opinion :) > >Cheers, >Nicolai
Nicolai Hähnle via llvm-dev
2020-Oct-19 17:25 UTC
[llvm-dev] Manipulating DAGs in TableGen
On 19.10.20 18:53, Paul C. Anagnostopoulos wrote:> I think I will do both. In order that dag(i) can work and fetch the operator, an integer index is needed for it. So -1 for the operator. Then that should be supported in the other bang operators. > > Meanwhile, I will rename !getdagop and !setdagop just for consistency. The old !getop and !setop will remain, of course, but deprecated. !getop is used 0 times and !setop 4 times.If it's really only used 4 times, it may be worth just removing those instances instead of keeping the deprecated versions around. Cheers, Nicolai> > ~~ Paul > > > At 10/19/2020 12:39 PM, Nicolai Hähnle wrote: >> I generally like the proposal. >> >> On Sat, Oct 17, 2020 at 2:05 PM Paul C. Anagnostopoulos via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >>> Now I'm second-guessing myself about the indexes used to access the operator and operands. All the C++ functions used to access the operands index them from 0, as expected. It seems foolish and confusing to index them from 1 in these bang operators. >>> >>> One option is to index the operator as -1 and the operands from 0. >>> >>> A second option is to remove the ability to index the operator and retain the !getop and !setop bangs for that purpose, possibly renamed to !getdagop and !setdagop. >> >> That's a good thought. It seems like a good idea to be consistent with >> how things look from a backend's perspective in C++, so separate >> !get(dag)op and !set(dag)op seems slightly better. Just my opinion :) >> >> Cheers, >> Nicolai >-- Lerne, wie die Welt wirklich ist, Aber vergiss niemals, wie sie sein sollte.
Paul C. Anagnostopoulos via llvm-dev
2020-Oct-19 17:33 UTC
[llvm-dev] Manipulating DAGs in TableGen
But aren't we concerned about users of TableGen outside of the LLVM project? I've come across at least one in my travels through the interwebs. At 10/19/2020 01:25 PM, Nicolai Hähnle wrote:>On 19.10.20 18:53, Paul C. Anagnostopoulos wrote: >>I think I will do both. In order that dag(i) can work and fetch the operator, an integer index is needed for it. So -1 for the operator. Then that should be supported in the other bang operators. >>Meanwhile, I will rename !getdagop and !setdagop just for consistency. The old !getop and !setop will remain, of course, but deprecated. !getop is used 0 times and !setop 4 times. > >If it's really only used 4 times, it may be worth just removing those instances instead of keeping the deprecated versions around. > >Cheers, >Nicolai