1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib/TableGen
Craig Topper dbe62ecb32 [TableGen] Fix a bug that caused the wrong name for a record built from a multiclass containing a defm called NAME that references another multiclass that contains a defm that uses NAME concatenated with other strings.
It would end up doing the concatenations from the second multiclass twice. This occured because SetValue detected a self assignment when trying to set the value of NAME to a VarInit called NAME. NAME is special here and it will get cleaned up later. So add a flag to suppress the self assignment check for this case.

Strangely the self-assignment error was returning false indicating it wasn't an error, but it wasn't doing the right thing. So this also changes it to report an error.

This fixes the names of some AVX512 FMA instructions that showed this double expansion.

llvm-svn: 256725
2016-01-04 03:05:14 +00:00
..
CMakeLists.txt
Error.cpp
LLVMBuild.txt
Main.cpp
Makefile
module.modulemap
Record.cpp [TblGen] ArrayRefize TGParser. No functional change intended. 2015-10-24 12:46:45 +00:00
SetTheory.cpp
StringMatcher.cpp
TableGenBackend.cpp
TGLexer.cpp
TGLexer.h
TGParser.cpp [TableGen] Fix a bug that caused the wrong name for a record built from a multiclass containing a defm called NAME that references another multiclass that contains a defm that uses NAME concatenated with other strings. 2016-01-04 03:05:14 +00:00
TGParser.h [TableGen] Fix a bug that caused the wrong name for a record built from a multiclass containing a defm called NAME that references another multiclass that contains a defm that uses NAME concatenated with other strings. 2016-01-04 03:05:14 +00:00