diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-12-03 04:14:32 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-12-03 04:14:32 +0000 |
commit | a0544d6fdf44a9a28ab324478fcf463d9e37a116 (patch) | |
tree | 19c35ff91754811a816dd29b050a034e549bf6f7 /clang/lib/CodeGen/CGValue.h | |
parent | b2b0795c9fb3e01a60e5592a3ec8816a3d2addb0 (diff) | |
download | bcm5719-llvm-a0544d6fdf44a9a28ab324478fcf463d9e37a116.tar.gz bcm5719-llvm-a0544d6fdf44a9a28ab324478fcf463d9e37a116.zip |
Switch LValue so that it exposes alignment in CharUnits. (No functional change.)
llvm-svn: 145753
Diffstat (limited to 'clang/lib/CodeGen/CGValue.h')
-rw-r--r-- | clang/lib/CodeGen/CGValue.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/clang/lib/CodeGen/CGValue.h b/clang/lib/CodeGen/CGValue.h index fd85fb24894..b8fe2a25b46 100644 --- a/clang/lib/CodeGen/CGValue.h +++ b/clang/lib/CodeGen/CGValue.h @@ -151,12 +151,14 @@ class LValue { llvm::MDNode *TBAAInfo; private: - void Initialize(QualType Type, Qualifiers Quals, unsigned Alignment = 0, + void Initialize(QualType Type, Qualifiers Quals, + CharUnits Alignment = CharUnits(), llvm::MDNode *TBAAInfo = 0) { this->Type = Type; this->Quals = Quals; - this->Alignment = Alignment; - assert(this->Alignment == Alignment && "Alignment exceeds allowed max!"); + this->Alignment = Alignment.getQuantity(); + assert(this->Alignment == Alignment.getQuantity() && + "Alignment exceeds allowed max!"); // Initialize Objective-C flags. this->Ivar = this->ObjIsArray = this->NonGC = this->GlobalObjCRef = false; @@ -220,8 +222,8 @@ public: unsigned getAddressSpace() const { return Quals.getAddressSpace(); } - unsigned getAlignment() const { return Alignment; } - void setAlignment(unsigned A) { Alignment = A; } + CharUnits getAlignment() const { return CharUnits::fromQuantity(Alignment); } + void setAlignment(CharUnits A) { Alignment = A.getQuantity(); } // simple lvalue llvm::Value *getAddress() const { assert(isSimple()); return V; } @@ -252,7 +254,7 @@ public: } static LValue MakeAddr(llvm::Value *address, QualType type, - unsigned alignment, ASTContext &Context, + CharUnits alignment, ASTContext &Context, llvm::MDNode *TBAAInfo = 0) { Qualifiers qs = type.getQualifiers(); qs.setObjCGCAttr(Context.getObjCGCAttrKind(type)); @@ -393,7 +395,7 @@ public: NeedsGCBarriers_t needsGC, IsAliased_t isAliased, IsZeroed_t isZeroed = IsNotZeroed) { - return forAddr(LV.getAddress(), CharUnits::fromQuantity(LV.getAlignment()), + return forAddr(LV.getAddress(), LV.getAlignment(), LV.getQuals(), isDestructed, needsGC, isAliased, isZeroed); } |