[LLVMdev] tablegen question

Reed Kotler rkotler at mips.com
Fri Mar 16 06:55:49 PDT 2012


Trying to resolve some general tablegen questions.

Consider the test case for Tablegen called eq.td

class Base<int V> {
   int Value = V;
}

class Derived<string Truth> :
   Base<!if(!eq(Truth, "true"), 1, 0)>;

def TRUE : Derived<"true">;
def FALSE : Derived<"false">;

If I process this through tablegen I get:

------------- Classes -----------------
class Base<int Base:V = ?> {
   int Value = Base:V;
   string NAME = ?;
}
class Derived<string Derived:Truth = ?> {    // Base
   int Value = !if(!eq(Derived:Truth, "true"), 1, 0);
   string NAME = ?;
}
------------- Defs -----------------
def FALSE {    // Base Derived
   int Value = 0;
   string NAME = ?;
}
def TRUE {    // Base Derived
   int Value = 1;
   string NAME = ?;
}

Why is NAME=? in FALSE and TRUE.

Shouldn't it be FALSE and TRUE ??





More information about the llvm-dev mailing list