diff options
author | Charles Davis <cdavis@mines.edu> | 2010-10-25 15:37:09 +0000 |
---|---|---|
committer | Charles Davis <cdavis@mines.edu> | 2010-10-25 15:37:09 +0000 |
commit | 970bfcc7d8b9991430caa7ab33975617f3f4c40d (patch) | |
tree | 4d3a6ad9273bd06be457f993741ac2b9cc78fca3 /lib/AsmParser | |
parent | d8c5ec6aece5732c766bd7d773ff75976d364168 (diff) | |
download | external_llvm-970bfcc7d8b9991430caa7ab33975617f3f4c40d.zip external_llvm-970bfcc7d8b9991430caa7ab33975617f3f4c40d.tar.gz external_llvm-970bfcc7d8b9991430caa7ab33975617f3f4c40d.tar.bz2 |
Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op
instruction at the beginning of each function that has the attribute, allowing
the function to be easily hooked and/or patched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117264 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser')
-rw-r--r-- | lib/AsmParser/LLLexer.cpp | 1 | ||||
-rw-r--r-- | lib/AsmParser/LLParser.cpp | 1 | ||||
-rw-r--r-- | lib/AsmParser/LLToken.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp index eeaadf6..f924b5a 100644 --- a/lib/AsmParser/LLLexer.cpp +++ b/lib/AsmParser/LLLexer.cpp @@ -573,6 +573,7 @@ lltok::Kind LLLexer::LexIdentifier() { KEYWORD(noredzone); KEYWORD(noimplicitfloat); KEYWORD(naked); + KEYWORD(hotpatch); KEYWORD(type); KEYWORD(opaque); diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index 4d3bd87..a1f70fb 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -982,6 +982,7 @@ bool LLParser::ParseOptionalAttrs(unsigned &Attrs, unsigned AttrKind) { case lltok::kw_noredzone: Attrs |= Attribute::NoRedZone; break; case lltok::kw_noimplicitfloat: Attrs |= Attribute::NoImplicitFloat; break; case lltok::kw_naked: Attrs |= Attribute::Naked; break; + case lltok::kw_hotpatch: Attrs |= Attribute::Hotpatch; break; case lltok::kw_alignstack: { unsigned Alignment; diff --git a/lib/AsmParser/LLToken.h b/lib/AsmParser/LLToken.h index 8a8663e..72128c9 100644 --- a/lib/AsmParser/LLToken.h +++ b/lib/AsmParser/LLToken.h @@ -96,6 +96,7 @@ namespace lltok { kw_noredzone, kw_noimplicitfloat, kw_naked, + kw_hotpatch, kw_type, kw_opaque, |