From: David L. Jones Date: Tue, 8 Nov 2016 22:03:23 +0000 (+0000) Subject: GlobalISel: make sure debugging variables are appropriately elided in release builds. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c457ee1edb66646224fa2d454557688152f1776b;p=llvm GlobalISel: make sure debugging variables are appropriately elided in release builds. Summary: There are two variables here that break. This change constrains both of them to debug builds (via DEBUG() or #ifndef NDEBUG). Reviewers: bkramer, t.p.northover Subscribers: mehdi_amini, vkalintiris Differential Revision: https://reviews.llvm.org/D26421 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286300 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/GlobalISel/InstructionSelect.cpp b/lib/CodeGen/GlobalISel/InstructionSelect.cpp index bd6d7e09091..72e4a23bb40 100644 --- a/lib/CodeGen/GlobalISel/InstructionSelect.cpp +++ b/lib/CodeGen/GlobalISel/InstructionSelect.cpp @@ -69,6 +69,8 @@ bool InstructionSelect::runOnMachineFunction(MachineFunction &MF) { // FIXME: freezeReservedRegs is now done in IRTranslator, but there are many // other MF/MFI fields we need to initialize. + const MachineRegisterInfo &MRI = MF.getRegInfo(); + #ifndef NDEBUG // Check that our input is fully legal: we require the function to have the // Legalized property, so it should be. @@ -77,7 +79,6 @@ bool InstructionSelect::runOnMachineFunction(MachineFunction &MF) { // The RegBankSelected property is already checked in the verifier. Note // that it has the same layering problem, but we only use inline methods so // end up not needing to link against the GlobalISel library. - const MachineRegisterInfo &MRI = MF.getRegInfo(); if (const LegalizerInfo *MLI = MF.getSubtarget().getLegalizerInfo()) for (const MachineBasicBlock &MBB : MF) for (const MachineInstr &MI : MBB) @@ -99,9 +100,10 @@ bool InstructionSelect::runOnMachineFunction(MachineFunction &MF) { bool ReachedBegin = false; for (auto MII = std::prev(MBB->end()), Begin = MBB->begin(); !ReachedBegin;) { +#ifndef NDEBUG // Keep track of the insertion range for debug printing. const auto AfterIt = std::next(MII); - +#endif // Select this instruction. MachineInstr &MI = *MII;