LLVM/project 0d18bb6clang/docs ReleaseNotes.md, clang/lib/Parse ParseOpenMP.cpp

[Clang][OpenMP] Fixed an assertion when `#pragma omp declare simd` or `#pragma omp declare variant` is followed by another OpenMP declarative directive containing a qualified identifier (#217875)

For code
```cpp
void foo();

#pragma omp declare simd
#pragma omp declare target to(foo)
```
Clang currently accepts this without rejection. The underlying cause is
that OpenMP pragma parsing for directives like `declare target to(...)`
performs name lookup without advancing the source location to create a
new declaration. As a result, the parser fetches the existing Decl of
foo and passes it up to declare simd, silently bypassing Sema
diagnostics.

https://godbolt.org/z/szPne5n45

---

    [27 lines not shown]
DeltaFile
+11-0clang/lib/Parse/ParseOpenMP.cpp
+11-0clang/test/SemaOpenMP/gh217204.cpp
+1-0clang/docs/ReleaseNotes.md
+23-03 files

LLVM/project cba529dllvm/lib/Analysis LoopAccessAnalysis.cpp, llvm/test/Transforms/LoopVectorize dereferenceable-info-from-assumption-constant-size.ll

[LAA] ZExt size from deref bundles to widest type. (#217939)

The size in a dereferenceable bundle may have a different bitwidth than
the access size. Both are interpreted as unsigned values. Update
WidestTy to account for possibility of the type for the bundle being
narrower.

Fixes a crash similar to
https://github.com/llvm/llvm-project/pull/217770.

PR: https://github.com/llvm/llvm-project/pull/217939
DeltaFile
+106-0llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
+1-0llvm/lib/Analysis/LoopAccessAnalysis.cpp
+107-02 files

LLVM/project 8f5ef73llvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Analysis/ScalarEvolution exit-count-greater-than.ll

[SCEV] Avoid overflow in howManyGreaterThans. (#217744)

howManyGreaterThans computes the backedge-taken count as ((Start - End)
+ (Stride - 1)) /u Stride. The addition can overflow, causing incorrect
results.

Instead, use getUDivCeilSCEV if Start >= End, mirroring
howManyLessThans. It also has additional handling for stride being a
power of 2, which allows using the simpler formula in more cases.

I'll check if we can unify the code (as implied by the FIXME I think),
instead of duplicating more logic.

Fixes https://github.com/llvm/llvm-project/issues/217537.
Fixes https://github.com/llvm/llvm-project/issues/187472.

PR: https://github.com/llvm/llvm-project/pull/217744
DeltaFile
+21-27llvm/test/Analysis/ScalarEvolution/exit-count-greater-than.ll
+22-10llvm/lib/Analysis/ScalarEvolution.cpp
+43-372 files

LLVM/project c0feba8clang-tools-extra/clang-tidy/utils ExceptionAnalyzer.cpp, clang-tools-extra/test/clang-tidy/checkers/bugprone exception-escape-treat-functions-without-specification-as-throwing.cpp exception-escape-coro-unknown.cpp

[clang-tidy] Fix crashes when analyzing unknown exceptions in bugprone-exception-escape (#218067)

`ExceptionAnalyzer` represents exceptions of unknown type with a null
`Type`, but some consumers dereferenced it unconditionally, resulting in
a crash when `TreatFunctionsWithoutSpecificationAsThrowing` is enabled.
This commit fixes the problem by skipping type-dependent processing for
unknown exceptions.

Fixes #217649
DeltaFile
+42-0clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro-unknown.cpp
+17-1clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
+4-0clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
+63-13 files

LLVM/project dc14f0allvm/docs LangRef.md

[LangRef] Fix code examples for fptosi/fptoui (#218121)

These cases were introduced before the poison value:
https://github.com/llvm/llvm-project/commit/59b6b7d9e416b3560528686ed0afa3d38160b9c5.
DeltaFile
+4-4llvm/docs/LangRef.md
+4-41 files

LLVM/project 0773125libc/src/__support/FPUtil FPBits.h

nit
DeltaFile
+4-4libc/src/__support/FPUtil/FPBits.h
+4-41 files

LLVM/project 07ec1cblibc/src/__support/FPUtil float80.h, libc/test/src/__support/FPUtil float80_test.cpp

suggestions and add more operators
DeltaFile
+40-16libc/src/__support/FPUtil/float80.h
+34-5libc/test/src/__support/FPUtil/float80_test.cpp
+74-212 files

LLVM/project eea571blibc/src/__support/FPUtil float80.h, libc/test/src/__support/FPUtil float80_test.cpp

feat: add negation and a test for it
DeltaFile
+7-0libc/src/__support/FPUtil/float80.h
+2-0libc/test/src/__support/FPUtil/float80_test.cpp
+9-02 files

LLVM/project 9c43912libc/src/__support/FPUtil FPBits.h

formatting
DeltaFile
+4-4libc/src/__support/FPUtil/FPBits.h
+4-41 files

LLVM/project 04630balibc/test/src/__support/FPUtil float80_test.cpp

nit
DeltaFile
+0-3libc/test/src/__support/FPUtil/float80_test.cpp
+0-31 files

LLVM/project 185aa8clibc/src/__support/FPUtil dyadic_float.h

nit
DeltaFile
+2-1libc/src/__support/FPUtil/dyadic_float.h
+2-11 files

LLVM/project c15cc46libc/src/__support/FPUtil dyadic_float.h

test: limit EXTRA_FRAC_LEN to be non-negative

test

test

nit

revert

revert

only add >0 condition

format
DeltaFile
+0-4libc/src/__support/FPUtil/dyadic_float.h
+0-41 files

LLVM/project 3feba51libc/src/__support/FPUtil dyadic_float.h

nit
DeltaFile
+1-0libc/src/__support/FPUtil/dyadic_float.h
+1-01 files

LLVM/project 19c92b5libc/src/__support/FPUtil FPBits.h

Removed temporarliy for 128bit container only
DeltaFile
+4-4libc/src/__support/FPUtil/FPBits.h
+4-41 files

LLVM/project 01aa9e0libc/src/__support/FPUtil float80.h, libc/test/src/__support/FPUtil float80_test.cpp

add tests
DeltaFile
+21-0libc/src/__support/FPUtil/float80.h
+15-0libc/test/src/__support/FPUtil/float80_test.cpp
+36-02 files

LLVM/project 7e7f596libc/src/__support/FPUtil dyadic_float.h

add explicit bit handling for dyadic_float as per FPBits
DeltaFile
+2-0libc/src/__support/FPUtil/dyadic_float.h
+2-01 files

LLVM/project 80b6720libc/src/__support/FPUtil FPBits.h

test
DeltaFile
+4-4libc/src/__support/FPUtil/FPBits.h
+4-41 files

LLVM/project 3414cedlibc/src/__support/FPUtil float80.h

feat: add tests
DeltaFile
+16-69libc/src/__support/FPUtil/float80.h
+16-691 files

LLVM/project 997bdbclibc/src/__support/FPUtil float80.h

initial temp skeleton
DeltaFile
+74-16libc/src/__support/FPUtil/float80.h
+74-161 files

LLVM/project 0dd9607libc/src/__support/FPUtil CMakeLists.txt float80.h

apply suggestion
DeltaFile
+2-6libc/src/__support/FPUtil/float80.h
+1-0libc/src/__support/FPUtil/CMakeLists.txt
+3-62 files

LLVM/project e96a7ddlibc/src/__support/CPP/type_traits is_floating_point.h, libc/src/__support/FPUtil float80.h dyadic_float.h

nits and cleanup
DeltaFile
+4-7libc/src/__support/FPUtil/dyadic_float.h
+0-6libc/test/src/__support/FPUtil/float80_test.cpp
+0-5libc/src/__support/FPUtil/float80.h
+2-1libc/src/__support/CPP/type_traits/is_floating_point.h
+1-0libc/src/__support/macros/properties/types.h
+7-195 files

LLVM/project 8dbc6bblibc/src/__support/FPUtil dyadic_float.h

test: limit EXTRA_FRAC_LEN to be non-negative

test

test

nit

revert

revert

only add >0 condition

format
DeltaFile
+6-8libc/src/__support/FPUtil/dyadic_float.h
+6-81 files

LLVM/project aaeeeb5libc/src/__support/FPUtil dyadic_float.h

add explicit bit handling for dyadic_float as per FPBits
DeltaFile
+2-0libc/src/__support/FPUtil/dyadic_float.h
+2-01 files

LLVM/project 4ae7902libc/src/__support/FPUtil float80.h, libc/test/src/__support/FPUtil float80_test.cpp

feat: add tests
DeltaFile
+16-69libc/src/__support/FPUtil/float80.h
+59-0libc/test/src/__support/FPUtil/float80_test.cpp
+75-692 files

LLVM/project 449a364libc/src/__support/FPUtil cast.h

add fputiL::cast support
DeltaFile
+3-1libc/src/__support/FPUtil/cast.h
+3-11 files

LLVM/project 77e3852libc/src/__support/FPUtil dyadic_float.h

nit
DeltaFile
+2-1libc/src/__support/FPUtil/dyadic_float.h
+2-11 files

LLVM/project beb434dlibc/src/__support/FPUtil dyadic_float.h

nit
DeltaFile
+1-0libc/src/__support/FPUtil/dyadic_float.h
+1-01 files

LLVM/project bd318c1libc/src/__support/CPP/type_traits is_floating_point.h, libc/src/__support/FPUtil CMakeLists.txt float80.h

initial temp skeleton
DeltaFile
+161-0libc/src/__support/FPUtil/float80.h
+19-0libc/test/src/__support/FPUtil/float80_test.cpp
+18-0libc/src/__support/FPUtil/CMakeLists.txt
+12-0libc/test/src/__support/FPUtil/CMakeLists.txt
+9-0libc/src/__support/macros/properties/types.h
+3-1libc/src/__support/CPP/type_traits/is_floating_point.h
+222-11 files not shown
+224-17 files

LLVM/project ae87a40libc/src/__support/FPUtil dyadic_float.h

add the extra_frac_len check back
DeltaFile
+7-4libc/src/__support/FPUtil/dyadic_float.h
+7-41 files

LLVM/project b36b580libc/test/src/__support/FPUtil float80_test.cpp

test: modify for comparing native<->float80

edge cases

test: modify for comparing native<->float80

nit
DeltaFile
+31-26libc/test/src/__support/FPUtil/float80_test.cpp
+31-261 files