]> granicus.if.org Git - llvm/commitdiff
IPRA: Exit early on functions without calls
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 24 Aug 2017 07:55:13 +0000 (07:55 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 24 Aug 2017 07:55:13 +0000 (07:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311636 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegUsageInfoPropagate.cpp

index 5cc35bfeca6308b213fb2e3dd008e204b3e8a966..a39c9457b3a40570682bf6a807f0ea023379b534 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/CodeGen/MachineRegisterInfo.h"
 #include "llvm/CodeGen/Passes.h"
@@ -95,6 +96,10 @@ bool RegUsageInfoPropagationPass::runOnMachineFunction(MachineFunction &MF) {
                << " ++++++++++++++++++++  \n");
   DEBUG(dbgs() << "MachineFunction : " << MF.getName() << "\n");
 
+  const MachineFrameInfo &MFI = MF.getFrameInfo();
+  if (!MFI.hasCalls() && !MFI.hasTailCall())
+    return false;
+
   bool Changed = false;
 
   for (MachineBasicBlock &MBB : MF) {