mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 02:24:22 +00:00
llvmc: Add a '-time' option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86348 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -19,6 +19,7 @@
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/System/Path.h"
|
||||
|
||||
#include <sstream>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
@ -28,6 +29,8 @@ using namespace llvmc;
|
||||
|
||||
namespace {
|
||||
|
||||
std::stringstream* GlobalTimeLog;
|
||||
|
||||
sys::Path getTempDir() {
|
||||
sys::Path tempDir;
|
||||
|
||||
@ -81,6 +84,11 @@ namespace {
|
||||
|
||||
namespace llvmc {
|
||||
|
||||
// Used to implement -time option. External linkage is intentional.
|
||||
void AppendToGlobalTimeLog(const std::string& cmd, double time) {
|
||||
*GlobalTimeLog << "# " << cmd << ' ' << time << '\n';
|
||||
}
|
||||
|
||||
// Sometimes plugins want to condition on the value in argv[0].
|
||||
const char* ProgramName;
|
||||
|
||||
@ -122,7 +130,19 @@ int Main(int argc, char** argv) {
|
||||
throw std::runtime_error("no input files");
|
||||
}
|
||||
|
||||
return BuildTargets(graph, langMap);
|
||||
if (Time) {
|
||||
GlobalTimeLog = new std::stringstream;
|
||||
GlobalTimeLog->precision(2);
|
||||
}
|
||||
|
||||
int ret = BuildTargets(graph, langMap);
|
||||
|
||||
if (Time) {
|
||||
llvm::errs() << GlobalTimeLog->str();
|
||||
delete GlobalTimeLog;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
catch(llvmc::error_code& ec) {
|
||||
return ec.code();
|
||||
|
Reference in New Issue
Block a user