diff options
Diffstat (limited to 'lib/Target/SystemZ/SystemZLDCleanup.cpp')
-rw-r--r-- | lib/Target/SystemZ/SystemZLDCleanup.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/SystemZ/SystemZLDCleanup.cpp b/lib/Target/SystemZ/SystemZLDCleanup.cpp index 24165be29ae77..2cdf2f9bf9909 100644 --- a/lib/Target/SystemZ/SystemZLDCleanup.cpp +++ b/lib/Target/SystemZ/SystemZLDCleanup.cpp @@ -64,6 +64,9 @@ void SystemZLDCleanup::getAnalysisUsage(AnalysisUsage &AU) const { } bool SystemZLDCleanup::runOnMachineFunction(MachineFunction &F) { + if (skipFunction(*F.getFunction())) + return false; + TII = static_cast<const SystemZInstrInfo *>(F.getSubtarget().getInstrInfo()); MF = &F; @@ -92,9 +95,9 @@ bool SystemZLDCleanup::VisitNode(MachineDomTreeNode *Node, switch (I->getOpcode()) { case SystemZ::TLS_LDCALL: if (TLSBaseAddrReg) - I = ReplaceTLSCall(I, TLSBaseAddrReg); + I = ReplaceTLSCall(&*I, TLSBaseAddrReg); else - I = SetRegister(I, &TLSBaseAddrReg); + I = SetRegister(&*I, &TLSBaseAddrReg); Changed = true; break; default: |