[llvm-commits] [llvm] r115133 - in /llvm/trunk: include/llvm/MC/MCDirectives.h lib/MC/MCAsmStreamer.cpp lib/MC/MCELFStreamer.cpp lib/Target/ARM/ARMAsmPrinter.cpp test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll
Chris Lattner
clattner at apple.com
Thu Sep 30 09:49:18 PDT 2010
On Sep 29, 2010, at 7:45 PM, Jason W Kim wrote:
> Author: jasonwkim
> Date: Wed Sep 29 21:45:56 2010
> New Revision: 115133
>
> URL: http://llvm.org/viewvc/llvm-project?rev=115133&view=rev
> Log:
> Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()
> Small test for sanity check of resulting ARM .s file.
> Tested against -r115129.
Looks good. This will eventually not be a noop, since it will impact the parsing of inline asm. However, that will happen in the asmparser, not in the .o file writers. It is a noop at the .o file writer level. Thanks again for adding this,
-Chris
>
>
> Added:
> llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll
> Modified:
> llvm/trunk/include/llvm/MC/MCDirectives.h
> llvm/trunk/lib/MC/MCAsmStreamer.cpp
> llvm/trunk/lib/MC/MCELFStreamer.cpp
> llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
>
> Modified: llvm/trunk/include/llvm/MC/MCDirectives.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCDirectives.h?rev=115133&r1=115132&r2=115133&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/MC/MCDirectives.h (original)
> +++ llvm/trunk/include/llvm/MC/MCDirectives.h Wed Sep 29 21:45:56 2010
> @@ -43,6 +43,7 @@
> };
>
> enum MCAssemblerFlag {
> + MCAF_SyntaxUnified, ///< .syntax (ARM/ELF)
> MCAF_SubsectionsViaSymbols ///< .subsections_via_symbols (MachO)
> };
>
>
> Modified: llvm/trunk/lib/MC/MCAsmStreamer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAsmStreamer.cpp?rev=115133&r1=115132&r2=115133&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCAsmStreamer.cpp (original)
> +++ llvm/trunk/lib/MC/MCAsmStreamer.cpp Wed Sep 29 21:45:56 2010
> @@ -244,6 +244,7 @@
> void MCAsmStreamer::EmitAssemblerFlag(MCAssemblerFlag Flag) {
> switch (Flag) {
> default: assert(0 && "Invalid flag!");
> + case MCAF_SyntaxUnified: OS << "\t.syntax unified"; break;
> case MCAF_SubsectionsViaSymbols: OS << ".subsections_via_symbols"; break;
> }
> EmitEOL();
>
> Modified: llvm/trunk/lib/MC/MCELFStreamer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCELFStreamer.cpp?rev=115133&r1=115132&r2=115133&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCELFStreamer.cpp (original)
> +++ llvm/trunk/lib/MC/MCELFStreamer.cpp Wed Sep 29 21:45:56 2010
> @@ -197,6 +197,7 @@
>
> void MCELFStreamer::EmitAssemblerFlag(MCAssemblerFlag Flag) {
> switch (Flag) {
> + case MCAF_SyntaxUnified: return; // no-op here?
> case MCAF_SubsectionsViaSymbols:
> getAssembler().setSubsectionsViaSymbols(true);
> return;
>
> Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=115133&r1=115132&r2=115133&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Wed Sep 29 21:45:56 2010
> @@ -416,7 +416,7 @@
> }
>
> // Use unified assembler syntax.
> - OutStreamer.EmitRawText(StringRef("\t.syntax unified"));
> + OutStreamer.EmitAssemblerFlag(MCAF_SyntaxUnified);
>
> // Emit ARM Build Attributes
> if (Subtarget->isTargetELF()) {
>
> Added: llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll?rev=115133&view=auto
> ==============================================================================
> --- llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll (added)
> +++ llvm/trunk/test/CodeGen/ARM/2010-09-29-mc-asm-header-test.ll Wed Sep 29 21:45:56 2010
> @@ -0,0 +1,13 @@
> +; RUN: llc < %s -mtriple=arm-linux-gnueabi | FileCheck %s
> +; This tests that MC/asm header conversion is smooth
> +;
> +; CHECK: .syntax unified
> +; CHECK-NEXT: .eabi_attribute 20, 1
> +; CHECK-NEXT: .eabi_attribute 21, 1
> +; CHECK-NEXT: .eabi_attribute 23, 3
> +; CHECK-NEXT: .eabi_attribute 24, 1
> +; CHECK-NEXT: .eabi_attribute 25, 1
> +
> +define i32 @f(i64 %z) {
> + ret i32 0
> +}
>
>
> _______________________________________________
> 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