Changes

Summary

  1. [lld/mac] Add --reproduce option (details)
  2. [InstCombine][X86] Add addsub tests showing failure to simplify demandedelts (PR46277) (details)
  3. [llvm-objdump] Require x86 target for mcpu/attr test (details)
  4. [ConstantFold] Don't fold and/or i1 poison to poison (NFC) (details)
  5. [LangRef] missing link, minor fix (details)
  6. [LLDB/Lua] add support for one-liner breakpoint callback (details)
  7. Add 'asserts' requiremnt to test/CodeGen/ARM/cortex-a57-misched-mla.mir (details)
  8. [IR][LoopRotate] avoid leaving phi with no operands (PR48296) (details)
  9. [lld-macho] Implement -fatal_warnings (details)
  10. [windows-itanium] handle dllimport/export code paths separately and share with PS4 (details)
  11. [mlir] Make mlir-cpu-runner depend on native instead of X86 (details)
  12. Revert "[IR][LoopRotate] avoid leaving phi with no operands (PR48296)" (details)
  13. [lldb] Always include template arguments that have their default value in the internal type name (details)
  14. [IR] improve code comment/logic in removePredecessor(); NFC (details)
  15. [X86] Add vbmi2 test coverage for vector rotations (details)
  16. [ConstraintElimination] Add additional GEP decomposition tests. (details)
  17. [RISCV] Only combine (or (GREVI x, shamt), x) -> GORCI if shamt is a power of 2. (details)
  18. [X86] Don't emit R_X86_64_[REX_]GOTPCRELX for a GOT load with an offset (details)
  19. [ELF] Don't relax R_X86_64_GOTPCRELX if addend != -4 (details)
  20. [RISCV] Custom legalize bswap/bitreverse to GREVI with Zbp extension to enable them to combine with other GREVI instructions (details)
  21. [IR][LoopRotate] remove assertion that phi must have at least one operand (details)
  22. [RISCV] Combine (GORCI (GORCI x, C2), C1) -> (GORCI x, C1|C2). (details)
  23. [sanitizer] Disable use_tls_dynamic on on-Android x86 Linux. (details)
  24. [Flang][OpenMP] Add semantic checks for OpenMP Private clause. (details)
  25. [ASTImporter] Support import of CXXDeductionGuideDecl (details)
  26. [FPEnv] clang should get from the AST the metadata for constrained FP builtins (details)
  27. [analyzer][StdLibraryFunctionsChecker] Fix typos in summaries of mmap and mmap64 (details)
  28. Add -fintegrated-as to second invocation of clang in test case. (details)
  29. [VE] Clean check routines of branch types (details)
  30. [VE] Optimize prologue/epilogue instructions about GOT (details)
  31. [SelectionDAGBuilder] Update signature of `getRegsAndSizes()`. (details)
  32. [VE][NFC] Update comments (details)
  33. [InstCombine][X86] Add addsub PR46277 test case (details)
  34. [PowerPC] Delete remnant Darwin code in PPCAsmParser (details)
  35. [CSSPGO] Pseudo probe instrumentation pass (details)
  36. [CSSPGO] A Clang switch -fpseudo-probe-for-profiling for pseudo-probe instrumentation. (details)
  37. [gn build] Port 64fa8cce225 (details)
  38. [InstCombine][X86] Add basic addsub intrinsic SimplifyDemandedVectorElts support (PR46277) (details)
  39. [libcxxabi] Add macro for changing functions to support the relative vtables ABI (details)
  40. [X86] Zero-extend pointers to i64 for x86_64 (details)
  41. [FastISel] NFC: Remove obsolete -fast-isel-sink-local-values option (details)
  42. [CSSPGO] Disabling a pseudo probe test on non-x86 platforms. (details)
  43. [AArch64] Enable Cortex-A55 schedmodel (details)
  44. [x86] add tests for maxnum/minnum with nnan; NFC (details)
  45. [ms] [llvm-ml] Implement the statement expansion operator (details)
  46. Creating a named struct requires only a Context and a name, but looking up a struct by name requires a Module. The method on Module merely accesses the LLVMContextImpl and no data from the module itself, so this patch moves getTypeByName to a static method on StructType that takes a Context and a name. (details)
  47. [DL] Inline getAlignmentInfo() implementation (NFC) (details)
  48. [llvm][inliner] Reuse the inliner pass to implement 'always inliner' (details)
  49. SplitKit: Use Register (details)
  50. [ms] [llvm-ml] Test macro function invocations in arbitrary positions (details)
  51. [libTooling] Remove deprecated Clang Transformer declarations (details)
  52. github actions: Use correct credentials for pushing (details)
  53. [FastISel] NFC: Clean up unnecessary bookkeeping (details)
  54. [ConstraintElimination] Expand GEP decomposition tests. (details)
  55. [CodeGen] -fno-delete-null-pointer-checks: change dereferenceable to dereferenceable_or_null (details)
  56. [HIP] Fix HIP test on windows due to lld suffix (details)
  57. [lld-macho] Don't warn on non-existent system libraries (details)
  58. [lld/mac] Don't warn on -bundle and -execute flags (details)
  59. [OpenMP] libomp: fix mutexinoutset dependence for proxy tasks (details)
  60. [OpenMP] libomp: change shm name to include UID, call unregister_lib on SIGTERM (details)
  61. Serialization: Change InputFile to use FileEntryRef and add getVirtualFileRef, NFC (details)
  62. [OpenMP][Tests][NFC] Use FileCheck from cmake config (details)
  63. [llvm-symbolizer] Fix native symbolization on windows for inline sites. (details)
