]> granicus.if.org Git - llvm/commitdiff
Fix breakage after r303461
authorMatthias Braun <matze@braunis.de>
Sat, 20 May 2017 01:28:52 +0000 (01:28 +0000)
committerMatthias Braun <matze@braunis.de>
Sat, 20 May 2017 01:28:52 +0000 (01:28 +0000)
- Improve wchar_t size predicitions based on target triple.
- Be less strict in wchar_t size verifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303477 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/TargetLibraryInfo.cpp
lib/IR/Verifier.cpp

index 7a07ab75264f877c6b7677fe2f264f9ece3fe1b8..2be5d5caf7c2156e6859f329a8e036c4e2e48543 100644 (file)
@@ -1521,7 +1521,11 @@ TargetLibraryInfoImpl &TargetLibraryAnalysis::lookupInfoImpl(const Triple &T) {
 
 unsigned TargetLibraryInfoImpl::getTargetWCharSize(const Triple &T) {
   // See also clang/lib/Basic/Targets.cpp.
-  return T.isPS4() || T.isOSWindows() || T.getArch() == Triple::xcore ? 2 : 4;
+  if (T.isPS4() || T.isOSWindows() || T.isArch16Bit())
+    return 2;
+  if (T.getArch() == Triple::xcore)
+    return 1;
+  return 4;
 }
 
 unsigned TargetLibraryInfoImpl::getWCharSize(const Module &M) const {
index 4b9bdcf81a39a32bc567fde24deca6d1e5ed0200..21e8048442beb79dca205b4cb66e248c7c926a1e 100644 (file)
@@ -1322,9 +1322,6 @@ Verifier::visitModuleFlag(const MDNode *Op,
     ConstantInt *Value
       = mdconst::dyn_extract_or_null<ConstantInt>(Op->getOperand(2));
     Assert(Value, "wchar_size metadata requires constant integer argument");
-    uint64_t WCharSize = Value->getZExtValue();
-    Assert(WCharSize == 0 || WCharSize == 2 || WCharSize == 4,
-           "wchar_size should be 0, 2 or 4");
   }
 }