Skip to content

Releases: intel/llvm

DPC++ daily 2021-12-22

22 Dec 19:29
a068b15
Compare
Choose a tag to compare
Pre-release
sycl-nightly/20211222

[SYCL][XPTI] Report memory allocation info from SYCL runtime (#5172)

DPC++ daily 2021-12-21

21 Dec 19:28
8c5b701
Compare
Choose a tag to compare
Pre-release
[SYCL][NFC] Fix static code analysis concerns (#5189)

Found via a static-analysis tool:
Suspicious dereference of pointer in function call before NULL check

Inside checkAllowedSYCLInitializer() in SemaSYCL.cpp file:

    const Expr *Init = VD->getInit();
    bool ValueDependent = Init->isValueDependent(); --> 'Init' is dereferenced by being passed as argument 0 to function "isValueDependent
    bool isConstantInit =
       Init && !ValueDependent && Init->isConstantInitializer(Context, false);  --> 'Init' is checked for NULL here

This patch adds NULL value checking for 'Init' expression.

Signed-off-by: Soumi Manna <[email protected]>

DPC++ daily 2021-12-20

20 Dec 18:58
2c7573d
Compare
Choose a tag to compare
Pre-release
[CI] Add cache checkout script to docker containers (#5184)

Add a new cache checkout script to docker containers. General idea is to keep a local copy of repository and re-use existing objects to avoid long clone times.

Also add zstd to experiment with LLVM compression times and psutil, which is required to kill tests by timeout.

DPC++ daily 2021-12-19

19 Dec 19:03
1f3f9b9
Compare
Choose a tag to compare
Pre-release
sycl-nightly/20211219

[SYCL] Widen (u)int8/16 to (u)int32 and half to float in group_broadc…

DPC++ daily 2021-12-18

18 Dec 18:51
cc0d67f
Compare
Choose a tag to compare
Pre-release
[LIBCLC] Fix NaN value for doubles (#5173)

A NaN is a floating point value with all exponent bits set to 1 and any
non-zero fraction, and the sign bit can be set or not.

For doubles the floating point is represented as one sign bit, eleven
exponent bits, and the fraction bits, so the value before this patch
breaks down as follows:

```
0x7ff0000000000000

0b0111111111110000000000000000000000000000000000000000000000000000

0b0 11111111111 0000000000000000000000000000000000000000000000000000
```

As you can see this value has all zeroes in the exponent, it is
therefore not a NaN.

Comparing to the value used for single precision, knowing that single
precision follows the same rule but has only 8 bits of exponent:

```
0x7fc00000

0b01111111110000000000000000000000

0b0 11111111 10000000000000000000000
```

As you can see the value used for single precision has all exponent bits
set to one and the most significant bit of the fraction set to one,
therefore it is indeed a NaN.

And so the correct value for the NaN constant for doubles is actually:

```
0b0 11111111111 1000000000000000000000000000000000000000000000000000

0b0111111111111000000000000000000000000000000000000000000000000000

0x7ff8000000000000
```

Which is what this patch is updating the constant to be.

The constant for half precision also correctly follows this pattern.

This fixes the `llvm-test-suite` `nan.cpp` test with the CUDA plugin.

DPC++ daily 2021-12-17

17 Dec 18:54
81154ec
Compare
Choose a tag to compare
Pre-release
sycl-nightly/20211217

[SYCL] Remove direct initialization constructor from bfloat16 class (…

DPC++ daily 2021-12-16

16 Dec 18:47
e0e5336
Compare
Choose a tag to compare
Pre-release
[CI] Fix documentation build (#5160)

Also enable documentation builds (without deployment) in pre-commit to avoid this kind of situation in the future.

DPC++ daily 2021-12-15

15 Dec 19:10
6f1bd41
Compare
Choose a tag to compare
Pre-release
sycl-nightly/20211215

[SYCL] Add a document describing the current status of reduction impl…

DPC++ daily 2021-12-14

14 Dec 19:14
9f01830
Compare
Choose a tag to compare
Pre-release
[CI] Refactor workflow files (#5134)

Use "build" label to dispatch compiler build jobs to build machines.
Use `build_container` action in Nightly workflow for unification with other container jobs.

DPC++ daily 2021-12-13

13 Dec 19:31
cabb43f
Compare
Choose a tag to compare
Pre-release
[SYCL] Remove unnecessary template parameter (#5127)

Replacing unnecessary KernelName parameter with a bool value that is actually used in `HostKernel` class reduces the number of instantiated templates and may improve host-side frontend time by ~9%.