Reduce size of 'StackAlignment' field from 5 to 3 bits. Seriously, who needs a
authorCharles Davis <cdavis@mines.edu>
Sun, 21 Feb 2010 04:26:06 +0000 (04:26 +0000)
committerCharles Davis <cdavis@mines.edu>
Sun, 21 Feb 2010 04:26:06 +0000 (04:26 +0000)
2GB-aligned stack anyway? 256 bytes is plenty. Requested by Chris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96718 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Attributes.h

index 126c290b5a74f9ff22300dd9300120e5e9502013..1296d67d5258e669c5b354f9fe6c856b1b543913 100644 (file)
@@ -60,11 +60,11 @@ const Attributes NoImplicitFloat = 1<<23; /// disable implicit floating point
 const Attributes Naked           = 1<<24; ///< Naked function
 const Attributes InlineHint      = 1<<25; ///< source said inlining was
                                           ///desirable
-const Attributes StackAlignment  = 31<<26; ///< Alignment of stack for
-                                           ///function (5 bits) stored as log2
-                                           ///of alignment with +1 bias
-                                           ///0 means unaligned (different from
-                                           ///alignstack(1))
+const Attributes StackAlignment  = 7<<26; ///< Alignment of stack for
+                                          ///function (3 bits) stored as log2
+                                          ///of alignment with +1 bias
+                                          ///0 means unaligned (different from
+                                          ///alignstack(1))
 
 /// @brief Attributes that only apply to function parameters.
 const Attributes ParameterOnly = ByVal | Nest | StructRet | NoCapture;
@@ -118,7 +118,7 @@ inline Attributes constructStackAlignmentFromInt(unsigned i) {
     return 0;
 
   assert(isPowerOf2_32(i) && "Alignment must be a power of two.");
-  assert(i <= 0x40000000 && "Alignment too large.");
+  assert(i <= 0x100 && "Alignment too large.");
   return (Log2_32(i)+1) << 26;
 }