From: Chris Lattner Date: Sun, 6 Nov 2005 06:44:42 +0000 (+0000) Subject: allow functions and modules to have an explicit alignment X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b2f71b12f7acd5976c9b2aa2d0402df5f31a7158;p=oota-llvm.git allow functions and modules to have an explicit alignment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24209 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/GlobalValue.h b/include/llvm/GlobalValue.h index ca92b21c7fb..a6db31dc9b1 100644 --- a/include/llvm/GlobalValue.h +++ b/include/llvm/GlobalValue.h @@ -42,11 +42,18 @@ protected: LinkageTypes Linkage; // The linkage of this global Module *Parent; + unsigned Alignment; public: ~GlobalValue() { removeDeadConstantUsers(); // remove any dead constants using this. } + unsigned getAlignment() const { return Alignment; } + void setAlignment(unsigned Align) { + assert((Align & (Align-1)) == 0 && "Alignment is not a power of 2!"); + Alignment = Align; + } + /// If the usage is empty (except transitively dead constants), then this /// global value can can be safely deleted since the destructor will /// delete the dead constants as well.