diff options
author | Chris Lattner <sabre@nondot.org> | 2001-09-14 05:34:53 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-09-14 05:34:53 +0000 |
commit | b26bcc5087029ffe8037ed9036ff74430c6054cf (patch) | |
tree | 835170e1ad70e3b18579cd8d1590dfb35ceb4127 /tools | |
parent | f6e0e2813526b4ebea473427ea5ffd88bb1559ac (diff) | |
download | external_llvm-b26bcc5087029ffe8037ed9036ff74430c6054cf.zip external_llvm-b26bcc5087029ffe8037ed9036ff74430c6054cf.tar.gz external_llvm-b26bcc5087029ffe8037ed9036ff74430c6054cf.tar.bz2 |
Make a new llvm/Target #include directory.
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/llc/llc.cpp | 54 |
1 files changed, 23 insertions, 31 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index fb5c1fc..789087f 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -1,14 +1,13 @@ -//===------------------------------------------------------------------------=== -// LLVM 'LLC' UTILITY +//===-- llc.cpp - Implement the LLVM Compiler -----------------------------===// // // This is the llc compiler driver. // -//===------------------------------------------------------------------------=== +//===----------------------------------------------------------------------===// #include "llvm/Bytecode/Reader.h" #include "llvm/Optimizations/Normalize.h" -#include "llvm/CodeGen/Sparc.h" -#include "llvm/CodeGen/TargetMachine.h" +#include "llvm/Target/Sparc.h" +#include "llvm/Target/Machine.h" #include "llvm/Support/CommandLine.h" #include "llvm/Module.h" #include "llvm/Method.h" @@ -20,46 +19,39 @@ static void NormalizeMethod(Method* method) { NormalizePhiConstantArgs(method); } - -static bool CompileModule(Module *M, TargetMachine &Target) { - for (Module::const_iterator MI = M->begin(), ME = M->end(); MI != ME; ++MI) { - Method *Meth = *MI; - - NormalizeMethod(Meth); - - if (Target.compileMethod(Meth)) return true; - } - - return false; -} - - - -//--------------------------------------------------------------------------- +//===----------------------------------------------------------------------===// // Function main() +//===----------------------------------------------------------------------===// // // Entry point for the llc compiler. -//--------------------------------------------------------------------------- - +// int main(int argc, char** argv) { cl::ParseCommandLineOptions(argc, argv, " llvm system compiler\n"); TargetMachine *Target = allocateSparcTargetMachine(); - Module *module = ParseBytecodeFile(InputFilename); - if (module == 0) { + Module *M = ParseBytecodeFile(InputFilename); + if (M == 0) { cerr << "bytecode didn't read correctly.\n"; + delete Target; return 1; } - if (CompileModule(module, *Target)) { - cerr << "Error compiling " << InputFilename << "!\n"; - delete module; - return 1; + bool Failed = false; + for (Module::const_iterator MI = M->begin(), ME = M->end(); MI != ME; ++MI) { + Method *Meth = *MI; + + NormalizeMethod(Meth); + + if (Target->compileMethod(Meth)) { + cerr << "Error compiling " << InputFilename << "!\n"; + Failed = true; + break; + } } // Clean up and exit - delete module; + delete M; delete Target; - return 0; + return Failed; } |