diff options
| author | Andrew Lenharth <andrewl@lenharth.org> | 2006-12-07 17:39:14 +0000 |
|---|---|---|
| committer | Andrew Lenharth <andrewl@lenharth.org> | 2006-12-07 17:39:14 +0000 |
| commit | 76a61eb0545dde3c3fa640e7b6ddbe3cca346235 (patch) | |
| tree | 99c7c173f6e13c6bb87ef844af7c524f7e9844bc /llvm/lib/Target/Alpha | |
| parent | 2997019c6277dfe3511c270b3529ce3a15abedca (diff) | |
| download | bcm5719-llvm-76a61eb0545dde3c3fa640e7b6ddbe3cca346235.tar.gz bcm5719-llvm-76a61eb0545dde3c3fa640e7b6ddbe3cca346235.zip | |
Be sure to grab weak functions too, and make implicit defs comments
llvm-svn: 32308
Diffstat (limited to 'llvm/lib/Target/Alpha')
| -rw-r--r-- | llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp | 7 | ||||
| -rw-r--r-- | llvm/lib/Target/Alpha/AlphaInstrInfo.td | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp b/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp index 0f82b03cb1c..f4540dbe8f7 100644 --- a/llvm/lib/Target/Alpha/AlphaAsmPrinter.cpp +++ b/llvm/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/llvm/lib/Target/Alpha/AlphaInstrInfo.td b/llvm/lib/Target/Alpha/AlphaInstrInfo.td index c2919b07725..548dc02080b 100644 --- a/llvm/lib/Target/Alpha/AlphaInstrInfo.td +++ b/llvm/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>; |

