14 #ifndef MLIR_LIB_TARGET_LLVMIR_DEBUGTRANSLATION_H_ 15 #define MLIR_LIB_TARGET_LLVMIR_DEBUGTRANSLATION_H_ 18 #include "llvm/ADT/SmallString.h" 19 #include "llvm/ADT/StringMap.h" 20 #include "llvm/IR/DIBuilder.h" 40 void translate(LLVMFuncOp func, llvm::Function &llvmFunc);
46 const llvm::DILocation *inlinedAt);
49 llvm::DIFile *translateFile(StringRef fileName);
59 llvm::StringMap<llvm::DIFile *> fileMap;
65 llvm::DIBuilder builder;
66 llvm::LLVMContext &llvmCtx;
67 llvm::DICompileUnit *compileUnit;
74 #endif // MLIR_LIB_TARGET_LLVMIR_DEBUGTRANSLATION_H_ Include the generated interface declarations.
const llvm::DILocation * translateLoc(Location loc, llvm::DILocalScope *scope)
Translate the given location to an llvm debug location.
Operation is a basic unit of execution within MLIR.
This class defines the main interface for locations in MLIR and acts as a non-nullable wrapper around...
void translate(LLVMFuncOp func, llvm::Function &llvmFunc)
Translate the debug information for the given function.
void finalize()
Finalize the translation of debug information.
DebugTranslation(Operation *module, llvm::Module &llvmModule)