diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp --- a/clang/lib/CodeGen/CGObjC.cpp +++ b/clang/lib/CodeGen/CGObjC.cpp @@ -2359,7 +2359,8 @@ // FIXME: Do this on all targets and at -O0 too. This can be enabled only if // the target backend knows how to handle the operand bundle. if (CGF.CGM.getCodeGenOpts().OptimizationLevel > 0 && - (Arch == llvm::Triple::aarch64 || Arch == llvm::Triple::x86_64)) { + (Arch == llvm::Triple::aarch64 || Arch == llvm::Triple::x86_64) && + !CGF.CGM.getTarget().getTriple().isOSWindows()) { llvm::Value *bundleArgs[] = {EP}; llvm::OperandBundleDef OB("clang.arc.attachedcall", bundleArgs); auto *oldCall = cast(value);