[clang] [llvm] [inlineasm] Add special support for "rm" inline asm constraints (PR #181973)
Nick Desaulniers via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 7 10:18:25 PDT 2026
================
@@ -207,28 +636,83 @@ static bool processCallBrInst(Function &F, CallBrInst *CBR, DominatorTree *DT) {
return Changed;
}
-static SmallVector<CallBrInst *, 2> findCallBrs(Function &F) {
- SmallVector<CallBrInst *, 2> CBRs;
- for (BasicBlock &BB : F)
- if (auto *CBR = dyn_cast<CallBrInst>(BB.getTerminator()))
- if (!CBR->getType()->isVoidTy() && !CBR->use_empty())
- CBRs.push_back(CBR);
- return CBRs;
-}
-
-static bool runImpl(Function &F, ArrayRef<CallBrInst *> CBRs,
- DominatorTree *DT) {
+static bool runImpl(Function &F, ArrayRef<CallBase *> IAs, DominatorTree *DT,
+ const TargetMachine *TM) {
bool Changed = false;
+ bool isOptLevelNone = TM->getOptLevel() == CodeGenOptLevel::None;
----------------
nickdesaulniers wrote:
Also, if that approach works, we should look into reverting or cleaning up 778a48468b5fce8deafb40be0704cb69b052a50a, since I think that bit may no longer be load bearing (if it ever was).
https://github.com/llvm/llvm-project/pull/181973
More information about the llvm-commits
mailing list