diff options
| author | Yong He <yonghe@outlook.com> | 2024-05-14 18:01:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-14 18:01:31 -0700 |
| commit | 4edc72e4dea47cf549b4e28940e3509a5ab61439 (patch) | |
| tree | 10475236b4a0e1f8a7a0bafdaa05a09d26f9412f /source/slang/slang-ir.cpp | |
| parent | d76bed6c1b03e5d7ef19c947fdd5fcaf33b595f7 (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.cpp | 6 |
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; } } |
