diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2009-12-15 18:09:07 +0000 | 
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2009-12-15 18:09:07 +0000 | 
| commit | 571945e6affd20b19264ec22495da418d0fbdbb4 (patch) | |
| tree | 076117cdf3579003f07cad4cdf0593347ce58150 /include/llvm/CodeGen/MachineFrameInfo.h | |
| parent | 06f9d4012fb8acea3e9861d5722b5965dbb724d9 (diff) | |
Notes
Diffstat (limited to 'include/llvm/CodeGen/MachineFrameInfo.h')
| -rw-r--r-- | include/llvm/CodeGen/MachineFrameInfo.h | 15 | 
1 files changed, 14 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/MachineFrameInfo.h b/include/llvm/CodeGen/MachineFrameInfo.h index bed82af81c14..968e4eae3a69 100644 --- a/include/llvm/CodeGen/MachineFrameInfo.h +++ b/include/llvm/CodeGen/MachineFrameInfo.h @@ -327,7 +327,20 @@ public:    /// setMaxAlignment - Set the preferred alignment.    ///    void setMaxAlignment(unsigned Align) { MaxAlignment = Align; } -   + +  /// calculateMaxStackAlignment() - If there is a local object which requires +  /// greater alignment than the current max alignment, adjust accordingly. +  void calculateMaxStackAlignment() { +    for (int i = getObjectIndexBegin(), +         e = getObjectIndexEnd(); i != e; ++i) { +      if (isDeadObjectIndex(i)) +        continue; + +      unsigned Align = getObjectAlignment(i); +      MaxAlignment = std::max(MaxAlignment, Align); +    } +  } +    /// hasCalls - Return true if the current function has no function calls.    /// This is only valid during or after prolog/epilog code emission.    ///  | 
