================ @@ -720,16 +713,30 @@ SrcSafetyAnalysis::create(BinaryFunction &BF, RegsToTrackInstsFor); } -static std::shared_ptr<Report> +static BriefReport<MCPhysReg> make_generic_report(MCInstReference Location, + StringRef Text) { + auto Report = std::make_shared<GenericDiagnostic>(Location, Text); + return BriefReport<MCPhysReg>(Report, std::nullopt); +} + +template <typename T> +static BriefReport<T> make_report(const GadgetKind &Kind, + MCInstReference Location, ---------------- atrosinenko wrote:
> If the first function is called `make_generic_report`, would it be more > consistent to call the second function `make_gadget_report`? This definitely makes sense. > I'm guessing you might have thought about this and come to the conclusion > that having two `make_report` functions is better? Not sure two separate functions are absolutely necessary, but I would like to get rid of template parameters when calling the function when possible (similar to calling `std::make_pair` vs. instantiating `std::pair` directly). Maybe is would be reasonable to add an explicit type parameter to `make_generic_report` instead of assuming `MCPhysReg`, but added a brief explanation instead for now... https://github.com/llvm/llvm-project/pull/135662 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits