102 "Turn on C1 optimizations") \
103 \
104 develop(bool, SelectivePhiFunctions, true, \
105 "create phi functions at loop headers only when necessary") \
106 \
107 develop(bool, OptimizeIfOps, true, \
108 "Optimize multiple IfOps") \
109 \
110 develop(bool, DoCEE, true, \
111 "Do Conditional Expression Elimination to simplify CFG") \
112 \
113 develop(bool, PrintCEE, false, \
114 "Print Conditional Expression Elimination") \
115 \
116 develop(bool, UseLocalValueNumbering, true, \
117 "Use Local Value Numbering (embedded in GraphBuilder)") \
118 \
119 develop(bool, UseGlobalValueNumbering, true, \
120 "Use Global Value Numbering (separate phase)") \
121 \
122 develop(bool, PrintValueNumbering, false, \
123 "Print Value Numbering") \
124 \
125 product(intx, ValueMapInitialSize, 11, \
126 "Initial size of a value map") \
127 \
128 product(intx, ValueMapMaxLoopSize, 8, \
129 "maximum size of a loop optimized by global value numbering") \
130 \
131 develop(bool, EliminateBlocks, true, \
132 "Eliminate unneccessary basic blocks") \
133 \
134 develop(bool, PrintBlockElimination, false, \
135 "Print basic block elimination") \
136 \
137 develop(bool, EliminateNullChecks, true, \
138 "Eliminate unneccessary null checks") \
139 \
140 develop(bool, PrintNullCheckElimination, false, \
141 "Print null check elimination") \
|
102 "Turn on C1 optimizations") \
103 \
104 develop(bool, SelectivePhiFunctions, true, \
105 "create phi functions at loop headers only when necessary") \
106 \
107 develop(bool, OptimizeIfOps, true, \
108 "Optimize multiple IfOps") \
109 \
110 develop(bool, DoCEE, true, \
111 "Do Conditional Expression Elimination to simplify CFG") \
112 \
113 develop(bool, PrintCEE, false, \
114 "Print Conditional Expression Elimination") \
115 \
116 develop(bool, UseLocalValueNumbering, true, \
117 "Use Local Value Numbering (embedded in GraphBuilder)") \
118 \
119 develop(bool, UseGlobalValueNumbering, true, \
120 "Use Global Value Numbering (separate phase)") \
121 \
122 product(bool, UseLoopInvariantCodeMotion, true, \
123 "Simple loop invariant code motion for short loops during GVN") \
124 \
125 develop(bool, TracePredicateFailedTraps, false, \
126 "trace runtime traps caused by predicate failure") \
127 \
128 develop(bool, StressLoopInvariantCodeMotion, false, \
129 "stress loop invariant code motion") \
130 \
131 develop(bool, TraceRangeCheckElimination, false, \
132 "Trace Range Check Elimination") \
133 \
134 develop(bool, AssertRangeCheckElimination, false, \
135 "Assert Range Check Elimination") \
136 \
137 develop(bool, StressRangeCheckElimination, false, \
138 "stress Range Check Elimination") \
139 \
140 develop(bool, PrintValueNumbering, false, \
141 "Print Value Numbering") \
142 \
143 product(intx, ValueMapInitialSize, 11, \
144 "Initial size of a value map") \
145 \
146 product(intx, ValueMapMaxLoopSize, 8, \
147 "maximum size of a loop optimized by global value numbering") \
148 \
149 develop(bool, EliminateBlocks, true, \
150 "Eliminate unneccessary basic blocks") \
151 \
152 develop(bool, PrintBlockElimination, false, \
153 "Print basic block elimination") \
154 \
155 develop(bool, EliminateNullChecks, true, \
156 "Eliminate unneccessary null checks") \
157 \
158 develop(bool, PrintNullCheckElimination, false, \
159 "Print null check elimination") \
|