diff options
Diffstat (limited to 'lib/CodeGen/CGCleanup.cpp')
| -rw-r--r-- | lib/CodeGen/CGCleanup.cpp | 25 | 
1 files changed, 9 insertions, 16 deletions
diff --git a/lib/CodeGen/CGCleanup.cpp b/lib/CodeGen/CGCleanup.cpp index 3743d24f11fc0..5594f3030229d 100644 --- a/lib/CodeGen/CGCleanup.cpp +++ b/lib/CodeGen/CGCleanup.cpp @@ -1,9 +1,8 @@  //===--- CGCleanup.cpp - Bookkeeping and code emission for cleanups -------===//  // -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception  //  //===----------------------------------------------------------------------===//  // @@ -53,12 +52,8 @@ DominatingValue<RValue>::saved_type::save(CodeGenFunction &CGF, RValue rv) {      llvm::Type *ComplexTy =          llvm::StructType::get(V.first->getType(), V.second->getType());      Address addr = CGF.CreateDefaultAlignTempAlloca(ComplexTy, "saved-complex"); -    CGF.Builder.CreateStore(V.first, -                            CGF.Builder.CreateStructGEP(addr, 0, CharUnits())); -    CharUnits offset = CharUnits::fromQuantity( -               CGF.CGM.getDataLayout().getTypeAllocSize(V.first->getType())); -    CGF.Builder.CreateStore(V.second, -                            CGF.Builder.CreateStructGEP(addr, 1, offset)); +    CGF.Builder.CreateStore(V.first, CGF.Builder.CreateStructGEP(addr, 0)); +    CGF.Builder.CreateStore(V.second, CGF.Builder.CreateStructGEP(addr, 1));      return saved_type(addr.getPointer(), ComplexAddress);    } @@ -96,12 +91,10 @@ RValue DominatingValue<RValue>::saved_type::restore(CodeGenFunction &CGF) {    }    case ComplexAddress: {      Address address = getSavingAddress(Value); -    llvm::Value *real = CGF.Builder.CreateLoad( -                 CGF.Builder.CreateStructGEP(address, 0, CharUnits())); -    CharUnits offset = CharUnits::fromQuantity( -                 CGF.CGM.getDataLayout().getTypeAllocSize(real->getType())); -    llvm::Value *imag = CGF.Builder.CreateLoad( -                 CGF.Builder.CreateStructGEP(address, 1, offset)); +    llvm::Value *real = +        CGF.Builder.CreateLoad(CGF.Builder.CreateStructGEP(address, 0)); +    llvm::Value *imag = +        CGF.Builder.CreateLoad(CGF.Builder.CreateStructGEP(address, 1));      return RValue::getComplex(real, imag);    }    }  | 
