Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * Top contributors (to current version): 3 : : * Justin Xu, Gereon Kremer, Aina Niemetz 4 : : * 5 : : * This file is part of the cvc5 project. 6 : : * 7 : : * Copyright (c) 2009-2024 by the authors listed in the file AUTHORS 8 : : * in the top-level source directory and their institutional affiliations. 9 : : * All rights reserved. See the file COPYING in the top-level source 10 : : * directory for licensing information. 11 : : * **************************************************************************** 12 : : * 13 : : * The preprocessing pass super class. 14 : : */ 15 : : 16 : : #include "preprocessing/preprocessing_pass.h" 17 : : 18 : : #include "preprocessing/assertion_pipeline.h" 19 : : #include "preprocessing/preprocessing_pass_context.h" 20 : : #include "printer/printer.h" 21 : : #include "smt/env.h" 22 : : #include "util/statistics_stats.h" 23 : : 24 : : namespace cvc5::internal { 25 : : namespace preprocessing { 26 : : 27 : 336661 : PreprocessingPassResult PreprocessingPass::apply( 28 : : AssertionPipeline* assertionsToPreprocess) { 29 : 336681 : TimerStat::CodeTimer codeTimer(d_timer); 30 [ + - ]: 336661 : Trace("preprocessing") << "PRE " << d_name << std::endl; 31 : 336661 : verbose(2) << d_name << "..." << std::endl; 32 : 336661 : PreprocessingPassResult result = applyInternal(assertionsToPreprocess); 33 [ + - ]: 336641 : Trace("preprocessing") << "POST " << d_name << std::endl; 34 : 673282 : return result; 35 : : } 36 : : 37 : 1745600 : PreprocessingPass::PreprocessingPass(PreprocessingPassContext* preprocContext, 38 : 1745600 : const std::string& name) 39 : : : EnvObj(preprocContext->getEnv()), 40 : : d_preprocContext(preprocContext), 41 : : d_name(name), 42 : 1745600 : d_timer(statisticsRegistry().registerTimer("preprocessing::" + name)) 43 : : { 44 : 1745600 : } 45 : : 46 : 1736640 : PreprocessingPass::~PreprocessingPass() {} 47 : : 48 : : } // namespace preprocessing 49 : : } // namespace cvc5::internal