1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00

Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()

Small test for sanity check of resulting ARM .s file.
Tested against -r115129.

llvm-svn: 115133
This commit is contained in:
Jason W Kim 2010-09-30 02:45:56 +00:00
parent 0d25ddb1de
commit 7822e6aab5
5 changed files with 17 additions and 1 deletions

View File

@ -43,6 +43,7 @@ enum MCSymbolAttr {
};
enum MCAssemblerFlag {
MCAF_SyntaxUnified, ///< .syntax (ARM/ELF)
MCAF_SubsectionsViaSymbols ///< .subsections_via_symbols (MachO)
};

View File

@ -244,6 +244,7 @@ void MCAsmStreamer::EmitLabel(MCSymbol *Symbol) {
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();

View File

@ -197,6 +197,7 @@ void MCELFStreamer::EmitLabel(MCSymbol *Symbol) {
void MCELFStreamer::EmitAssemblerFlag(MCAssemblerFlag Flag) {
switch (Flag) {
case MCAF_SyntaxUnified: return; // no-op here?
case MCAF_SubsectionsViaSymbols:
getAssembler().setSubsectionsViaSymbols(true);
return;

View File

@ -416,7 +416,7 @@ void ARMAsmPrinter::EmitStartOfAsmFile(Module &M) {
}
// Use unified assembler syntax.
OutStreamer.EmitRawText(StringRef("\t.syntax unified"));
OutStreamer.EmitAssemblerFlag(MCAF_SyntaxUnified);
// Emit ARM Build Attributes
if (Subtarget->isTargetELF()) {

View File

@ -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
}