in lib/LLVMSupport/Support/Triple.cpp [1414:1466]
Triple Triple::getBigEndianArchVariant() const {
Triple T(*this);
// Already big endian.
if (!isLittleEndian())
return T;
switch (getArch()) {
case Triple::UnknownArch:
case Triple::amdgcn:
case Triple::amdil64:
case Triple::amdil:
case Triple::avr:
case Triple::hexagon:
case Triple::hsail64:
case Triple::hsail:
case Triple::kalimba:
case Triple::le32:
case Triple::le64:
case Triple::msp430:
case Triple::nvptx64:
case Triple::nvptx:
case Triple::r600:
case Triple::riscv32:
case Triple::riscv64:
case Triple::shave:
case Triple::spir64:
case Triple::spir:
case Triple::wasm32:
case Triple::wasm64:
case Triple::x86:
case Triple::x86_64:
case Triple::xcore:
case Triple::renderscript32:
case Triple::renderscript64:
// ARM is intentionally unsupported here, changing the architecture would
// drop any arch suffixes.
case Triple::arm:
case Triple::thumb:
T.setArch(UnknownArch);
break;
case Triple::tcele: T.setArch(Triple::tce); break;
case Triple::aarch64: T.setArch(Triple::aarch64_be); break;
case Triple::bpfel: T.setArch(Triple::bpfeb); break;
case Triple::mips64el:T.setArch(Triple::mips64); break;
case Triple::mipsel: T.setArch(Triple::mips); break;
case Triple::ppc64le: T.setArch(Triple::ppc64); break;
case Triple::sparcel: T.setArch(Triple::sparc); break;
default:
llvm_unreachable("getBigEndianArchVariant: unknown triple.");
}
return T;
}