Commit 83e60f5a554d2f531b17875e835eab0cbb487211 by thakis
[lld/mac] Add --reproduce option

This adds support for ld.lld's --reproduce / lld-link's /reproduce:
flag to the MachO port. This flag can be added to a link command
to make the link write a tar file containing all inputs to the link
and a response file containing the link command. This can be used
to reproduce the link on another machine, which is useful for sharing
bug report inputs or performance test loads.

Since the linker is usually called through the clang driver and
adding linker flags can be a bit cumbersome, setting the env var
`LLD_REPRODUCE=foo.tar` triggers the feature as well.

The file response.txt in the archive can be used with
`ld64.lld.darwinnew $(cat response.txt)` as long as the contents are
smaller than the command-line limit, or with `ld64.lld.darwinnew
@response.txt` once D92149 is in.

The support in this patch is sufficient to create a tar file for
Chromium's base_unittests that can link after unpacking on a different
machine.

Differential Revision: https://reviews.llvm.org/D92274
The file was modifiedlld/MachO/DriverUtils.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/Common/Reproduce.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/ELF/DriverUtils.cpp
The file was addedlld/test/MachO/reproduce.s
The file was modifiedlld/MachO/Driver.h
The file was modifiedlld/MachO/Options.td
Commit 9c2b2952e422ba71c2afa9f6bb63ebf69fa5b702 by llvm-dev
[InstCombine][X86] Add addsub tests showing failure to simplify demandedelts (PR46277)
The file was addedllvm/test/Transforms/InstCombine/X86/x86-addsub.ll
Commit c3d484673fa70bb4b2284689db76d36bbdf12f38 by david.spickett
[llvm-objdump] Require x86 target for mcpu/attr test

This fixes test failure on clang-cmake-armv7-quick bot
with change c2ead57ccf74900901fdda1cd0fbe9a7a0d1297a.

This bot only builds Arm/AArch64 targets.
The file was modifiedllvm/test/tools/llvm-objdump/mattr-mcpu-help.test
Commit 9c49dcc356eb4c59fc1353bbbaae6d3a56a656c1 by aqjune
[ConstantFold] Don't fold and/or i1 poison to poison (NFC)

.. because it causes miscompilation when combined with select i1 -> and/or.

It is the select fold which is incorrect; but it is costly to disable the fold, so hack this one.

D92270
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/poison.ll
The file was modifiedllvm/lib/IR/ConstantFold.cpp
Commit 8e504615e9f1b27c06237a56ee786a16568851f1 by aqjune
[LangRef] missing link, minor fix
The file was modifiedllvm/docs/LangRef.rst
Commit a0d7406ae800c45dd9cb438c7ae1f55329d198e2 by pctammela
[LLDB/Lua] add support for one-liner breakpoint callback

These callbacks are set using the following:
   breakpoint command add -s lua -o "print('hello world!')"

The user supplied script is executed as:
   function (frame, bp_loc, ...)
      <body>
   end

So the local variables 'frame', 'bp_loc' and vararg are all accessible.
Any global variables declared will persist in the Lua interpreter.
A user should never hold 'frame' and 'bp_loc' in a global variable as
these userdatas are context dependent.

Differential Revision: https://reviews.llvm.org/D91508
The file was addedlldb/bindings/lua/lua-swigsafecast.swig
The file was addedlldb/bindings/lua/lua-wrapper.swig
The file was addedlldb/test/Shell/ScriptInterpreter/Lua/breakpoint_oneline_callback.test
The file was modifiedlldb/unittests/ScriptInterpreter/Lua/LuaTests.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
The file was modifiedlldb/bindings/lua/lua.swig
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp
Commit 234a5297aa00648cba00347f24e9e9b99abde289 by gribozavr
Add 'asserts' requiremnt to test/CodeGen/ARM/cortex-a57-misched-mla.mir

'-debug-only=machine-scheduler' only works when asserts are enabled.
The file was modifiedllvm/test/CodeGen/ARM/cortex-a57-misched-mla.mir
Commit bfd2c216ea8ef09f8fb1f755ca2b89f86f74acbb by spatel
[IR][LoopRotate] avoid leaving phi with no operands (PR48296)

https://llvm.org/PR48296 shows an example where we delete all of the operands
of a phi without actually deleting the phi, and that is currently considered
invalid IR. The reduced test included here would crash for that reason.

A suggested follow-up is to loosen the assert to allow 0-operand phis
in unreachable blocks.

Differential Revision: https://reviews.llvm.org/D92247
The file was modifiedllvm/include/llvm/IR/BasicBlock.h
The file was modifiedllvm/lib/IR/BasicBlock.cpp
The file was addedllvm/test/Transforms/LoopRotate/phi-empty.ll
Commit c0e4020c927134b1dfe4181f54147af95f482558 by thakis
[lld-macho] Implement -fatal_warnings

Differential Revision: https://reviews.llvm.org/D91894
The file was modifiedlld/MachO/DriverUtils.cpp
The file was modifiedlld/MachO/Options.td
The file was addedlld/test/MachO/fatal-warnings.s
Commit d5aaf6021476243de73f8eb8a7479a2288582225 by Ben.Dunbobbin
[windows-itanium] handle dllimport/export code paths separately and share with PS4

Similar to Windows Itanium, PS4 is also an Itanium C++ ABI variant
which shares the goal of semantic compatibility with Microsoft C++
code that uses dllimport/export.

This change introduces a new function to determine from the triple
if an environment aims for compatibility with MS C++ code w.r.t to
these attributes and guards the relevant code paths using that
function.

Differential Revision: https://reviews.llvm.org/D90299
The file was modifiedclang/test/CodeGenCXX/dllexport-vtable-thunks.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
The file was modifiedclang/test/SemaCXX/dllimport.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/CodeGenCXX/windows-itanium-dllexport.cpp
The file was modifiedclang/test/SemaCXX/dllexport.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/Sema/dllimport.c
Commit 78c71187465a8e877d2e07d462b45a19363fb782 by nicolas.vasilache
[mlir] Make mlir-cpu-runner depend on native instead of X86
The file was modifiedmlir/tools/mlir-cpu-runner/CMakeLists.txt
Commit 355aee3dcd441461a6da6e56c43dc1bd81c79f31 by spatel
Revert "[IR][LoopRotate] avoid leaving phi with no operands (PR48296)"

This reverts commit bfd2c216ea8ef09f8fb1f755ca2b89f86f74acbb.
This appears to be causing stage2 msan failures on buildbots:
  FAIL: LLVM :: Transforms/SimplifyCFG/X86/bug-25299.ll (65872 of 71835)
  ******************** TEST 'LLVM :: Transforms/SimplifyCFG/X86/bug-25299.ll' FAILED ********************
  Script:
  --
  : 'RUN: at line 1';   /b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/opt < /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/Transforms/SimplifyCFG/X86/bug-25299.ll -simplifycfg -S | /b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/Transforms/SimplifyCFG/X86/bug-25299.ll
  --
  Exit Code: 2
  Command Output (stderr):
  --
  ==87374==WARNING: MemorySanitizer: use-of-uninitialized-value
      #0 0x9de47b6 in getBasicBlockIndex /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/IR/Instructions.h:2749:5
      #1 0x9de47b6 in simplifyCommonResume /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:4112:23
      #2 0x9de47b6 in simplifyResume /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:4039:12
      #3 0x9de47b6 in (anonymous namespace)::SimplifyCFGOpt::simplifyOnce(llvm::BasicBlock*) /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:6330:16
      #4 0x9dcca13 in run /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:6358:16
      #5 0x9dcca13 in llvm::simplifyCFG(llvm::BasicBlock*, llvm::TargetTransformInfo const&, llvm::SimplifyCFGOptions const&, llvm::SmallPtrSetImpl<llvm::BasicBlock*>*) /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:6369:8
      #6 0x974643d in iterativelySimplifyCFG(
The file was modifiedllvm/include/llvm/IR/BasicBlock.h
The file was removedllvm/test/Transforms/LoopRotate/phi-empty.ll
The file was modifiedllvm/lib/IR/BasicBlock.cpp
Commit e0e7bbeb545516c50a0354efc34d329453558c9c by Raphael Isemann
[lldb] Always include template arguments that have their default value in the internal type name

Our type formatters/summaries match on the internal type name we generate in LLDB for Clang types.

These names were generated using Clang's default printing policy. However Clang's
default printing policy got tweaked over the last month to make the generated type
names more readable (by for example excluding inline/anonymous namespaces and
removing template arguments that have their default value). This broke the formatter
system where LLDB's matching logic now no longer can format certain types as
the new type names generated by Clang's default printing policy no longer match
the type names that LLDB/the user specified.

I already introduced LLDB's own type printing policy and fixed the inline/anonymous
namespaces in da121fff1184267a405f81a87f7314df2d474e1c (just to get the
test suite passing again).

This patch is restoring the old type printing behaviour where always include the template
arguments in the internal type name (even if they match the default args). This should get
template type formatters/summaries working again in the rare situation where we do
know template default arguments within LLDB. This can only happen when either having
a template that was parsed in the expression parser or when we get type information from a C++ module.

The Clang change that removed defaulted template arguments from Clang's printing policy was
e7f3e2103cdb567dda4fd52f81bf4bc07179f5a8

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D92311
The file was addedlldb/test/API/lang/cpp/default-template-args/TestDefaultTemplateArgs.py
The file was addedlldb/test/API/lang/cpp/default-template-args/Makefile
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was addedlldb/test/API/lang/cpp/default-template-args/main.cpp
Commit 1dc38f8cfbbc4cce12f8416a1e51d38285e6872f by spatel
[IR] improve code comment/logic in removePredecessor(); NFC

This was suggested in the post-commit review of ce134da4b1.
The file was modifiedllvm/lib/IR/BasicBlock.cpp
Commit 8fcc8c3148d087e9190cf6858c80f6306b3a93e5 by llvm-dev
[X86] Add vbmi2 test coverage for vector rotations

We should be using the funnel shift instructions for vXi16 types.
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-512.ll
Commit 4db1de3a77939c0ec409e4e2c01f27be639f20a3 by flo
[ConstraintElimination] Add additional GEP decomposition tests.
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps.ll
Commit cbbd7021f176d1344fb4d71d492ccc6017f98151 by craig.topper
[RISCV] Only combine (or (GREVI x, shamt), x) -> GORCI if shamt is a power of 2.

GORCI performs an OR between each stage. So we need to ensure only
one stage is active before doing this combine.

Initial attempts at finding a test case for this failed due to
the order things get combined. It's most likely that we'll form
one stage of GREVI then combine to GORCI before the two stages of
GREVI are able to be formed and combined with each other to form
a multi stage GREVI.

