Read and write function notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55657 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2008-09-02 21:47:13 +00:00
parent 1b47e48a64
commit 7ad033c9e7
3 changed files with 8 additions and 1 deletions

View File

@ -1197,6 +1197,9 @@ bool BitcodeReader::ParseModule(const std::string &ModuleID) {
return Error("Invalid GC ID");
Func->setGC(GCTable[Record[8]-1].c_str());
}
if (!isProto && Record.size() > 9 && Record[9]) {
Func->setNotes(Record[9]);
}
ValueList.push_back(Func);

View File

@ -412,6 +412,7 @@ static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE,
Vals.push_back(F->hasSection() ? SectionMap[F->getSection()] : 0);
Vals.push_back(getEncodedVisibility(F));
Vals.push_back(F->hasGC() ? GCMap[F->getGC()] : 0);
Vals.push_back(F->getNotes());
unsigned AbbrevToUse = 0;
Stream.EmitRecord(bitc::MODULE_CODE_FUNCTION, Vals, AbbrevToUse);

View File

@ -1,5 +1,5 @@
; Test function notes
; RUN: llvm-as < %s -f -o /dev/null
; RUN: llvm-as < %s | llvm-dis | grep inline | count 2
define void @fn1() notes(inline=always) {
ret void
@ -9,3 +9,6 @@ define void @fn2() notes(inline=never) {
ret void
}
define void @fn3() {
ret void
}