summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-08-24 07:55:13 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-08-24 07:55:13 +0000
commit00459e4a0618b1832626d0eb320c66bde94ea701 (patch)
treee27f24b5ee44f03a024b9cc97a257af99d3e479e
parent046a969360a08de4c3056937ccead111f6c5be9d (diff)
downloadbcm5719-llvm-00459e4a0618b1832626d0eb320c66bde94ea701.tar.gz
bcm5719-llvm-00459e4a0618b1832626d0eb320c66bde94ea701.zip
IPRA: Exit early on functions without calls
llvm-svn: 311636
-rw-r--r--llvm/lib/CodeGen/RegUsageInfoPropagate.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp b/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp
index 5cc35bfeca6..a39c9457b3a 100644
--- a/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp
+++ b/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp
@@ -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) {
OpenPOWER on IntegriCloud