How does LLVM map source lines to machine instructions?

Hi all,
How does the flow work in DWARF related LLVM code to map C source lines to m/c instructions?

My understanding is that clang populates source line numbers to LLVM IR in some sort of map and backend maps those lines generated m/c instructions and thus establish the link.
Is that correct?

Guess you need this

https://llvm.org/docs/SourceLevelDebugging.html

HTH,
chenwj