diff options
Diffstat (limited to 'utils')
| -rw-r--r-- | utils/TableGen/CodeGenDAGPatterns.cpp | 3 | ||||
| -rw-r--r-- | utils/TableGen/RegisterInfoEmitter.cpp | 22 | ||||
| -rw-r--r-- | utils/TableGen/X86RecognizableInstr.cpp | 6 | ||||
| -rw-r--r-- | utils/lit/lit/TestingConfig.py | 2 | ||||
| -rwxr-xr-x | utils/release/test-release.sh | 9 |
5 files changed, 34 insertions, 8 deletions
diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp index fa6fd43be09b1..ae1cc0cfb5fd7 100644 --- a/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/utils/TableGen/CodeGenDAGPatterns.cpp @@ -2143,7 +2143,8 @@ TreePatternNode *TreePattern::ParseTreePattern(Init *TheInit, StringRef OpName){ Operator->getName() != "tblockaddress" && Operator->getName() != "tglobaladdr" && Operator->getName() != "bb" && - Operator->getName() != "vt") + Operator->getName() != "vt" && + Operator->getName() != "mcsym") error("Cannot use '" + Operator->getName() + "' in an output pattern!"); } diff --git a/utils/TableGen/RegisterInfoEmitter.cpp b/utils/TableGen/RegisterInfoEmitter.cpp index a8423a98ae855..7506e91b6f453 100644 --- a/utils/TableGen/RegisterInfoEmitter.cpp +++ b/utils/TableGen/RegisterInfoEmitter.cpp @@ -1094,6 +1094,8 @@ RegisterInfoEmitter::runTargetHeader(raw_ostream &OS, CodeGenTarget &Target, << "const TargetRegisterClass *RC) const override;\n" << " const int *getRegUnitPressureSets(" << "unsigned RegUnit) const override;\n" + << " ArrayRef<const char *> getRegMaskNames() const override;\n" + << " ArrayRef<const uint32_t *> getRegMasks() const override;\n" << "};\n\n"; const auto &RegisterClasses = RegBank.getRegClasses(); @@ -1445,6 +1447,26 @@ RegisterInfoEmitter::runTargetDesc(raw_ostream &OS, CodeGenTarget &Target, } OS << "\n\n"; + OS << "ArrayRef<const uint32_t *> " << ClassName + << "::getRegMasks() const {\n"; + OS << " static const uint32_t *Masks[] = {\n"; + for (Record *CSRSet : CSRSets) + OS << " " << CSRSet->getName() << "_RegMask, \n"; + OS << " nullptr\n };\n"; + OS << " return ArrayRef<const uint32_t *>(Masks, (size_t)" << CSRSets.size() + << ");\n"; + OS << "}\n\n"; + + OS << "ArrayRef<const char *> " << ClassName + << "::getRegMaskNames() const {\n"; + OS << " static const char *Names[] = {\n"; + for (Record *CSRSet : CSRSets) + OS << " " << '"' << CSRSet->getName() << '"' << ",\n"; + OS << " nullptr\n };\n"; + OS << " return ArrayRef<const char *>(Names, (size_t)" << CSRSets.size() + << ");\n"; + OS << "}\n\n"; + OS << "} // End llvm namespace\n"; OS << "#endif // GET_REGINFO_TARGET_DESC\n\n"; } diff --git a/utils/TableGen/X86RecognizableInstr.cpp b/utils/TableGen/X86RecognizableInstr.cpp index dde21c6d45f73..efcb0c81e1caf 100644 --- a/utils/TableGen/X86RecognizableInstr.cpp +++ b/utils/TableGen/X86RecognizableInstr.cpp @@ -1027,9 +1027,12 @@ OperandType RecognizableInstr::typeFromString(const std::string &s, TYPE("GR32_NOAX", TYPE_Rv) TYPE("GR64_NOAX", TYPE_R64) TYPE("vx32mem", TYPE_M32) + TYPE("vx32xmem", TYPE_M32) TYPE("vy32mem", TYPE_M32) + TYPE("vy32xmem", TYPE_M32) TYPE("vz32mem", TYPE_M32) TYPE("vx64mem", TYPE_M64) + TYPE("vx64xmem", TYPE_M64) TYPE("vy64mem", TYPE_M64) TYPE("vy64xmem", TYPE_M64) TYPE("vz64mem", TYPE_M64) @@ -1213,9 +1216,12 @@ RecognizableInstr::memoryEncodingFromString(const std::string &s, ENCODING("opaque80mem", ENCODING_RM) ENCODING("opaque512mem", ENCODING_RM) ENCODING("vx32mem", ENCODING_RM) + ENCODING("vx32xmem", ENCODING_RM) ENCODING("vy32mem", ENCODING_RM) + ENCODING("vy32xmem", ENCODING_RM) ENCODING("vz32mem", ENCODING_RM) ENCODING("vx64mem", ENCODING_RM) + ENCODING("vx64xmem", ENCODING_RM) ENCODING("vy64mem", ENCODING_RM) ENCODING("vy64xmem", ENCODING_RM) ENCODING("vz64mem", ENCODING_RM) diff --git a/utils/lit/lit/TestingConfig.py b/utils/lit/lit/TestingConfig.py index 1d51c1cee97b0..d49d0c0767f24 100644 --- a/utils/lit/lit/TestingConfig.py +++ b/utils/lit/lit/TestingConfig.py @@ -24,7 +24,7 @@ class TestingConfig: pass_vars = ['LIBRARY_PATH', 'LD_LIBRARY_PATH', 'SYSTEMROOT', 'TERM', 'LD_PRELOAD', 'ASAN_OPTIONS', 'UBSAN_OPTIONS', - 'LSAN_OPTIONS'] + 'LSAN_OPTIONS', 'ADB', 'ADB_SERIAL'] for var in pass_vars: val = os.environ.get(var, '') # Check for empty string as some variables such as LD_PRELOAD cannot be empty diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh index 3cb868b20a54f..04127c8eb9820 100755 --- a/utils/release/test-release.sh +++ b/utils/release/test-release.sh @@ -38,9 +38,9 @@ BuildDir="`pwd`" BuildTriple="" function usage() { - echo "usage: `basename $0` -release X.Y -rc NUM [OPTIONS]" + echo "usage: `basename $0` -release X.Y.Z -rc NUM [OPTIONS]" echo "" - echo " -release X.Y The release number to test." + echo " -release X.Y.Z The release version to test." echo " -rc NUM The pre-release candidate number." echo " -final The final release candidate." echo " -triple TRIPLE The target triple for this machine." @@ -48,10 +48,7 @@ function usage() { echo " -build-dir DIR Directory to perform testing in. [default: pwd]" echo " -no-checkout Don't checkout the sources from SVN." echo " -no-64bit Don't test the 64-bit version. [default: yes]" - echo " -enable-ada Build Ada. [default: disable]" echo " -disable-clang Do not test clang. [default: enable]" - echo " -enable-fortran Enable Fortran build. [default: disable]" - echo " -disable-objc Disable ObjC build. [default: enable]" echo " -test-debug Test the debug build. [default: no]" echo " -test-asserts Test with asserts on. [default: no]" echo " -no-compare-files Don't test that phase 2 and 3 files are identical." @@ -274,7 +271,7 @@ function configure_llvmCore() { --disable-timestamps \ $build_triple_option" env CC="$c_compiler" CXX="$cxx_compiler" \ - $BuildDir/llvm.src/configure --prefix=$InstallDir \ + $BuildDir/llvm.src/configure --prefix=$InstallDir \ --enable-optimized=$Optimized \ --enable-assertions=$Assertions \ --disable-timestamps \ |
