[llvm-commits] CVS: llvm/lib/Target/IA64/IA64AsmPrinter.cpp
Duraid Madina
duraid at octopus.com.au
Sat Apr 2 04:30:58 PST 2005
Changes in directory llvm/lib/Target/IA64:
IA64AsmPrinter.cpp updated: 1.5 -> 1.6
---
Log message:
ia64 asmprinter fixes:
- turn off assembler's autoalignment
- set FunctionAddrPrefix/Suffix so that .data8 entries pointing to
functions have their value wrapped in @fptr(), so that a function
descriptor will be materialized for that function.
---
Diffs of the changes: (+11 -7)
IA64AsmPrinter.cpp | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
Index: llvm/lib/Target/IA64/IA64AsmPrinter.cpp
diff -u llvm/lib/Target/IA64/IA64AsmPrinter.cpp:1.5 llvm/lib/Target/IA64/IA64AsmPrinter.cpp:1.6
--- llvm/lib/Target/IA64/IA64AsmPrinter.cpp:1.5 Thu Mar 31 01:40:24 2005
+++ llvm/lib/Target/IA64/IA64AsmPrinter.cpp Sat Apr 2 06:30:47 2005
@@ -142,9 +142,8 @@
// FALL THROUGH
case GlobalValue::InternalLinkage:
if (C->isNullValue())
- SwitchSection(O, CurSection, ".data"); // FIXME: this was
- // '.bss', but in ia64-land .bss means "nobits" (i.e. uninitialized)
- // hmm.
+ SwitchSection(O, CurSection, ".bss");
+ // FIXME? in ia64-land .bss means "nobits" (i.e. uninitialized)
else
SwitchSection(O, CurSection, ".data");
break;
@@ -191,13 +190,18 @@
: IA64SharedAsmPrinter(O, TM) {
CommentString = "//";
- Data8bitsDirective = "\tdata1\t";
- Data16bitsDirective = "\tdata2\t";
- Data32bitsDirective = "\tdata4\t";
- Data64bitsDirective = "\tdata8\t";
+ Data8bitsDirective = "\tdata1\t"; // FIXME: check that we are
+ Data16bitsDirective = "\tdata2.ua\t"; // disabling auto-alignment
+ Data32bitsDirective = "\tdata4.ua\t"; // properly
+ Data64bitsDirective = "\tdata8.ua\t";
ZeroDirective = "\t.skip\t";
AsciiDirective = "\tstring\t";
+ GlobalVarAddrPrefix="";
+ GlobalVarAddrSuffix="";
+ FunctionAddrPrefix="@fptr(";
+ FunctionAddrSuffix=")";
+
}
virtual const char *getPassName() const {
More information about the llvm-commits
mailing list