FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [AMDGPU] Regenerate si-annotate-cfg-loop-assert test checks to fix issue reported on D77354 (details)
  2. [AMDGPU] Regenerate vector-extract-insert test checks to fix issue reported on D77354 (details)
  3. [clangd] Add missing GoToStmt in FindTarget. (details)
  4. [compiler-rt] Don't use __libc_stack_end on ARM (details)
  5. [llvm-exegesis][NFC] Remove dead code. (details)
  6. [CodeGen] Emit IR for fixed-point multiplication and division. (details)
  7. [CodeGen] Emit IR for fixed-point unary operators. (details)
  8. [CodeGen] Emit IR for compound assignment with fixed-point operands. (details)
  9. [AST] Compress the FixedPointSemantics type better. (details)
  10. [libTooling] Simplify the representation of Transformer's RewriteRules. (details)
  11. [InstCombine] exclude bitcast of ppc_fp128 in icmp signbit fold (details)
  12. [LangRef] update text for shufflevector (details)
  13. [libc++] Explicitly specify that we use libc++abi in Apple's cache (details)
  14. [PowerPC][Future] Add Support For Functions That Do Not Use A TOC. (details)
  15. [Parser] Improve diagnostic and error recovery when C++ keywords are used as identifiers. (details)
  16. [llvm-exegesis][NFC] Let the pfm::Counter own the PerfHelper. (details)
  17. [DWARFLinker][dsymutil] followup for 88c2137b6d49f88186d0957a4e2d8030a3967334 (details)
  18. [MLIR] Fix more gcc-5 build issues from D77528 (details)
  19. [CodeExtractor] Fix typo in check label to fix issue reported on D77354 (details)
  20. [llvm-exegesis] Fix build with !HAS_LIBPFM. (details)
  21. [DSE,MSSA] Hoist getMemoryAccess call (NFC). (details)
  22. [DSE.MSSA] Only use callCapturesBefore for calls. (details)
  23. [MemorySSA] invariant-groups.ll - add missing check to fix issue reported on D77354 (details)
  24. [X86] Fix x86-header-warnings.c test not detecting regressions as intended. (details)
  25. [DSE,MSSA] Add additional test cases for multi-path elimination (NFC). (details)
  26. [AARCH64][GISEL] arm64-fallback.ll - Refresh remarks to fix issue reported on D77354 (details)
  27. [Fixed Point] Add triples to test cases. (details)
  28. [ARM] Fix misched-int-basic-thumb2.mir typo in check to fix issue reported on D77354 (details)
  29. [libunwind] Fix incorrect lit substitutions in tests (details)
  30. [ARM] Fix thumb1_return_sequence typo in check to fix issue reported on D77354 (details)
  31. [PowerPC][AIX] Enable passing byval formal arguments in multiple registers. (details)
  32. [RDA] Use TinyPtrVector to store reaching defs (NFCI) (details)
  33. [MLIR][Vector] Update ShapeCastOp folder to use producer-consumer value forwarding. (details)
Commit 98181a1f98e78a3bba6ca852f5a02e36b907b435 by llvm-dev
[AMDGPU] Regenerate si-annotate-cfg-loop-assert test checks to fix issue reported on D77354
The file was modifiedllvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
Commit 7e62684251ed4531cf27e533f0c5df3daf8efb70 by llvm-dev
[AMDGPU] Regenerate vector-extract-insert test checks to fix issue reported on D77354
The file was modifiedllvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
Commit a533b03028fad4555e53b803197980735ccd68f9 by hokein.wu
[clangd] Add missing GoToStmt in FindTarget.

Summary: so that go-to-def on label can work.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77715
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
Commit aaba9a77615008624eb48fd333ac872c9e1d8883 by iii
[compiler-rt] Don't use __libc_stack_end on ARM

