summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2006-12-07 17:39:14 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2006-12-07 17:39:14 +0000
commit913ab0574d30e1f116d085ecb3240ca0f7724518 (patch)
tree5d6cc8bae00750b1d837d85ebc52462ced5d5e7c
parentb56f1e2ee5724f7ef3a9d001ca376399897055a8 (diff)
downloadllvm-913ab0574d30e1f116d085ecb3240ca0f7724518.tar.gz
Be sure to grab weak functions too, and make implicit defs comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32308 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Alpha/AlphaAsmPrinter.cpp7
-rw-r--r--lib/Target/Alpha/AlphaInstrInfo.td6
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/Target/Alpha/AlphaAsmPrinter.cpp b/lib/Target/Alpha/AlphaAsmPrinter.cpp
index 0f82b03cb1c7..f4540dbe8f79 100644
--- a/lib/Target/Alpha/AlphaAsmPrinter.cpp
+++ b/lib/Target/Alpha/AlphaAsmPrinter.cpp
@@ -285,6 +285,13 @@ bool AlphaAsmPrinter::doFinalization(Module &M) {
}
}
+ for (Module::const_iterator I = M.begin(), E = M.end(); I != E; ++I)
+ if (I->hasExternalWeakLinkage()) {
+ O << "\n\n";
+ std::string name = Mang->getValueName(I);
+ O << "\t.weak " << name << "\n";
+ }
+
AsmPrinter::doFinalization(M);
return false;
}
diff --git a/lib/Target/Alpha/AlphaInstrInfo.td b/lib/Target/Alpha/AlphaInstrInfo.td
index c2919b077259..548dc02080b9 100644
--- a/lib/Target/Alpha/AlphaInstrInfo.td
+++ b/lib/Target/Alpha/AlphaInstrInfo.td
@@ -140,11 +140,11 @@ class CmpOpFrag<dag res> : PatFrag<(ops node:$R), res>;
//Pseudo ops for selection
-def IDEF_I : PseudoInstAlpha<(ops GPRC:$RA), "#idef $RA",
+def IDEF_I : PseudoInstAlpha<(ops GPRC:$RA), ";#idef $RA",
[(set GPRC:$RA, (undef))], s_pseudo>;
-def IDEF_F32 : PseudoInstAlpha<(ops F4RC:$RA), "#idef $RA",
+def IDEF_F32 : PseudoInstAlpha<(ops F4RC:$RA), ";#idef $RA",
[(set F4RC:$RA, (undef))], s_pseudo>;
-def IDEF_F64 : PseudoInstAlpha<(ops F8RC:$RA), "#idef $RA",
+def IDEF_F64 : PseudoInstAlpha<(ops F8RC:$RA), ";#idef $RA",
[(set F8RC:$RA, (undef))], s_pseudo>;
def WTF : PseudoInstAlpha<(ops variable_ops), "#wtf", [], s_pseudo>;