[polly] r299360 - [PerfMonitor] Use Intrinsics::getDeclaration
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 3 08:23:08 PDT 2017
Author: grosser
Date: Mon Apr 3 10:23:08 2017
New Revision: 299360
URL: http://llvm.org/viewvc/llvm-project?rev=299360&view=rev
Log:
[PerfMonitor] Use Intrinsics::getDeclaration
Instead of creating the declaration ourselves, we obtain it directly from the
LLVM intrinsic definitions. This addresses a post-review comment for r299359.
Suggested-by: Hongzing Zheng <etherzhhb at gmail.com>
Modified:
polly/trunk/lib/CodeGen/PerfMonitor.cpp
Modified: polly/trunk/lib/CodeGen/PerfMonitor.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/PerfMonitor.cpp?rev=299360&r1=299359&r2=299360&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/PerfMonitor.cpp (original)
+++ polly/trunk/lib/CodeGen/PerfMonitor.cpp Mon Apr 3 10:23:08 2017
@@ -12,6 +12,7 @@
#include "polly/CodeGen/PerfMonitor.h"
#include "polly/CodeGen/RuntimeDebugBuilder.h"
#include "llvm/ADT/Triple.h"
+#include "llvm/IR/Intrinsics.h"
using namespace llvm;
using namespace polly;
@@ -56,17 +57,7 @@ void PerfMonitor::addToGlobalConstructor
}
Function *PerfMonitor::getRDTSCP() {
- const char *Name = "llvm.x86.rdtscp";
- Function *F = M->getFunction(Name);
-
- if (!F) {
- GlobalValue::LinkageTypes Linkage = Function::ExternalLinkage;
- FunctionType *Ty = FunctionType::get(Builder.getInt64Ty(),
- {Builder.getInt8PtrTy()}, false);
- F = Function::Create(Ty, Linkage, Name, M);
- }
-
- return F;
+ return Intrinsic::getDeclaration(M, Intrinsic::x86_rdtscp);
}
PerfMonitor::PerfMonitor(Module *M) : M(M), Builder(M->getContext()) {
More information about the llvm-commits
mailing list