[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