summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2018-12-06 00:52:54 +0000
committerPete Cooper <peter_cooper@apple.com>2018-12-06 00:52:54 +0000
commite13d0992dcd0649bee760d3d606b9353edfd1ebc (patch)
treeaa8472194cb03ea9422fd9a8a100fa87687b6c2b /llvm/lib/CodeGen/SelectionDAG
parent7b8a03751c24eb92012e4a99070c7be5b1a0b65d (diff)
downloadbcm5719-llvm-e13d0992dcd0649bee760d3d606b9353edfd1ebc.tar.gz
bcm5719-llvm-e13d0992dcd0649bee760d3d606b9353edfd1ebc.zip
Add objc.* ARC intrinsics and codegen them to their runtime methods.
Reviewers: erik.pilkington, ahatanak Differential Revision: https://reviews.llvm.org/D55233 llvm-svn: 348441
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index d0d748f3841..eb36baeef5e 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -6354,6 +6354,42 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
// MachineFunction in SelectionDAGISel::PrepareEHLandingPad. We can safely
// delete it now.
return nullptr;
+ case Intrinsic::objc_autorelease:
+ return "objc_autorelease";
+ case Intrinsic::objc_autoreleasePoolPop:
+ return "objc_autoreleasePoolPop";
+ case Intrinsic::objc_autoreleasePoolPush:
+ return "objc_autoreleasePoolPush";
+ case Intrinsic::objc_autoreleaseReturnValue:
+ return "objc_autoreleaseReturnValue";
+ case Intrinsic::objc_copyWeak:
+ return "objc_copyWeak";
+ case Intrinsic::objc_destroyWeak:
+ return "objc_destroyWeak";
+ case Intrinsic::objc_initWeak:
+ return "objc_initWeak";
+ case Intrinsic::objc_loadWeak:
+ return "objc_loadWeak";
+ case Intrinsic::objc_loadWeakRetained:
+ return "objc_loadWeakRetained";
+ case Intrinsic::objc_moveWeak:
+ return "objc_moveWeak";
+ case Intrinsic::objc_release:
+ return "objc_release";
+ case Intrinsic::objc_retain:
+ return "objc_retain";
+ case Intrinsic::objc_retainAutorelease:
+ return "objc_retainAutorelease";
+ case Intrinsic::objc_retainAutoreleaseReturnValue:
+ return "objc_retainAutoreleaseReturnValue";
+ case Intrinsic::objc_retainAutoreleasedReturnValue:
+ return "objc_retainAutoreleasedReturnValue";
+ case Intrinsic::objc_retainBlock:
+ return "objc_retainBlock";
+ case Intrinsic::objc_storeStrong:
+ return "objc_storeStrong";
+ case Intrinsic::objc_storeWeak:
+ return "objc_storeWeak";
}
}
OpenPOWER on IntegriCloud