[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.148 -> 1.149 --- Log message: use the new MemoryBuffer interfaces to simplify error reporting in clients. --- Diffs of the changes: (+1 -5) llc.cpp |6 +- 1 files changed, 1 insertion(+), 5 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.148 llvm/tools/llc/llc.cpp:1.149 --- llvm/tools/llc/llc.cpp:1.148Sun May 6 04:32:02 2007 +++ llvm/tools/llc/llc.cpp Sun May 6 18:45:48 2007 @@ -179,14 +179,10 @@ std::string ErrorMessage; std::auto_ptr M; - { std::auto_ptr Buffer( - MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size())); + MemoryBuffer::getFileOrSTDIN(InputFilename, &ErrorMessage)); if (Buffer.get()) M.reset(ParseBitcodeFile(Buffer.get(), &ErrorMessage)); - else -ErrorMessage = "Error reading file '" + InputFilename + "'"; - } if (M.get() == 0) { std::cerr << argv[0] << ": bytecode didn't read correctly.\n"; std::cerr << "Reason: " << ErrorMessage << "\n"; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.146 -> 1.147 --- Log message: use an auto_ptr to avoid an explicit delete --- Diffs of the changes: (+5 -7) llc.cpp | 12 +--- 1 files changed, 5 insertions(+), 7 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.146 llvm/tools/llc/llc.cpp:1.147 --- llvm/tools/llc/llc.cpp:1.146Sat May 5 23:55:19 2007 +++ llvm/tools/llc/llc.cpp Sun May 6 00:47:36 2007 @@ -184,14 +184,12 @@ std::auto_ptr M; if (Bitcode) { -MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&InputFilename[0], -InputFilename.size()); -if (Buffer == 0) - ErrorMessage = "Error reading file '" + InputFilename + "'"; +std::auto_ptr Buffer( +MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size())); +if (Buffer.get()) + M.reset(ParseBitcodeFile(Buffer.get(), &ErrorMessage)); else - M.reset(ParseBitcodeFile(Buffer, &ErrorMessage)); -delete Buffer; - + ErrorMessage = "Error reading file '" + InputFilename + "'"; } else { M.reset(ParseBytecodeFile(InputFilename, Compressor::decompressToNewBuffer, ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.144 -> 1.145 --- Log message: For PR1277: http://llvm.org/PR1277 : Implement error handling for bytecode parsing. Patch by Scott Michel. --- Diffs of the changes: (+4 -1) llc.cpp |5 - 1 files changed, 4 insertions(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.144 llvm/tools/llc/llc.cpp:1.145 --- llvm/tools/llc/llc.cpp:1.144Wed Feb 7 19:41:07 2007 +++ llvm/tools/llc/llc.cpp Mon Mar 26 17:38:01 2007 @@ -177,10 +177,13 @@ sys::PrintStackTraceOnErrorSignal(); // Load the module to be compiled... +std::string errmsg; std::auto_ptr M(ParseBytecodeFile(InputFilename, - Compressor::decompressToNewBuffer)); + Compressor::decompressToNewBuffer, + &errmsg)); if (M.get() == 0) { std::cerr << argv[0] << ": bytecode didn't read correctly.\n"; + std::cerr << "Reason: " << errmsg << "\n"; return 1; } Module &mod = *M.get(); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.143 -> 1.144 --- Log message: The new version of how to add passes to emit files. We explicitly call a function to add the file writers between calls to add the passes. --- Diffs of the changes: (+25 -1) llc.cpp | 26 +- 1 files changed, 25 insertions(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.143 llvm/tools/llc/llc.cpp:1.144 --- llvm/tools/llc/llc.cpp:1.143Wed Feb 7 15:41:02 2007 +++ llvm/tools/llc/llc.cpp Wed Feb 7 19:41:07 2007 @@ -14,6 +14,7 @@ //===--===// #include "llvm/Bytecode/Reader.h" +#include "llvm/CodeGen/FileWriters.h" #include "llvm/CodeGen/LinkAllCodegenComponents.h" #include "llvm/Target/SubtargetFeature.h" #include "llvm/Target/TargetData.h" @@ -248,7 +249,30 @@ #endif // Ask the target to add backend passes as necessary. - if (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { + MachineCodeEmitter *MCE = 0; + + switch (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { + default: +assert(0 && "Invalid file model!"); +return 1; + case FileModel::Error: +std::cerr << argv[0] << ": target does not support generation of this" + << " file type!\n"; +if (Out != &std::cout) delete Out; +// And the Out file is empty and useless, so remove it now. +sys::Path(OutputFilename).eraseFromDisk(); +return 1; + case FileModel::AsmFile: +break; + case FileModel::MachOFile: +MCE = AddMachOWriter(Passes, *Out, Target); +break; + case FileModel::ElfFile: +MCE = AddELFWriter(Passes, *Out, Target); +break; + } + + if (Target.addPassesToEmitFileFinish(Passes, MCE, Fast)) { std::cerr << argv[0] << ": target does not support generation of this" << " file type!\n"; if (Out != &std::cout) delete Out; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.142 -> 1.143 --- Log message: push bytecode decompressor out through APIs. Now the bytecode reader api's look like this: ModuleProvider *getBytecodeModuleProvider( const std::string &Filename, ///< Name of file to be read BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer, std::string* ErrMsg = 0, ///< Optional error message holder BytecodeHandler* H = 0///< Optional handler for reader events ); This is ugly, but allows a client to say: getBytecodeModuleProvider("foo", 0); If they do this, there is no dependency on the compression libraries, saving codesize. --- Diffs of the changes: (+3 -1) llc.cpp |4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.142 llvm/tools/llc/llc.cpp:1.143 --- llvm/tools/llc/llc.cpp:1.142Tue Jan 30 14:08:38 2007 +++ llvm/tools/llc/llc.cpp Wed Feb 7 15:41:02 2007 @@ -24,6 +24,7 @@ #include "llvm/PassManager.h" #include "llvm/Pass.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/Compressor.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PluginLoader.h" #include "llvm/Support/FileUtilities.h" @@ -175,7 +176,8 @@ sys::PrintStackTraceOnErrorSignal(); // Load the module to be compiled... -std::auto_ptr M(ParseBytecodeFile(InputFilename)); +std::auto_ptr M(ParseBytecodeFile(InputFilename, + Compressor::decompressToNewBuffer)); if (M.get() == 0) { std::cerr << argv[0] << ": bytecode didn't read correctly.\n"; return 1; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.141 -> 1.142 --- Log message: For PR1136: http://llvm.org/PR1136 : Rename GlobalVariable::isExternal as isDeclaration to avoid confusion with external linkage types. --- Diffs of the changes: (+1 -1) llc.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.141 llvm/tools/llc/llc.cpp:1.142 --- llvm/tools/llc/llc.cpp:1.141Tue Dec 5 19:18:00 2006 +++ llvm/tools/llc/llc.cpp Tue Jan 30 14:08:38 2007 @@ -260,7 +260,7 @@ // Run our queue of passes all at once now, efficiently. // TODO: this could lazily stream functions out of the module. for (Module::iterator I = mod.begin(), E = mod.end(); I != E; ++I) -if (!I->isExternal()) +if (!I->isDeclaration()) Passes.run(*I); Passes.doFinalization(); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.140 -> 1.141 --- Log message: make all llvm tools call llvm_shutdown when they exit, static'ify some stuff. With this change, I can now move -stats to print when llvm_shutdown is called. --- Diffs of the changes: (+2 -0) llc.cpp |2 ++ 1 files changed, 2 insertions(+) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.140 llvm/tools/llc/llc.cpp:1.141 --- llvm/tools/llc/llc.cpp:1.140Sun Sep 3 23:14:57 2006 +++ llvm/tools/llc/llc.cpp Tue Dec 5 19:18:00 2006 @@ -24,6 +24,7 @@ #include "llvm/PassManager.h" #include "llvm/Pass.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PluginLoader.h" #include "llvm/Support/FileUtilities.h" #include "llvm/Analysis/Verifier.h" @@ -168,6 +169,7 @@ // main - Entry point for the llc compiler. // int main(int argc, char **argv) { + llvm_shutdown_obj X; // Call llvm_shutdown() on exit. try { cl::ParseCommandLineOptions(argc, argv, " llvm system compiler\n"); sys::PrintStackTraceOnErrorSignal(); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.139 -> 1.140 --- Log message: Completely rearchitect the interface between targets and the pass manager. This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. --- Diffs of the changes: (+110 -79) llc.cpp | 189 +--- 1 files changed, 110 insertions(+), 79 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.139 llvm/tools/llc/llc.cpp:1.140 --- llvm/tools/llc/llc.cpp:1.139Sun Sep 3 13:38:30 2006 +++ llvm/tools/llc/llc.cpp Sun Sep 3 23:14:57 2006 @@ -101,6 +101,69 @@ return outputFilename; } +static std::ostream *GetOutputStream(const char *ProgName) { + if (OutputFilename != "") { +if (OutputFilename == "-") + return &std::cout; + +// Specified an output filename? +if (!Force && std::ifstream(OutputFilename.c_str())) { + // If force is not specified, make sure not to overwrite a file! + std::cerr << ProgName << ": error opening '" << OutputFilename +<< "': file exists!\n" +<< "Use -f command line argument to force output\n"; + return 0; +} +// Make sure that the Out file gets unlinked from the disk if we get a +// SIGINT +sys::RemoveFileOnSignal(sys::Path(OutputFilename)); + +return new std::ofstream(OutputFilename.c_str()); + } + + if (InputFilename == "-") { +OutputFilename = "-"; +return &std::cout; + } + + OutputFilename = GetFileNameRoot(InputFilename); + + switch (FileType) { + case TargetMachine::AssemblyFile: +if (MArch->Name[0] != 'c' || MArch->Name[1] != 0) // not CBE + OutputFilename += ".s"; +else + OutputFilename += ".cbe.c"; +break; + case TargetMachine::ObjectFile: +OutputFilename += ".o"; +break; + case TargetMachine::DynamicLibrary: +OutputFilename += LTDL_SHLIB_EXT; +break; + } + + if (!Force && std::ifstream(OutputFilename.c_str())) { +// If force is not specified, make sure not to overwrite a file! +std::cerr << ProgName << ": error opening '" << OutputFilename + << "': file exists!\n" + << "Use -f command line argument to force output\n"; +return 0; + } + + // Make sure that the Out file gets unlinked from the disk if we get a + // SIGINT + sys::RemoveFileOnSignal(sys::Path(OutputFilename)); + + std::ostream *Out = new std::ofstream(OutputFilename.c_str()); + if (!Out->good()) { +std::cerr << ProgName << ": error opening " << OutputFilename << "!\n"; +delete Out; +return 0; + } + + return Out; +} // main - Entry point for the llc compiler. // @@ -148,91 +211,59 @@ assert(target.get() && "Could not allocate target machine!"); TargetMachine &Target = *target.get(); -// Build up all of the passes that we want to do to the module... -PassManager Passes; -Passes.add(new TargetData(*Target.getTargetData())); - -#ifndef NDEBUG -if(!NoVerify) - Passes.add(createVerifierPass()); -#endif - // Figure out where we are going to send the output... -std::ostream *Out = 0; -if (OutputFilename != "") { - if (OutputFilename != "-") { -// Specified an output filename? -if (!Force && std::ifstream(OutputFilename.c_str())) { - // If force is not specified, make sure not to overwrite a file! - std::cerr << argv[0] << ": error opening '" << OutputFilename -<< "': file exists!\n" -<< "Use -f command line argument to force output\n"; - return 1; -} -Out = new std::ofstream(OutputFilename.c_str()); - -// Make sure that the Out file gets unlinked from the disk if we get a -// SIGINT -sys::RemoveFileOnSignal(sys::Path(OutputFilename)); - } else { -Out = &std::cout; +std::ostream *Out = GetOutputStream(argv[0]); +if (Out == 0) return 1; +
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.138 -> 1.139 --- Log message: Remove use of target::getName() --- Diffs of the changes: (+2 -2) llc.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.138 llvm/tools/llc/llc.cpp:1.139 --- llvm/tools/llc/llc.cpp:1.138Wed Aug 23 16:29:52 2006 +++ llvm/tools/llc/llc.cpp Sun Sep 3 13:38:30 2006 @@ -222,8 +222,8 @@ // Ask the target to add backend passes as necessary. if (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { - std::cerr << argv[0] << ": target '" << Target.getName() -<< "' does not support generation of this file type!\n"; + std::cerr << argv[0] << ": target does not support generation of this" +<< " file type!\n"; if (Out != &std::cout) delete Out; // And the Out file is empty and useless, so remove it now. sys::Path(OutputFilename).eraseFromDisk(); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.137 -> 1.138 --- Log message: Make sure that both non-asm file types are marked as experimental --- Diffs of the changes: (+2 -1) llc.cpp |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.137 llvm/tools/llc/llc.cpp:1.138 --- llvm/tools/llc/llc.cpp:1.137Wed Aug 23 16:08:52 2006 +++ llvm/tools/llc/llc.cpp Wed Aug 23 16:29:52 2006 @@ -78,7 +78,8 @@ clEnumValN(TargetMachine::ObjectFile,"obj", " Emit a native object ('.o') file [experimental]"), clEnumValN(TargetMachine::DynamicLibrary, "dynlib", - " Emit a native dynamic library ('.so') file"), + " Emit a native dynamic library ('.so') file" + " [experimental]"), clEnumValEnd)); cl::opt NoVerify("disable-verify", cl::Hidden, ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.136 -> 1.137 --- Log message: Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it does emit linkable .o files in very simple cases. --- Diffs of the changes: (+0 -3) llc.cpp |3 --- 1 files changed, 3 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.136 llvm/tools/llc/llc.cpp:1.137 --- llvm/tools/llc/llc.cpp:1.136Tue Aug 1 17:34:35 2006 +++ llvm/tools/llc/llc.cpp Wed Aug 23 16:08:52 2006 @@ -219,9 +219,6 @@ } } -if (FileType != TargetMachine::AssemblyFile) - std::cerr << "WARNING: only -filetype=asm is currently supported.\n"; - // Ask the target to add backend passes as necessary. if (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { std::cerr << argv[0] << ": target '" << Target.getName() ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.135 -> 1.136 --- Log message: Fix the build on case-sensitive filesystems :( --- Diffs of the changes: (+1 -1) llc.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.135 llvm/tools/llc/llc.cpp:1.136 --- llvm/tools/llc/llc.cpp:1.135Tue Aug 1 09:21:23 2006 +++ llvm/tools/llc/llc.cpp Tue Aug 1 17:34:35 2006 @@ -14,7 +14,7 @@ //===--===// #include "llvm/Bytecode/Reader.h" -#include "llvm/Codegen/LinkAllCodegenComponents.h" +#include "llvm/CodeGen/LinkAllCodegenComponents.h" #include "llvm/Target/SubtargetFeature.h" #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetMachine.h" ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.134 -> 1.135 --- Log message: Introducing plugable register allocators and instruction schedulers. --- Diffs of the changes: (+1 -0) llc.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.134 llvm/tools/llc/llc.cpp:1.135 --- llvm/tools/llc/llc.cpp:1.134Wed Jun 7 18:03:13 2006 +++ llvm/tools/llc/llc.cpp Tue Aug 1 09:21:23 2006 @@ -14,6 +14,7 @@ //===--===// #include "llvm/Bytecode/Reader.h" +#include "llvm/Codegen/LinkAllCodegenComponents.h" #include "llvm/Target/SubtargetFeature.h" #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetMachine.h" ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.133 -> 1.134 --- Log message: For PR780: http://llvm.cs.uiuc.edu/PR780 : 1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o 2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage 3. Make each of the tools with --load options include LinkAllVMCore.h This should be the last set of changes for this bug and 800. --- Diffs of the changes: (+1 -0) llc.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.133 llvm/tools/llc/llc.cpp:1.134 --- llvm/tools/llc/llc.cpp:1.133Fri May 12 01:33:48 2006 +++ llvm/tools/llc/llc.cpp Wed Jun 7 18:03:13 2006 @@ -28,6 +28,7 @@ #include "llvm/Analysis/Verifier.h" #include "llvm/System/Signals.h" #include "llvm/Config/config.h" +#include "llvm/LinkAllVMCore.h" #include #include #include ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.132 -> 1.133 --- Log message: Refactor a bunch of includes so that TargetMachine.h doesn't have to include TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. --- Diffs of the changes: (+1 -0) llc.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.132 llvm/tools/llc/llc.cpp:1.133 --- llvm/tools/llc/llc.cpp:1.132Thu May 4 16:18:40 2006 +++ llvm/tools/llc/llc.cpp Fri May 12 01:33:48 2006 @@ -15,6 +15,7 @@ #include "llvm/Bytecode/Reader.h" #include "llvm/Target/SubtargetFeature.h" +#include "llvm/Target/TargetData.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetMachineRegistry.h" #include "llvm/Transforms/Scalar.h" ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.131 -> 1.132 --- Log message: Adjust to use proper TargetData copy ctor --- Diffs of the changes: (+1 -2) llc.cpp |3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.131 llvm/tools/llc/llc.cpp:1.132 --- llvm/tools/llc/llc.cpp:1.131Tue May 2 20:29:57 2006 +++ llvm/tools/llc/llc.cpp Thu May 4 16:18:40 2006 @@ -143,11 +143,10 @@ std::auto_ptr target(MArch->CtorFn(mod, FeaturesStr)); assert(target.get() && "Could not allocate target machine!"); TargetMachine &Target = *target.get(); -const TargetData *TD = Target.getTargetData(); // Build up all of the passes that we want to do to the module... PassManager Passes; -Passes.add(new TargetData(TD)); +Passes.add(new TargetData(*Target.getTargetData())); #ifndef NDEBUG if(!NoVerify) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.130 -> 1.131 --- Log message: Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759: http://llvm.cs.uiuc.edu/PR759 . --- Diffs of the changes: (+1 -1) llc.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.130 llvm/tools/llc/llc.cpp:1.131 --- llvm/tools/llc/llc.cpp:1.130Tue Apr 18 00:31:20 2006 +++ llvm/tools/llc/llc.cpp Tue May 2 20:29:57 2006 @@ -143,7 +143,7 @@ std::auto_ptr target(MArch->CtorFn(mod, FeaturesStr)); assert(target.get() && "Could not allocate target machine!"); TargetMachine &Target = *target.get(); -const TargetData &TD = Target.getTargetData(); +const TargetData *TD = Target.getTargetData(); // Build up all of the passes that we want to do to the module... PassManager Passes; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.129 -> 1.130 --- Log message: Add a warning. --- Diffs of the changes: (+3 -0) llc.cpp |3 +++ 1 files changed, 3 insertions(+) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.129 llvm/tools/llc/llc.cpp:1.130 --- llvm/tools/llc/llc.cpp:1.129Wed Mar 22 23:27:47 2006 +++ llvm/tools/llc/llc.cpp Tue Apr 18 00:31:20 2006 @@ -216,6 +216,9 @@ sys::RemoveFileOnSignal(sys::Path(OutputFilename)); } } + +if (FileType != TargetMachine::AssemblyFile) + std::cerr << "WARNING: only -filetype=asm is currently supported.\n"; // Ask the target to add backend passes as necessary. if (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.128 -> 1.129 --- Log message: remove always-null IntrinsicLowering argument. --- Diffs of the changes: (+1 -3) llc.cpp |4 +--- 1 files changed, 1 insertion(+), 3 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.128 llvm/tools/llc/llc.cpp:1.129 --- llvm/tools/llc/llc.cpp:1.128Sun Jan 22 18:38:14 2006 +++ llvm/tools/llc/llc.cpp Wed Mar 22 23:27:47 2006 @@ -119,8 +119,6 @@ // Allocate target machine. First, check whether the user has // explicitly specified an architecture to compile for. -TargetMachine* (*TargetMachineAllocator)(const Module&, - IntrinsicLowering *) = 0; if (MArch == 0) { std::string Err; MArch = TargetMachineRegistry::getClosestStaticTargetForModule(mod, Err); @@ -142,7 +140,7 @@ FeaturesStr = Features.getString(); } -std::auto_ptr target(MArch->CtorFn(mod, 0, FeaturesStr)); +std::auto_ptr target(MArch->CtorFn(mod, FeaturesStr)); assert(target.get() && "Could not allocate target machine!"); TargetMachine &Target = *target.get(); const TargetData &TD = Target.getTargetData(); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.127 -> 1.128 --- Log message: Remove dead #include --- Diffs of the changes: (+0 -1) llc.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.127 llvm/tools/llc/llc.cpp:1.128 --- llvm/tools/llc/llc.cpp:1.127Sun Jan 22 18:36:05 2006 +++ llvm/tools/llc/llc.cpp Sun Jan 22 18:38:14 2006 @@ -23,7 +23,6 @@ #include "llvm/Pass.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/PluginLoader.h" -#include "llvm/Support/PassNameParser.h" #include "llvm/Support/FileUtilities.h" #include "llvm/Analysis/Verifier.h" #include "llvm/System/Signals.h" ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.126 -> 1.127 --- Log message: It doesn't make sense to give llc a list of passes on the command line, LLVM doesn't use it and it can't work anyway. --- Diffs of the changes: (+0 -18) llc.cpp | 18 -- 1 files changed, 18 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.126 llvm/tools/llc/llc.cpp:1.127 --- llvm/tools/llc/llc.cpp:1.126Wed Jan 4 18:21:37 2006 +++ llvm/tools/llc/llc.cpp Sun Jan 22 18:36:05 2006 @@ -79,11 +79,6 @@ " Emit a native dynamic library ('.so') file"), clEnumValEnd)); -// The LLCPassList is populated with passes that were registered using -// PassInfo::LLC by the FilteredPassNameParser: -cl::list > -LLCPassList(cl::desc("Passes Available")); - cl::opt NoVerify("disable-verify", cl::Hidden, cl::desc("Do not verify input module")); @@ -157,19 +152,6 @@ PassManager Passes; Passes.add(new TargetData(TD)); -// Create a new pass for each one specified on the command line -for (unsigned i = 0; i < LLCPassList.size(); ++i) { - const PassInfo *aPass = LLCPassList[i]; - - if (aPass->getNormalCtor()) { -Pass *P = aPass->getNormalCtor()(); -Passes.add(P); - } else { -std::cerr << argv[0] << ": cannot create pass: " - << aPass->getPassName() << "\n"; - } -} - #ifndef NDEBUG if(!NoVerify) Passes.add(createVerifierPass()); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.125 -> 1.126 --- Log message: remove unused header --- Diffs of the changes: (+0 -1) llc.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.125 llvm/tools/llc/llc.cpp:1.126 --- llvm/tools/llc/llc.cpp:1.125Wed Jan 4 16:28:25 2006 +++ llvm/tools/llc/llc.cpp Wed Jan 4 18:21:37 2006 @@ -27,7 +27,6 @@ #include "llvm/Support/FileUtilities.h" #include "llvm/Analysis/Verifier.h" #include "llvm/System/Signals.h" -#include "llvm/CodeGen/MachineDebugInfo.h" #include "llvm/Config/config.h" #include #include ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.124 -> 1.125 --- Log message: Applied some recommend changes from sabre. The dominate one beginning "let the pass manager do it's thing." Fixes crash when compiling -g files and suppresses dwarf statements if no debug info is present. --- Diffs of the changes: (+0 -3) llc.cpp |3 --- 1 files changed, 3 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.124 llvm/tools/llc/llc.cpp:1.125 --- llvm/tools/llc/llc.cpp:1.124Wed Jan 4 07:42:02 2006 +++ llvm/tools/llc/llc.cpp Wed Jan 4 16:28:25 2006 @@ -239,9 +239,6 @@ } } -// Set up collection of debug information -Passes.add(createDebugInfoPass()); - // Ask the target to add backend passes as necessary. if (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { std::cerr << argv[0] << ": target '" << Target.getName() ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.123 -> 1.124 --- Log message: Adding MachineDebugInfo as a immutable pass. --- Diffs of the changes: (+4 -0) llc.cpp |4 1 files changed, 4 insertions(+) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.123 llvm/tools/llc/llc.cpp:1.124 --- llvm/tools/llc/llc.cpp:1.123Thu Dec 29 20:50:44 2005 +++ llvm/tools/llc/llc.cpp Wed Jan 4 07:42:02 2006 @@ -27,6 +27,7 @@ #include "llvm/Support/FileUtilities.h" #include "llvm/Analysis/Verifier.h" #include "llvm/System/Signals.h" +#include "llvm/CodeGen/MachineDebugInfo.h" #include "llvm/Config/config.h" #include #include @@ -237,6 +238,9 @@ sys::RemoveFileOnSignal(sys::Path(OutputFilename)); } } + +// Set up collection of debug information +Passes.add(createDebugInfoPass()); // Ask the target to add backend passes as necessary. if (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.122 -> 1.123 --- Log message: don't need this anymore --- Diffs of the changes: (+0 -1) llc.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.122 llvm/tools/llc/llc.cpp:1.123 --- llvm/tools/llc/llc.cpp:1.122Thu Dec 29 20:47:21 2005 +++ llvm/tools/llc/llc.cpp Thu Dec 29 20:50:44 2005 @@ -31,7 +31,6 @@ #include #include #include -#include using namespace llvm; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.121 -> 1.122 --- Log message: delete file portably --- Diffs of the changes: (+2 -1) llc.cpp |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.121 llvm/tools/llc/llc.cpp:1.122 --- llvm/tools/llc/llc.cpp:1.121Tue Dec 27 23:56:36 2005 +++ llvm/tools/llc/llc.cpp Thu Dec 29 20:47:21 2005 @@ -24,6 +24,7 @@ #include "llvm/Support/CommandLine.h" #include "llvm/Support/PluginLoader.h" #include "llvm/Support/PassNameParser.h" +#include "llvm/Support/FileUtilities.h" #include "llvm/Analysis/Verifier.h" #include "llvm/System/Signals.h" #include "llvm/Config/config.h" @@ -244,7 +245,7 @@ << "' does not support generation of this file type!\n"; if (Out != &std::cout) delete Out; // And the Out file is empty and useless, so remove it now. - std::remove(OutputFilename.c_str()); + sys::Path(OutputFilename).eraseFromDisk(); return 1; } else { // Run our queue of passes all at once now, efficiently. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.120 -> 1.121 --- Log message: behold my standards-compliant humps! --- Diffs of the changes: (+2 -1) llc.cpp |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.120 llvm/tools/llc/llc.cpp:1.121 --- llvm/tools/llc/llc.cpp:1.120Tue Dec 27 23:48:55 2005 +++ llvm/tools/llc/llc.cpp Tue Dec 27 23:56:36 2005 @@ -30,6 +30,7 @@ #include #include #include +#include using namespace llvm; @@ -243,7 +244,7 @@ << "' does not support generation of this file type!\n"; if (Out != &std::cout) delete Out; // And the Out file is empty and useless, so remove it now. - remove(OutputFilename.c_str()); + std::remove(OutputFilename.c_str()); return 1; } else { // Run our queue of passes all at once now, efficiently. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.119 -> 1.120 --- Log message: WAKEY WAKEY --- Diffs of the changes: (+1 -1) llc.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.119 llvm/tools/llc/llc.cpp:1.120 --- llvm/tools/llc/llc.cpp:1.119Thu Dec 15 23:19:55 2005 +++ llvm/tools/llc/llc.cpp Tue Dec 27 23:48:55 2005 @@ -243,7 +243,7 @@ << "' does not support generation of this file type!\n"; if (Out != &std::cout) delete Out; // And the Out file is empty and useless, so remove it now. - std::remove(OutputFilename.c_str()); + remove(OutputFilename.c_str()); return 1; } else { // Run our queue of passes all at once now, efficiently. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.118 -> 1.119 --- Log message: rename option for consistency with -mcpu -mattr etc --- Diffs of the changes: (+1 -1) llc.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.118 llvm/tools/llc/llc.cpp:1.119 --- llvm/tools/llc/llc.cpp:1.118Thu Dec 15 22:59:57 2005 +++ llvm/tools/llc/llc.cpp Thu Dec 15 23:19:55 2005 @@ -49,7 +49,7 @@ cl::desc("Generate code quickly, potentially sacrificing code quality")); static cl::opt -TargetTriple("triple", cl::desc("Override target triple for module")); +TargetTriple("mtriple", cl::desc("Override target triple for module")); static cl::opt MArch("march", cl::desc("Architecture to generate code for:")); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.117 -> 1.118 --- Log message: provide an option to override the target triple in a module from the command line. --- Diffs of the changes: (+6 -0) llc.cpp |6 ++ 1 files changed, 6 insertions(+) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.117 llvm/tools/llc/llc.cpp:1.118 --- llvm/tools/llc/llc.cpp:1.117Mon Nov 7 20:12:17 2005 +++ llvm/tools/llc/llc.cpp Thu Dec 15 22:59:57 2005 @@ -48,6 +48,8 @@ static cl::opt Fast("fast", cl::desc("Generate code quickly, potentially sacrificing code quality")); +static cl::opt +TargetTriple("triple", cl::desc("Override target triple for module")); static cl::opt MArch("march", cl::desc("Architecture to generate code for:")); @@ -116,6 +118,10 @@ } Module &mod = *M.get(); +// If we are supposed to override the target triple, do so now. +if (!TargetTriple.empty()) + mod.setTargetTriple(TargetTriple); + // Allocate target machine. First, check whether the user has // explicitly specified an architecture to compile for. TargetMachine* (*TargetMachineAllocator)(const Module&, ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.116 -> 1.117 --- Log message: Add a new -fast option, which generates code quickly. --- Diffs of the changes: (+5 -1) llc.cpp |6 +- 1 files changed, 5 insertions(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.116 llvm/tools/llc/llc.cpp:1.117 --- llvm/tools/llc/llc.cpp:1.116Sun Oct 23 17:37:13 2005 +++ llvm/tools/llc/llc.cpp Mon Nov 7 20:12:17 2005 @@ -45,6 +45,10 @@ static cl::opt Force("f", cl::desc("Overwrite output files")); +static cl::opt Fast("fast", + cl::desc("Generate code quickly, potentially sacrificing code quality")); + + static cl::opt MArch("march", cl::desc("Architecture to generate code for:")); @@ -228,7 +232,7 @@ } // Ask the target to add backend passes as necessary. -if (Target.addPassesToEmitFile(Passes, *Out, FileType)) { +if (Target.addPassesToEmitFile(Passes, *Out, FileType, Fast)) { std::cerr << argv[0] << ": target '" << Target.getName() << "' does not support generation of this file type!\n"; if (Out != &std::cout) delete Out; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.115 -> 1.116 --- Log message: Shrinkify to make --help output look better --- Diffs of the changes: (+1 -1) llc.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.115 llvm/tools/llc/llc.cpp:1.116 --- llvm/tools/llc/llc.cpp:1.115Sun Oct 23 17:35:42 2005 +++ llvm/tools/llc/llc.cpp Sun Oct 23 17:37:13 2005 @@ -58,7 +58,7 @@ MAttrs("mattr", cl::CommaSeparated, cl::desc("Target specific attributes (-mattr=help for details)"), - cl::value_desc("attr1,+attr2, ..., -attrN")); + cl::value_desc("a1,+a2,-a3,...")); cl::opt FileType("filetype", cl::init(TargetMachine::AssemblyFile), ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.114 -> 1.115 --- Log message: shrinkify the option name a bit --- Diffs of the changes: (+2 -2) llc.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.114 llvm/tools/llc/llc.cpp:1.115 --- llvm/tools/llc/llc.cpp:1.114Sat Oct 22 17:00:45 2005 +++ llvm/tools/llc/llc.cpp Sun Oct 23 17:35:42 2005 @@ -50,14 +50,14 @@ static cl::opt MCPU("mcpu", - cl::desc("Target a specific cpu type (-mcpu=help for list of choices)"), + cl::desc("Target a specific cpu type (-mcpu=help for details)"), cl::value_desc("cpu-name"), cl::init("")); static cl::list MAttrs("mattr", cl::CommaSeparated, - cl::desc("Target specific attributes (-mattr=help for list of choices)"), + cl::desc("Target specific attributes (-mattr=help for details)"), cl::value_desc("attr1,+attr2, ..., -attrN")); cl::opt ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llc/llc.cpp
Changes in directory llvm/tools/llc: llc.cpp updated: 1.113 -> 1.114 --- Log message: document this as experimental --- Diffs of the changes: (+1 -1) llc.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llc/llc.cpp diff -u llvm/tools/llc/llc.cpp:1.113 llvm/tools/llc/llc.cpp:1.114 --- llvm/tools/llc/llc.cpp:1.113Fri Sep 2 14:27:43 2005 +++ llvm/tools/llc/llc.cpp Sat Oct 22 17:00:45 2005 @@ -67,7 +67,7 @@ clEnumValN(TargetMachine::AssemblyFile,"asm", " Emit an assembly ('.s') file"), clEnumValN(TargetMachine::ObjectFile,"obj", - " Emit a native object ('.o') file"), + " Emit a native object ('.o') file [experimental]"), clEnumValN(TargetMachine::DynamicLibrary, "dynlib", " Emit a native dynamic library ('.so') file"), clEnumValEnd)); ___ llvm-commits mailing list [EMAIL PROTECTED] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits