Changes in directory llvm/lib/Target/PowerPC:
PPCSubtarget.cpp updated: 1.27 -> 1.28 PPCSubtarget.h updated: 1.20 -> 1.21 PPCTargetAsmInfo.cpp updated: 1.12 -> 1.13 --- Log message: Instead of yet another enum indicating the "assembly language flavor", just use the one that's in the subtarget. --- Diffs of the changes: (+16 -9) PPCSubtarget.cpp | 3 +++ PPCSubtarget.h | 13 ++++++++++++- PPCTargetAsmInfo.cpp | 9 +-------- 3 files changed, 16 insertions(+), 9 deletions(-) Index: llvm/lib/Target/PowerPC/PPCSubtarget.cpp diff -u llvm/lib/Target/PowerPC/PPCSubtarget.cpp:1.27 llvm/lib/Target/PowerPC/PPCSubtarget.cpp:1.28 --- llvm/lib/Target/PowerPC/PPCSubtarget.cpp:1.27 Mon Dec 11 17:22:45 2006 +++ llvm/lib/Target/PowerPC/PPCSubtarget.cpp Tue Jan 16 03:29:16 2007 @@ -112,6 +112,9 @@ // Set up darwin-specific properties. if (IsDarwin) { HasLazyResolverStubs = true; + AsmFlavor = NewMnemonic; + } else { + AsmFlavor = OldMnemonic; } } Index: llvm/lib/Target/PowerPC/PPCSubtarget.h diff -u llvm/lib/Target/PowerPC/PPCSubtarget.h:1.20 llvm/lib/Target/PowerPC/PPCSubtarget.h:1.21 --- llvm/lib/Target/PowerPC/PPCSubtarget.h:1.20 Tue Dec 12 14:57:08 2006 +++ llvm/lib/Target/PowerPC/PPCSubtarget.h Tue Jan 16 03:29:16 2007 @@ -40,6 +40,10 @@ class TargetMachine; class PPCSubtarget : public TargetSubtarget { +public: + enum AsmWriterFlavorTy { + OldMnemonic, NewMnemonic, Unset + }; protected: const TargetMachine &TM; @@ -53,6 +57,9 @@ /// Which cpu directive was used. unsigned DarwinDirective; + /// AsmFlavor - Which PPC asm dialect to use. + AsmWriterFlavorTy AsmFlavor; + /// Used by the ISel to turn in optimizations for POWER4-derived architectures bool IsGigaProcessor; bool Has64BitSupport; @@ -120,8 +127,12 @@ bool hasSTFIWX() const { return HasSTFIWX; } bool hasAltivec() const { return HasAltivec; } bool isGigaProcessor() const { return IsGigaProcessor; } - + bool isDarwin() const { return IsDarwin; } + + unsigned getAsmFlavor() const { + return AsmFlavor != Unset ? unsigned(AsmFlavor) : 0; + } }; } // End llvm namespace Index: llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp diff -u llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.12 llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.13 --- llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.12 Mon Jan 15 21:42:04 2007 +++ llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp Tue Jan 16 03:29:16 2007 @@ -16,12 +16,6 @@ #include "llvm/Function.h" using namespace llvm; -// ASM variant to use. -enum { - PPC_OLD_MNEMONICS = 0, - PPC_NEW_MNEMONICS = 1 -}; - PPCTargetAsmInfo::PPCTargetAsmInfo(const PPCTargetMachine &TM) { bool isPPC64 = TM.getSubtargetImpl()->isPPC64(); @@ -32,7 +26,7 @@ LCOMMDirective = "\t.lcomm\t"; InlineAsmStart = "# InlineAsm Start"; InlineAsmEnd = "# InlineAsm End"; - AssemblerDialect = PPC_OLD_MNEMONICS; + AssemblerDialect = TM.getSubtargetImpl()->getAsmFlavor(); NeedsSet = true; AddressSize = isPPC64 ? 8 : 4; @@ -63,7 +57,6 @@ UsedDirective = "\t.no_dead_strip\t"; WeakRefDirective = "\t.weak_reference\t"; HiddenDirective = "\t.private_extern\t"; - AssemblerDialect = PPC_NEW_MNEMONICS; } LinuxTargetAsmInfo::LinuxTargetAsmInfo(const PPCTargetMachine &TM) _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits