Switch builds to use LLVM 16. Updated the documentation to treat LLVM 16 as default.
Refreshed parts of buildIGC.sh regarding supported versions. Fixed a bug when setting a variable in buildIGC.sh to a default value.
Force enabled exceptions for VC. This is a workaround while we're investigating why they're disabled.
We (the DPCPP team) use the CI build artifacts, and we often have issues with artifacts we want to download being expired as they are only retained for 7 days.
Extend it to 30 days.
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Fix build IGC action used in CI. Every job has been failing for over a week.
The CI got into a bad state, in the newer IGC releases the package names changed
to use dashes instead of underscores, this caused a curl command downloading the packages
to fail, which then got saved to a build cache that's used on every build.
So right now, every build is failing because it's retrieving that invalid build cache
result.
In this PR, I both workaround the build cache issue,
prevent this from happening in the future by erroring in multiple places, and fix the curl script.
The build cache issue can only be worked around because the cache is non-writable, the bad result
would need to be manually deleted by a repo admin. What we can do is just use a new cache key
if the cache result is bad, redownload and store based on the new cache key, and use
the new cache result in the actual IGC build.
I also fixed a CMake issue related to the new shared library name.
I reproduced the exact state of the repo in my fork and verified this fixes it, [here](https://github.com/sarnex/intel-graphics-compiler/actions/runs/12186673537/job/33995744349).
The LLVM 16 build failures are a separate issue.
Previous attempt was mistakenly reverted.
- Add LLVM 16
- Remove 22.04 Ubuntu building; for public validate only on latest Ubuntu
- Remove unused `experimental` key
- Update SPIRV-Headers/Tools refs to use ToT
- Add LLVM 16
- Remove 22.04 Ubuntu building; for public validate only on latest Ubuntu
- Remove unused `experimental` key
- Update SPIRV-Headers/Tools refs to use ToT
- Add LLVM 16
- Remove 22.04 Ubuntu building; for public validate only on latest Ubuntu
- Remove unused `experimental` key
- Update SPIRV-Headers/Tools refs to use ToT
After the full switch onto LLVM 14, retaining build compability with earlier
versions has become unfeasible. Resort to LLVM 14-15 as the only verified
versions.
- Add IGC build by gcc with LLVM 12 on Ubuntu20.04
- Add IGC build by gcc with LLVM 12 on Ubuntu22.04
- Add IGC build by gcc with LLVM 13 on Ubuntu22.04
- Add IGC build by clang with LLVM 12 on Ubuntu20.04
- Remove IGC build by clang with LLVM 10 on Ubuntu18.04
- Remove IGC build by clang with LLVM 11 on Ubuntu18.04
- Fix build IGC with LLVM 12 with prebuild by change in cmake
- Fix build IGC on Ubuntu 22.04 by adding missing include