Index: llvm/include/llvm/CodeGen/AsmPrinter.h =================================================================== --- llvm/include/llvm/CodeGen/AsmPrinter.h +++ llvm/include/llvm/CodeGen/AsmPrinter.h @@ -256,6 +256,9 @@ /// Return the pointer size from the TargetMachine unsigned getPointerSize() const; + /// Return the code pointer size from the TargetMachine + unsigned getCodePointerSize() const; + /// Return information about subtarget. const MCSubtargetInfo &getSubtargetInfo() const; Index: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp =================================================================== --- llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -221,6 +221,10 @@ return TM.getPointerSize(0); // FIXME: Default address space } +unsigned AsmPrinter::getCodePointerSize() const { + return MAI->getCodePointerSize(); +} + const MCSubtargetInfo &AsmPrinter::getSubtargetInfo() const { assert(MF && "getSubtargetInfo requires a valid MachineFunction!"); return MF->getSubtarget(); Index: llvm/lib/CodeGen/AsmPrinter/DIE.cpp =================================================================== --- llvm/lib/CodeGen/AsmPrinter/DIE.cpp +++ llvm/lib/CodeGen/AsmPrinter/DIE.cpp @@ -430,7 +430,7 @@ unsigned DIEInteger::SizeOf(const AsmPrinter *AP, dwarf::Form Form) const { assert(AP && "AsmPrinter is required to set FormParams"); dwarf::FormParams Params = {AP->getDwarfVersion(), - uint8_t(AP->getPointerSize()), + uint8_t(AP->getCodePointerSize()), AP->OutStreamer->getContext().getDwarfFormat()}; if (Optional FixedSize = dwarf::getFixedFormByteSize(Form, Params))