================
@@ -244,11 +564,22 @@ bool InlineAsmPrepare::runOnFunction(Function &F) {
     DT = &*LazilyComputedDomTree;
   }
 
-  if (SplitCriticalEdges(CBRs, *DT))
-    Changed = true;
+  return runImpl(F, IAs, DT);
+}
 
-  if (InsertIntrinsicCalls(CBRs, *DT))
-    Changed = true;
+PreservedAnalyses InlineAsmPreparePass::run(Function &F,
+                                            FunctionAnalysisManager &FAM) {
+  SmallVector<CallBase *, 4> IAs = findInlineAsmCandidates(F, TM);
+  if (IAs.empty())
+    return PreservedAnalyses::all();
 
-  return Changed;
+  DominatorTree *DT = &FAM.getResult<DominatorTreeAnalysis>(F);
+
+  if (runImpl(F, IAs, DT)) {
----------------
bwendling wrote:

I believe so. I'm so very confused by the mixture of old/new pass manager 
system and how the boilerplate code is supposed to work. Frankly, we need to 
sh!t or get off the pot with the new pass manager. I just copied what 
`CallBrPrepare` did.

https://github.com/llvm/llvm-project/pull/181973
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to