llvm-project/llvm/lib/TableGen
Jim Grosbach bc5b61c74d TableGen: Allow use of #NAME# outside of 'def' names.
Previously, def NAME values were only populated, and references to NAME
resolved, when NAME was referenced in the 'def' entry of the multiclass
sub-entry. e.g.,
multiclass foo<...> {
  def prefix_#NAME : ...
}

It's useful, however, to be able to reference NAME even when the default
def name is used. For example, when a multiclass has 'def : Pat<...>'
or 'def : InstAlias<...>' entries which refer to earlier instruction
definitions in the same multiclass. e.g.,
multiclass myMulti<RegisterClass rc> {
  def _r : myI<(outs rc:$d), (ins rc:$r), "r $d, $r", []>;

  def : InstAlias<\"wilma $r\", (!cast<Instruction>(NAME#\"_r\") rc:$r, rc:$r)>;
}

llvm-svn: 161198
2012-08-02 18:46:42 +00:00
..
CMakeLists.txt Move llvm-tblgen's StringMatcher into the TableGen library so it can 2012-05-02 17:32:48 +00:00
Error.cpp Fix copy/paste-o. 2012-04-18 18:09:53 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Main.cpp Fix 80 columns. 2012-06-01 00:58:41 +00:00
Makefile
Record.cpp TableGen: Location information for diagnostic. 2012-07-12 00:53:31 +00:00
StringMatcher.cpp Emit memcmp directly from the StringMatcherEmitter. 2012-05-20 18:10:42 +00:00
TGLexer.cpp Add Foreach Loop 2012-02-22 16:09:41 +00:00
TGLexer.h Add Foreach Loop 2012-02-22 16:09:41 +00:00
TGParser.cpp TableGen: Allow use of #NAME# outside of 'def' names. 2012-08-02 18:46:42 +00:00
TGParser.h Simplify TGParser::ProcessForEachDefs. 2012-05-24 22:17:33 +00:00
TableGenAction.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
TableGenBackend.cpp Emit TableGen's header comment with C-style comments, so it can be used from C89 code. 2012-06-19 17:04:16 +00:00