AbortedChanges

Summary

  1. [PowerPC] Add clang option -m[no-]prefixed (details)
  2. [libcxx][ranges] Fix `ranges::empty` when begin, end, and empty members are provided. (details)
  3. Modules: Remove ModuleLoader::OtherUncachedFailure, NFC (details)
  4. [pstl] Use logical operator for loop condition in tests (details)
  5. [analyzer][solver] Prevent use of a null state (details)
  6. [mlir][spirv] Define spv.ImageQuerySize operation (details)
  7. Modules: Rename ModuleBuildFailed => DisableGeneratingGlobalModuleIndex, NFC (details)
  8. [lldb] Fixup more code addresses (details)
  9. [lldb] Fixup indirect symbols as they are signed. (details)
  10. [ARM] Constrain CMPZ shift combine to a single use (details)
  11. [NFC][Clang][Codegen] Add tests with wrong attributes on this/return of thunks (details)
  12. [Clang][Codegen] Do not annotate thunk's this/return types with align/deref/nonnull attrs (details)
  13. Return "[CGCall] Annotate `this` argument with alignment" (details)
  14. Modules: Simplify how DisableGeneratingGlobalModuleIndex is set, likely NFC (details)
  15. [flang] Implement DOT_PRODUCT in the runtime (details)
  16. [PowerPC] Add ROP Protection to prologue and epilogue (details)
  17. [NFC] Try to fix CodeGenCXX/thunk-wrong-this.cpp test (details)
  18. Support unwinding from inline assembly (details)
  19. [NFC] Try to fix CodeGenCXX/thunk-wrong-return-type.cpp test (details)
  20. [flang] (NFC) Expose internal idiom as utility API (details)
  21. [NFC] Delete two newly-added test cases (details)
  22. [ASTMatchers] NFC: Fix formatting around forFunction(). (details)
  23. [ASTMatchers] Add forCallable(), a generalization of forFunction(). (details)
  24. [clang-tidy] bugprone-infinite-loop: forFunction() -> forCallable(). (details)
  25. [clang-tidy] bugprone-infinite-loop: React to ObjC ivars and messages. (details)
  26. [AMDGPU] Add gfx1034 target (details)
  27. [libcxx][docs] Update the One Ranges PRoposal Status with open revisions. (details)
  28. [libcxx][docs] Add two locks: transform_view and take_view. (details)
  29. [flang] Support legacy extension OPEN(ACCESS='APPEND') (details)
  30. [HIP] Clean up llvm intrinsics using __asm (details)
  31. [flang][OpenMP] Add semantic check for close nesting of `master` regions (details)
  32. [libc] Add x86_64 implementations of double precision cos, sin and tan. (details)
Commit 9469ff15b77905245e26fe7f166fc127d813a0c0 by lei
[PowerPC] Add clang option -m[no-]prefixed

Add user-facing front end option to turn off power10 prefixed instructions.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D102191
The file was addedclang/test/Driver/ppc-prefixed.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/include/clang/Driver/Options.td
Commit 98e4fd0701d0c65229db876ce338c723231d8cb4 by zoecarver
[libcxx][ranges] Fix `ranges::empty` when begin, end, and empty members are provided.

Before this commit, we'd get a compilation error because the operator() overload was ambiguous.

Differential Revision: https://reviews.llvm.org/D102263
The file was modifiedlibcxx/include/__ranges/empty.h
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/empty.pass.cpp
Commit 7c2afd5899df876eaf5ffb485194dc58e92daf89 by Duncan P. N. Exon Smith
Modules: Remove ModuleLoader::OtherUncachedFailure, NFC

5cca622310c10fdf6f921b6cce26f91d9f14c762 refactored
CompilerInstance::loadModule, splitting out
findOrCompileModuleAndReadAST, but was careful to avoid making any
functional changes. It added ModuleLoader::OtherUncachedFailure to
facilitate this and left behind FIXMEs asking why certain failures
weren't cached.

After a closer look, I think we can just remove this and simplify the
code. This changes the behaviour of the following (simplified) code from
CompilerInstance::loadModule, causing a failure to be cached more often:

```
  if (auto MaybeModule = MM.getCachedModuleLoad(*Path[0].first))
    return *MaybeModule;
  if (ModuleName == getLangOpts().CurrentModule)
    return MM.cacheModuleLoad(PP.lookupModule(...));
  ModuleLoadResult Result = findOrCompileModuleAndReadAST(...);
  if (Result.isNormal()) // This will be 'true' more often.
    return MM.cacheModuleLoad(..., Module);
  return Result;
```

`MM` here is a ModuleMap owned by the Preprocessor. Here are the cases
where `findOrCompileModuleAndReadAST` starts returning a "normal" failed
result:
- Emitted `diag::err_module_not_found`, where there's no module map
  found.
- Emitted `diag::err_module_build_disabled`, where implicitly building
  modules is disabled.
- Emitted `diag::err_module_cycle`, which detects module cycles in the
  implicit modules build system.
- Emitted `diag::err_module_not_built`, which avoids building a module
  in this CompilerInstance if another one tried and failed already.
- `compileModuleAndReadAST()` was called and failed to build.

The four errors are all fatal, and last item also reports a fatal error,
so it this extra caching has no functionality change... but even if it
did, it seems fine to cache these failed results within a ModuleMap
instance (note that each CompilerInstance has its own Preprocessor and
ModuleMap).

Differential Revision: https://reviews.llvm.org/D101667
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/include/clang/Lex/ModuleLoader.h
Commit 7f607ac6af0e2ee8a7d721d3ba427536deffcd3f by zoecarver
[pstl] Use logical operator for loop condition in tests

Fix a probable typo in two PSTL tests that causes warnings with GCC.

Patch by Jonathan Wakely (jwakely).

Reviewed By: zoecarver

Differential Revision: https://reviews.llvm.org/D102327
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
The file was modifiedpstl/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
Commit 45212dec01b9be90596d8d6fa7586ce8c84e2622 by vsavchenko
[analyzer][solver] Prevent use of a null state

rdar://77686137

Differential Revision: https://reviews.llvm.org/D102240
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was addedclang/test/Analysis/PR50268.c
Commit cd0eeb52ad37d8f55407c548f93f42a0d5b2d08b by weiwei.li1
[mlir][spirv] Define spv.ImageQuerySize operation

Support OpImageQuerySize in spirv dialect

co-authored-by: Alan Liu <alanliu.yf@gmail.com>

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D102029
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
The file was modifiedmlir/test/Dialect/SPIRV/IR/image-ops.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
The file was modifiedmlir/test/Target/SPIRV/image-ops.mlir
Commit 23e9146fba298d38142337b615e17067fb8ccb91 by Duncan P. N. Exon Smith
Modules: Rename ModuleBuildFailed => DisableGeneratingGlobalModuleIndex, NFC

Rename CompilerInstance's ModuleBuildFailed field to
DisableGeneratingGlobalModuleIndex, which more precisely describes its
role. Otherwise, it's hard to suss out how it's different from
ModuleLoader::HadFatalFailure, and what sort of code simplifications are
safe.

Differential Revision: https://reviews.llvm.org/D101670
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/include/clang/Frontend/CompilerInstance.h
Commit ce12b52de2fb3f319ff18effc4ea9ff4d369f328 by Jonas Devlieghere
[lldb] Fixup more code addresses

The Swift async task pointers are signed on arm64e and we need to fixup
the addresses in the CFA and DWARF expressions.
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/source/Target/RegisterContextUnwind.cpp
Commit f93e9c12bf482dbfe3d4d00fcf8bbc251500dd99 by Jonas Devlieghere
[lldb] Fixup indirect symbols as they are signed.

This fixes a bunch of test failures in Apple Silicon (arm64e).
The file was modifiedlldb/source/Target/Process.cpp
Commit 1011d4ed60d9d32d53e20cbe72e47c9eecb84f49 by david.green
[ARM] Constrain CMPZ shift combine to a single use

We currently prefer t2CMPrs over t2CMPri when the node contains a shift.
This can introduce more nodes if the shift has multiple uses though, as
value from the shift will be needed anyway, and in the case of a t2CMPri
compared with zero will more readily be removed entirely.

Differential Revision: https://reviews.llvm.org/D101688
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/while-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
Commit 70aa4623de9fe2f609eab8969d7ef76b4c80084b by lebedev.ri
[NFC][Clang][Codegen] Add tests with wrong attributes on this/return of thunks

From https://reviews.llvm.org/D100388
The file was addedclang/test/CodeGenCXX/thunk-wrong-return-type.cpp
The file was addedclang/test/CodeGenCXX/thunk-wrong-this.cpp
Commit a624cec56d4bf61c1f3cb7daf2d27dac59c56fa4 by lebedev.ri
[Clang][Codegen] Do not annotate thunk's this/return types with align/deref/nonnull attrs

As it was discovered in post-commit feedback
for 0aa0458f1429372038ca6a4edc7e94c96cd9a753,
we handle thunks incorrectly, and end up annotating
their this/return with attributes that are valid
for their callees, not for thunks themselves.

While it would be good to fix this properly,
and keep annotating them on thunks,
i've tried doing that in https://reviews.llvm.org/D100388
with little success, and the patch is stuck for a month now.

So for now, as a stopgap measure, subj.
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGenCXX/thunks.cpp
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/lib/CodeGen/CGVTables.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/test/CodeGenCXX/constructor-destructor-return-this.cpp
The file was modifiedclang/lib/CodeGen/CGNonTrivialStruct.cpp
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-structors.cpp
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/test/CodeGenCXX/thunk-returning-memptr.cpp
The file was modifiedclang/test/CodeGenCXX/thunk-wrong-this.cpp
The file was modifiedclang/test/CodeGenCXX/thunks-ehspec.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/test/CodeGenCXX/thunk-wrong-return-type.cpp
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-thunks.cpp
Commit 16d03818412415c56efcd482d18c0cbdf712524c by lebedev.ri
Return "[CGCall] Annotate `this` argument with alignment"

The original change was reverted because it was discovered
that clang mishandles thunks, and they receive wrong
attributes for their this/return types - the ones for the function
they will call, not the ones they have.

While i have tried to fix this in https://reviews.llvm.org/D100388
that patch has been up and stuck for a month now,
with little signs of progress.

So while it will be good to solve this for real,
for now we can simply avoid introducing the bug,
by not annotating this/return for thunks.

This reverts commit 6270b3a1eafaba4279e021418c5a2c5a35abc002,
relanding 0aa0458f1429372038ca6a4edc7e94c96cd9a753.
The file was modifiedclang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/tile_codegen.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/single_private_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/threadprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/task_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/reduction_compound_op.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/single_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_codegen.cpp
The file was modifiedclang/test/OpenMP/for_private_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/thunk-wrong-this.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen_UDR.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
The file was modifiedclang/test/OpenMP/distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_lambda_capturing.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/this-nonnull.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/irbuilder_for_rangefor.cpp
The file was modifiedclang/test/OpenMP/parallel_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/single_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/for_linear_codegen.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/CodeGen/attr-nomerge.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/irbuilder_for_iterator.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/attr-musttail.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_collapse_codegen.cpp
Commit 7c57a9bd7d4c976b7a824472c427433359200e02 by Duncan P. N. Exon Smith
Modules: Simplify how DisableGeneratingGlobalModuleIndex is set, likely NFC

DisableGeneratingGlobalModuleIndex was being set by
CompilerInstance::findOrCompileModuleAndReadAST most of (but not all of)
the times it returned `nullptr` as a "normal" failure. Pull that up to
the caller, CompilerInstance::loadModule, to simplify the code. This
resolves a number of FIXMEs added during the refactoring in
5cca622310c10fdf6f921b6cce26f91d9f14c762.

The extra cases where this is set are all some version of a fatal error,
and the only client of the field, shouldBuildGlobalModuleIndex, seems
to be unreachable in that case. Even if there is some corner case where
this has an effect, it seems like the right/consistent behaviour.

Differential Revision: https://reviews.llvm.org/D101672
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit 50e0b2985e43baf61617c9734df71e949113f911 by pklausler
[flang] Implement DOT_PRODUCT in the runtime

API, implementation, and basic tests for the transformational
reduction intrinsic function DOT_PRODUCT in the runtime support
library.

Differential Revision: https://reviews.llvm.org/D102351
The file was modifiedflang/runtime/CMakeLists.txt
The file was modifiedflang/runtime/reduction.h
The file was addedflang/runtime/dot-product.cpp
The file was modifiedflang/runtime/complex-reduction.h
The file was modifiedflang/unittests/RuntimeGTest/Reduction.cpp
The file was modifiedflang/runtime/tools.h
The file was modifiedflang/runtime/complex-reduction.c
The file was modifiedflang/runtime/reduction.cpp
Commit 54310fc176fde539b15f3cc95d4a3555df446ff6 by stefanp
[PowerPC] Add ROP Protection to prologue and epilogue

Added hashst to the prologue and hashchk to the epilogue.
The hash for the prologue and epilogue must always be stored as the first
element in the local variable space on the stack.

Reviewed By: nemanjai, #powerpc

Differential Revision: https://reviews.llvm.org/D99377
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was addedllvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Commit 9d3eb7885d916b22bc673334f71a10e3b2835174 by lebedev.ri
[NFC] Try to fix CodeGenCXX/thunk-wrong-this.cpp test
The file was modifiedclang/test/CodeGenCXX/thunk-wrong-this.cpp
Commit 8ec9fd483949ca3b23053effcac226dcc56e7a95 by amanieu
Support unwinding from inline assembly

I've taken the following steps to add unwinding support from inline assembly:

1) Add a new `unwind` "attribute" (like `sideeffect`) to the asm syntax:

```
invoke void asm sideeffect unwind "call thrower", "~{dirflag},~{fpsr},~{flags}"()
    to label %exit unwind label %uexit
```

2.) Add Bitcode writing/reading support + LLVM-IR parsing.

3.) Emit EHLabels around inline assembly lowering (SelectionDAGBuilder + GlobalISel) when `InlineAsm::canThrow` is enabled.

4.) Tweak InstCombineCalls/InlineFunction pass to not mark inline assembly "calls" as nounwind.

5.) Add clang support by introducing a new clobber: "unwind", which lower to the `canThrow` being enabled.

6.) Don't allow unwinding callbr.

Reviewed By: Amanieu

Differential Revision: https://reviews.llvm.org/D95745
The file was modifiedllvm/bindings/go/llvm/ir.go
The file was addedllvm/test/Transforms/InstCombine/no-unwind-inline-asm.ll
The file was modifiedllvm/lib/IR/InlineAsm.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/unwind-inline-asm.ll
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was addedllvm/test/CodeGen/X86/sjlj-unwind-inline-asm-codegen.ll
The file was addedllvm/test/Transforms/Inline/no-unwind-inline-asm.ll
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedllvm/include/llvm/IR/InlineAsm.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/IR/Core.cpp
The file was addedllvm/test/CodeGen/X86/no-unwind-inline-asm-codegen.ll
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/IR/ConstantsContext.h
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedllvm/lib/Transforms/Utils/ValueMapper.cpp
The file was addedllvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/include/llvm-c/Core.h
The file was addedllvm/test/CodeGen/X86/no-seh-unwind-inline-asm-codegen.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-unwind-inline-asm.ll
The file was addedllvm/test/CodeGen/X86/unwind-inline-asm-codegen.ll
The file was addedclang/test/CodeGenCXX/unwind-inline-asm.cpp
The file was addedllvm/test/Transforms/Inline/unwind-inline-asm.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unwind-inline-asm.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was addedllvm/test/Transforms/InstCombine/unwind-inline-asm.ll
The file was modifiedclang/lib/Basic/TargetInfo.cpp
Commit ecc4e9e8f4cb7581cbc447bc838943176715695c by lebedev.ri
[NFC] Try to fix CodeGenCXX/thunk-wrong-return-type.cpp test
The file was modifiedclang/test/CodeGenCXX/thunk-wrong-this.cpp
The file was modifiedclang/test/CodeGenCXX/thunk-wrong-return-type.cpp
Commit 6829bd3ed0515e17c84c5e72fe1742bd20ee61e5 by pklausler
[flang] (NFC) Expose internal idiom as utility API

Add overloads to AsGenericExpr() in Evaluate/tools.h to take care
of wrapping an untyped DataRef or bare Symbol in a typed Designator
wrapped up in a generic Expr<SomeType>.  Use the new overloads to
replace a few instances of code that was calling TypedWrapper<>()
with a dynamic type.

This new tool will be useful in lowering to drive some code that
works with typed expressions (viz., list-directed I/O list items)
when starting with only a bare Symbol (viz., NAMELIST).

Differential Revision: https://reviews.llvm.org/D102352
The file was modifiedflang/lib/Evaluate/tools.cpp
The file was modifiedflang/lib/Semantics/check-declarations.cpp
The file was modifiedflang/lib/Evaluate/fold-designator.cpp
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Semantics/expression.cpp
Commit 0d8f91d2a9994619bb62c548a81eb605f0e768f7 by lebedev.ri
[NFC] Delete two newly-added test cases

Failing on bots in unobvious ways.
The file was removedclang/test/CodeGenCXX/thunk-wrong-return-type.cpp
The file was removedclang/test/CodeGenCXX/thunk-wrong-this.cpp
Commit dd98ea528c0c23f5fee6d3dbafc261b81cca9f0d by Artem Dergachev
[ASTMatchers] NFC: Fix formatting around forFunction().

Differential Revision: https://reviews.llvm.org/D102303
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 6a079dfdc992706408f2bde84c48bf76e52c4311 by Artem Dergachev
[ASTMatchers] Add forCallable(), a generalization of forFunction().

The new matcher additionally covers blocks and Objective-C methods.

This matcher actually makes sure that the statement truly belongs
to that declaration's body. forFunction() incorrectly reported that
a statement in a nested block belonged to the surrounding function.

forFunction() is now deprecated due to the above footgun, in favor of
forCallable(functionDecl()) when only functions need to be considered.

Differential Revision: https://reviews.llvm.org/D102213
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 46c6c08c9428a36bdf88f51b1a14164aa4cbb93e by Artem Dergachev
[clang-tidy] bugprone-infinite-loop: forFunction() -> forCallable().

Take advantage of the new ASTMatcher added in D102213 to fix massive false negatives of the infinite loop checker on Objective-C.

Differential Revision: https://reviews.llvm.org/D102214
The file was modifiedclang-tools-extra/clang-tidy/utils/Aliasing.h
The file was modifiedclang-tools-extra/clang-tidy/utils/Aliasing.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-infinite-loop.mm
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-infinite-loop.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
Commit 5ad2eeeadaf15856332f66ed7c244d52a86b0be7 by Artem Dergachev
[clang-tidy] bugprone-infinite-loop: React to ObjC ivars and messages.

If the loop condition is a value of an instance variable, a property value,
or a message result value, it's a good indication that the loop is not infinite
and we have a really hard time proving the opposite so suppress the warning.

Differential Revision: https://reviews.llvm.org/D102294
The file was modifiedclang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-infinite-loop.mm
Commit 464e4dc50f4e6e058e12a7020385d5bf29fd1df6 by aakanksha555
[AMDGPU] Add gfx1034 target

Differential Revision: https://reviews.llvm.org/D102306
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_new.s
The file was modifiedllvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modifiedllvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-features.cl
The file was modifiedclang/test/Driver/amdgpu-mcpu.cl
The file was modifiedllvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1011_dasm_dlops.txt
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/get_elf_mach_gfx_name.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx1011_dlops.s
The file was modifiedclang/include/clang/Basic/Cuda.h
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/lib/Target/AMDGPU/GCNProcessors.td
The file was modifiedllvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
The file was modifiedllvm/include/llvm/Support/TargetParser.h
The file was modifiedllvm/lib/Support/TargetParser.cpp
The file was modifiedclang/lib/Basic/Targets/NVPTX.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedclang/lib/Basic/Cuda.cpp
The file was modifiedclang/test/Driver/amdgpu-macros.cl
The file was modifiedllvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
Commit 3ac9ff5577f1d4b032a64aea1c46e95c8a5b8f68 by zoecarver
[libcxx][docs] Update the One Ranges PRoposal Status with open revisions.

1. Moves the names into the names column.
2. Changes the names to reflect who's actually working on what.
3. Adds open revisions.
The file was modifiedlibcxx/docs/OneRangesProposalStatus.csv
Commit fe319a8848f2343829925850a3969861d8d6a64c by zoecarver
[libcxx][docs] Add two locks: transform_view and take_view.

Assign myself both of these views.
The file was modifiedlibcxx/docs/OneRangesProposalStatus.csv
Commit 72abc199772c30ea2cffaa5dd4a8aa2bb2b7f18c by pklausler
[flang] Support legacy extension OPEN(ACCESS='APPEND')

It should of course be POSITION='APPEND' but Sun Fortran
supported it on ACCESS=.

Differential Revision: https://reviews.llvm.org/D102350
The file was modifiedflang/include/flang/Common/Fortran-features.h
The file was modifiedflang/runtime/io-api.cpp
The file was modifiedflang/lib/Semantics/check-io.cpp
The file was modifiedflang/docs/Extensions.md
Commit a249ffa42137431d44d7db1d04f122300bc51533 by enye.shi
[HIP] Clean up llvm intrinsics using __asm

Instead of using inline asm, use clang builtins
for llvm intrinsics.

Differential Revision: https://reviews.llvm.org/D102427
The file was modifiedclang/lib/Headers/__clang_hip_libdevice_declares.h
Commit b766576d38d304c630de5430053d06dfc7784628 by arnamoy.bhattacharyya
[flang][OpenMP] Add semantic check for close nesting of `master` regions

This patch implements the following semantic check:
```
A master region may not be closely nested inside a work-sharing, loop, atomic, task, or taskloop region.
```

Adds a test case and also modifies a couple of existing test cases to include the check.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D100228
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was addedflang/test/Semantics/omp-nested-master.f90
The file was modifiedflang/test/Semantics/omp-ordered-simd.f90
The file was modifiedflang/lib/Semantics/check-omp-structure.h
Commit 861dc75906829a177dc2e5249747771aa3866a06 by sivachandra
[libc] Add x86_64 implementations of double precision cos, sin and tan.

The implementations use the x86_64 FPU instructions. These instructions
are extremely slow compared to a polynomial based software
implementation. Also, their accuracy falls drastically once the input
goes beyond 2PI. To improve both the speed and accuracy, we will be
taking the following approach going forward:
1. As a follow up to this CL, we will implement a range reduction algorithm
which will expand the accuracy to the entire double precision range.
2. After that, we will replace the HW instructions with a polynomial
implementation to improve the run time.

After step 2, the implementations will be accurate, performant and target
architecture independent.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D102384
The file was modifiedlibc/src/math/CMakeLists.txt
The file was addedlibc/src/math/x86_64/sin.cpp
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp
The file was modifiedlibc/test/src/math/CMakeLists.txt
The file was addedlibc/test/src/math/sin_test.cpp
The file was addedlibc/src/math/sin.h
The file was addedlibc/test/src/math/cos_test.cpp
The file was addedlibc/src/math/cos.h
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.h
The file was addedlibc/src/math/x86_64/tan.cpp
The file was addedlibc/src/math/tan.h
The file was addedlibc/src/math/x86_64/CMakeLists.txt
The file was addedlibc/test/src/math/tan_test.cpp
The file was modifiedlibc/spec/stdc.td
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was addedlibc/src/math/x86_64/cos.cpp