Differential Revision: https://reviews.llvm.org/D92289
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 25c8fbb3d92fd8321af59bb370e901f0e229b1c9 by i
[X86] Don't emit R_X86_64_[REX_]GOTPCRELX for a GOT load with an offset

clang may produce `movl x@GOTPCREL+4(%rip), %eax` when loading the high
32 bits of the address of a global variable in -fpic/-fpie mode.

If assembled by GNU as, the fixup emits R_X86_64_GOTPCRELX with an addend != -4.
The instruction loads from the GOT entry with an offset and thus it is incorrect
to relax the instruction.

This patch does not emit a relaxable relocation for a GOT load with an offset
because R_X86_64_[REX_]GOTPCRELX do not make sense for instructions which cannot
be relaxed.  The result is good enough for LLD to work. GNU ld relaxes
mov+GOTPCREL as well, but it suppresses the relaxation if addend != -4.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D92114
The file was modifiedllvm/test/MC/ELF/got-relaxed-rex.s
The file was modifiedllvm/test/MC/X86/gotpcrelx.s
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 589e10f8586e45ebe9b6409dd29d62f2f40ab52f by i
[ELF] Don't relax R_X86_64_GOTPCRELX if addend != -4

clang may produce `movl x@GOTPCREL+4(%rip), %eax` when loading the high 32 bits
of the address of a global variable in -fpic/-fpie mode.

If assembled by GNU as, the fixup emits an R_X86_64_GOTPCRELX with an
addend != -4. The instruction loads from the GOT entry with an offset
and thus it is incorrect to relax the instruction.

If assembled by the integrated assembler, we emit R_X86_64_GOTPCREL for
relocations that definitely cannot be relaxed (D92114), so this patch is not
needed.

This patch disables the relaxation, which is compatible with the implementation in GNU ld
("Add R_X86_64_[REX_]GOTPCRELX support to gas and ld").

Reviewed By: grimar, jhenderson

Differential Revision: https://reviews.llvm.org/D91993
The file was modifiedlld/ELF/Arch/X86_64.cpp
The file was addedlld/test/ELF/x86-64-gotpc-offset.s
Commit 76d1026b59bd04bd31645ab37dd82d1d89daa6d9 by craig.topper
[RISCV] Custom legalize bswap/bitreverse to GREVI with Zbp extension to enable them to combine with other GREVI instructions

This enables bswap/bitreverse to combine with other GREVI patterns or each other without needing to add more special cases to the DAG combine or new DAG combines.

I've also enabled the existing GREVI combine for GREVIW so that it can pick up the i32 bswap/bitreverse on RV64 after they've been type legalized to GREVIW.

Differential Revision: https://reviews.llvm.org/D92253
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit 9eb2c0113dfe2c1054e524122ca0e17ad552bb01 by spatel
[IR][LoopRotate] remove assertion that phi must have at least one operand

This was suggested in D92247 - I initially committed an alternate
fix ( bfd2c216ea ) to avoid the crash/assert shown in
https://llvm.org/PR48296 ,
but that was reverted because it caused msan failures on other
tests. We can try to revive that patch using the test included
here, but I do not have an immediate plan to isolate that problem.
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was addedllvm/test/Transforms/LoopRotate/phi-empty.ll
Commit bfc4f29f46b4961c0532cf734f5d15015b4f7120 by craig.topper
[RISCV] Combine (GORCI (GORCI x, C2), C1) -> (GORCI x, C1|C2).

Unlike GREVI, GORCI stages can't be undone, but they are
redundant if done more than once.

Differential Revision: https://reviews.llvm.org/D92295
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 1b723a955da04d5a4fc7953c86045b8ef6da2881 by vyng
[sanitizer] Disable use_tls_dynamic on on-Android x86 Linux.

https://bugs.chromium.org/p/chromium/issues/detail?id=1153421

Differential Revision: https://reviews.llvm.org/D92273
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/use_tls_dynamic.cpp
Commit 7a91794d5b261bc87991d5acce9fa503e9a4f269 by praveen
[Flang][OpenMP] Add semantic checks for OpenMP Private clause.

Add the semantic checks for the OpenMP 4.5 - 2.15.3.3 Private clause.

1. Pointers with the INTENT(IN) attribute may not appear in a private clause.
2. Variables that appear in namelist statements may not appear in a private clause.
   A flag 'InNamelist' is added to the Symbol::Flag to identify the symbols
   in Namelist statemnts.

Test cases : omp-private01.f90, omp-private02.f90

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D90210
The file was addedflang/test/Semantics/omp-private01.f90
The file was modifiedflang/lib/Semantics/resolve-directives.cpp
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was addedflang/test/Semantics/omp-private02.f90
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
Commit 70eb2ce395be1fe39ceede6719aa667658d1e5a3 by gabor.marton
[ASTImporter] Support import of CXXDeductionGuideDecl

CXXDeductionGuideDecl is a FunctionDecl, but its constructor should be called
appropriately, at least to set the kind variable properly.

Differential Revision: https://reviews.llvm.org/D92109
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
Commit abfbc5579bd4507ae286d4f29f8a157de0629372 by kevin.neal
[FPEnv] clang should get from the AST the metadata for constrained FP builtins

Currently clang is not correctly retrieving from the AST the metadata for
constrained FP builtins. This patch fixes that for the non-target specific
builtins.

Differential Revision: https://reviews.llvm.org/D92122
The file was modifiedclang/test/CodeGen/builtin_float_strictfp.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedclang/test/CodeGen/strictfp_fpclassify.c
The file was modifiedclang/test/CodeGen/constrained-math-builtins.c
Commit ee073c798515e56b23463391a7b40d5ee6527337 by benicsbalazs
[analyzer][StdLibraryFunctionsChecker] Fix typos in summaries of mmap and mmap64

The fd parameter of
```
void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset)
```
should be constrained to the range [0, IntMax] as that is of type int.
Constraining to the range [0, Off_tMax] would result in a crash as that is
of a signed type with the value of 0xff..f (-1).

The crash would happen when we try to apply the arg constraints.
At line 583: assert(Min <= Max), as 0 <= -1 is not satisfied

The mmap64 is fixed for the same reason.

Reviewed By: martong, vsavchenko

Differential Revision: https://reviews.llvm.org/D92307
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was addedclang/test/Analysis/std-c-library-posix-crash.c
Commit bc7b2688d6762687ab4ec103d214ce5bb5d4210f by zarko
Add -fintegrated-as to second invocation of clang in test case.
The file was modifiedclang/test/Driver/report-stat.c
Commit 6fe610535f4e0654766a1ace6acafc22150c951d by marukawa
[VE] Clean check routines of branch types

Previously, these check routines accepted non-generatble instructions.
This time, I clean them and add assert for those non-generatable
instructions.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D92254
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was addedllvm/test/CodeGen/VE/Scalar/br_analyze.ll
Commit 6834b3d6d52a4083113eea52e2afb4d2c915602c by marukawa
[VE] Optimize prologue/epilogue instructions about GOT

Optimize prologue/epilogue instructions if a given function use GOT but
do not call other functions by eliminating FP.  Previously, we had wrong
implementations taken from other architectures.  Update regression tests
also.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D92313
The file was modifiedllvm/test/CodeGen/VE/Scalar/pic_access_data.ll
The file was modifiedllvm/test/CodeGen/VE/Scalar/br_jt.ll
The file was modifiedllvm/test/CodeGen/VE/Scalar/pic_access_static_data.ll
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/test/CodeGen/VE/Scalar/function_prologue_epilogue.ll
The file was modifiedllvm/test/CodeGen/VE/Scalar/stackframe_nocall.ll
Commit f6150aa41a48ac8b5372fe4d6ccdfff96e432431 by joe.ellis
[SelectionDAGBuilder] Update signature of `getRegsAndSizes()`.

The mapping between registers and relative size has been updated to
use TypeSize to account for the size of scalable EVTs.

The patch is a NFCI, if not for the fact that with this change the
function `getUnderlyingArgRegs` does not raise a warning for implicit
conversion of `TypeSize` to `unsigned` when generating machine code
from the test added to the patch.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D92096
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/AArch64/sdag-no-typesize-warnings-regandsizes.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit 3d872cbc2fd3d7ff43b1058da03a91bea51414c7 by marukawa
[VE][NFC] Update comments

Update comments.  I forgot to update it previously when I modified code.
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.cpp
Commit 8ca484b94680a2b379722c6e7a62350b12c969c6 by llvm-dev
[InstCombine][X86] Add addsub PR46277 test case

Also fix a copy+paste typo in the elts_addsub_v4f32 demanded elts test from the godbolt reference
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-addsub.ll
Commit 7c4555f60d96d8a3ed35d74dab7e591dacc24b8d by i
[PowerPC] Delete remnant Darwin code in PPCAsmParser

Continue the work started at D50989.
The code has been long dead since the triple has been removed (D75494).

Reviewed By: nickdesaulniers, void

Differential Revision: https://reviews.llvm.org/D91836
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Commit 64fa8cce225f7d8bd499e3a99caa850b764ff109 by hoy
[CSSPGO] Pseudo probe instrumentation pass

This change introduces a pseudo probe instrumentation pass for block instrumentation. Please refer to https://reviews.llvm.org/D86193 for the whole story.

Given the following LLVM IR:

```
define internal void @foo2(i32 %x, void (i32)* %f) !dbg !4 {
bb0:
  %cmp = icmp eq i32 %x, 0
   br i1 %cmp, label %bb1, label %bb2
bb1:
   br label %bb3
bb2:
   br label %bb3
bb3:
   ret void
}
```

The instrumented IR will look like below. Note that each llvm.pseudoprobe intrinsic call represents a pseudo probe at a block, of which the first parameter is the GUID of the probe’s owner function and the second parameter is the probe’s ID.

```
define internal void @foo2(i32 %x, void (i32)* %f) !dbg !4 {
bb0:
   %cmp = icmp eq i32 %x, 0
   call void @llvm.pseudoprobe(i64 837061429793323041, i64 1)
   br i1 %cmp, label %bb1, label %bb2
bb1:
   call void @llvm.pseudoprobe(i64 837061429793323041, i64 2)
   br label %bb3
bb2:
   call void @llvm.pseudoprobe(i64 837061429793323041, i64 3)
   br label %bb3
bb3:
   call void @llvm.pseudoprobe(i64 837061429793323041, i64 4)
   ret void
}
```

Reviewed By: wmi

Differential Revision: https://reviews.llvm.org/D86499
The file was addedllvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was addedllvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
The file was addedllvm/lib/Transforms/IPO/SampleProfileProbe.cpp
The file was modifiedllvm/lib/Transforms/IPO/CMakeLists.txt
Commit c083fededfa63df6e1a560334bdb78797da9ee57 by hoy
[CSSPGO] A Clang switch -fpseudo-probe-for-profiling for pseudo-probe instrumentation.

