From e3b8dd433cf0dd2a9e380a4351d0286302801e14 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sat, 21 Aug 2010 02:39:23 +0000 Subject: IRgen/CGValue: Add alignment to LValue, and use that alignment when generating lvalue load/stores. llvm-svn: 111710 --- clang/lib/CodeGen/CGExpr.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'clang/lib/CodeGen/CGExpr.cpp') diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 1d686be19c4..f0eec037557 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -635,11 +635,9 @@ RValue CodeGenFunction::EmitLoadOfLValue(LValue LV, QualType ExprType) { // Simple scalar l-value. // // FIXME: We shouldn't have to use isSingleValueType here. - // - // FIXME: Pass alignment! if (EltTy->isSingleValueType()) return RValue::get(EmitLoadOfScalar(Ptr, LV.isVolatileQualified(), - /*Alignment=*/0, ExprType)); + LV.getAlignment(), ExprType)); assert(ExprType->isFunctionType() && "Unknown scalar value"); return RValue::get(Ptr); @@ -849,9 +847,8 @@ void CodeGenFunction::EmitStoreThroughLValue(RValue Src, LValue Dst, } assert(Src.isScalar() && "Can't emit an agg store with this method"); - // FIXME: Pass alignment. EmitStoreOfScalar(Src.getScalarVal(), Dst.getAddress(), - Dst.isVolatileQualified(), /*Alignment=*/0, Ty); + Dst.isVolatileQualified(), Dst.getAlignment(), Ty); } void CodeGenFunction::EmitStoreThroughBitfieldLValue(RValue Src, LValue Dst, -- cgit v1.2.3