1//===- OptimizationOptions.h ----------------------------------------------===// 2// 3// The MCLinker Project 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9#ifndef MCLD_LDLITE_OPTIMIZATION_OPTIONS_H 10#define MCLD_LDLITE_OPTIMIZATION_OPTIONS_H 11#include <mcld/GeneralOptions.h> 12#include <llvm/Support/CommandLine.h> 13#include <string> 14 15namespace mcld { 16 17class LinkerConfig; 18 19class OptimizationOptions 20{ 21public: 22 OptimizationOptions(); 23 24 bool parse(LinkerConfig& pConfig); 25 26private: 27 bool& m_GCSections; 28 bool& m_PrintGCSections; 29 bool& m_GenUnwindInfo; 30 llvm::cl::opt<mcld::GeneralOptions::ICF>& m_ICF; 31 llvm::cl::opt<unsigned>& m_ICFIterations; 32 llvm::cl::opt<bool>& m_PrintICFSections; 33 llvm::cl::opt<char>& m_OptLevel; 34 llvm::cl::list<std::string>& m_Plugin; 35 llvm::cl::list<std::string>& m_PluginOpt; 36}; 37 38} // namespace of mcld 39 40#endif 41 42