{'fraction_non_alphanumeric': 0.010273972602739725, 'fraction_numerical': 0.0, 'mean_word_length': 5.496296296296296, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Integrated scheduling and register allocation for multicore architecture

Multicore architecture has multiple cores tightly integrated on a single die, with each core having private register files. To maximally utilize the processing power of the architecture, a sequential program is split into small parallel regions to run on different cores. Compile time scheduling and register allocation onto each core can be performed in an integrated manner. For such an integrated approach, an algorithm needs not only to schedule the regions of the program effectively but should also have the ability to detect excessive register demands and to reduce register pressure on the fly. In this paper, an algorithm to perform the integrated instruction scheduling and register allocation without affecting the performance is presented and compared with the normal scheduling approaches.