1 /* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "me_option.h" 17 18 namespace maple { 19 std::unordered_set<std::string> MeOption::dumpPhases = {}; 20 std::unordered_set<std::string> MeOption::skipPhases = {}; 21 std::string MeOption::dumpFunc = "*"; 22 bool MeOption::quiet = false; 23 bool MeOption::noDot = false; 24 bool MeOption::stmtNum = false; 25 bool MeOption::optForSize = false; 26 uint8 MeOption::optLevel = 0; 27 bool MeOption::rcLowering = true; 28 bool MeOption::noRC = false; 29 bool MeOption::enableLFO = true; 30 SafetyCheckMode MeOption::npeCheckMode = SafetyCheckMode::kNoCheck; 31 SafetyCheckMode MeOption::boundaryCheckMode = SafetyCheckMode::kNoCheck; 32 bool MeOption::unifyRets = false; 33 GetInstance()34MeOption &MeOption::GetInstance() 35 { 36 static MeOption instance; 37 return instance; 38 } 39 } // namespace maple 40