From: David Blaikie Date: Mon, 6 Apr 2020 21:24:31 +0000 (-0700) Subject: X86ISelLowering: Minor refactor to avoid redundant initialization while ensuring... X-Git-Tag: llvmorg-12-init~9873 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5aead592f09db941d6fc9c075e474c59b7d1d4f9;p=platform%2Fupstream%2Fllvm.git X86ISelLowering: Minor refactor to avoid redundant initialization while ensuring compiler warnings can hopefully still prove initialization Based on post-commit review/discussion in fabe52a7412b --- diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index e3fe925..777e376 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -23647,19 +23647,18 @@ SDValue X86TargetLowering::LowerVAARG(SDValue Op, SelectionDAG &DAG) const { EVT ArgVT = Op.getNode()->getValueType(0); Type *ArgTy = ArgVT.getTypeForEVT(*DAG.getContext()); uint32_t ArgSize = DAG.getDataLayout().getTypeAllocSize(ArgTy); - uint8_t ArgMode = 0; + uint8_t ArgMode; // Decide which area this value should be read from. // TODO: Implement the AMD64 ABI in its entirety. This simple // selection mechanism works only for the basic types. - if (ArgVT == MVT::f80) { - llvm_unreachable("va_arg for f80 not yet implemented"); - } else if (ArgVT.isFloatingPoint() && ArgSize <= 16 /*bytes*/) { + assert(ArgVT != MVT::f80 && "va_arg for f80 not yet implemented"); + if (ArgVT.isFloatingPoint() && ArgSize <= 16 /*bytes*/) { ArgMode = 2; // Argument passed in XMM register. Use fp_offset. - } else if (ArgVT.isInteger() && ArgSize <= 32 /*bytes*/) { - ArgMode = 1; // Argument passed in GPR64 register(s). Use gp_offset. } else { - llvm_unreachable("Unhandled argument type in LowerVAARG"); + assert(ArgVT.isInteger() && ArgSize <= 32 /*bytes*/ && + "Unhandled argument type in LowerVAARG"); + ArgMode = 1; // Argument passed in GPR64 register(s). Use gp_offset. } if (ArgMode == 2) {