summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-05-14 18:01:31 -0700
committerGitHub <noreply@github.com>2024-05-14 18:01:31 -0700
commit4edc72e4dea47cf549b4e28940e3509a5ab61439 (patch)
tree10475236b4a0e1f8a7a0bafdaa05a09d26f9412f /source/slang/slang-ir.cpp
parentd76bed6c1b03e5d7ef19c947fdd5fcaf33b595f7 (diff)
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.
Diffstat (limited to 'source/slang/slang-ir.cpp')
-rw-r--r--source/slang/slang-ir.cpp6
1 files changed, 5 insertions, 1 deletions
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<IRGlobalValueWithCode>(callee);
@@ -8320,6 +8323,7 @@ namespace Slang
if (auto genAsm = as<IRGenericAsm>(block->getTerminator()))
{
outDefinition = genAsm->getAsm();
+ outInst = genAsm;
return true;
}
}