From b808aa4df50d46eaa569561f7e464c55c1c2d72a Mon Sep 17 00:00:00 2001 From: venkataram-nv Date: Wed, 18 Sep 2024 20:42:07 -0700 Subject: Report AD checkpoint contexts (#5058) * Transferring source locations when creating phi instructions * Tracking for simple variables * Deriving source locations for loop counters * Printing checkpoint structure breakdown * More readable output format * Special behavior for loop counters * Writing report to file * Add slangc option to enable checkpoint reports * Display types of checkpointed fields * Message in case there are no checkpointing contexts * Catch source locations for function calls * Source cleanup * Fix compilation warnings * Remove stray dump() * Provide the report through diagnostic notes * Add missing path for sourceLoc during unzip pass * Add tests for reporting intermediates * Include more transfer cases for source locations * Fix ordering in address elimination * Fill in more holes with source location transfer * Remove debugging line * Reverting changes to diagnostic sink * Simplify address elimination using source location RAII contexts * Eliminating manual source loc transfers in forward transcription * Fix local var adaptation to use RAII location setter * Simplify primal hoisting logic for source location transfer * Simplify unzipping with RAII location scopes * Simplify transpose logic * Cleaning up for rev.cpp * Reverting spacing changes * Fix mistake with source loc RAII instantiation * Fix formatting issues --- source/slang/slang-compiler.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-compiler.cpp') diff --git a/source/slang/slang-compiler.cpp b/source/slang/slang-compiler.cpp index 541085b4e..c89d94c80 100644 --- a/source/slang/slang-compiler.cpp +++ b/source/slang/slang-compiler.cpp @@ -2451,12 +2451,16 @@ namespace Slang return getTargetProgram()->getOptionSet().getBoolOption(CompilerOptionName::DumpIr); } + bool CodeGenContext::shouldReportCheckpointIntermediates() + { + return getTargetProgram()->getOptionSet().getBoolOption(CompilerOptionName::ReportCheckpointIntermediates); + } + bool CodeGenContext::shouldDumpIntermediates() { return getTargetProgram()->getOptionSet().getBoolOption(CompilerOptionName::DumpIntermediates); } - bool CodeGenContext::shouldTrackLiveness() { return getTargetProgram()->getOptionSet().getBoolOption(CompilerOptionName::TrackLiveness); -- cgit v1.2.3