Author: dpatel Date: Wed Feb 13 14:47:35 2008 New Revision: 47083 URL: http://llvm.org/viewvc/llvm-project?rev=47083&view=rev Log: Selectively print llvm asm file or write bit code file as an intermediate file based on input command line options.
Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=47083&r1=47082&r2=47083&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original) +++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Wed Feb 13 14:47:35 2008 @@ -559,22 +559,22 @@ if (PerFunctionPasses) PerFunctionPasses->doFinalization(); - // Emit intermediate .bc file before module level optimization passes are run. - if (emit_llvm_bc && flag_debug_llvm_module_opt) { + // Emit intermediate file before module level optimization passes are run. + if (flag_debug_llvm_module_opt) { static PassManager *IntermediatePM = new PassManager(); IntermediatePM->add(new TargetData(*TheTarget->getTargetData())); - // Emit an LLVM .bc file to the output. This is used when passed - // -emit-llvm -c to the GCC driver. - char asm_intermediate_out_filename[MAXPATHLEN]; strcpy(&asm_intermediate_out_filename[0], asm_file_name); strcat(&asm_intermediate_out_filename[0],".0"); FILE *asm_intermediate_out_file = fopen(asm_intermediate_out_filename, "w+b"); AsmIntermediateOutStream = new oFILEstream(asm_intermediate_out_file); AsmIntermediateOutFile = new OStream(*AsmIntermediateOutStream); - IntermediatePM->add(CreateBitcodeWriterPass(*AsmIntermediateOutStream)); + if (emit_llvm_bc) + IntermediatePM->add(CreateBitcodeWriterPass(*AsmIntermediateOutStream)); + if (emit_llvm) + IntermediatePM->add(new PrintModulePass(AsmIntermediateOutFile)); IntermediatePM->run(*TheModule); AsmIntermediateOutStream->flush(); fflush(asm_intermediate_out_file); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits