SuccessChanges

Summary

  1. [PowerPC] Select the D-Form load if we know its offset meets the requirement (details)
  2. Following up on PR48517, fix handling of template arguments that refer (details)
  3. [clang][cli] Convert Analyzer option string based options to new option parsing system (details)
  4. [libc][NFC] Use `#include <math.h>` in utils/FPUtil/ManipulationFunctions.h. (details)
  5. [clang][cli] Port HeaderSearch simple string options to new option parsing system (details)
Commit 477b6505fa1d49339c81fbbda937dc8bb5e53cfd by qshanz
[PowerPC] Select the D-Form load if we know its offset meets the requirement

The LD/STD likewise instruction are selected only when the alignment in
the load/store >= 4 to deal with the case that the offset might not be
known(i.e. relocations). That means we have to select the X-Form load
for %0 = load i64, i64* %arrayidx, align 2 In fact, we can still select
the D-Form load if the offset is known. So, we only query the load/store
alignment when we don't know if the offset is a multiple of 4.

Reviewed By: jji, Nemanjai

Differential Revision: https://reviews.llvm.org/D93099
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modifiedllvm/test/CodeGen/PowerPC/unal4-std.ll
The file was modifiedllvm/test/CodeGen/PowerPC/memcmp-mergeexpand.ll
The file was modifiedllvm/test/CodeGen/PowerPC/store-combine.ll
The file was modifiedllvm/test/CodeGen/PowerPC/unaligned.ll
The file was modifiedllvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ldst-align.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/test/CodeGen/PowerPC/pr45186.ll
Commit 8c1f2d15b826591cdf6bd6b468b8a7d23377b29e by richard
Following up on PR48517, fix handling of template arguments that refer
to dependent declarations.

Treat an id-expression that names a local variable in a templated
function as being instantiation-dependent.

This addresses a language defect whereby a reference to a dependent
declaration can be formed without any construct being value-dependent.
Fixing that through value-dependence turns out to be problematic, so
instead this patch takes the approach (proposed on the core reflector)
of allowing the use of pointers or references to (but not values of)
dependent declarations inside value-dependent expressions, and instead
treating template arguments as dependent if they evaluate to a constant
involving such dependent declarations.

This ends up affecting a bunch of OpenMP tests, due to OpenMP
imprecisely handling instantiation-dependent constructs, bailing out
early instead of processing dependent constructs to the extent possible
when handling the template.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/test/OpenMP/distribute_dist_schedule_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_messages.cpp
The file was removedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
The file was modifiedclang/lib/AST/TemplateBase.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/test/OpenMP/target_update_from_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_dist_schedule_messages.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/AST/ComputeDependence.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_dist_schedule_messages.cpp
The file was modifiedclang/test/SemaCXX/warn-unused-lambda-capture.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_messages.cpp
The file was modifiedclang/test/OpenMP/task_messages.cpp
The file was addedclang/test/SemaTemplate/temp_arg_nontype_cxx17.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_to_messages.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_dist_schedule_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_messages.cpp
The file was modifiedclang/include/clang/AST/TemplateBase.h
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_dist_schedule_messages.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_dist_schedule_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_dist_schedule_messages.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_dist_schedule_messages.cpp
Commit caeb56503ec897c7244cff0657c11e87d2644f82 by jan_svoboda
[clang][cli] Convert Analyzer option string based options to new option parsing system

Depends on D84185

Reviewed By: dexonsmith

Original patch by Daniel Grumberg.

Differential Revision: https://reviews.llvm.org/D84186
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/include/llvm/Option/OptParser.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
Commit 2d9ae1d217890639518252ee1f39c9cc759749ef by sivachandra
[libc][NFC] Use `#include <math.h>` in utils/FPUtil/ManipulationFunctions.h.

This reverts commit 352cba2441c6c4e00f067c9c68358cc0a6a5fffb.
"add back math.h #include utils/FPUtil/ManipulationFunctions.h".

Using `<math.h>` correct so downstream setup should be fixed.
The file was modifiedlibc/utils/FPUtil/ManipulationFunctions.h
Commit f4511aec2bf482f2ae5bbd14138a229b72c41c80 by jan_svoboda
[clang][cli] Port HeaderSearch simple string options to new option parsing system

Depends on D84669

Reviewed By: Bigcheese

Original patch by Daniel Grumberg.

Differential Revision: https://reviews.llvm.org/D84670
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td