================
@@ -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