diff options
author | Xinliang David Li <davidxl@google.com> | 2017-11-30 19:16:25 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2017-11-30 19:16:25 +0000 |
commit | c23d2c688347639f789e4b2d33d3ed1df2fd52d9 (patch) | |
tree | 641494f1492a0f825ff4e12244831e3067b612d4 /llvm/lib | |
parent | b661757cd1379dcf3bc27976ed57dc9ea48b6a2e (diff) | |
download | bcm5719-llvm-c23d2c688347639f789e4b2d33d3ed1df2fd52d9.tar.gz bcm5719-llvm-c23d2c688347639f789e4b2d33d3ed1df2fd52d9.zip |
[PGO] Skip counter promotion for infinite loops
Differential Revision: http://reviews.llvm.org/D40662
llvm-svn: 319462
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp b/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp index db8fa897794..787afc32dfb 100644 --- a/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp +++ b/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp @@ -245,6 +245,9 @@ public: } bool run(int64_t *NumPromoted) { + // Skip 'infinite' loops: + if (ExitBlocks.size() == 0) + return false; unsigned MaxProm = getMaxNumOfPromotionsInLoop(&L); if (MaxProm == 0) return false; |