SuccessChanges

Summary

  1. [NFC] Precommit test showing SROA loses `!tbaa.struct` metadata (details)
  2. [llvm-readobj/llvm-readelf] - Reimplement dumping of the SHT_GNU_verneed (details)
  3. [clangd] Fix a regression issue in local rename. (details)
  4. [Orc] Add setters for target options and features to (details)
  5. [ExecutionEngine] Add a jitTargetAddressToFunction utility function. (details)
  6. [ORC] Add a runAsMain utility function to ExecutionUtils. (details)
  7. [llvm-readelf/llvm-readobj] - Check the version of SHT_GNU_verneed (details)
  8. [InstCombine] Fix big-endian miscompile of (bitcast (zext/trunc (details)
  9. [X86] Add initialization of MXCSR in llvm-exegesis (details)
  10. [ARM] Remove VHADD patterns (details)
Commit bd23859f390aa81ddb1bf0b16684cce50ad9d66d by anton.a.afanasyev
[NFC] Precommit test showing SROA loses `!tbaa.struct` metadata
This issue impacts llvm.org/pr42022
The file was addedllvm/test/Transforms/SROA/tbaa-struct.ll
Commit c653a52c85ff913bcbef007082763dbc754d6933 by grimar
[llvm-readobj/llvm-readelf] - Reimplement dumping of the SHT_GNU_verneed
section.
This is similar to D70495, but for SHT_GNU_verneed section. It solves
the same problems: different implementations, lack of error reporting
and no test coverage.
DIfferential revision: https://reviews.llvm.org/D70826
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-verneed-invalid.test
Commit 902dc6c69ce7985427efa103a7c4099c372da6fa by hokein.wu
[clangd] Fix a regression issue in local rename.
Summary: The regression is that we can't rename symbols in annonymous
namespaces.
Reviewers: ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70853
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit 5c05b4a279f51d7eaa91f008bc5dc2155d98061a by Lang Hames
[Orc] Add setters for target options and features to
JITTargetMachineBuilder.
Also remove redundant feature initialization steps from the detectHost
method.
The file was modifiedllvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
Commit 0e7ecc651a47f818abafdfe5f928923f789fe0bc by Lang Hames
[ExecutionEngine] Add a jitTargetAddressToFunction utility function.
jitTargetAddressToFunction takes a JITTargetAddress and returns a
pointer of the given function pointer type suitable for calling to
invoke the function at the target address.
jitTargetAddressToFunction currently behaves the same as
jitTargetAddressToPointer, but in the near future will be updated to
perform pointer signing on architectures that require it (e.g. arm64e).
For this reason it should always be preferred when generating callable
pointers for JIT'd functions.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITSymbol.h
Commit ece8fed609061638bc867ecb74e179cb86426d60 by Lang Hames
[ORC] Add a runAsMain utility function to ExecutionUtils.
The runAsMain function takes a pointer to a function with a standard C
main signature, int(*)(int, char*[]), and invokes it using the given
arguments and program name. The arguments are copied into writable
temporary storage as required by the C and C++ specifications, so
runAsMain safe to use when calling main functions that modify their
arguments in-place.
This patch also uses the new runAsMain function to replace hand-rolled
versions in lli, llvm-jitlink, and the SpeculativeJIT example.
The file was modifiedllvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
Commit 7eecf2b872e506927f59b6a1f4a8546d8baaa700 by grimar
[llvm-readelf/llvm-readobj] - Check the version of SHT_GNU_verneed
section entries.
It is a follow-up for D70826 and it is similar to D70810.
SHT_GNU_verneed contains the following fields:
`vn_version`: Version of structure. This value is currently set to 1,
and will be reset if the versioning implementation is incompatibly
altered.
(https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/symversion.html)
We should check it for correctness.
Differential revision: https://reviews.llvm.org/D70842
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-verneed-invalid.test
Commit a9d6b0e5444741d08ff1df7cf71d1559e7fefc1f by bjorn.a.pettersson
[InstCombine] Fix big-endian miscompile of (bitcast (zext/trunc
(bitcast)))
Summary: optimizeVectorResize is rewriting patterns like:
%1 = bitcast vector %src to integer
%2 = trunc/zext %1
%dst = bitcast %2 to vector
Since bitcasting between integer an vector types gives different integer
values depending on endianness, we need to take endianness into account.
As it happens the old implementation only produced the correct result
for little endian targets.
Fixes: https://bugs.llvm.org/show_bug.cgi?id=44178
Reviewers: spatel, lattner, lebedev.ri
Reviewed By: spatel, lebedev.ri
Subscribers: lebedev.ri, hiraditya, uabelho, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70844
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 44b9942898c7167ed95cccef4c3da3d2113e11e8 by pengfei.wang
[X86] Add initialization of MXCSR in llvm-exegesis
Summary: This patch is used to initialize the new added register MXCSR.
Reviewers: craig.topper, RKSimon
Subscribers: tschuett, courbet, llvm-commits, LiuChen3
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70874
The file was modifiedllvm/test/tools/llvm-exegesis/X86/uops-VFMADDSS4rm.s
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
Commit e9e1daf2b9e800c00a3c08db53650c1569288a1b by david.green
[ARM] Remove VHADD patterns
These instructions do not work quite like I expected them to. They
perform the addition and then shift in a higher precision integer, so do
not match up with the patterns that we added.
For example with s8s, adding 100 and 100 should wrap leaving the shift
to work on a negative number. VHADD will instead do the arithmetic in
higher precision, giving 100 overall. The vhadd gives a "better" result,
but not one that matches up with the input.
I am just removing the patterns here. We might be able to re-add them in
the future by checking for wrap flags or changing bitwidths. But for the
moment just remove them to remove the problem cases.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vhaddsub.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td