aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-06-04 22:05:33 +0000
committerDevang Patel <dpatel@apple.com>2009-06-04 22:05:33 +0000
commit66bd777e9009fd6a606532f9ed96745e86f3937c (patch)
treebf18aac26483ba94dfa71c81dc2f5d2fb2bbe517 /include
parentd87cf08c273a278afbd9583e25bd9c2c1755bf7b (diff)
downloadexternal_llvm-66bd777e9009fd6a606532f9ed96745e86f3937c.tar.gz
external_llvm-66bd777e9009fd6a606532f9ed96745e86f3937c.tar.bz2
external_llvm-66bd777e9009fd6a606532f9ed96745e86f3937c.zip
Add new function attribute - noredzone.
Update code generator to use this attribute and remove DisableRedZone target option. Update llc to set this attribute when -disable-red-zone command line option is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72894 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Attributes.h4
-rw-r--r--include/llvm/Target/TargetOptions.h4
2 files changed, 3 insertions, 5 deletions
diff --git a/include/llvm/Attributes.h b/include/llvm/Attributes.h
index 972dbfa518..492b023663 100644
--- a/include/llvm/Attributes.h
+++ b/include/llvm/Attributes.h
@@ -54,13 +54,15 @@ const Attributes Alignment = 31<<16; ///< Alignment of parameter (5 bits)
// stored as log2 of alignment with +1 bias
// 0 means unaligned different from align 1
const Attributes NoCapture = 1<<21; ///< Function creates no aliases of pointer
+const Attributes NoRedZone = 1<<22; /// disable redzone
/// @brief Attributes that only apply to function parameters.
const Attributes ParameterOnly = ByVal | Nest | StructRet | NoCapture;
/// @brief Attributes that only apply to function.
const Attributes FunctionOnly = NoReturn | NoUnwind | ReadNone | ReadOnly |
- NoInline | AlwaysInline | OptimizeForSize | StackProtect | StackProtectReq;
+ NoInline | AlwaysInline | OptimizeForSize | StackProtect | StackProtectReq |
+ NoRedZone;
/// @brief Parameter attributes that do not apply to vararg call arguments.
const Attributes VarArgsIncompatible = StructRet;
diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h
index 06d7d79441..4869157d74 100644
--- a/include/llvm/Target/TargetOptions.h
+++ b/include/llvm/Target/TargetOptions.h
@@ -117,10 +117,6 @@ namespace llvm {
/// wth earlier copy coalescing.
extern bool StrongPHIElim;
- /// DisableRedZone - This flag disables use of the "Red Zone" on
- /// targets which would otherwise have one.
- extern bool DisableRedZone;
-
} // End llvm namespace
#endif