From 1afe7736ff4b7fb8c566cff600f9cdb3be188e38 Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Wed, 28 Apr 2004 04:45:55 +0000 Subject: [PATCH] Make RequiresFPRegKill() take a MachineBasicBlock arg. In InsertFPRegKills(), just check the MachineBasicBlock for successors instead of its corresponding BasicBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13213 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/InstSelectSimple.cpp | 6 +++--- lib/Target/X86/X86ISelSimple.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp index 508bbc89589..90d4bae0dc6 100644 --- a/lib/Target/X86/InstSelectSimple.cpp +++ b/lib/Target/X86/InstSelectSimple.cpp @@ -684,8 +684,9 @@ void ISel::SelectPHINodes() { /// Note that this kill instruction will eventually be eliminated when /// restrictions in the stackifier are relaxed. /// -static bool RequiresFPRegKill(const BasicBlock *BB) { +static bool RequiresFPRegKill(const MachineBasicBlock *MBB) { #if 0 + const BasicBlock *BB = MBB->getBasicBlock (); for (succ_const_iterator SI = succ_begin(BB), E = succ_end(BB); SI!=E; ++SI) { const BasicBlock *Succ = *SI; pred_const_iterator PI = pred_begin(Succ), PE = pred_end(Succ); @@ -756,8 +757,7 @@ void ISel::InsertFPRegKills() { UsesFPReg: // Okay, this block uses an FP register. If the block has successors (ie, // it's not an unwind/return), insert the FP_REG_KILL instruction. - if (BB->getBasicBlock()->getTerminator()->getNumSuccessors() && - RequiresFPRegKill(BB->getBasicBlock())) { + if (BB->succ_size () && RequiresFPRegKill(BB)) { BuildMI(*BB, BB->getFirstTerminator(), X86::FP_REG_KILL, 0); ++NumFPKill; } diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index 508bbc89589..90d4bae0dc6 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -684,8 +684,9 @@ void ISel::SelectPHINodes() { /// Note that this kill instruction will eventually be eliminated when /// restrictions in the stackifier are relaxed. /// -static bool RequiresFPRegKill(const BasicBlock *BB) { +static bool RequiresFPRegKill(const MachineBasicBlock *MBB) { #if 0 + const BasicBlock *BB = MBB->getBasicBlock (); for (succ_const_iterator SI = succ_begin(BB), E = succ_end(BB); SI!=E; ++SI) { const BasicBlock *Succ = *SI; pred_const_iterator PI = pred_begin(Succ), PE = pred_end(Succ); @@ -756,8 +757,7 @@ void ISel::InsertFPRegKills() { UsesFPReg: // Okay, this block uses an FP register. If the block has successors (ie, // it's not an unwind/return), insert the FP_REG_KILL instruction. - if (BB->getBasicBlock()->getTerminator()->getNumSuccessors() && - RequiresFPRegKill(BB->getBasicBlock())) { + if (BB->succ_size () && RequiresFPRegKill(BB)) { BuildMI(*BB, BB->getFirstTerminator(), X86::FP_REG_KILL, 0); ++NumFPKill; }