# Copyright (c) 2021-2022 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module: name: bytecodeopt namespace: panda::bytecodeopt options: - name: opt-level type: int default: 2 possible_values: - 0 - 1 - 2 description: | Optimization level for bytecode optimizer. N=0: No optimizations. N=1: New optimizer is turned on, only DCE is applied. N=2: (default): New optimizer is turned on, all compiler's optimizations are turned on. - name: canonicalization type: bool default: true description: Enable Canonicalization Pass - name: const-resolver type: bool default: true description: Enable Constant Resolver Pass - name: method-regex type: std::string default: "" description: A regular expression that specifies methods to optimize - name: skip-methods-with-eh type: bool default: false description: Disable optimizer for methods with exceptions handlers - name: bytecode-opt-peepholes type: bool default: true description: Enable BytecodeOptPeepholes Pass - name: const-array-resolver type: bool default: true description: Enable ConstArray Resolver Pass