Description
#4348 partially reverted #4207.
The primary motivation for the reverted changes was to remove the use of signed char
in libclc by using the remangling tool - also introduced in #4207 - to change the mangling of functions using char
. This is useful because char
may have mismatching signedness between OpenCL C (always signed) and the host system (signedness depends on the target system) using the builtins defined in libclc. As an additional benefit it allows for the removal of the work-arounds in libclc for handling builtins using signed char
which is not a built-in type in OpenCL C.
Functionally the reverted changes would only have an effect on host systems where char
is unsigned
, which is not currently applicable to any supported host systems. However the changes also improved the quality libclc libraries used by DPC++ backends by removing the signed char
work-arounds, and as such it may be worth it to reintroduce in the future.