Summary:
Commit b684c1a50f70 ("Add a `Symbolizer::GetEnvP()` method that allows
symbolizer implementations to customise the environment of the
symbolizer binary.") exposed a latent ARM issue, and that broke

http://lab.llvm.org:8011/builders/clang-cmake-thumbv7-full-sh

This coincided with breakage caused by my commit 5f5fb56c68e4
("[compiler-rt] Intercept the uname() function"), so I had to
investigate.

The issue is that GetArgsAndEnv does not work on ARM: there glibc's
_start overwrites argc value stored at __libc_start_end, breaking the
existing argv/envp parsing logic.

Fix by inferring argc from argv.

Reviewers: eugenis, vitalybuka

Reviewed By: eugenis

Subscribers: dberris, kristof.beyls, danielkiss, #sanitizers, delcypher

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D77400
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit d2d808d2efa46dc9d430c7cd8ddb30eedc03af46 by courbet
[llvm-exegesis][NFC] Remove dead code.
The file was modifiedllvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.h
Commit 0b9922e67a0b5520d76c293e9aef13a7ad4f3a8d by bevin.hansson
[CodeGen] Emit IR for fixed-point multiplication and division.

Reviewers: rjmccall, leonardchan

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73182
The file was addedclang/test/Frontend/fixed_point_mul.c
The file was addedclang/test/Frontend/fixed_point_div.c
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
Commit 39baaabf6de4cfcbb942434084298a3f9acf5f89 by bevin.hansson
[CodeGen] Emit IR for fixed-point unary operators.

Reviewers: rjmccall, leonardchan

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73183
The file was addedclang/test/Frontend/fixed_point_unary.c
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
Commit 313461f6d8f91ac8abf2fa06e17b92127b050f06 by bevin.hansson
[CodeGen] Emit IR for compound assignment with fixed-point operands.

Reviewers: rjmccall, leonardchan

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73184
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was addedclang/test/Frontend/fixed_point_compound.c
Commit d5d0d8eb7d094f8270721662882c0094fc4fdc29 by bevin.hansson
[AST] Compress the FixedPointSemantics type better.

Reviewers: rjmccall, leonardchan, bjope

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73257
The file was modifiedclang/include/clang/Basic/FixedPoint.h
Commit 5e5d36671833e186e847e74bb5ed0c559625b906 by yitzhakm
[libTooling] Simplify the representation of Transformer's RewriteRules.

Summary:
This revision simplifies the representation of edits in rewrite rules. The
simplified form is more general, allowing the user more flexibility in building
custom edit specifications.

The changes extend the API, without changing the signature of existing
functions. So this only risks breaking users that directly accessed the
`RewriteRule` struct.

Reviewers: gribozavr2

Subscribers: jfb, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77419
The file was modifiedclang/include/clang/Tooling/Transformer/RewriteRule.h
The file was modifiedclang/lib/Tooling/Transformer/Transformer.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
The file was modifiedclang/lib/Tooling/Transformer/RewriteRule.cpp
Commit a1c05fe20f3def1f1be9f50d2adefc6b6f1578ad by spatel
[InstCombine] exclude bitcast of ppc_fp128 in icmp signbit fold

Based on the post-commit comments for rG0f56bbc, there might
be a problem with this transform:

(bitcast (fpext/fptrunc X)) to iX) < 0 --> (bitcast X to iY) < 0

...and the ppc_fp128 data type, so conservatively bypass if we
are bitcasting a ppc_fp128.

We might be able to account for endian or other differences to
enable this for PowerPC again if that is useful.

Differential Revision: https://reviews.llvm.org/D77642
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 5c472420b6d69b977db75b239cae7abeb7283475 by spatel
[LangRef] update text for shufflevector

D72467 updated the shufflevector instruction to include a constant mask
rather than a mask operand. The LangRef text was vague enough to still
make sense, but it is better to update here too, so there's no confusion
about valid mask values. The text here is adapted from the documentation
code comments for "class ShuffleVectorInst".

Differential Revision: https://reviews.llvm.org/D77396
The file was modifiedllvm/docs/LangRef.rst
Commit f3bf25eb663c49e821120fd311677764d2bad79e by Louis Dionne
[libc++] Explicitly specify that we use libc++abi in Apple's cache
The file was modifiedlibcxx/cmake/caches/Apple.cmake
Commit 6c4b40def77622a5cf62a219ef4af63dc876e144 by kamau.bridgeman
[PowerPC][Future] Add Support For Functions That Do Not Use A TOC.