This change introduces a new clang switch `-fpseudo-probe-for-profiling` to enable AutoFDO with pseudo instrumentation. Please refer to https://reviews.llvm.org/D86193 for the whole story.

One implication from pseudo-probe instrumentation is that the profile is now sensitive to CFG changes. We perform the pseudo instrumentation very early in the pre-LTO pipeline, before any CFG transformation. This ensures that the CFG instrumented and annotated is stable and optimization-resilient.

The early instrumentation also allows the inliner to duplicate probes for inlined instances. When a probe along with the other instructions of a callee function are inlined into its caller function, the GUID of the callee function goes with the probe. This allows samples collected on inlined probes to be reported for the original callee function.

Reviewed By: wmi

Differential Revision: https://reviews.llvm.org/D86502
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedclang/test/CodeGen/pseudo-probe-emit.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit a4064cbf32eb3f9de5f1d8cc679712c2f81937e3 by llvmgnsyncbot
[gn build] Port 64fa8cce225
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
Commit e425d0b92a1df69e5e41e6b23801fabeaaef7937 by llvm-dev
[InstCombine][X86] Add basic addsub intrinsic SimplifyDemandedVectorElts support (PR46277)

Pass through the demanded elts mask to the source operands.

The next step will be to add support for folding to add/sub if we only demand odd/even elements.
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-addsub.ll
The file was modifiedllvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
Commit 61aec69a65dec949f3d2556c4d0efaa87869e1ee by leonardchan
[libcxxabi] Add macro for changing functions to support the relative vtables ABI

Under the relative vtables ABI, __dynamic_cast will not work since it assumes
the vtable pointer is 2 ptrdiff_ts away from the start of the vtable (8-byte
offset to top + 8-byte pointer to typeinfo) when it is actually 8 bytes away
(4-byte offset to top + 4-byte offset to typeinfo). This adjusts the logic under
__dynamic_cast and other areas vtable calculations are done to support this ABI
when it's used.

Differential Revision: https://reviews.llvm.org/D77606
The file was modifiedlibcxxabi/src/private_typeinfo.cpp
Commit cdac34bd47a34337579e50dedc119548b379f20e by harald
[X86] Zero-extend pointers to i64 for x86_64

For LP64 mode, this has no effect as pointers are already 64 bits.
For ILP32 mode (x32), this extension is specified by the ABI.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D91338
The file was modifiedllvm/lib/Target/X86/X86CallingConv.cpp
The file was modifiedllvm/test/CodeGen/X86/pr38865-3.ll
The file was modifiedllvm/test/CodeGen/X86/musttail-varargs.ll
The file was modifiedllvm/test/CodeGen/X86/x32-function_pointer-2.ll
The file was modifiedllvm/test/CodeGen/X86/x86-64-sret-return.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/pr38865-2.ll
The file was modifiedllvm/test/CodeGen/X86/sibcall.ll
The file was modifiedllvm/test/CodeGen/X86/pr38865.ll
The file was modifiedllvm/lib/Target/X86/X86CallingConv.td
Commit a474657e30edccd9e175d92bddeefcfa544751b2 by paul.robinson
[FastISel] NFC: Remove obsolete -fast-isel-sink-local-values option

This option is not used for anything after #dc35368 (D91734).
The file was modifiedllvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-select.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-zext-bugfix.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-call-cleanup.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/simplestorei.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-call.ll
The file was modifiedllvm/test/CodeGen/X86/pr32340.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-vararg.ll
The file was modifiedllvm/test/CodeGen/X86/pr32345.ll
The file was modifiedllvm/test/CodeGen/X86/pr32241.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-gv.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/callabi.ll
The file was modifiedllvm/test/CodeGen/X86/inreg.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-call.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll
The file was modifiedllvm/test/DebugInfo/X86/prologue-stack.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-intrinsic.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/pr32284.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/simplestore.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-intrinsic.ll
The file was modifiedllvm/test/CodeGen/X86/pr32484.ll
The file was modifiedllvm/test/CodeGen/ARM/swifterror.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-abi_align.ll
The file was modifiedllvm/test/CodeGen/X86/sink-local-value.ll
The file was modifiedllvm/test/DebugInfo/Mips/delay-slot.ll
The file was modifiedllvm/test/CodeGen/X86/bmi-intrinsics-fast-isel.ll
Commit 750049d78b7421344882948cdf98fd233a557615 by hoy
[CSSPGO] Disabling a pseudo probe test on non-x86 platforms.

Disabling a pseudo probe test on non-x86 platforms since it's not fully tested there.
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll
Commit 630d37dc1be1ff179a5c85f41070358d4706b907 by sjoerd.meijer
[AArch64] Enable Cortex-A55 schedmodel

The model was committed in 4b8ade837e36b7f0181ce86fc23f33851d0fdd35
but not yet enabled to allow for a few fix ups. This adds a few
of these fixes, and also a LLVM MCA test to check most instructions.
While I do have plans to look into some more tuning, it's time to
enable this as it better than using the A53 schedule.

Differential Revision: https://reviews.llvm.org/D88017
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedA55.td
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was addedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-basic-instructions.s
Commit 40dc535b5afffb1d309e44ca636219c1b8a6873b by spatel
[x86] add tests for maxnum/minnum with nnan; NFC
The file was modifiedllvm/test/Analysis/CostModel/X86/fmaxnum.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fminnum.ll
Commit abef659a45fff4147f8f0ffd1d0f6600185e4a4e by epastor
[ms] [llvm-ml] Implement the statement expansion operator

If prefaced with a %, expand text macros and macro functions in any statement.

Also, prevent expanding text macros in the message of an ECHO directive unless expanded explicitly by the statement expansion operator.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D89740
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was addedllvm/test/tools/llvm-ml/expansion.test
The file was modifiedllvm/include/llvm/MC/MCAsmMacro.h
Commit fe431683484a3041e024ab2373bb707b1ca8d1cf by nicholas
Creating a named struct requires only a Context and a name, but looking up a struct by name requires a Module. The method on Module merely accesses the LLVMContextImpl and no data from the module itself, so this patch moves getTypeByName to a static method on StructType that takes a Context and a name.

There's a small number of users of this function, they are all updated.

This updates the C API adding a new method LLVMGetTypeByName2 that takes a context and a name.

Differential Revision: https://reviews.llvm.org/D78793
The file was modifiedllvm/include/llvm/IR/Module.h
The file was modifiedllvm/unittests/Analysis/TargetLibraryInfoTest.cpp
The file was modifiedpolly/lib/CodeGen/LoopGeneratorsKMP.cpp
The file was modifiedllvm/lib/IR/Type.cpp
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/lib/Linker/IRMover.cpp
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
The file was modifiedllvm/include/llvm-c/Core.h
The file was modifiedllvm/tools/llvm-c-test/echo.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Commit b5f23189fb051e720d43f8a80c09038d4860b8a1 by nikita.ppv
[DL] Inline getAlignmentInfo() implementation (NFC)

Apart from getting the entry in the table (which is already a
separate function), the remaining logic is different for all
alignment types and is better combined with getAlignment().

This is a minor efficiency improvement, and should make further
improvements like using separate storage for different alignment
types simpler.
The file was modifiedllvm/include/llvm/IR/DataLayout.h
The file was modifiedllvm/lib/IR/DataLayout.cpp
Commit 5fe10263ab39be96e316f37272b85a72596a7928 by mtrofin
[llvm][inliner] Reuse the inliner pass to implement 'always inliner'

Enable performing mandatory inlinings upfront, by reusing the same logic
as the full inliner, instead of the AlwaysInliner. This has the
following benefits:
- reduce code duplication - one inliner codebase
- open the opportunity to help the full inliner by performing additional
function passes after the mandatory inlinings, but before th full
inliner. Performing the mandatory inlinings first simplifies the problem
the full inliner needs to solve: less call sites, more contextualization, and,
depending on the additional function optimization passes run between the
2 inliners, higher accuracy of cost models / decision policies.

Note that this patch does not yet enable much in terms of post-always
inline function optimization.

Differential Revision: https://reviews.llvm.org/D91567
The file was modifiedclang/test/Frontend/optimization-remark.c
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedllvm/include/llvm/Analysis/InlineAdvisor.h
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/lib/Analysis/MLInlineAdvisor.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll
The file was modifiedllvm/test/Transforms/Inline/ML/bounds-checks-rewards.ll
The file was modifiedllvm/test/Transforms/Inline/pr46945.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedclang/test/Frontend/optimization-remark-new-pm.c
The file was modifiedllvm/test/Transforms/Inline/inline_stats.ll
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/test/Other/new-pm-module-inliner-wrapper.ll
The file was modifiedclang/test/Frontend/optimization-remark-line-directive.c
The file was modifiedclang/test/Frontend/optimization-remark-with-hotness-new-pm.c
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/Inline/ML/bounds-checks.ll
Commit 29bd6519d2e220f6a0ab27efd0adbe16ac01a7ef by Matthew.Arsenault
SplitKit: Use Register
The file was modifiedllvm/lib/CodeGen/SplitKit.h
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
Commit e5c17b2deea5620dcc736a9dad5def219f86e4da by epastor
[ms] [llvm-ml] Test macro function invocations in arbitrary positions

Differential Revision: https://reviews.llvm.org/D89741
The file was modifiedllvm/test/tools/llvm-ml/macro_function.test
Commit fdff677a955730b3e85b870ff1b30d7f8ea5719c by yitzhakm
[libTooling] Remove deprecated Clang Transformer declarations

A number of declarations were leftover after the move from `clang::tooling` to
`clang::transformer`. This patch removes those declarations and upgrades the
handful of references to the deprecated declarations.

Differential Revision: https://reviews.llvm.org/D92340
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RangeSelector.h
The file was modifiedclang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RewriteRule.h
The file was modifiedclang/lib/Tooling/Transformer/RewriteRule.cpp
Commit 4e85e0ca904d154b1ee30b213e8d7bfb8afaa25d by noreply
github actions: Use correct credentials for pushing
The file was modified.github/workflows/main-branch-sync.yml
Commit 3fd39d3694d32efa44242c099e923a7f4d982095 by paul.robinson
[FastISel] NFC: Clean up unnecessary bookkeeping

Now that we flush the local value map for every instruction, we don't
need any extra flushes for specific cases.  Also, LastFlushPoint is
not used for anything.  Follow-ups to #dc35368 (D91734).

Differential Revision: https://reviews.llvm.org/D92338
The file was modifiedllvm/include/llvm/CodeGen/FastISel.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
Commit 66124098a88a564143a36869f495708502a35c50 by flo
[ConstraintElimination] Expand GEP decomposition tests.

