diff options
author | Devang Patel <dpatel@apple.com> | 2009-06-04 22:05:33 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-06-04 22:05:33 +0000 |
commit | 66bd777e9009fd6a606532f9ed96745e86f3937c (patch) | |
tree | bf18aac26483ba94dfa71c81dc2f5d2fb2bbe517 /include | |
parent | d87cf08c273a278afbd9583e25bd9c2c1755bf7b (diff) | |
download | external_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.h | 4 | ||||
-rw-r--r-- | include/llvm/Target/TargetOptions.h | 4 |
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 |