On PowerPC most functions require a valid TOC pointer.

This is the case because either the function itself needs to use this
pointer to access the TOC or because other functions that are called
from that function expect a valid TOC pointer in the register R2.
The main exception to this is leaf functions that do not access the TOC
since they are guaranteed not to need a valid TOC pointer.

This patch introduces a feature that will allow more functions to not
require a valid TOC pointer in R2.

Differential Revision: https://reviews.llvm.org/D73664
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was addedllvm/test/CodeGen/PowerPC/pcrel-call-linkage-simple.ll
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCScheduleP9.td
The file was modifiedllvm/test/MC/PowerPC/ppc64-localentry-error2.s
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMCInstLower.cpp
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was addedllvm/test/CodeGen/PowerPC/pcrel-call-linkage-leaf.ll
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
The file was modifiedllvm/include/llvm/MC/MCExpr.h
The file was addedllvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/test/MC/PowerPC/ppc64-localentry-error1.s
Commit 625acd8f6847a156b236b8f11b4b02b11cac3766 by hokein.wu
[Parser] Improve diagnostic and error recovery when C++ keywords are used as identifiers.

Summary:
Previously, clang emitted a less-usefull diagnostic and didnt recover
well when the keywords is used as identifier in function paramter.

```
void foo(int case, int x); // previously we drop all parameters after
`int case`.
```

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77633
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was addedclang/test/Parser/cxx-keyword-identifiers.cpp
Commit 9fb871866e2bb9b1c0968265bc5c1a3aa71d5845 by courbet
[llvm-exegesis][NFC] Let the pfm::Counter own the PerfHelper.

A perf helper is always only ever cretaed to be checked for validity
then passed as Counter ctor argument, never to be touched again.
Its lifetime should outlive that of the counter, and there is never any
reason to have two different counters of top of the perf helper.
Make sure these assumptions always hold by making the Counter consume the
PerfHelper.
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.h
The file was modifiedllvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Commit 0ed2170dc47718b0c0f4907d14676839a1210a8a by a.v.lapshin
[DWARFLinker][dsymutil] followup for 88c2137b6d49f88186d0957a4e2d8030a3967334

That patch is a followup for "Move DwarfStreamer into DWARFLinker".
It fixes build with LLVM_LINK_LLVM_DYLIB.
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was modifiedllvm/lib/DWARFLinker/DWARFStreamer.cpp
Commit 3156b5422e6c3fd3f05557b32d48d58603df1ff1 by uday
[MLIR] Fix more gcc-5 build issues from D77528

820c420d4e1c630b5ead285917c6ecdd2f5092ad did not really fix all build
issues by D77528. This gets rid of two unnecessary 'using' declarations.

Differential Revision: https://reviews.llvm.org/D77726
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit 0c2ab6368994ef2674a8be2e8b6894af441310f2 by llvm-dev
[CodeExtractor] Fix typo in check label to fix issue reported on D77354
The file was modifiedllvm/test/Transforms/CodeExtractor/live_shrink_unsafe.ll
Commit 7c6514bc22c4564448cbaf8d1b1106a3441c13ef by courbet
[llvm-exegesis] Fix build with !HAS_LIBPFM.

Fixes 9fb871866e2b.
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.cpp
Commit a6353fdf3b1a4b2c3df54ee201f70a1357db7612 by flo
[DSE,MSSA] Hoist getMemoryAccess call (NFC).
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit bbbec716090243d42260c4ef47c8a7695950b52f by flo
[DSE.MSSA] Only use callCapturesBefore for calls.

callCapturesBefore always returns ModRef , if UseInst isn't a call. As
we only call it if we already know Mod is set, this only destroys the
Must bit for non-calls.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit 898e22908c4f240f4b7b2b83411acb59478e73d6 by llvm-dev
[MemorySSA] invariant-groups.ll - add missing check to fix issue reported on D77354
The file was modifiedllvm/test/Analysis/MemorySSA/invariant-groups.ll
Commit 937e63b8d5e961c2a7da25558bbcdd5388182b67 by pierre.gousseau
[X86] Fix x86-header-warnings.c test not detecting regressions as intended.

