cc80,cc120: Adjust -Wno-narrowing for GCC >= 8.0
Add the necessary check for cc80 libraries so that GCC 12 succeeds in
building GCC 8.
Meanwhile, improve the GCC check to check for any GCC version >= 8.0.
[CIR][AMDGPU] Add AMDGPU-specific function attributes for HIP kernels (#188007)
Upstreaming clangIR PR: https://github.com/llvm/clangir/pull/2091
This patch adds support for AMDGPU-specific function attributes for HIP
kernels
Added setTargetAttributes for AMDGPUTargetCIRGenInfo to set kernel
attributes
Added generic string attribute handler in amendFunction to translate
string-values with "cir." prefix function attributes to LLVM function
attributes
Follows OGCG AMDGPU implementation from
"clang/lib/CodeGen/Targets/AMDGPU.cpp".
[DA] Add precondition `0 <=s UB` to function `inferAffineDomain` (#187218)
This patch fixes issues where the Exact SIV/RDIV tests can return
incorrect results when the BTC is negative in a signed sense. The root
cause is that BTCs should be interpreted in an unsigned sense, but
`inferAffineDomain` uses the BTC in inequalities that are interpreted in
a signed sense. These inequalities make sense only when the BTC is
non-negative. Thus we need to check it beforehand.
www/tinyauth: Update to 5.0.4
* Cache vendor stuff.
* Add GO_TARGET.
* Extract frontend and vendor in post-extract instead of pre-build.
* Improve pkg-message to deploy a quick demo.
* Add pkg-message about breaking-changes starting with version 5.0.0.
* Add tinyauth_chdir parameter in rc(8) script.
* Improve format of help options in rc(8) script.
ChangeLog:
https://github.com/steveiliop56/tinyauth/compare/v4.0.1...v5.0.4
Reported by: ronald at klop.ws (email)
www/tinyauth: Update to 5.0.4
* Cache vendor stuff.
* Add GO_TARGET.
* Extract frontend and vendor in post-extract instead of pre-build.
* Improve pkg-message to deploy a quick demo.
* Add pkg-message about breaking-changes starting with version 5.0.0.
* Add tinyauth_chdir parameter in rc(8) script.
* Improve format of help options in rc(8) script.
ChangeLog:
https://github.com/steveiliop56/tinyauth/compare/v4.0.1...v5.0.4
Reported by: ronald at klop.ws (email)
[Hexagon] Fix load/store widening to preserve subreg operands (#188181)
HexagonLoadStoreWidening pass was incorrectly using DoubleRegs registers
where IntRegs was required when widening load/store pairs. When the
S2_addasl_rrri instruction used a subreg (e.g., %2.isub_lo), the
widening pass extracted only the base register without preserving the
subreg, causing machine verifier errors.
[ClangScanDeps] Avoid use-of-uninitialized-memory for end-of-directive edge case (#188590)
https://github.com/llvm/llvm-project/pull/186966 was reverted because
the test case triggered a use-of-uninitialized-memory
(https://lab.llvm.org/buildbot/#/builders/94/builds/16379), due to the
include directive omitting a trailing newline. This patch adds a minor
fix to avoid the use-of-uninitialized-memory, and deliberately re-adds
the test case sans trailing newline for regression testing.
MSan report prior to this fix:
```
@@@BUILD_STEP sanitizer logs: stage2/msan_track_origins check@@@
==clang-scan-deps==616960==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x5555599c3300 in isAnnotation /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/include/clang/Lex/Token.h:131:38
#1 0x5555599c3300 in setLength /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/include/clang/Lex/Token.h:152:13
#2 0x5555599c3300 in clang::Lexer::FormTokenWithChars(clang::Token&, char const*, clang::tok::TokenKind) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/include/clang/Lex/Lexer.h:644:12
#3 0x5555599cf895 in clang::Lexer::LexEndOfFile(clang::Token&, char const*) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Lex/Lexer.cpp:3166:5
#4 0x555559bb229b in clang::Preprocessor::Lex(clang::Token&) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Lex/Preprocessor.cpp:916:11
#5 0x555559aa5365 in __invoke<void (clang::Preprocessor::*&)(clang::Token &), clang::Preprocessor *, clang::Token &> /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/libcxx_install_msan_track_origins/include/c++/v1/__type_traits/invoke.h:90:27
[5 lines not shown]
stat() and access() become "rpath", this is safe because pledge_namei no longer
has a special case for these two system calls. With this change pledge "stdio"
no longer lets user code reach namei().
ok deraadt
[clang][Modules] Reject export declarations in implementation partitions (#188698)
[module.interface]/1 says:
> An export-declaration shall [...] appear in the purview of
a module interface unit.
But clang currently fails to enforce this rule in implementation
partitions.
Partially addresses #107602.
[Hexagon] Fix use-before-def of AP register in prologue CSR spills (#188504)
PS_aligna initializes the AP register (eg:callee-saved R16) with an
aligned value derived from FP. It was being placed before the
CSR spills, causing the spill of R16 to save the AP value instead of the
caller's original R16, breaking the callee-saved register contract and
it must be defined before any AP-relative stack accesses. Fix by moving
PS_aligna to after all CSR spills in insertCSRSpillsInBlock().
Fixes #184531