FailedChanges

Summary

  1. [LoopNest] Consider loop nest with inner loop guard using outer loop (details)
  2. [libFuzzer] Fix stack-overflow-with-asan.test. (details)
  3. [AArch64][ELF] Prefer to lower MC_GlobalAddress operands to .Lfoo$local (details)
  4. [X86] AMD Zen 3: MOVSX32rr32 is a zero-cycle move (details)
  5. [X86] AMD Zen 3: mark XMM/YMM (but not MMX!) reg moves as eliminatible in RegisterFile (details)
  6. lit: revert 134b103fc0f3a995d76398bf4b029d72bebe8162 (details)
  7. [libc++][ci] Run longer CI jobs first (details)
Commit 1006ac3963eaf39153d6637b631662e87ebf3b4d by whitneyt
[LoopNest] Consider loop nest with inner loop guard using outer loop
induction variable to be perfect

This patch allow more conditional branches to be considered as loop
guard, and so more loop nests can be considered perfect.

Reviewed By: bmahjour, sidbav

Differential Revision: https://reviews.llvm.org/D94717
The file was modifiedllvm/unittests/Analysis/LoopInfoTest.cpp
The file was modifiedllvm/test/Analysis/LoopNestAnalysis/imperfectnest.ll
The file was modifiedllvm/include/llvm/Analysis/LoopNestAnalysis.h
The file was modifiedllvm/lib/Analysis/LoopInfo.cpp
The file was modifiedllvm/test/Analysis/LoopNestAnalysis/perfectnest.ll
The file was modifiedllvm/lib/Analysis/LoopNestAnalysis.cpp
Commit f09414499c4717b66baa9581c641e8a636e5dcc1 by mascasa
[libFuzzer] Fix stack-overflow-with-asan.test.

Fix function return type and remove check for SUMMARY, since it doesn't
seem to be output in Windows.
The file was modifiedcompiler-rt/test/fuzzer/StackOverflowTest.cpp
The file was modifiedcompiler-rt/test/fuzzer/stack-overflow-with-asan.test
Commit 6a2850f3fc24cc53da6543ee98bd837007c65725 by i
[AArch64][ELF] Prefer to lower MC_GlobalAddress operands to .Lfoo$local

Similar to X86 D73230 & 46788a21f9152be3950e57dc526454655682bdd4

With this change, we can set dso_local in clang's -fpic -fno-semantic-interposition mode,
for default visibility external linkage non-ifunc-non-COMDAT definitions.

For such dso_local definitions, variable access/taking the address of a
function/calling a function will go through a local alias to avoid GOT/PLT.

Note: the 'S' inline assembly constraint refers to an absolute symbolic address
or a label reference (D46745).

Differential Revision: https://reviews.llvm.org/D101872
The file was modifiedllvm/lib/Target/AArch64/AArch64MCInstLower.cpp
The file was addedllvm/test/CodeGen/AArch64/elf-preemption.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
The file was addedllvm/test/CodeGen/AArch64/semantic-interposition-asm.ll
The file was modifiedllvm/test/CodeGen/AArch64/basic-pic.ll
The file was modifiedllvm/test/CodeGen/AArch64/elf-globals-static.ll
Commit 5b1610a25054b308d02be8882dd34bed3dc29ef4 by lebedev.ri
[X86] AMD Zen 3: MOVSX32rr32 is a zero-cycle move

It measures as such, and the reference docs agree.

I can't easily add a MCA test, because there's no mnemonic for it,
it can only be disassembled or created as a MCInst.
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver3.td
Commit b8701dc1749e228b886e53bdb32eeebba00e30da by lebedev.ri
[X86] AMD Zen 3: mark XMM/YMM (but not MMX!) reg moves as eliminatible in RegisterFile
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver3.td
Commit d319005a3746a7661c8c9a3302266b6ff7cf61be by Saleem Abdulrasool
lit: revert 134b103fc0f3a995d76398bf4b029d72bebe8162

Revert the 32-process cap on Windows.  When testing with Swift, we found
that there was a time reduction for testing with the higher load.  This
should hopefully not matter much in practice.  In the case that the
original problem with python remains with a high subprocess count, we
can easily revert this change.
The file was modifiedllvm/utils/lit/lit/util.py
Commit 8002c5d65fdc979fc2f4fa33509f6c32caca3dce by Louis Dionne
[libc++][ci] Run longer CI jobs first

Jobs that test with a more recent standard version run more tests, so
they take longer. We'll decrease the average latency by running them
first instead of last.
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml