From 4edc72e4dea47cf549b4e28940e3509a5ab61439 Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 14 May 2024 18:01:31 -0700 Subject: Remove use of `G0` and `__target_intrinsic` in stdlib. (#4170) * Remove use of `G0` and `__target_intrinsic` in stdlib. * Fix. * Fix calling intrinsic in global scope. --- source/slang/slang-ir.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-ir.cpp') diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 11f8cdb87..b53bfc9d1 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -7387,6 +7387,8 @@ namespace Slang case BaseType::UInt16: case BaseType::UInt: case BaseType::UInt64: + case BaseType::IntPtr: + case BaseType::UIntPtr: return true; default: return false; @@ -8305,11 +8307,12 @@ namespace Slang IRInst* val, CapabilityName targetCapabilityAtom); - bool findTargetIntrinsicDefinition(IRInst* callee, CapabilitySet const& targetCaps, UnownedStringSlice& outDefinition) + bool findTargetIntrinsicDefinition(IRInst* callee, CapabilitySet const& targetCaps, UnownedStringSlice& outDefinition, IRInst*& outInst) { if (auto decor = findBestTargetIntrinsicDecoration(callee, targetCaps)) { outDefinition = decor->getDefinition(); + outInst = decor; return true; } auto func = as(callee); @@ -8320,6 +8323,7 @@ namespace Slang if (auto genAsm = as(block->getTerminator())) { outDefinition = genAsm->getAsm(); + outInst = genAsm; return true; } } -- cgit v1.2.3