Deprecate a few C APIs.
[oota-llvm.git] / tools / verify-uselistorder / verify-uselistorder.cpp
index c88df1c6669a4f2ed5b8db99e5d4d4988a255233..c3fec1326acb0d4000319e8df9438447139d918c 100644 (file)
@@ -131,7 +131,7 @@ bool TempFile::writeBitcode(const Module &M) const {
     return true;
   }
 
-  WriteBitcodeToFile(&M, OS);
+  WriteBitcodeToFile(&M, OS, /* ShouldPreserveUseListOrder */ true);
   return false;
 }
 
@@ -144,7 +144,7 @@ bool TempFile::writeAssembly(const Module &M) const {
     return true;
   }
 
-  OS << M;
+  M.print(OS, nullptr, /* ShouldPreserveUseListOrder */ true);
   return false;
 }
 
@@ -159,14 +159,14 @@ std::unique_ptr<Module> TempFile::readBitcode(LLVMContext &Context) const {
   }
 
   MemoryBuffer *Buffer = BufferOr.get().get();
-  ErrorOr<Module *> ModuleOr =
+  ErrorOr<std::unique_ptr<Module>> ModuleOr =
       parseBitcodeFile(Buffer->getMemBufferRef(), Context);
   if (!ModuleOr) {
     errs() << "verify-uselistorder: error: " << ModuleOr.getError().message()
            << "\n";
     return nullptr;
   }
-  return std::unique_ptr<Module>(ModuleOr.get());
+  return std::move(ModuleOr.get());
 }
 
 std::unique_ptr<Module> TempFile::readAssembly(LLVMContext &Context) const {
@@ -205,6 +205,8 @@ ValueMapping::ValueMapping(const Module &M) {
       map(F.getPrefixData());
     if (F.hasPrologueData())
       map(F.getPrologueData());
+    if (F.hasPersonalityFn())
+      map(F.getPersonalityFn());
   }
 
   // Function bodies.
@@ -344,6 +346,7 @@ static void verifyAfterRoundTrip(const Module &M,
   if (!matches(ValueMapping(M), ValueMapping(*OtherM)))
     report_fatal_error("use-list order changed");
 }
+
 static void verifyBitcodeUseListOrder(const Module &M) {
   TempFile F;
   if (F.init("bc"))
@@ -474,6 +477,8 @@ static void changeUseLists(Module &M, Changer changeValueUseList) {
       changeValueUseList(F.getPrefixData());
     if (F.hasPrologueData())
       changeValueUseList(F.getPrologueData());
+    if (F.hasPersonalityFn())
+      changeValueUseList(F.getPersonalityFn());
   }
 
   // Function bodies.
@@ -540,18 +545,8 @@ int main(int argc, char **argv) {
     return 1;
   }
 
-  outs() << "*** verify-uselistorder ***\n";
-  // Can't verify if order isn't preserved.
-  if (!shouldPreserveBitcodeUseListOrder()) {
-    errs() << "warning: forcing -preserve-bc-uselistorder\n";
-    setPreserveBitcodeUseListOrder(true);
-  }
-  if (!shouldPreserveAssemblyUseListOrder()) {
-    errs() << "warning: forcing -preserve-ll-uselistorder\n";
-    setPreserveAssemblyUseListOrder(true);
-  }
-
   // Verify the use lists now and after reversing them.
+  outs() << "*** verify-uselistorder ***\n";
   verifyUseListOrder(*M);
   outs() << "reverse\n";
   reverseUseLists(*M);