================ @@ -3391,6 +3391,29 @@ static void findStoresToUninstrumentedArgAllocas( } } +StringRef getAllocaName(AllocaInst *AI) { + StringRef Name = AI->getName(); + + // Alloca could have been renamed for uniqueness. Its true name will have been + // recorded as an annotation. + if (AI->hasMetadata(LLVMContext::MD_annotation)) { + MDTuple *Annotation = + (MDTuple *)AI->getMetadata(LLVMContext::MD_annotation); + for (int i = 0; i < Annotation->getNumOperands(); i++) { + if (auto Tuple = dyn_cast<MDTuple>(Annotation->getOperand(i))) { + for (int i = 0; i < Tuple->getNumOperands(); i++) { + if (auto stringMetadata = dyn_cast<MDString>(Tuple->getOperand(i))) { + if (stringMetadata->getString() == "alloca_name_altered") { + Name = ((MDString *)Tuple->getOperand(i + 1).get())->getString(); ---------------- vitalybuka wrote:
break or better return here https://github.com/llvm/llvm-project/pull/119387 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits