SuccessChanges

Summary

  1. TableGen/GlobalISel: Allow inst matcher to check multiple opcodes (details)
  2. [lldb] type category name common completion (details)
  3. [flang][openacc] Fix reduction operator parsing/unparsing (details)
  4. [AMDGPU, docs] Fix typos (details)
  5. [TSan][Darwin] Handle NULL argument in interceptor (details)
  6. AMDGPU: Add flag to disable promotion of uniform i16 ops (details)
  7. Revert D85812 "[coroutine] should disable inline before calling coro split" (details)
  8. Add hashing of the .text section to ProcessMinidump. (details)
  9. [mlir] Add Index Type, Floating Point Type and None Type subclasses to python bindings. (details)
  10. [PowerPC] Extend custom lower of vector truncate to handle wider input (details)
  11. [NFC][InstCombine] Adjust naming for some methods to match coding standards (details)
  12. [NFC][InstCombine] Multi-level aggregate test for phi-of-insertvalue pattern (details)
  13. [flang] Fix bug accessing implicit variable in specification expression (details)
  14. [Scalarizer] Avoid updating the name of globals (details)
  15. Move special va_list handling to kmp_os.h (details)
  16. Add <stdarg.h> include to kmp_os.h, to get the va_list type, required (details)
  17. [llvm-libtool-darwin] Add support for -V option (details)
  18. [compiler-rt] Disable ranlib when using libtool (details)
  19. [runtimes] Remove TOOLCHAIN_TOOLS specialization (details)
  20. [runtimes] Use llvm-libtool-darwin for runtimes build (details)
  21. [InstCombine] add tests for insert+extract demanded elements; NFC (details)
  22. [SLP] avoid 'tmp' names in regression tests; NFC (details)
  23. [InstCombine] improve demanded element analysis for vector insert-of-extract (details)
  24. [TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait() (details)
  25. [libunwind] Remove static_assert / __has_feature macros (details)
  26. [PowerPC] Handle SUBFIC in reg+reg -> reg+imm transformation (details)
  27. [TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait(), pt. 2 (details)
  28. AMDGPU: Have a few selection failure tests check both paths (details)
  29. [X86] Copy the tuning features and scheduler model from pentium4/x86-64 to generic (details)
  30. [PowerPC] Do not use FISel for calls and TOC-based accesses with PC-Rel (details)
  31. AMDGPU/GlobalISel: Handle AGPRs used for SGPR operands. (details)
  32. [lldb] Add a SymbolFileProvider to record and replay calls to dsymForUUID (details)
  33. [x86][AArch64] adjust fast-math-flags in tests; NFC (details)
  34. [DAGCombine]: Fold X/Sqrt(X) to Sqrt(X) (details)
  35. [LLDB] Fix how ValueObjectVariable handles DW_AT_const_value when the DWARFExpression holds the data that represents a constant value (details)
  36. Fix test for D77924. (details)
  37. [LLDB] Fix SVE offset calculation in NativeRegisterContextLinux_arm64 (details)
Commit 116affb18dfc8c48ad0bd5134b42a51e34ad6fd8 by arsenm2
TableGen/GlobalISel: Allow inst matcher to check multiple opcodes

This is to initially handleg immAllOnesV, which should match
G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC. In the future, it could be
used for other patterns cases that map to multiple G_* instructions,
such as G_ADD and G_PTR_ADD.
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp (diff)
The file was modifiedllvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll (diff)
Commit 188f1ac301c5c6da6d2f5697952510fc39cbdd43 by Raphael Isemann
[lldb] type category name common completion

1. Added a new common completion TypeCategoryNames to provide a list of category names for completion;
2. Applied the completion to these commands: type category delete/enable/disable/list/define;
3. Added a related test case;
4. Bound the completion to the arguments of the type 'eArgTypeName'.

Reviewed By: teemperor, JDevlieghere

Differential Revision: https://reviews.llvm.org/D84124
The file was modifiedlldb/source/Commands/CommandCompletions.cpp (diff)
The file was modifiedlldb/source/Interpreter/CommandObject.cpp (diff)
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp (diff)
The file was modifiedlldb/include/lldb/Interpreter/CommandCompletions.h (diff)
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py (diff)
The file was modifiedlldb/source/Commands/CommandObjectType.cpp (diff)
Commit d5557c6e056f41776efbcdf67e0a9629229a4c34 by clementval
[flang][openacc] Fix reduction operator parsing/unparsing

Update the way reduction operator are defined for the OpenACC parser.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D86296
The file was modifiedflang/lib/Parser/unparse.cpp (diff)
The file was modifiedflang/include/flang/Parser/dump-parse-tree.h (diff)
The file was modifiedflang/lib/Parser/openacc-parsers.cpp (diff)
The file was modifiedflang/test/Semantics/acc-clause-validity.f90 (diff)
The file was modifiedflang/include/flang/Parser/parse-tree.h (diff)
Commit b9496efbb9ebbf7ec76411fac4e12ff0dc7a8e06 by VenkataRamanaiah.Nalamothu
[AMDGPU, docs] Fix typos

Reviewed By: t-tye, Flakebi

Differential Revision: https://reviews.llvm.org/D86340
The file was modifiedllvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst (diff)
Commit 2b7a2cbb15c461380bebed0fc8603a0ef16a8f5d by julian.lettner
[TSan][Darwin] Handle NULL argument in interceptor

Handle NULL address argument in the `mach_vm_[de]allocate()`
interceptors and fix test: `Assignment 2` is not valid if we weren't
able to re-allocate memory.

rdar://67680613
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_mach_vm.cpp (diff)
The file was modifiedcompiler-rt/test/tsan/Darwin/mach_vm_allocate.c (diff)
Commit 75e6f0b3d43c90edcc027bca7a896bace5c0677c by arsenm2
AMDGPU: Add flag to disable promotion of uniform i16 ops

This interferes with GlobalISel's much better handling of the
situation.

This should really be disable for GlobalISel. However, the fallback
only re-runs the selection passes, and doesn't go back and rerun any
codegen IR passes. I haven't come up with a good solution to this
problem.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp (diff)
Commit 44ee9d070adee1aed105f90d88b30b8802d90d35 by i
Revert D85812 "[coroutine] should disable inline before calling coro split"

This reverts commit 2e43acfed89b1903de473f682c65878bdebc395a.

LLVMCoroutines (the library which contains Coroutines.h) depends on LLVMipo (the
library which contains SampleProfile.cpp). It is inappropriate for
SampleProfile.cpp to depent on Coroutines.h (circular dependency).

The test inverted dependencies as well:
llvm/test/Transforms/Coroutines/coro-inline.ll uses -sample-profile.
The file was removedllvm/test/Transforms/Coroutines/Inputs/sample.text.prof
The file was removedllvm/test/Transforms/Coroutines/coro-inline.ll
The file was modifiedllvm/lib/Transforms/IPO/AlwaysInliner.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Coroutines.h (diff)
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp (diff)
Commit 0e6c9a6e7940a2f8ee624358d828acffdb9ccca5 by gclayton
Add hashing of the .text section to ProcessMinidump.

Breakpad will always have a UUID for binaries when it creates minidump files. If an ELF files has a GNU build ID, it will use that. If it doesn't, it will create one by hashing up to the first 4096 bytes of the .text section. LLDB was not able to load these binaries even when we had the right binary because the UUID didn't match. LLDB will use the GNU build ID first as the main UUID for a binary and fallback onto a 8 byte CRC if a binary doesn't have one. With this fix, we will check for the Breakpad hash or the Facebook hash (a modified version of the breakpad hash that collides a bit less) and accept binaries when these hashes match.

Differential Revision: https://reviews.llvm.org/D86261
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/libbreakpad.yaml
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py (diff)
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/linux-arm-breakpad-uuid-match.yaml
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.cpp (diff)
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/libbreakpad-overflow.yaml
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/linux-arm-facebook-uuid-match.yaml
Commit 1f6c4d829c2dad147e30dcb0611eb9886dae9155 by stellaraccident
[mlir] Add Index Type, Floating Point Type and None Type subclasses to python bindings.

Based on the PyType and PyConcreteType classes, this patch implements the bindings of Index Type, Floating Point Type and None Type subclasses.
These three subclasses share the same binding strategy:
- The function pointer `isaFunction` points to `mlirTypeIsA***`.
- The `mlir***TypeGet` C API is bound with the `***Type` constructor in the python side.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D86466
The file was modifiedmlir/test/Bindings/Python/ir_types.py (diff)
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp (diff)
Commit b6d7ed469f2f7e70110f6f0d0fa03b99bb818d36 by froese
[PowerPC] Extend custom lower of vector truncate to handle wider input

Current custom lowering of truncate vector handles a source of up to 128 bits, but that only uses one of the two shuffle vector operands. Extend it to use both operands to handle 256 bit sources.

Differential Revision: https://reviews.llvm.org/D68035
The file was addedllvm/test/CodeGen/PowerPC/vec-trunc2.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp (diff)
Commit 56c529300ef21c827b04702568dba15c85e2151a by lebedev.ri
[NFC][InstCombine] Adjust naming for some methods to match coding standards

Requested as preparatory cleanup in https://reviews.llvm.org/D86306#inline-799065
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
Commit 4dec8ec33d685bac27c047f74723263f3fb03256 by lebedev.ri
[NFC][InstCombine] Multi-level aggregate test for phi-of-insertvalue pattern

See https://reviews.llvm.org/D86306
The file was modifiedllvm/test/Transforms/InstCombine/phi-of-insertvalues.ll (diff)
Commit b8bfe3586eb892951b79eb70f8af758a318db861 by tkeith
[flang] Fix bug accessing implicit variable in specification expression

A specification expression can reference an implicitly declared variable
in the host procedure. Because we have to process specification parts
before execution parts, this may be the first time we encounter the
variable. We were assuming the variable was implicitly declared in the
scope where it was encountered, leading to an error because local
variables may not be referenced in specification expressions.

The fix is to tentatively create the implicit variable in the host
procedure because that is the only way the specification expression can
be valid. We mark it with the flag `ImplicitOrError` to indicate that
either it must be implicitly defined in the host (by being mentioned in
the execution part) or else its use turned out to be an error.
We need to apply the implicit type rules of the host, which requires
some changes to implicit typing.

Variables in common blocks are allowed to appear in specification expressions
(because they are not locals) but the common block definition may not appear
until after their use. To handle this we create common block symbols and object
entities for each common block object during the `PreSpecificationConstruct`
pass. This allows us to remove the corresponding code in the main visitor and
`commonBlockInfo_.curr`. The change in order of processing causes some
different error messages to be emitted.

Some cleanup is included with this change:
- In `ExpressionAnalyzer`, if an unresolved name is encountered but
  no error has been reported, emit an internal error.
- Change `ImplicitRulesVisitor` to hide the `ImplicitRules` object
  that implements it. Change the interface to pass in names rather
  than having to get the first character of the name.
- Change `DeclareObjectEntity` to have the `attrs` argument default
  to an empty set; that is the typical case.
- In `Pre(parser::SpecificationPart)` use "structured bindings" to
  give names to the pieces that make up a specification-part.
- Enhance `parser::Unwrap` to unwrap `Statement` and `UnlabeledStatement`
  and make use of that in PreSpecificationConstruct.

Differential Revision: https://reviews.llvm.org/D86322
The file was modifiedflang/lib/Semantics/expression.cpp (diff)
The file was modifiedflang/lib/Semantics/compute-offsets.cpp (diff)
The file was modifiedflang/test/Semantics/resolve42.f90 (diff)
The file was modifiedflang/lib/Semantics/check-declarations.cpp (diff)
The file was modifiedflang/lib/Semantics/resolve-names.cpp (diff)
The file was modifiedflang/include/flang/Semantics/tools.h (diff)
The file was modifiedflang/test/Semantics/modfile21.f90 (diff)
The file was modifiedflang/include/flang/Semantics/symbol.h (diff)
The file was modifiedflang/include/flang/Parser/tools.h (diff)
The file was modifiedflang/lib/Semantics/tools.cpp (diff)
The file was addedflang/test/Semantics/implicit11.f90
The file was modifiedflang/test/Semantics/block-data01.f90 (diff)
Commit fce44ff5da4eba4b781d73d72a18903215962091 by bjorn.a.pettersson
[Scalarizer] Avoid updating the name of globals

The "takeName" logic at the end of ScalarizerVisitor::finish
could end up renaming global variables when having simplified
and extractelement instruction to simply pick a single vector
element. If the input vector to the extractelement instruction
held pointers to global variables we ended up renaming the global
variable.
The patch make sure we only take the name of the replaced Op when
we have added new instructions that might need a useful name.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D86472
The file was modifiedllvm/test/Transforms/Scalarizer/basic.ll (diff)
The file was addedllvm/test/Transforms/Scalarizer/global-bug.ll
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp (diff)
Commit cde8f4c164a27670ebe60a1969d486393336d778 by dimitry
Move special va_list handling to kmp_os.h

Instead of copying and pasting the same `#ifdef` expressions in multiple
places, define a type and a pair of macros in `kmp_os.h`, to handle
whether `va_list` is pointer-like or not:

* `kmp_va_list` is the type to use for `__kmp_fork_call()`
* `kmp_va_deref()` dereferences a `va_list`, if necessary
* `kmp_va_addr_of()` takes the address of a `va_list`, if necessary

Also add FreeBSD to the list of OSes that has a non pointer-like
va_list. This can now be easily extended to other OSes too.

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D86397
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp (diff)
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp (diff)
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp (diff)
The file was modifiedopenmp/runtime/src/kmp_os.h (diff)
The file was modifiedopenmp/runtime/src/kmp.h (diff)
Commit 47b0262d3f82a5574c7539afeb76cc1687417ca5 by dimitry
Add <stdarg.h> include to kmp_os.h, to get the va_list type, required
after cde8f4c164a2. Sort system includes, while here.
The file was modifiedopenmp/runtime/src/kmp_os.h (diff)
Commit 68bae34c65b30ad3fe01555b4cf3020266cfec85 by smeenai
[llvm-libtool-darwin] Add support for -V option

The -V option in cctools' libtool prints out the version number and
performs any specified operation. Add this option to LLVM's version.
cctools is more forgiving of invalid command lines when -V is specified,
but I think it's better to give errors instead of silently producing no
output.

Unfortunately, when -V is present, options that would otherwise be
required aren't anymore, so we need to perform some manual argument
validation.

Reviewed By: alexshap

Differential Revision: https://reviews.llvm.org/D86359
The file was modifiedllvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp (diff)
The file was addedllvm/test/tools/llvm-libtool-darwin/version.test
The file was modifiedllvm/test/tools/llvm-libtool-darwin/invalid-input-output-args.test (diff)
The file was modifiedllvm/test/tools/llvm-libtool-darwin/missing-library-type.test (diff)
Commit 26c1d689ae4cd24d228df1c35a2067fa970c52cc by smeenai
[compiler-rt] Disable ranlib when using libtool

libtool already produces a table of contents, and ranlib just gives
spurious errors because it doesn't understand universal binaries.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D86365
The file was modifiedcompiler-rt/cmake/Modules/UseLibtool.cmake (diff)
Commit a7d8aabf298c66cf03f3298ab1addb82e895a6af by smeenai
[runtimes] Remove TOOLCHAIN_TOOLS specialization

{builtin,runtime}_register_target passes a TOOLCHAIN_TOOLS list, whereas
{builtin,runtime}_default_target does notl. The explicit TOOLCHAIN_TOOLS
list matches what LLVMExternalProjectUtils would have set anyway,
barring some target-specific adjustments, and those target-specific
adjustments seem valuable, so let's drop the explicit TOOLCHAIN_TOOLS
list and let LLVMExternalProjectUtils take care of it.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D86366
The file was modifiedllvm/runtimes/CMakeLists.txt (diff)
Commit 2c80e2fe51b685f5663ad6f76c9c05c75d7582c4 by smeenai
[runtimes] Use llvm-libtool-darwin for runtimes build

It's full featured now and we can use it for the runtimes build instead
of relying on an external libtool, which means the CMAKE_HOST_APPLE
restriction serves no purpose either now. Restrict llvm-lipo to Darwin
targets while I'm here, since it's only needed there.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D86367
The file was modifiedcompiler-rt/CMakeLists.txt (diff)
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt (diff)
The file was modifiedllvm/cmake/modules/LLVMExternalProjectUtils.cmake (diff)
Commit 49dd1ea727d57aba168f05508132526c128c0621 by spatel
[InstCombine] add tests for insert+extract demanded elements; NFC
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll (diff)
Commit 7661c8c040465602c40b45ecbd226ce93b03147b by spatel
[SLP] avoid 'tmp' names in regression tests; NFC

That can cause problems for update_test_checks.py (it warns when updating this file).
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll (diff)
Commit 557b890ff4f4dd5fa979c232df5b31cf3fef04c1 by spatel
[InstCombine] improve demanded element analysis for vector insert-of-extract

InstCombine currently has odd rules for folding insert-extract chains to shuffles,
so we miss collapsing seemingly simple cases as shown in the tests here.

But poison makes this not quite as easy as we might have guessed. Alive2 tests to
show the subtle difference (similar to the regression tests):
https://alive2.llvm.org/ce/z/hp4hv3 (this is ok)
https://alive2.llvm.org/ce/z/ehEWaN (poison leakage)

SLP tends to create these patterns (as shown in the SLP tests), and this could
help with solving PR16739.

Differential Revision: https://reviews.llvm.org/D86460
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/operandorder.ll (diff)
Commit fa0a855c73a053c13d6fcf1aa20bad6f1711d2b8 by julian.lettner
[TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait()

Add interceptors for the barrier variants of the "async and wait"
dispatch API family.
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp (diff)
Commit 9e32d7b6e7e6615dbc5049a53f8e2ba03ae0292f by rprichard
[libunwind] Remove static_assert / __has_feature macros

The static_assert macro broke on GCC when a scope had two asserts and a
condition that depended on a template parameter. Remove the macro and
rely on the compiler's C++11 static_assert feature.

The __has_feature macro was only used here to determine whether to
define the static_assert macro.

Reviewed By: mstorsjo, #libunwind

Differential Revision: https://reviews.llvm.org/D86411
The file was modifiedlibunwind/src/config.h (diff)
Commit c485343c8310086ff7ee4aaf40330b4c4b35e99f by nemanja.i.ibm
[PowerPC] Handle SUBFIC in reg+reg -> reg+imm transformation

We initially missed the subtract-immediate in this transformation.
This patch just adds that.

Differential revision: https://reviews.llvm.org/D84659
The file was modifiedllvm/test/CodeGen/PowerPC/pr44183.ll (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)
Commit c1d25e9a82554aa580b3cc0b97fc5c7db8164042 by julian.lettner
[TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait(), pt. 2

Also intercept these target functions on Linux.
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp (diff)
Commit 05a3c8848a08fea5b832e69b94d3d647ef29f745 by Matthew.Arsenault
AMDGPU: Have a few selection failure tests check both paths

SelectionDAG and GlobalISel take different failure paths for these and
end up producing different failure errors. Check both so the test
passes when the default is switched.
The file was modifiedllvm/test/CodeGen/AMDGPU/div_i128.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/unsupported-image-a16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/unsupported-image-g16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.release.all.ll (diff)
Commit f7c87b7e376773c555d92d02d8a52a811caf2fbc by craig.topper
[X86] Copy the tuning features and scheduler model from pentium4/x86-64 to generic

This is preparation for making clang default to -mtune=generic when no -march is specified. This will allow the default tuning to be "generic" even though our default march is "pentium4" or "x86-64".

To avoid llc lit test regressions, if no mcpu is specified, I've defaulted tune to use i586 to match the old tuning settings of no CPU. Some tests explicitly used -mcpu=generic which I've removed so they instead get this default of architecture features from generic and tune from i586.

I updated one llvm-mca test to check a different CPU since generic has a scheduler model now

Differential Revision: https://reviews.llvm.org/D86312
The file was modifiedllvm/test/CodeGen/X86/widen_cast-1.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/optimize-max-3.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_setcc-2.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/abi-isel.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/select.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/full-lsr.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/lsr-loop-exit-cond.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_call.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/lsr-static-addr.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/2007-11-06-InstrSched.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/masked-iv-safe.ll (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/no-sched-model.s (diff)
The file was modifiedllvm/lib/Target/X86/X86.td (diff)
The file was modifiedllvm/lib/Target/X86/X86Subtarget.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/add.ll (diff)
Commit 075a92dea11ece9e7b7e24238fa995a42b2128d0 by nemanja.i.ibm
[PowerPC] Do not use FISel for calls and TOC-based accesses with PC-Rel

PC-Relative addressing introduces a fair bit of complexity for correctly
eliminating TOC accesses. FastISel does not include any of that handling so we
miscompile code with -mcpu=pwr10 -O0 if it includes an external call that
FastISel does not handle followed by any of the following:

    Floating point constant materialization
    Materialization of a GlobalValue
    Call that FastISel does handle

This patch switches to SDISel for any of the above.

Differential revision: https://reviews.llvm.org/D86343
The file was modifiedllvm/test/CodeGen/PowerPC/fast-isel-pcrel.ll (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCFastISel.cpp (diff)
Commit 77e5a195f818b9ace91f7b12ab948b21d7918238 by Matthew.Arsenault
AMDGPU/GlobalISel: Handle AGPRs used for SGPR operands.

We would still need to waterfall if the value were somehow an AGPR,
and also need to explicitly copy to a VGPR.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.readlane.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-waterfall-agpr.mir
Commit a842950b62b6d029a392c3c312c6495d6368c2a4 by Jonas Devlieghere
[lldb] Add a SymbolFileProvider to record and replay calls to dsymForUUID

When replaying a reproducer captured from a core file, we always use
dsymForUUID for the kernel binary. When enabled, we also use it to find
kexts. Since these files are already contained in the reproducer,
there's no reason to call out to an external tool. If the tool returns a
different result, e.g. because the dSYM got garbage collected, it will
break reproducer replay. The SymbolFileProvider solves the issue by
mapping UUIDs to module and symbol paths in the reproducer.

Differential revision: https://reviews.llvm.org/D86389
The file was modifiedlldb/include/lldb/Utility/ReproducerProvider.h (diff)
The file was modifiedlldb/include/lldb/Utility/Reproducer.h (diff)
The file was addedlldb/test/Shell/Reproducer/Inputs/dsymforuuid.sh
The file was addedlldb/test/Shell/Reproducer/Inputs/core
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp (diff)
The file was modifiedlldb/source/Symbol/LocateSymbolFile.cpp (diff)
The file was modifiedlldb/source/Utility/ReproducerProvider.cpp (diff)
The file was modifiedlldb/source/Symbol/LocateSymbolFileMacOSX.cpp (diff)
The file was addedlldb/test/Shell/Reproducer/TestDebugSymbols.test
Commit a74dc598fb6b878908ffe769025f79f17e54cab0 by spatel
[x86][AArch64] adjust fast-math-flags in tests; NFC

This goes with the proposal in D86403.
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll (diff)
Commit 62e91bf563337fff93be0059ecb1f4dae32d8980 by spatel
[DAGCombine]: Fold X/Sqrt(X) to Sqrt(X)

With FMF ( "nsz" and " reassoc") fold X/Sqrt(X) to Sqrt(X).

This is done after targets have the chance to produce a
reciprocal sqrt estimate sequence because that expansion
is probably more efficient than an expansion of a
non-reciprocal sqrt. That is also why we deferred doing
this transform in IR (D85709).

Differential Revision: https://reviews.llvm.org/D86403
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll (diff)
Commit 93b255142bb7025f62cf83dd5b7d3b04aab5445b by shafik
[LLDB] Fix how ValueObjectVariable handles DW_AT_const_value when the DWARFExpression holds the data that represents a constant value

In some cases when we have a DW_AT_const_value and the data can be found in the
DWARFExpression then ValueObjectVariable does not handle it properly and we end
up with an extracting data from value failed error.

The test is a very stripped down assembly file since reproducing this relies on the results of compiling with -O1 which may not be stable over time.

Differential Revision: https://reviews.llvm.org/D86311
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value.s
The file was modifiedlldb/source/Core/ValueObjectVariable.cpp (diff)
Commit 96a979c0c2950d118da48ac3307e279a41c5a945 by enh
Fix test for D77924.

The trailing 'L' was missing in the expectation.

Differential Revision: https://reviews.llvm.org/D86321
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp (diff)
Commit 4283320b7286dc94367b22df09499dc934e1fbf9 by omair.javaid
[LLDB] Fix SVE offset calculation in NativeRegisterContextLinux_arm64

There was typo left from changes in CalculateSVEOffset where we moved
FPSR/FPCR offset calculation into WriteRegister and ReadRegister.

Differential Revision: https://reviews.llvm.org/D79699
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)