This adjusts the tests to cover more scenarios.
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps.ll
Commit 164410324d8bf3b5a99e39f7dfe3c6d6972dab30 by i
[CodeGen] -fno-delete-null-pointer-checks: change dereferenceable to dereferenceable_or_null

After D17993, with -fno-delete-null-pointer-checks we add the dereferenceable attribute to the `this` pointer.

We have observed that one internal target which worked before fails even with -fno-delete-null-pointer-checks.
Switching to dereferenceable_or_null fixes the problem.

dereferenceable currently does not always respect NullPointerIsValid and may
imply nonnull and lead to aggressive optimization. The optimization may be
related to `CallBase::isReturnNonNull`, `Argument::hasNonNullAttr`, or
`Value::getPointerDereferenceableBytes`. See D66664 and D66618 for some discussions.

Reviewed By: bkramer, rsmith

Differential Revision: https://reviews.llvm.org/D92297
The file was modifiedclang/test/CodeGenCXX/this-nonnull.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit f89e9c8201ea5a5b63af854c92ed26bc7ab4b8db by enye.shi
[HIP] Fix HIP test on windows due to lld suffix

On Windows, lld is instead named lld.exe, therefore
a few HIP tests are failing. Instead the wildcard should
be modified to .*lld.* to handle .exe. This fixes the
bug: https://bugs.llvm.org/show_bug.cgi?id=48289.

Differential Revision: https://reviews.llvm.org/D92342
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc-static-lib.hip
Commit ebac7100090a914e6a4dd0fdf2a5a196423cbaec by thakis
[lld-macho] Don't warn on non-existent system libraries

Now, new mach-o lld no longer warns if the isysroot has just
usr/lib and System/Library/Frameworks but is missing usr/local/lib
and System/Frameworks.

This matches ld64 and old mach-o lld and fixes a regression from D85992.

It also fixes the only test failure in `check-lld` when running it
on an M1 Mac.

Differential Revision: https://reviews.llvm.org/D91891
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/syslibroot.test
Commit 78c04fe99ec0013c53cd5d165543200009116c85 by thakis
[lld/mac] Don't warn on -bundle and -execute flags

They've been implemented since D87856 but since they still were
HelpHidden, the driver still warned claiming they were implemented.
Remove HelpHidden.

Use -fatal_warnings to test that the flags now don't warn. The
test depends on D91894 and D91891 to pass.

Differential Revision: https://reviews.llvm.org/D91971
The file was modifiedlld/test/MachO/load-commands.s
The file was modifiedlld/MachO/Options.td
Commit f6f28b44ad48e35d1300693d9c34f47782b519a4 by Andrey.Churbanov
[OpenMP] libomp: fix mutexinoutset dependence for proxy tasks

Once __kmp_task_finish is not executed for proxy tasks,
move mutexinoutset dependency code to __kmp_release_deps
which is executed for all task kinds.

Differential Revision: https://reviews.llvm.org/D92326
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
Commit 9615890db576721fbd73ae77d81d39435e83b4b4 by Andrey.Churbanov
[OpenMP] libomp: change shm name to include UID, call unregister_lib on SIGTERM

With the change to using shared memory, there were a few problems that need to be fixed.
- The previous filename that was used for SHM only used process id. Given that process is
  usually based on 16bit number, this was causing some conflicts on machines. Thus we add
  UID to the name to prevent this.
- It appears under some conditions (SIGTERM, etc) the shared memory files were not getting
  cleaned up. Added a call to clean up the shm files under those conditions. For this user
  needs to set envirable KMP_HANDLE_SIGNALS to true.

Patch by Erdner, Todd <todd.erdner@intel.com>

Differential Revision: https://reviews.llvm.org/D91869
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/src/kmp.h
Commit ac40a2d8f16b8a8c68fc811d67f647740e965cb8 by Duncan P. N. Exon Smith
Serialization: Change InputFile to use FileEntryRef and add getVirtualFileRef, NFC

Change the `InputFile` class to store `Optional<FileEntryRef>` instead
of `FileEntry*`. This paged in a few API changes:

- Added `FileManager::getVirtualFileRef`, and converted `getVirtualFile`
  to a wrapper of it.
- Updated `SourceManager::bypassFileContentsOverride` to take
  `FileEntryRef` and return `Optional<FileEntryRef>`
  (`ASTReader::getInputFile` is the only caller).

Differential Revision: https://reviews.llvm.org/D90053
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/Basic/FileManager.cpp
The file was modifiedclang/lib/Basic/SourceManager.cpp
The file was modifiedclang/include/clang/Basic/FileManager.h
The file was modifiedclang/include/clang/Serialization/ModuleFile.h
The file was modifiedclang/include/clang/Basic/SourceManager.h
Commit fd3d1b09c12f1419292172627dbca9929f0daf39 by protze
[OpenMP][Tests][NFC] Use FileCheck from cmake config
The file was modifiedopenmp/runtime/test/lit.cfg
Commit 00bbef2bb20cf212722de282e4eb9afd09ab50db by akhuang
[llvm-symbolizer] Fix native symbolization on windows for inline sites.

The existing code handles this correctly and I checked that the code
in NativeInlineSiteSymbol also handles this correctly, but it was
wrong in the NativeFunctionSymbol code.

Differential Revision: https://reviews.llvm.org/D92134
The file was modifiedllvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp
The file was modifiedlld/test/COFF/symbolizer-inline.s