#ifndef CLANG_CODEGEN_CGVALUE_H
#define CLANG_CODEGEN_CGVALUE_H
+#include "clang/AST/ASTContext.h"
#include "clang/AST/Type.h"
namespace llvm {
return R;
}
+ static LValue MakeAddr(llvm::Value *V, QualType T, ASTContext &Context) {
+ Qualifiers Quals = Context.getCanonicalType(T).getQualifiers();
+ Quals.setObjCGCAttr(Context.getObjCGCAttrKind(T));
+
+ return MakeAddr(V, Quals);
+ }
+
static LValue MakeVectorElt(llvm::Value *Vec, llvm::Value *Idx,
unsigned CVR) {
LValue R;
return Quals;
}
+ LValue MakeAddrLValue(llvm::Value *V, QualType T) {
+ return LValue::MakeAddr(V, T, getContext());
+ }
+
/// CreateTempAlloca - This creates a alloca and inserts it into the entry
/// block. The caller is responsible for setting an appropriate alignment on
/// the alloca.