Need Guidence in how can i add new target support in LLVM MCA

"Hello LLVM community,

I am currently involved in the process of adding support for a new target GPU in LLVM MCA (Machine Code Analyzer). Without disclosing the specific GPU model, I am seeking guidance on best practices and the essential steps involved in this undertaking.

Could someone from the community provide a comprehensive walkthrough or direct me to relevant documentation and resources to guide me through the necessary steps and considerations for adding new target support to LLVM MCA, while maintaining confidentiality regarding the GPU model?

LLVM MCA requires a scheduling model (It doesn’t have to be a completed one though). So just define the scheduling info in a usual way and MCA should be able to pick up.

Oh, thanks for your valuable feedback.
Currently, I am going through the AMDGPU implementation from my understanding what I came to know is that

Inside the ./llvm/lib/Target/{TargetName}/MCA/
here we have to implement the methods for our architecture to access the backend symbol.

We have to register our target inside ./llvm/tools/llvm-mca/llvm-mca.cpp.

Anything apart from this I must take care of (correct me if I am wrong)?
@mshockwave What is your opinion on this?