[llvm-dev] Manipulating DAGs in TableGen

Nicolai Hähnle via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 19 10:25:51 PDT 2020


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.


More information about the llvm-dev mailing list