Where is `IttnotifyInfo` defined/declared?
- Dominant language
- Rust
- Stars
- 142
- Forks
- 52
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 3
Description
LLVM includes the `IntelJITEventsWrapper` that was updated in [Profiling the code generated by MCJIT engine using Intel VTune profiler](https://reviews.llvm.org/D86435).
The commit message mentions-
> To overcome limitations described above, we have introduced new APIs as a part of Intel ITT APIs to report the entire in-memory ELF module to be further processed as regular ELF binaries with debug information.
And from the diff, it seems to revolve around calling the [`iJitIttNotifyInfo`](https://github.com/llvm/llvm-project/blob/57833636816a13ccda53714413c532dc81e3b5ff/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp#L211-L213) func with the memory region that contains the generated ELF.
...Except, [`IttnotifyInfoFunc` is initialized to `0`](https://github.com/llvm/llvm-project/blob/bce8b3c1830434c10b8a30380db522d7c6a8658d/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h#L54). And there is no mention of a similarly-named method inside [`jitprofiling.h`](https://github.com/llvm/llvm-project/blob/57833636816a13ccda53714413c532dc81e3b5ff/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h) as there is for [`iJIT_NotifyEvent`](https://github.com/llvm/llvm-project/blob/57833636816a13ccda53714413c532dc81e3b5ff/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h#L240) (the older API).
As a result, the default `IntelJITEventListener` in LLVM is totally non-functional. It simply [ignores](https://github.com/llvm/llvm-project/blob/bce8b3c1830434c10b8a30380db522d7c6a8658d/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h#L80-L82) the events when `IttnotifyInfoFunc` is `0`.
So the question is- where is `IttnotifyInfoFunc` declared, and how can we use it from inside the LLVM listener?
Contributor guide
Assessment
This issue has not been assessed yet.