llvm-project
2f422a52 - [Codegen, X86] Add prefetch insertion based on Propeller profile (#166324)

Commit
2 days ago
[Codegen, X86] Add prefetch insertion based on Propeller profile (#166324) This PR implements the prefetch insertion in the InsertCodePrefetch pass based on the [RFC](https://discourse.llvm.org/t/rfc-code-prefetch-insertion/88668). If the prefetch target is not defined in the same module (i.e, prefetch target function is not defined in the same module), we emit a fallback weak symbol after the prefetch instruction so that if the symbol is not ever defined, we don't get undefined symbol error and the prefetch instruction prefetches the next address: ``` prefetchit1 __llvm_prefetch_target_foo(%rip) .weak __llvm_prefetch_target_foo __llvm_prefetch_target_foo: ``` The weak symbol semantic is tied to ELF, so this makes this PR target-dependent.
Author
Parents
Loading