This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGea2cfda386f1: [CGExpr] Use getCharWidth() more consistently in CCGExprConstant. NFC (authored by bjope).
Changed prior to commit: https://reviews.llvm.org/D94979?vs=318135&id=318607#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94979/new/ https://reviews.llvm.org/D94979 Files: clang/lib/CodeGen/CGExprConstant.cpp clang/lib/CodeGen/CodeGenModule.cpp clang/lib/CodeGen/CodeGenTypeCache.h Index: clang/lib/CodeGen/CodeGenTypeCache.h =================================================================== --- clang/lib/CodeGen/CodeGenTypeCache.h +++ clang/lib/CodeGen/CodeGenTypeCache.h @@ -41,6 +41,9 @@ /// int llvm::IntegerType *IntTy; + /// char + llvm::IntegerType *CharTy; + /// intptr_t, size_t, and ptrdiff_t, which we assume are the same size. union { llvm::IntegerType *IntPtrTy; Index: clang/lib/CodeGen/CodeGenModule.cpp =================================================================== --- clang/lib/CodeGen/CodeGenModule.cpp +++ clang/lib/CodeGen/CodeGenModule.cpp @@ -123,6 +123,8 @@ C.toCharUnitsFromBits(C.getTargetInfo().getMaxPointerWidth()).getQuantity(); IntAlignInBytes = C.toCharUnitsFromBits(C.getTargetInfo().getIntAlign()).getQuantity(); + CharTy = + llvm::IntegerType::get(LLVMContext, C.getTargetInfo().getCharWidth()); IntTy = llvm::IntegerType::get(LLVMContext, C.getTargetInfo().getIntWidth()); IntPtrTy = llvm::IntegerType::get(LLVMContext, C.getTargetInfo().getMaxPointerWidth()); Index: clang/lib/CodeGen/CGExprConstant.cpp =================================================================== --- clang/lib/CodeGen/CGExprConstant.cpp +++ clang/lib/CodeGen/CGExprConstant.cpp @@ -58,14 +58,14 @@ } llvm::Constant *getPadding(CharUnits PadSize) const { - llvm::Type *Ty = CGM.Int8Ty; + llvm::Type *Ty = CGM.CharTy; if (PadSize > CharUnits::One()) Ty = llvm::ArrayType::get(Ty, PadSize.getQuantity()); return llvm::UndefValue::get(Ty); } llvm::Constant *getZeroes(CharUnits ZeroSize) const { - llvm::Type *Ty = llvm::ArrayType::get(CGM.Int8Ty, ZeroSize.getQuantity()); + llvm::Type *Ty = llvm::ArrayType::get(CGM.CharTy, ZeroSize.getQuantity()); return llvm::ConstantAggregateZero::get(Ty); } }; @@ -1069,7 +1069,7 @@ assert(CurSize <= TotalSize && "Union size mismatch!"); if (unsigned NumPadBytes = TotalSize - CurSize) { - llvm::Type *Ty = CGM.Int8Ty; + llvm::Type *Ty = CGM.CharTy; if (NumPadBytes > 1) Ty = llvm::ArrayType::get(Ty, NumPadBytes);
Index: clang/lib/CodeGen/CodeGenTypeCache.h =================================================================== --- clang/lib/CodeGen/CodeGenTypeCache.h +++ clang/lib/CodeGen/CodeGenTypeCache.h @@ -41,6 +41,9 @@ /// int llvm::IntegerType *IntTy; + /// char + llvm::IntegerType *CharTy; + /// intptr_t, size_t, and ptrdiff_t, which we assume are the same size. union { llvm::IntegerType *IntPtrTy; Index: clang/lib/CodeGen/CodeGenModule.cpp =================================================================== --- clang/lib/CodeGen/CodeGenModule.cpp +++ clang/lib/CodeGen/CodeGenModule.cpp @@ -123,6 +123,8 @@ C.toCharUnitsFromBits(C.getTargetInfo().getMaxPointerWidth()).getQuantity(); IntAlignInBytes = C.toCharUnitsFromBits(C.getTargetInfo().getIntAlign()).getQuantity(); + CharTy = + llvm::IntegerType::get(LLVMContext, C.getTargetInfo().getCharWidth()); IntTy = llvm::IntegerType::get(LLVMContext, C.getTargetInfo().getIntWidth()); IntPtrTy = llvm::IntegerType::get(LLVMContext, C.getTargetInfo().getMaxPointerWidth()); Index: clang/lib/CodeGen/CGExprConstant.cpp =================================================================== --- clang/lib/CodeGen/CGExprConstant.cpp +++ clang/lib/CodeGen/CGExprConstant.cpp @@ -58,14 +58,14 @@ } llvm::Constant *getPadding(CharUnits PadSize) const { - llvm::Type *Ty = CGM.Int8Ty; + llvm::Type *Ty = CGM.CharTy; if (PadSize > CharUnits::One()) Ty = llvm::ArrayType::get(Ty, PadSize.getQuantity()); return llvm::UndefValue::get(Ty); } llvm::Constant *getZeroes(CharUnits ZeroSize) const { - llvm::Type *Ty = llvm::ArrayType::get(CGM.Int8Ty, ZeroSize.getQuantity()); + llvm::Type *Ty = llvm::ArrayType::get(CGM.CharTy, ZeroSize.getQuantity()); return llvm::ConstantAggregateZero::get(Ty); } }; @@ -1069,7 +1069,7 @@ assert(CurSize <= TotalSize && "Union size mismatch!"); if (unsigned NumPadBytes = TotalSize - CurSize) { - llvm::Type *Ty = CGM.Int8Ty; + llvm::Type *Ty = CGM.CharTy; if (NumPadBytes > 1) Ty = llvm::ArrayType::get(Ty, NumPadBytes);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits