Skip to content

Reintroduce reverted signed char simplifications in libclc #4364

Closed
@steffenlarsen

Description

@steffenlarsen

#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.

Metadata

Metadata

Assignees

Labels

cudaCUDA back-endenhancementNew feature or requesthipIssues related to execution on HIP backend.libclclibclc project related issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions