Files
llvm-project/llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
Rahman Lavaee 2f422a52fd [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.
2026-04-10 15:58:16 -07:00

28 KiB