Revision cfb41bb61d63d45aa47ccf9580414545630f0d97 authored by Dietrich Geisler on 07 July 2020, 21:46:02 UTC, committed by GitHub on 07 July 2020, 21:46:02 UTC
This PR introduces support for the public modifier for functions.  This
keyword allows labelled functions to be written to the compiled without
having a link to an entry point.  The goal of this change is to help
support heterogeneous design of Slang by permitting C++ code to interact
with CPU slang functions.

Internally, this PR adds the public decoration to the IR and defines a
lowering from the public modifier in the AST to this decoration.
Additionally, the Keep Alive decoration is added to any public modifier
being lowered, which prevents DCE from eliminating functions labelled
with the public keyword.

Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
1 parent f8cc28c
History
File Mode Size
docs
examples
external
prelude
source
tests
tools
.editorconfig -rw-r--r-- 937 bytes
.gitattributes -rw-r--r-- 95 bytes
.gitignore -rw-r--r-- 745 bytes
.gitmodules -rw-r--r-- 774 bytes
.travis.yml -rw-r--r-- 2.1 KB
CODE_OF_CONDUCT.md -rw-r--r-- 3.1 KB
LICENSE -rw-r--r-- 1.1 KB
README.md -rw-r--r-- 7.4 KB
appveyor.yml -rw-r--r-- 4.0 KB
premake.bat -rw-r--r-- 120 bytes
premake5.lua -rw-r--r-- 34.9 KB
slang-com-helper.h -rw-r--r-- 4.8 KB
slang-com-ptr.h -rw-r--r-- 4.8 KB
slang-tag-version.h -rw-r--r-- 36 bytes
slang.h -rw-r--r-- 129.0 KB
slang.sln -rw-r--r-- 12.6 KB
test.bat -rw-r--r-- 1.4 KB
travis_build.sh -rw-r--r-- 460 bytes
travis_test.sh -rw-r--r-- 435 bytes

README.md

back to top