4.3. Instruction Groups

An instruction group in Freja is a number of instructions within a loop that touch the same data structure. Or more accurately, that touch the same cache lines. Instruction groups are a natural and useful unit when looking the behavior of the program.

An issue is usually related to a certain instruction group. For example, a loop may copy data from one data structure to another. It would then contain one instruction group reading from the source data structure and one instruction group writing to the destination data structure. If there is a problem in one of the data structures the issue would point you to the source code lines of the instructions making up the instruction group accessing that data structure.