[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp

Bill Wendling isanbard at gmail.com
Mon Jan 15 19:42:30 PST 2007



Changes in directory llvm/lib/Target/PowerPC:

PPCTargetAsmInfo.cpp updated: 1.11 -> 1.12
---
Log message:

Fix for PR1095: http://llvm.org/PR1095 :
LLVM would miscompile ASM dialects when compiling for PPC. Added dialects for
the X86 and PPC backends. It defaults to "0", the first variant of a compound
inline asm expression.



---
Diffs of the changes:  (+8 -0)

 PPCTargetAsmInfo.cpp |    8 ++++++++
 1 files changed, 8 insertions(+)


Index: llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
diff -u llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.11 llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.12
--- llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.11	Sun Jan 14 00:37:54 2007
+++ llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp	Mon Jan 15 21:42:04 2007
@@ -16,6 +16,12 @@
 #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();
   
@@ -26,6 +32,7 @@
   LCOMMDirective = "\t.lcomm\t";
   InlineAsmStart = "# InlineAsm Start";
   InlineAsmEnd = "# InlineAsm End";
+  AssemblerDialect = PPC_OLD_MNEMONICS;
   
   NeedsSet = true;
   AddressSize = isPPC64 ? 8 : 4;
@@ -56,6 +63,7 @@
   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)






More information about the llvm-commits mailing list