@@ -62,6 +62,24 @@ Non-comprehensive list of changes in this release
62
62
63
63
* Added support for labels as offsets in ``.reloc `` directive.
64
64
65
+ * Support for precise identification of X86 instructions with memory operands,
66
+ by using debug information. This supports profile-driven cache prefetching.
67
+ It is enabled with the ``-x86-discriminate-memops `` LLVM Flag.
68
+
69
+ * Support for profile-driven software cache prefetching on X86. This is part of
70
+ a larger system, consisting of: an offline cache prefetches recommender,
71
+ AutoFDO tooling, and LLVM. In this system, a binary compiled with
72
+ ``-x86-discriminate-memops `` is run under the observation of the recommender.
73
+ The recommender identifies certain memory access instructions by their binary
74
+ file address, and recommends a prefetch of a specific type (NTA, T0, etc) be
75
+ performed at a specified fixed offset from such an instruction's memory
76
+ operand. Next, this information needs to be converted to the AutoFDO syntax
77
+ and the resulting profile may be passed back to the compiler with the LLVM
78
+ flag ``-prefetch-hints-file ``, together with the exact same set of
79
+ compilation parameters used for the original binary. More information is
80
+ available in the `RFC
81
+ <https://lists.llvm.org/pipermail/llvm-dev/2018-November/127461.html> `_.
82
+
65
83
.. NOTE
66
84
If you would like to document a larger change, then you can add a
67
85
subsection about it right here. You can copy the following boilerplate
0 commit comments