Use -verify -fsyntax-only and expected-no-diagnostics as
recommended by Paul.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D77393
The file was modifiedclang/test/Headers/x86-header-warnings.c
Commit 4184b2e03401ad3818de9e1751d4e2897e8fcf71 by flo
[DSE,MSSA] Add additional test cases for multi-path elimination (NFC).

This adds additional test cases for more scenarios and also with objects
that are accessible after the functions return and allocas.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memintrinsics.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath.ll
Commit c6cd0936be5081af76ce78afca3789478d23695f by llvm-dev
[AARCH64][GISEL] arm64-fallback.ll - Refresh remarks to fix issue reported on D77354
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
Commit e4ca64f1ae8a3743a9bea4926e1e7889c5b02525 by bevin.hansson
[Fixed Point] Add triples to test cases.

This was causing some test failures.
The file was modifiedclang/test/Frontend/fixed_point_unary.c
The file was modifiedclang/test/Frontend/fixed_point_compound.c
Commit 7b65b1ecd118287b73042dde9ddbf3778e133295 by llvm-dev
[ARM] Fix misched-int-basic-thumb2.mir typo in check to fix issue reported on D77354
The file was modifiedllvm/test/CodeGen/ARM/misched-int-basic-thumb2.mir
Commit 6f1d558db42cf92351c649a66c00b881eb75537c by Louis Dionne
[libunwind] Fix incorrect lit substitutions in tests

The LIT substitutions used in libunwind are the same as those from
libc++, and we forgot to update the libunwind tests after the libc++
substitutions started being delimited by braces.
The file was modifiedlibunwind/test/remember_state_leak.pass.sh.s
Commit 5f25d22d3f018f3755eb5a1ee3dc66eef329a6e8 by llvm-dev
[ARM] Fix thumb1_return_sequence typo in check to fix issue reported on D77354
The file was modifiedllvm/test/CodeGen/ARM/thumb1_return_sequence.ll
Commit 8abfd2c3bb0d66a123b6a6ae590a3d0200f7a688 by sd.fertile
[PowerPC][AIX] Enable passing byval formal arguments in multiple registers.

Any or all the argument registers can be used to pass a byval formal
argument, with the limitation that the argument must fit in the
available registers (ie: is not split between registers and stack).

Differential Revision: https://reviews.llvm.org/D76902
The file was addedllvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-byval.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 952c2741599ed492cedd37da895d7e81bc175ab9 by nikita.ppv
[RDA] Use TinyPtrVector to store reaching defs (NFCI)

RDA currently uses SmallVector<int, 1> to store reaching definitions.
A SmallVector<int, 1> is 24 bytes large, and X86 currently has
164 register units, which means we need 3936 bytes per block.
If you have a large function with 1000 blocks, that's already 4MB.

A large fraction of these reg units will not have any reaching defs
(say, those corresponding to zmm registers), and many will have just
one. A TinyPtrVector serves this use-case much better, as it only
needs 8 bytes per register if it has 0 or 1 reaching defs.

As the name implies, TinyPtrVector is designed to work with pointers,
so we need to add some boilerplate to treat our reaching def integers
as pointers, using an appropriate encoding. We need to keep the low
bit free for tagging, and make sure at least one bit is set to
distinguish the null pointer.

Differential Revision: https://reviews.llvm.org/D77513
The file was modifiedllvm/include/llvm/CodeGen/ReachingDefAnalysis.h
Commit 7006daa548c25960dbb5a50e9b9987d4dd01798b by andydavis
[MLIR][Vector] Update ShapeCastOp folder to use producer-consumer value forwarding.

Summary:
Update ShapeCastOp folder to use producer-consumer value forwarding.
Support is added for tracking sub-vectors through trivial shape cast operations,
where the sub-vector shape is preserved across shape cast operations and only
leading ones are added or removed.
Support is preserved for cancelling shape cast operations.
One unit test is added and two are updated.

Reviewers: aartbik, nicolasvasilache

Reviewed By: aartbik, nicolasvasilache

Subscribers: frgossen, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77253
The file was modifiedmlir/test/Dialect/Vector/vector-transforms.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp