SuccessChanges

Summary

  1. [clangd] Disable a failure TopLevelDecls test. (details)
  2. [lldb] Note difference in vFile:pread/pwrite format for lldb (details)
  3. [InstCombine] matchFunnelShift - canonicalize to OR(SHL,LSHR). NFCI. (details)
  4. [InstCombine] matchFunnelShift - remove shift value commutation. NFCI. (details)
  5. [InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw (REAPPLIED) (details)
  6. [AMDGPU] Use @LINE for error checking in gfx10 assembler tests (details)
  7. [SVE] Lower fixed length VECREDUCE_XOR operation (details)
  8. [AMDGPU] Insert waterfall loops for divergent calls (details)
  9. [LoopDeletion] Remove over-eager SCEV verification. (details)
  10. [AMDGPU] Print metadata on error (details)
  11. [NFC][Regalloc] Pass VirtRegMap by reference. (details)
  12. [VPlan] Use operands for printing of VPWidenMemoryInstructionRecipe. (details)
  13. [NFC][MC] Use MCRegister in LiveRangeMatrix (details)
  14. [Tests] Regenerate test checks; NFC (details)
  15. [GlobalISel][KnownBits] Early return on out of bound shift amounts (details)
  16. Revert 1c021c64c "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown" (details)
  17. [compiler-rt] Suppress -Wunused-result due to ::write when _FORTIFY_SOURCE>0 in glibc (details)
  18. Make likelihood lit test less brittle (details)
  19. [VPlan] Use VPValue def for VPMemoryInstructionRecipe. (details)
  20. Restore "[ThinLTO] Avoid temporaries when loading global decl attachment metadata" (details)
  21. [InstCombine] FoldShiftByConstant - merge equivalent types. NFCI. (details)
  22. [InstCombine] FoldShiftByConstant - create Scalar/Vector constant with ConstantInt::get(). NFCI. (details)
  23. [flang][openacc] Update Loop Construct lowering to use fir::getBase (details)
  24. [flang][openacc] Lower parallel construct (details)
  25. [X86] Support -march=x86-64-v[234] (details)
  26. [sanitizer] Disable fast_unwind_on_malloc as default for arm-linux-gnu (details)
  27. [clangd] Heuristic resolution for dependent type and template names (details)
  28. [InstCombine] FoldShiftByConstant - create Scalar/Vector constant with ConstantInt::get(). NFCI. (details)
  29. [Inliner][NPM] Fix various tests under NPM (details)
  30. [LLDB] Fix 37 tests on Windows (details)
  31. [mlir] fixing typo in parseAttribute that was ignoring caller-specified types (details)
  32. update .txt --> .md links (details)
  33. [Coroutine][Sema] Only tighten the suspend call temp lifetime for final awaiter (details)
  34. [flang][openacc] Lower data construct (details)
  35. [trace] Scaffold "thread trace dump instructions" (details)
Commit 16a4b0f0e36c8e1efa586ca4b2be8effefa75e6e by hokein.wu
[clangd] Disable a failure TopLevelDecls test.

The test fails on clang-ppc64le-rhel buildbot, needs further
investigation.
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp
Commit 2d1ee7cae9b2299186fa25d8d1fbdb8af482046c by david.spickett
[lldb] Note difference in vFile:pread/pwrite format for lldb

https://sourceware.org/gdb/current/onlinedocs/gdb/Host-I_002fO-Packets.html

States that all numbers should be hexidecimal but lldb
uses decimals in vFile:pread and vFile:pwrite.

lldb-server can accept either since it ends up using
strtoull which will detect the base being used.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D89227
The file was modifiedlldb/docs/lldb-platform-packets.txt
Commit 02295e6d1a1559f0689aeca09d98f468e3f29d9a by llvm-dev
[InstCombine] matchFunnelShift - canonicalize to OR(SHL,LSHR). NFCI.

Simplify the shift amount matching code by canonicalizing the shift ops first.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit fa566233706ce8345f2c0152b51312a217b848c9 by llvm-dev
[InstCombine] matchFunnelShift - remove shift value commutation. NFCI.

After rG02295e6d1a15 we no longer need to invert the shift values for fshr - this is just hidden at the moment as funnel shifts only ever match for constant values so never use the fshr "Sub on SHL" path.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit bbf3925879b56aea42daeecc794bb41e99ebc126 by llvm-dev
[InstCombine] matchFunnelShift - fold or(shl(a,x),lshr(b,sub(bw,x))) -> fshl(a,b,x) iff x < bw (REAPPLIED)

If value tracking can confirm that a shift value is less than the type bitwidth then we can more confidently fold general or(shl(a,x),lshr(b,sub(bw,x))) patterns to a funnel/rotate intrinsic pattern without causing bad codegen regressions in the backend (see D89139).

Reapplied after the shift canonicalization in rG02295e6d1a15 which removed the need to flip the shift values.

Differential Revision: https://reviews.llvm.org/D88783
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit b8901230c07eb363f8d61f71c436c36375b750db by jay.foad
[AMDGPU] Use @LINE for error checking in gfx10 assembler tests
The file was modifiedllvm/test/MC/AMDGPU/gfx10_unsupported.s
Commit 974ddb54c9adfb533f4bd9665ef902ebe75fa7ee by mcinally
[SVE] Lower fixed length VECREDUCE_XOR operation

Differential Revision: https://reviews.llvm.org/D88974
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 7f2a641aad28fd9b15fa1bcae1dd496150638d79 by sebastian.neubauer
[AMDGPU] Insert waterfall loops for divergent calls

Extend loadSRsrcFromVGPR to allow moving a range of instructions into
the loop. The call instruction is surrounded by copies into physical
registers which should be part of the waterfall loop.

Differential Revision: https://reviews.llvm.org/D88291
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-call.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit ad5541045a63fe3049fc910d843bcbb78f7c7056 by flo
[LoopDeletion] Remove over-eager SCEV verification.

60b852092c98dbdc6248d60109d90ae6f8ad841c introduced SCEV verification to
deleteDeadLoop, but it appears this check is currently a bit over-eager
and some users of deleteDeadLoop appear to only patch up SE after
calling it (e.g. PR47753).

Remove the extra check for now. We can consider adding it back after we
tracked down the source of the inconsistency for PR47753.
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
Commit c2216d796aab7659771c05303f9d78bad4aeca07 by sebastian.neubauer
[AMDGPU] Print metadata on error

If the metadata is valid yaml, we can print it, even if it failed
validation. That makes it easier to debug any wrong metadata.

Differential Revision: https://reviews.llvm.org/D89243
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 596a9f6b89d0d3e3f2897132ef1283941bd3607b by mtrofin
[NFC][Regalloc] Pass VirtRegMap by reference.

It's never null - the reason it's modeled as a pointer is because the
pass can't init it in its ctor. Passing by ref simplifies the code, too,
as the null checks were unnecessary complexity.

Differential Revision: https://reviews.llvm.org/D89171
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/lib/CodeGen/LiveRangeEdit.cpp
The file was modifiedllvm/include/llvm/CodeGen/CalcSpillWeights.h
The file was modifiedllvm/lib/CodeGen/RegAllocBasic.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocPBQP.cpp
The file was modifiedllvm/lib/CodeGen/CalcSpillWeights.cpp
Commit ea058d289cbf54e5b33aac7f7a13d0d58625f1b9 by flo
[VPlan] Use operands for printing of VPWidenMemoryInstructionRecipe.

Now that operands of the recipe are managed through VPUser, we can
simplify the printing by just using the operands.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 43d347995c33a5f48f0b4d9cf3d541a1f6ba66c6 by mtrofin
[NFC][MC] Use MCRegister in LiveRangeMatrix

The change starts from LiveRangeMatrix and also checks the users of the
APIs are typed accordingly.

Differential Revision: https://reviews.llvm.org/D89145
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocBase.cpp
The file was modifiedllvm/include/llvm/CodeGen/LiveRegMatrix.h
The file was modifiedllvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
The file was modifiedllvm/lib/CodeGen/LiveRegMatrix.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocBasic.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocBase.h
Commit 2f66bfac280f9ae9299dccc357ae10e8a48525ed by Dávid Bolvanský
[Tests] Regenerate test checks; NFC
The file was modifiedllvm/test/Transforms/InstCombine/fabs-libcall.ll
The file was modifiedllvm/test/Transforms/InstCombine/objsize.ll
The file was modifiedllvm/test/Transforms/InstCombine/cabs-array.ll
The file was modifiedllvm/test/Transforms/InstCombine/cabs-discrete.ll
Commit 734112343917a011676c2915c5e5d29803a51ba6 by konstantin.schwarz
[GlobalISel][KnownBits] Early return on out of bound shift amounts

If the known shift amount is bigger than or equal to the bitwidth of the type of the value to be shifted,
the result is target dependent, so don't try to infer any bits.

This fixes a crash we've seen in one of our internal test suites.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D89232
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit 17cec6a11a12f815052d56a17ef738cf246a2d9a by hans
Revert 1c021c64c "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown"

> While we indeed can't treat them as no-ops, i believe we can/should
> do better than just modelling them as `unknown`. `inttoptr` story
> is complicated, but for `ptrtoint`, it seems straight-forward
> to model it just as a zext-or-trunc of unknown.
>
> This may be important now that we track towards
> making inttoptr/ptrtoint casts not no-op,
> and towards preventing folding them into loads/etc
> (see D88979/D88789/D88788)
>
> Reviewed By: mkazantsev
>
> Differential Revision: https://reviews.llvm.org/D88806

It caused the following assert during Chromium builds:

  llvm/lib/IR/Constants.cpp:1868:
  static llvm::Constant *llvm::ConstantExpr::getTrunc(llvm::Constant *, llvm::Type *, bool):
  Assertion `C->getType()->isIntOrIntVectorTy() && "Trunc operand must be integer"' failed.

See code review for a link to a reproducer.

This reverts commit 1c021c64caef83cccb719c9bf0a2554faa6563af.
The file was modifiedllvm/test/Analysis/ScalarEvolution/ptrtoint.ll
The file was modifiedpolly/test/Isl/CodeGen/scev_looking_through_bitcasts.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll
The file was modifiedllvm/test/CodeGen/ARM/lsr-undef-in-binop.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyIndVar.cpp
The file was modifiedllvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
Commit 1ef0e94d5b0206f69e4e822c6828d0b5121c11fb by i
[compiler-rt] Suppress -Wunused-result due to ::write when _FORTIFY_SOURCE>0 in glibc

Noticed by Peter Foley.
In glibc, ::write is declared as __attribute__((__warn_unused_result__)) when __USE_FORTIFY_LEVEL is larger than 0.
The file was modifiedcompiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerIOPosix.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/linux.cpp
Commit 551caec4a8af79483823e2940d40afb4c1df5da1 by koraq
Make likelihood lit test less brittle

Jeremy Morse discovered an issue with the lit test introduced in D88363. The
test gives different results for Sony's `-O1`.

The test needs to run at `-O1` otherwise the likelihood attribute will be
ignored. Instead of running all `-O1` passes it only runs the lower-expect pass
which is needed to lower `__builtin_expect`.

Differential Revision: https://reviews.llvm.org/D89204
The file was modifiedclang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
Commit 525b085a65d30a5f2ae2af38c0be252fe8d4781b by flo
[VPlan] Use VPValue def for VPMemoryInstructionRecipe.

This patch turns VPMemoryInstructionRecipe into a VPValue and uses it
during VPlan construction and codegeneration instead of the plain IR
reference where possible.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D84680
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit c27ab339ad8fcdd0abbe81ec9f44a440570de708 by tejohnson
Restore "[ThinLTO] Avoid temporaries when loading global decl attachment metadata"

This restores commit ab1b4810b55279bcf6fdd87be74a403440be3991 which was
reverted in 01b9deba76a950f04574b656c7c31ae389104f2d, with a fix for the
issue it caused. We should use a temporary BitstreamCursor when
loading the global decl attachment records so that the abbrev ids held
in the lazy loading IndexCursor are not clobbered. Enhanced the test so
that the issue is exposed there.

Original description:

When performing ThinLTO importing, the metadata loader attempts to lazy
load, by building an index. However, module level global decl attachment
metadata was being parsed early while building the index, since the
associated (module level) global values aren't materialized on demand.
This results in the creation of forward reference temporary metadatas,
which are expensive.

Normally, these module level global values don't have much attached
metadata. However, in the case of -fwhole-program-vtables (e.g. for
whole program devirtualization), the vtables may have many attached type
metadatas. This was resulting in very slow performance when performing
ThinLTO importing with the default lazy loading.

This patch restructures the handling of these global decl attachment
records, delaying their parsing until after the lazy loading index has
been built. Then the parser can use the interface that loads from the
index, which resolves forward references immediately instead of creating
expensive temporaries.

For one ThinLTO backend that imports from modules containing huge
numbers of vtables and associated types, I measured the following
compile times for the metadata materialization during function
importing, rounded to nearest second:

No -fwhole-program-vtables:
  Lazy loading on (head):  1s
  Lazy loading off (head): 3s
  Lazy loading on (patch): 1s

With -fwhole-program-vtables:
  Lazy loading on (head):  440s
  Lazy loading off (head): 4s
  Lazy loading on (patch): 2s

Differential Revision: https://reviews.llvm.org/D87970
The file was modifiedllvm/test/ThinLTO/X86/Inputs/devirt2.ll
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
Commit 2de368f6a780f4cdbaf9cf8a4f803272f5de5938 by llvm-dev
[InstCombine] FoldShiftByConstant - merge equivalent types. NFCI.

Consistently use the original shift instruction's Type/BitWidth instead of the operands, casted values etc.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 24dd0cd1edd5e5a2cb3cc361c76a3751b4896132 by llvm-dev
[InstCombine] FoldShiftByConstant - create Scalar/Vector constant with ConstantInt::get(). NFCI.

There's no need to create constant vector splats manually.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 726a6e84be1892e90e2f3572a36480c0fe616119 by clementval
[flang][openacc] Update Loop Construct lowering to use fir::getBase

This patch update the loop construct lowring to match fir-dev changes.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D88914
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit e944455eaf1ed3b3bfe9876c5478ce18e9975eea by clementval
[flang][openacc] Lower parallel construct

This patch upstream the lowering of Parallel construct that was initially done in
https://github.com/flang-compiler/f18-llvm-project/pull/460.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D88917
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit 012dd42e027e2ff3d183cc9dcf27004cf9711720 by i
[X86] Support -march=x86-64-v[234]

PR47686. These micro-architecture levels are defined in the x86-64 psABI:

https://gitlab.com/x86-psABIs/x86-64-ABI/-/commit/77566eb03bc6a326811cb7e9

GCC 11 will support these levels.

Note, -mtune=x86-64-v[234] are invalid and __builtin_cpu_is cannot be
used on them.

Reviewed By: craig.topper, RKSimon

Differential Revision: https://reviews.llvm.org/D89197
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedclang/test/Driver/x86-march.c
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/docs/UsersManual.rst
The file was addedclang/test/Preprocessor/predefined-arch-macros-x86.c
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.h
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedclang/test/CodeGen/attr-target-x86.c
The file was modifiedclang/test/Driver/x86-mtune.c
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/test/CodeGen/X86/cpus-other.ll
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/Sema/builtin-cpu-supports.c
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
Commit 039126c97d39fbd8ca6a82f103db8f2591e793cd by adhemerval.zanella
[sanitizer] Disable fast_unwind_on_malloc as default for arm-linux-gnu

ARM thumb/thumb2 frame pointer is inconsistent on GCC and Clang [1]
and fast-unwider is also unreliable when mixing arm and thumb code [2].

The fast unwinder on ARM tries to probe and compare the frame-pointer
at different stack layout positions and it works reliable only on
systems where all the libraries were built in arm mode (either with
gcc or clang) or with clang in thmb mode (which uses the same stack
frame pointer layout in arm and thumb).

However when mixing objects built with different abi modes the
fast unwinder is still problematic as shown by the failures on the
AddressSanitizer.ThreadStackReuseTest. For these failures, the
malloc is called by the loader itself and since it has been built
with a thum enabled gcc, the stack frame is not correctly obtained
and the suppression rule is not applied (resulting in a leak warning).

The check for fast-unwinder-works is also changed: instead of checking
f it is explicit enabled in the compiler flags, it now checks if
compiler defined thumb pre-processor.

This should fix BZ#44158.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92172
[2] https://bugs.llvm.org/show_bug.cgi?id=44158

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D88958
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.inc
The file was modifiedcompiler-rt/test/asan/lit.cfg.py
The file was modifiedcompiler-rt/test/asan/lit.site.cfg.py.in
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/clang_gcc_abi.cpp
Commit 1b962fdd5f365a10684d9f70d703ae101c20d37a by zeratul976
[clangd] Heuristic resolution for dependent type and template names

Fixes https://github.com/clangd/clangd/issues/543

Differential Revision: https://reviews.llvm.org/D88469
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit 4ff71362683b159903b3908f5c9f949d2fe7656d by llvm-dev
[InstCombine] FoldShiftByConstant - create Scalar/Vector constant with ConstantInt::get(). NFCI.

There's no need to create constant vector splats manually - missed this one in rG24dd0cd1edd5
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit f1800579666c80adf8bb2f992a639e5b8e3a389b by aeubanks
[Inliner][NPM] Fix various tests under NPM

alloca-dbgdeclare-merge.ll:
alloca-merge-align.ll:
array_merge.ll:
NPM inliner does not merge allocas

delete-call.ll:
NPM inliner does not delete readonly calls

externally_available.ll:
NPM inliner does not delete available_externally functions

inline-cold-callee.ll:
inline-hot-callee.ll:
inline-hot-callee.ll has a comment saying it only applies to legacy PM,
I assume same for inline-cold-callee.ll

devirtualize-2.ll:
inline-hot-callsite:
monster_scc.ll:
pr22285.ll:
already has legacy and new PM RUN lines

inline-cold.ll:
profile-summary required to see callee as cold

prof-update-sample.ll:
profile-summary required to update branch_weights

Reviewed By: davidxl

Differential Revision: https://reviews.llvm.org/D89093
The file was modifiedllvm/test/Transforms/Inline/delete-call.ll
The file was modifiedllvm/test/Transforms/Inline/inline-cold-callee.ll
The file was modifiedllvm/test/Transforms/Inline/inline-cold.ll
The file was modifiedllvm/test/Transforms/Inline/externally_available.ll
The file was modifiedllvm/test/Transforms/Inline/prof-update-sample.ll
The file was modifiedllvm/test/Transforms/Inline/inline-hot-callee.ll
The file was modifiedllvm/test/Transforms/Inline/devirtualize-3.ll
The file was modifiedllvm/test/Transforms/Inline/devirtualize-2.ll
The file was modifiedllvm/test/Transforms/Inline/pr22285.ll
The file was modifiedllvm/test/Transforms/Inline/monster_scc.ll
The file was modifiedllvm/test/Transforms/Inline/alloca-dbgdeclare-merge.ll
The file was modifiedllvm/test/Transforms/Inline/array_merge.ll
The file was modifiedllvm/test/Transforms/Inline/inline-hot-callsite.ll
The file was modifiedllvm/test/Transforms/Inline/alloca-merge-align.ll
Commit f21fcccef7197f911a27b960aa2a180e0c7724aa by amccarth
[LLDB] Fix 37 tests on Windows

A Windows-style LLDB_PYTHON_HOME path in a Cmake template didn't have the
backslashes escaped, which led to a garbled paths derived from it.  Fixed
by expanding the environment variable as a raw string literal.

Differential Revision: https://reviews.llvm.org/D89256
The file was modifiedlldb/include/lldb/Host/Config.h.cmake
Commit 820e65f9e2369d2990fde4b3e7cfceb64f0df9c8 by rob.suderman
[mlir] fixing typo in parseAttribute that was ignoring caller-specified types

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D89255
The file was modifiedmlir/include/mlir/IR/DialectImplementation.h
Commit f09587c64ccb713af1e83d4f01a6aea3cb682c94 by sguelton
update .txt --> .md links
The file was modifiedflang/README.md
Commit dce8f2bb25ea1d01533d8e602f2520492fa67259 by xun
[Coroutine][Sema] Only tighten the suspend call temp lifetime for final awaiter

In https://reviews.llvm.org/D87470 I added the change to tighten the lifetime of the expression awaiter.await_suspend().address.
Howver it was incorrect. ExprWithCleanups will call the dtor and end the lifetime for all the temps created in the current full expr.
When this is called on a normal await call, we don't want to do that.
We only want to do this for the call on the final_awaiter, to avoid writing into the frame after the frame is destroyed.
This change fixes it, by checking IsImplicit.

Differential Revision: https://reviews.llvm.org/D89066
The file was modifiedclang/test/CodeGenCoroutines/coro-semmetric-transfer.cpp
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
Commit 388d373294e1f7386e1bc14338bd985189f47604 by clementval
[flang][openacc] Lower data construct

This patch upstream the lowering of Data construct that was initially done in
https://github.com/flang-compiler/f18-llvm-project/pull/460.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D88918
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit 26d861cbbd5f40182b3b7f0ac7ed0e58e0e8feaa by walter erquinigo
[trace] Scaffold "thread trace dump instructions"

Depends on D88841

As per the discussion in the RFC, we'll implement both

  thread trace dump [instructions | functions]

This is the first step in implementing the "instructions" dumping command.

It includes:

- A minimal ProcessTrace plugin for representing processes from a trace file. I noticed that it was a required step to mimic how core-based processes are initialized, e.g. ProcessElfCore and ProcessMinidump. I haven't had the need to create ThreadTrace yet, though. So far HistoryThread seems good enough.
- The command handling itself in CommandObjectThread, which outputs a placeholder text instead of the actual instructions. I'll do that part in the next diff.
- Tests

{F13132325}

Differential Revision: https://reviews.llvm.org/D88769
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
The file was addedlldb/source/Plugins/Process/Trace/ProcessTrace.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.cpp
The file was addedlldb/source/Plugins/Process/Trace/ProcessTrace.h
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was modifiedlldb/source/Plugins/Process/CMakeLists.txt
The file was addedlldb/source/Plugins/Process/Trace/CMakeLists.txt
The file was modifiedlldb/source/Target/Target.cpp
The file was addedlldb/test/API/commands/trace/TestTraceDumpInstructions.py
The file was modifiedlldb/include/lldb/Target/Trace.h
The file was modifiedlldb/source/Target/Trace.cpp
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/source/Commands/Options.td
The file was addedlldb/test/API/commands/trace/intelpt-trace/trace_2threads.json
The file was modifiedlldb/test/API/commands/trace/TestTraceLoad.py