You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix compile output dumping when recompilation happens
This change fixes dumping patch tokens (*.cos file) in the following scenario:
-multiple kernels are being compiled
-some kernels got compiled WITHOUT spills/fills, so they don't require recompilation
-some kernels got compiled WITH spills/fills, so they need to be recompiled
Right after the first compilation phase, oclContext.clear() is being called
which results in calling destructors on all llvm::Function objects that were created
in this phase. Then the second compilation phase is started and all spilled (in
phase 1.) kernels get compiled again.
Compile output is being dumped after entire compilation. So if recompilation
happened, dumping *.cos files will happen after two phases of compilation.
General IGC::Debug::GetDumpNameObj function cannot be used to get the kernel
name for *.cos dumps, since it takes kernel name directly from llvm::Function
object which will be destroyed for kernels that were compiled in phase 1.
Instead, this change introduces taking kernel name from M_kernelInfo member of
IGC::COpenCLKernel object which is available for the entire compilation process.
0 commit comments