Index: llvm/lib/Target/RISCV/RISCVSubtarget.h =================================================================== --- llvm/lib/Target/RISCV/RISCVSubtarget.h +++ llvm/lib/Target/RISCV/RISCVSubtarget.h @@ -48,7 +48,6 @@ bool ATTRIBUTE = DEFAULT; #include "RISCVGenSubtargetInfo.inc" - unsigned XLen = 32; unsigned ZvlLen = 0; unsigned RVVVectorBitsMin; unsigned RVVVectorBitsMax; @@ -127,12 +126,10 @@ } bool is64Bit() const { return IsRV64; } MVT getXLenVT() const { - return MVT::getIntegerVT(getXLen()); + return is64Bit() ? MVT::i64 : MVT::i32; } unsigned getXLen() const { - assert((XLen == 32 || XLen == 64) && - "unexpected xlen"); - return XLen; + return is64Bit() ? 64 : 32; } unsigned getFLen() const { if (HasStdExtD) Index: llvm/lib/Target/RISCV/RISCVSubtarget.cpp =================================================================== --- llvm/lib/Target/RISCV/RISCVSubtarget.cpp +++ llvm/lib/Target/RISCV/RISCVSubtarget.cpp @@ -66,8 +66,7 @@ TuneCPU = CPU; ParseSubtargetFeatures(CPU, TuneCPU, FS); - if (Is64Bit) - XLen = 64; + assert(Is64Bit == IsRV64 && "unexpected triple/cpu mismatch"); TargetABI = RISCVABI::computeTargetABI(TT, getFeatureBits(), ABIName); RISCVFeatures::validate(TT, getFeatureBits());