[llvm-commits] [llvm] r95168 - /llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
Jeffrey Yasskin
jyasskin at google.com
Thu Mar 18 22:10:56 PDT 2010
On Tue, Feb 2, 2010 at 5:29 PM, Chris Lattner <sabre at nondot.org> wrote:
> Author: lattner
> Date: Tue Feb 2 18:29:55 2010
> New Revision: 95168
>
> URL: http://llvm.org/viewvc/llvm-project?rev=95168&view=rev
> Log:
> pass an instprinter into the AsmPrinter if it is available.
>
> Modified:
> llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
>
> Modified: llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp?rev=95168&r1=95167&r2=95168&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp (original)
> +++ llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp Tue Feb 2 18:29:55 2010
> @@ -126,14 +126,18 @@
> formatted_raw_ostream *LegacyOutput;
> switch (FileType) {
> default: return CGFT_ErrorOccurred;
> - case CGFT_AssemblyFile:
> - AsmStreamer.reset(createAsmStreamer(*Context, Out, *getMCAsmInfo(),
> + case CGFT_AssemblyFile: {
> + const MCAsmInfo &MAI = *getMCAsmInfo();
> + MCInstPrinter *InstPrinter =
> + getTarget().createMCInstPrinter(MAI.getAssemblerDialect(), MAI, Out);
> + AsmStreamer.reset(createAsmStreamer(*Context, Out, MAI,
> getTargetData()->isLittleEndian(),
> - getVerboseAsm(), /*instprinter*/0,
> + getVerboseAsm(), InstPrinter,
This is a memory leak. createAsmStreamer doesn't take ownership of its
pointer arguments (and llvm-mc.cpp enforces that by deleting them).
> /*codeemitter*/0));
> // Set the AsmPrinter's "O" to the output file.
> LegacyOutput = &Out;
> break;
> + }
> case CGFT_ObjectFile: {
> // Create the code emitter for the target if it exists. If not, .o file
> // emission fails.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
More information about the llvm-commits
mailing list