Use parameter attribute store (soon to be renamed) for
Function Notes also. Function notes are stored at index ~0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56511 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.h.cvs b/lib/AsmParser/llvmAsmParser.h.cvs
index 7275b9e..a45ec52 100644
--- a/lib/AsmParser/llvmAsmParser.h.cvs
+++ b/lib/AsmParser/llvmAsmParser.h.cvs
@@ -366,7 +366,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 970 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 970 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y"
{
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -395,7 +395,7 @@
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
llvm::ParameterAttributes ParamAttrs;
- llvm::FunctionNotes FunctionNotes;
+ llvm::ParameterAttributes FunctionNotes;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index a298dde..5cfc47d 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -995,7 +995,7 @@
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
llvm::ParameterAttributes ParamAttrs;
- llvm::FunctionNotes FunctionNotes;
+ llvm::ParameterAttributes FunctionNotes;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
@@ -1091,8 +1091,8 @@
%type <UIntVal> OptCallingConv LocalNumber
%type <ParamAttrs> OptParamAttrs ParamAttr
%type <ParamAttrs> OptFuncAttrs FuncAttr
-%type <FunctionNotes> OptFuncNotes FuncNote
-%type <FunctionNotes> FuncNoteList
+%type <ParamAttrs> OptFuncNotes FuncNote
+%type <ParamAttrs> FuncNoteList
// Basic Block Terminating Operators
%token <TermOpVal> RET BR SWITCH INVOKE UNWIND UNREACHABLE
@@ -1297,22 +1297,24 @@
FuncNoteList : FuncNote { $$ = $1; }
| FuncNoteList ',' FuncNote {
- FunctionNotes tmp = $1 | $3;
- if ($3 == FN_NOTE_NoInline && ($1 & FN_NOTE_AlwaysInline))
+ unsigned tmp = $1 | $3;
+ if ($3 == ParamAttr::FN_NOTE_NoInline
+ && ($1 & ParamAttr::FN_NOTE_AlwaysInline))
GEN_ERROR("Function Notes may include only one inline notes!")
- if ($3 == FN_NOTE_AlwaysInline && ($1 & FN_NOTE_NoInline))
+ if ($3 == ParamAttr::FN_NOTE_AlwaysInline
+ && ($1 & ParamAttr::FN_NOTE_NoInline))
GEN_ERROR("Function Notes may include only one inline notes!")
$$ = tmp;
CHECK_FOR_ERROR
}
;
-FuncNote : INLINE '=' NEVER { $$ = FN_NOTE_NoInline; }
- | INLINE '=' ALWAYS { $$ = FN_NOTE_AlwaysInline; }
- | OPTIMIZEFORSIZE { $$ = FN_NOTE_OptimizeForSize; }
+FuncNote : INLINE '=' NEVER { $$ = ParamAttr::FN_NOTE_NoInline; }
+ | INLINE '=' ALWAYS { $$ = ParamAttr::FN_NOTE_AlwaysInline; }
+ | OPTIMIZEFORSIZE { $$ = ParamAttr::FN_NOTE_OptimizeForSize; }
;
-OptFuncNotes : /* empty */ { $$ = FN_NOTE_None; }
+OptFuncNotes : /* empty */ { $$ = ParamAttr::FN_NOTE_None; }
| FNNOTE '(' FuncNoteList ')' {
$$ = $3;
}
diff --git a/lib/AsmParser/llvmAsmParser.y.cvs b/lib/AsmParser/llvmAsmParser.y.cvs
index a298dde..5cfc47d 100644
--- a/lib/AsmParser/llvmAsmParser.y.cvs
+++ b/lib/AsmParser/llvmAsmParser.y.cvs
@@ -995,7 +995,7 @@
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
llvm::ParameterAttributes ParamAttrs;
- llvm::FunctionNotes FunctionNotes;
+ llvm::ParameterAttributes FunctionNotes;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
@@ -1091,8 +1091,8 @@
%type <UIntVal> OptCallingConv LocalNumber
%type <ParamAttrs> OptParamAttrs ParamAttr
%type <ParamAttrs> OptFuncAttrs FuncAttr
-%type <FunctionNotes> OptFuncNotes FuncNote
-%type <FunctionNotes> FuncNoteList
+%type <ParamAttrs> OptFuncNotes FuncNote
+%type <ParamAttrs> FuncNoteList
// Basic Block Terminating Operators
%token <TermOpVal> RET BR SWITCH INVOKE UNWIND UNREACHABLE
@@ -1297,22 +1297,24 @@
FuncNoteList : FuncNote { $$ = $1; }
| FuncNoteList ',' FuncNote {
- FunctionNotes tmp = $1 | $3;
- if ($3 == FN_NOTE_NoInline && ($1 & FN_NOTE_AlwaysInline))
+ unsigned tmp = $1 | $3;
+ if ($3 == ParamAttr::FN_NOTE_NoInline
+ && ($1 & ParamAttr::FN_NOTE_AlwaysInline))
GEN_ERROR("Function Notes may include only one inline notes!")
- if ($3 == FN_NOTE_AlwaysInline && ($1 & FN_NOTE_NoInline))
+ if ($3 == ParamAttr::FN_NOTE_AlwaysInline
+ && ($1 & ParamAttr::FN_NOTE_NoInline))
GEN_ERROR("Function Notes may include only one inline notes!")
$$ = tmp;
CHECK_FOR_ERROR
}
;
-FuncNote : INLINE '=' NEVER { $$ = FN_NOTE_NoInline; }
- | INLINE '=' ALWAYS { $$ = FN_NOTE_AlwaysInline; }
- | OPTIMIZEFORSIZE { $$ = FN_NOTE_OptimizeForSize; }
+FuncNote : INLINE '=' NEVER { $$ = ParamAttr::FN_NOTE_NoInline; }
+ | INLINE '=' ALWAYS { $$ = ParamAttr::FN_NOTE_AlwaysInline; }
+ | OPTIMIZEFORSIZE { $$ = ParamAttr::FN_NOTE_OptimizeForSize; }
;
-OptFuncNotes : /* empty */ { $$ = FN_NOTE_None; }
+OptFuncNotes : /* empty */ { $$ = ParamAttr::FN_NOTE_None; }
| FNNOTE '(' FuncNoteList ')' {
$$ = $3;
}