Clustering case statements for indirect branch predictors
We present an O(nlogn) algorithm to compile a switch statement into jump tables. To generate jump tables that can be efficiently predicted by current hardware branch predictors, we added an upper bound on the number of entries for each table. This modification of the previously best known algorithm reduces the complexity from O(n^2) to O(nlogn).
READ FULL TEXT