Provide both signed and unsigned int variants of bitcode-based builtins.
When creating function Symbols for functions that were defined in LLVM bitcode for the standard library, if any of the function parameters are integer types, create two ispc-side Symbols: one where the integer types are all signed and the other where they are all unsigned. This allows us to provide, for example, both store_to_int16(reference int a[], uniform int offset, int val) as well as store_to_int16(reference unsigned int a[], uniform int offset, unsigned int val). functions.
Added some additional tests to exercise the new variants of these.
Also fixed some cases where the __{load,store}_int{8,16} builtins would read from/write to memory even if the mask was all off (which could cause crashes in some cases.)
This commit is contained in:
9
Makefile
9
Makefile
@@ -6,12 +6,9 @@ ARCH_OS = $(shell uname)
|
||||
ARCH_TYPE = $(shell arch)
|
||||
|
||||
CLANG=clang
|
||||
CLANG_LIBS = -lclangFrontendTool -lclangFrontend -lclangDriver \
|
||||
-lclangSerialization -lclangCodeGen -lclangParse -lclangSema \
|
||||
-lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers \
|
||||
-lclangStaticAnalyzerCore \
|
||||
-lclangAnalysis -lclangIndex -lclangRewrite \
|
||||
-lclangAST -lclangLex -lclangBasic
|
||||
CLANG_LIBS = -lclangFrontend -lclangDriver \
|
||||
-lclangSerialization -lclangParse -lclangSema \
|
||||
-lclangAnalysis -lclangAST -lclangLex -lclangBasic
|
||||
|
||||
LLVM_LIBS=$(shell llvm-config --ldflags --libs) -lpthread -ldl
|
||||
LLVM_CXXFLAGS=$(shell llvm-config --cppflags)
|
||||
|
||||
Reference in New Issue
Block a user