diff options
| author | Pete Cooper <peter_cooper@apple.com> | 2018-12-06 00:52:54 +0000 |
|---|---|---|
| committer | Pete Cooper <peter_cooper@apple.com> | 2018-12-06 00:52:54 +0000 |
| commit | e13d0992dcd0649bee760d3d606b9353edfd1ebc (patch) | |
| tree | aa8472194cb03ea9422fd9a8a100fa87687b6c2b /llvm/lib/CodeGen/SelectionDAG | |
| parent | 7b8a03751c24eb92012e4a99070c7be5b1a0b65d (diff) | |
| download | bcm5719-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.cpp | 36 |
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"; } } |

