aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/IntrinsicLowering.cpp3
-rw-r--r--lib/VMCore/Function.cpp1
-rw-r--r--lib/VMCore/Verifier.cpp5
3 files changed, 9 insertions, 0 deletions
diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp
index 3633f966f9..b665557d2b 100644
--- a/lib/CodeGen/IntrinsicLowering.cpp
+++ b/lib/CodeGen/IntrinsicLowering.cpp
@@ -172,6 +172,9 @@ void DefaultIntrinsicLowering::LowerIntrinsicCall(CallInst *CI) {
case Intrinsic::prefetch:
break; // Simply strip out prefetches on unsupported architectures
+ case Intrinsic::pcmarker:
+ break; // Simply strip out pcmarker on unsupported architectures
+
case Intrinsic::dbg_stoppoint:
case Intrinsic::dbg_region_start:
case Intrinsic::dbg_region_end:
diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp
index df8d1f904f..b883e07ddf 100644
--- a/lib/VMCore/Function.cpp
+++ b/lib/VMCore/Function.cpp
@@ -234,6 +234,7 @@ unsigned Function::getIntrinsicID() const {
break;
case 'p':
if (getName() == "llvm.prefetch") return Intrinsic::prefetch;
+ if (getName() == "llvm.pcmarker") return Intrinsic::pcmarker;
break;
case 'r':
if (getName() == "llvm.returnaddress") return Intrinsic::returnaddress;
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 89fd98081f..3964817f82 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -749,6 +749,11 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
case Intrinsic::memset: NumArgs = 4; break;
case Intrinsic::prefetch: NumArgs = 3; break;
+ case Intrinsic::pcmarker:
+ NumArgs = 1;
+ Assert1(isa<Constant>(CI.getOperand(1)),
+ "First argument to llvm.pcmarker must be a constant!", &CI);
+ break;
case Intrinsic::not_intrinsic:
assert(0 && "Invalid intrinsic!"); NumArgs = 0; break;