This is the first PR to enable the prefetch optimization via Propeller based on our [RFC](https://discourse.llvm.org/t/rfc-code-prefetch-insertion/88668/22). It enables emitting special symbols prefixed with `__llvm_prefetch_target` to point to the prefetch targets as specified via directives in the profile. A prefetch target is uniquely identified by its function name, basic block ID, and the subblock index (used when the target is after a call instruction). A new pass is added which sets a field in basic blocks which have prefetch targets. The next PR will add the prefetch insertion logic into the same pass.
24 KiB
24 KiB