From: Eric Christopher Date: Tue, 3 Feb 2015 06:40:22 +0000 (+0000) Subject: Define a runOnMachineFunction for the Hexagon AsmPrinter and X-Git-Tag: llvmorg-3.7.0-rc1~13275 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8f276db622cb38e160de447c03281bac11f9d6c8;p=platform%2Fupstream%2Fllvm.git Define a runOnMachineFunction for the Hexagon AsmPrinter and use it to initialize the subtarget. llvm-svn: 227948 --- diff --git a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp index d0aef52..dd4bf15 100644 --- a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp +++ b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp @@ -63,9 +63,7 @@ static cl::opt AlignCalls( HexagonAsmPrinter::HexagonAsmPrinter(TargetMachine &TM, std::unique_ptr Streamer) - : AsmPrinter(TM, std::move(Streamer)) { - Subtarget = &TM.getSubtarget(); -} + : AsmPrinter(TM, std::move(Streamer)), Subtarget(nullptr) {} void HexagonAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo, raw_ostream &O) { diff --git a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h index 66cc1ac..792fc8b 100644 --- a/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h +++ b/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h @@ -28,6 +28,11 @@ namespace llvm { explicit HexagonAsmPrinter(TargetMachine &TM, std::unique_ptr Streamer); + bool runOnMachineFunction(MachineFunction &Fn) override { + Subtarget = &Fn.getSubtarget(); + return AsmPrinter::runOnMachineFunction(Fn); + } + const char *getPassName() const override { return "Hexagon Assembly Printer"; }