119 research outputs found
Register Allocation After Classical SSA Elimination is NP-Complete
Abstract. Chaitin proved that register allocation is equivalent to graph coloring and hence NP-complete. Recently, Bouchez, Brisk, and Hack have proved independently that the interference graph of a program in static single assignment (SSA) form is chordal and therefore colorable in linear time. Can we use the result of Bouchez et al. to do register allocation in polynomial time by first transforming the program to SSA form, then performing register allocation, and finally doing the classical SSA elimination that replaces φ-functions with copy instructions? In this paper we show that the answer is no, unless P = NP: register allocation after classical SSA elimination is NP-complete. Chaitin’s proof technique does not work for programs after classical SSA elimination; instead we use a reduction from the graph coloring problem for circular arc graphs.
Preference-Guided Register Assignment
Abstract. This paper deals with coalescing in SSA-based register allo-cation. Current coalescing techniques all require the interference graph to be built. This is generally considered to be too compile-time intensive for just-in-time compilation. In this paper, we present a biased coloring approach that gives results similar to standalone coalescers while signif-icantly reducing compile time.
Bilingualism for the Minor or the Major? An Evaluative Analysis of Parallel Conceptions in China
This paper is an analysis of two conceptions of bilingualism that exist in parallel in China. One is traditional bilingualism referring to the use of a native minority language and standard Chinese by minority groups and the other, seen as bilingualism with modern characteristics, is a modern-day phenomenon in which the majority Han group aspire to produce bilinguals with a strong competence in mother tongue Chinese and a foreign language, primarily English, by using Chinese and the foreign language as mediums of instruction in teaching school subjects. The focus of the analysis is on the latter for the simple reason that current literature on the new phenomenon is mostly available only in Chinese. An equally important aim of this paper is to explore the impact of the new phenomenon on minority education and to examine the reason why this impact is largely ignored in bilingualism discussions, despite obvious consequences with respect to ethnic identity, personality development and academic performance of minority students. Thus, the traditional conception is briefly reviewed at the start
Recommended from our members
Optimal register sharing for high-level synthesis of SSA form programs
Register sharing for high-level synthesis of programs represented in static single assignment (SSA) form is proven to have a polynomial-time solution. Register sharing is modeled as a graph-coloring problem. Although graph coloring is NIP-Complete in the general case, an interference graph constructed for a program in SSA form probably belongs to the class of chordal graphs that have an optimal O(|V| + |E|) time algorithm. Chordal graph coloring reduces the number of registers allocated to the program by as much as 86% and 64.93% on average compared to linear scan register allocation
Recommended from our members
Arbitrary Precision and Complexity Tradeoffs for Gate-Level Information Flow Tracking
Hardware has become an increasingly attractive target for attackers, yet we still largely lack tools that enable us to analyze large designs for security flaws. Information flow tracking (IFT) models provide an approach to verifying a hardware design's adherence to security properties related to isolation and reachability. However, existing precise IFT models are usually too complex to actually use. Queries may fail to finish even for small designs when verifying relatively simple properties. It is possible to create less complex models, but these come at the cost of a severe loss of precision - -they frequently indicate a property fails when in fact it passes, which means verification requires extensive additional manual investigation. We present a new method to bridge the chasm between precision and complexity in a finer-grained, controlled, and disciplined manner. Our method allows using the most appropriate precision/complexity tradeoff for the design size and available computing resources, meaning it is now possible to create models that are not too complex to be usable, but which offer more precision (fewer false positives) than was previously possible
- …