@@ -425,10 +425,11 @@ void OptRemarkGeneratorInstructionVisitor::visitStrongRetainInst(
425425 (void )foundArgs;
426426
427427 // Retains begin a lifetime scope so we infer scan forward.
428- auto remark = RemarkMissed (" memory" , *sri,
429- SourceLocInferenceBehavior::ForwardScanOnly)
430- << " retain of type '"
431- << NV (" ValueType" , sri->getOperand ()->getType ()) << " '" ;
428+ auto remark =
429+ RemarkMissed (" memory" , *sri,
430+ SourceLocInferenceBehavior::ForwardScanAlwaysInfer)
431+ << " retain of type '" << NV (" ValueType" , sri->getOperand ()->getType ())
432+ << " '" ;
432433 for (auto arg : inferredArgs) {
433434 remark << arg;
434435 }
@@ -446,10 +447,11 @@ void OptRemarkGeneratorInstructionVisitor::visitStrongReleaseInst(
446447 sri->getOperand (), inferredArgs);
447448 (void )foundArgs;
448449
449- auto remark = RemarkMissed (" memory" , *sri,
450- SourceLocInferenceBehavior::BackwardScanOnly)
451- << " release of type '"
452- << NV (" ValueType" , sri->getOperand ()->getType ()) << " '" ;
450+ auto remark =
451+ RemarkMissed (" memory" , *sri,
452+ SourceLocInferenceBehavior::BackwardScanAlwaysInfer)
453+ << " release of type '" << NV (" ValueType" , sri->getOperand ()->getType ())
454+ << " '" ;
453455 for (auto arg : inferredArgs) {
454456 remark << arg;
455457 }
@@ -466,10 +468,11 @@ void OptRemarkGeneratorInstructionVisitor::visitRetainValueInst(
466468 rvi->getOperand (), inferredArgs);
467469 (void )foundArgs;
468470 // Retains begin a lifetime scope, so we infer scan forwards.
469- auto remark = RemarkMissed (" memory" , *rvi,
470- SourceLocInferenceBehavior::ForwardScanOnly)
471- << " retain of type '"
472- << NV (" ValueType" , rvi->getOperand ()->getType ()) << " '" ;
471+ auto remark =
472+ RemarkMissed (" memory" , *rvi,
473+ SourceLocInferenceBehavior::ForwardScanAlwaysInfer)
474+ << " retain of type '" << NV (" ValueType" , rvi->getOperand ()->getType ())
475+ << " '" ;
473476 for (auto arg : inferredArgs) {
474477 remark << arg;
475478 }
@@ -487,10 +490,11 @@ void OptRemarkGeneratorInstructionVisitor::visitReleaseValueInst(
487490 (void )foundArgs;
488491
489492 // Releases end a lifetime scope so we infer scan backward.
490- auto remark = RemarkMissed (" memory" , *rvi,
491- SourceLocInferenceBehavior::BackwardScanOnly)
492- << " release of type '"
493- << NV (" ValueType" , rvi->getOperand ()->getType ()) << " '" ;
493+ auto remark =
494+ RemarkMissed (" memory" , *rvi,
495+ SourceLocInferenceBehavior::BackwardScanAlwaysInfer)
496+ << " release of type '" << NV (" ValueType" , rvi->getOperand ()->getType ())
497+ << " '" ;
494498 for (auto arg : inferredArgs) {
495499 remark << arg;
496500 }
@@ -508,8 +512,7 @@ void OptRemarkGeneratorInstructionVisitor::visitAllocRefInst(
508512 valueToDeclInferrer.infer (ArgumentKeyKind::Note, ari, inferredArgs);
509513 (void )foundArgs;
510514 auto resultRemark =
511- RemarkPassed (" memory" , *ari,
512- SourceLocInferenceBehavior::ForwardScanOnly)
515+ RemarkPassed (" memory" , *ari, SourceLocInferenceBehavior::ForwardScan)
513516 << " stack allocated ref of type '" << NV (" ValueType" , ari->getType ())
514517 << " '" ;
515518 for (auto &arg : inferredArgs)
@@ -526,8 +529,7 @@ void OptRemarkGeneratorInstructionVisitor::visitAllocRefInst(
526529 (void )foundArgs;
527530
528531 auto resultRemark =
529- RemarkMissed (" memory" , *ari,
530- SourceLocInferenceBehavior::ForwardScanOnly)
532+ RemarkMissed (" memory" , *ari, SourceLocInferenceBehavior::ForwardScan)
531533 << " heap allocated ref of type '" << NV (" ValueType" , ari->getType ())
532534 << " '" ;
533535 for (auto &arg : inferredArgs)
@@ -546,8 +548,7 @@ void OptRemarkGeneratorInstructionVisitor::visitAllocBoxInst(
546548 (void )foundArgs;
547549
548550 auto resultRemark =
549- RemarkMissed (" memory" , *abi,
550- SourceLocInferenceBehavior::ForwardScanOnly)
551+ RemarkMissed (" memory" , *abi, SourceLocInferenceBehavior::ForwardScan)
551552 << " heap allocated box of type '" << NV (" ValueType" , abi->getType ())
552553 << " '" ;
553554 for (auto &arg : inferredArgs)
0 commit comments