llvm-6502/lib/TableGen
Jim Grosbach cfbda4a04d 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)>;
}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161198 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 18:46:42 +00:00
..
CMakeLists.txt
Error.cpp
LLVMBuild.txt
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
TableGenAction.cpp
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
TGLexer.cpp
TGLexer.h
TGParser.cpp TableGen: Allow use of #NAME# outside of 'def' names. 2012-08-02 18:46:42 +00:00
TGParser.h