SuccessChanges

Summary

  1. [cmake] Centralize LLVM_ENABLE_WARNINGS option (details)
  2. [SLP] Use for-range loops across ValueLists. NFCI. (details)
  3. [NFC][SCEV] Add tests for @llvm.abs intrinsic (details)
  4. [SCEV] Recognize @llvm.abs as smax(x, -x) (details)
  5. [NFC][SCEV] Add tests for @llvm.*.sat intrinsics (details)
  6. [SCEV] Recognize @llvm.usub.sat as `%x - (umin %x, %y)` (details)
  7. [SCEV] Recognize @llvm.uadd.sat as `%y + umin(%x, (-1 - %y))` (details)
  8. [OpenMP] Protect unrecogonized CUDA error code (details)
  9. [IRBuilder][VectorCombine] make and use a convenience function for unary shuffle; NFC (details)
  10. [SLP] use unary shuffle creator to reduce code duplication; NFC (details)
  11. [AIX][Clang][Driver] Add handling of shared option (details)
  12. [ObjCARC] Initialize return value (details)
  13. [AMDGPU] Adding mutex to guard lld::elf::link interface use (details)
  14. [MS] On x86_32, pass overaligned, non-copyable arguments indirectly (details)
  15. [AMDGPU] Fixed typo in intrinsic comment. NFC. (details)
  16. [ELF][test] Delete large temporary files and make some temporary files smaller with two text segments (details)
  17. [NFC][SCEV] Cleanup lowering of @llvm.uadd.sat, (-1 - V) is just ~V (details)
  18. [DIE] Remove DeadInstEliminationPass (details)
  19. [libc++] Verify base substitutions earlier in the testing format (details)
  20. [LoopVectorize] use unary shuffle creator to reduce code duplication; NFC (details)
  21. [InstCombine] use unary shuffle creator to reduce code duplication; NFC (details)
  22. [Coverage] Add empty line regions to SkippedRegions (details)
  23. Reapply Revert "RegAllocFast: Rewrite and improve" (details)
  24. [mlir] Add missing space in debug message (details)
  25. AMDGPU: Don't add frame register to frame pseudos (details)
  26. [SLP] use std::distance/find to reduce code; NFC (details)
  27. [Analyzer] GNU named variadic macros in Plister (details)
  28. [clang] [MinGW] Add an implicit .exe suffix even when crosscompiling (details)
  29. [clang-cl] Always interpret the LIB env var as separated with semicolons (details)
  30. [CodeGen] [WinException] Only produce handler data at the end of the function if needed (details)
  31. [Hexagon] Make HexagonVLCR compatibile with New PM (details)
Commit b36bdfe5ca0c2b863248f327b03d41516b38dc11 by davelee.com
[cmake] Centralize LLVM_ENABLE_WARNINGS option

Configure default value of `LLVM_ENABLE_WARNINGS` in `HandleLLVMOptions.cmake`.

`LLVM_ENABLE_WARNINGS` is documented as ON by default, but `HandleLLVMOptions` assumes the default has been set somewhere else. If it has not been explicitly set, then `HandleLLVMOptions` implicitly uses OFF as a default.

This removes the various `option()` declarations in favor of a single declaration in `HandleLLVMOptions`. This will prevent the unwanted use of `-w` that is mentioned in a couple of the comments.

Reviewed By: DavidTruby, #libunwind, JDevlieghere, compnerd

Differential Revision: https://reviews.llvm.org/D87243
The file was modifiedflang/CMakeLists.txt
The file was modifiedllvm/runtimes/CMakeLists.txt
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedclang/CMakeLists.txt
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
The file was modifiedllvm/CMakeLists.txt
Commit 005f826a0546eb11890b7bd36fea6b8b1c5e3fc4 by llvm-dev
[SLP] Use for-range loops across ValueLists. NFCI.

Also rename some existing loops that used a 'j' iterator to consistently use 'V'.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 83c2d10d3cae57f71e23193d62989725b9b9f2f2 by lebedev.ri
[NFC][SCEV] Add tests for @llvm.abs intrinsic
The file was addedllvm/test/Analysis/ScalarEvolution/abs-intrinsic.ll
Commit 1bb7ab8c4a324aa380bddfc75069e24c19e2bdd0 by lebedev.ri
[SCEV] Recognize @llvm.abs as smax(x, -x)

As per alive2 (ignoring undef):

----------------------------------------
define i32 @src(i32 %x, i1 %y) {
%0:
  %r = abs i32 %x, 0
  ret i32 %r
}
=>
define i32 @tgt(i32 %x, i1 %y) {
%0:
  %neg_x = mul i32 %x, 4294967295
  %r = smax i32 %x, %neg_x
  ret i32 %r
}
Transformation seems to be correct!

----------------------------------------
define i32 @src(i32 %x, i1 %y) {
%0:
  %r = abs i32 %x, 1
  ret i32 %r
}
=>
define i32 @tgt(i32 %x, i1 %y) {
%0:
  %neg_x = mul nsw i32 %x, 4294967295
  %r = smax i32 %x, %neg_x
  ret i32 %r
}
Transformation seems to be correct!
The file was modifiedllvm/test/Analysis/ScalarEvolution/abs-intrinsic.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 0592de550f5c9ca9de44ed2c5c549f6a3b1c32b7 by lebedev.ri
[NFC][SCEV] Add tests for @llvm.*.sat intrinsics
The file was addedllvm/test/Analysis/ScalarEvolution/saturating-intrinsics.ll
Commit fedc9549d50d80f74169ecce4d0d0648a62249f0 by lebedev.ri
[SCEV] Recognize @llvm.usub.sat as `%x - (umin %x, %y)`

----------------------------------------
define i32 @src(i32 %x, i32 %y) {
%0:
  %r = usub_sat i32 %x, %y
  ret i32 %r
}
=>
define i32 @tgt(i32 %x, i32 %y) {
%0:
  %t0 = umin i32 %x, %y
  %r = sub nuw i32 %x, %t0
  ret i32 %r
}
Transformation seems to be correct!
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/saturating-intrinsics.ll
Commit 64e2cb7e9605995d2efb625203cbd96db1404812 by lebedev.ri
[SCEV] Recognize @llvm.uadd.sat as `%y + umin(%x, (-1 - %y))`

----------------------------------------
define i32 @src(i32 %x, i32 %y) {
%0:
  %r = uadd_sat i32 %x, %y
  ret i32 %r
}
=>
define i32 @tgt(i32 %x, i32 %y) {
%0:
  %t0 = sub nsw nuw i32 4294967295, %y
  %t1 = umin i32 %x, %t0
  %r = add nuw i32 %t1, %y
  ret i32 %r
}
Transformation seems to be correct!

The alternative, naive, lowering could be the following,
although i don't think it's better,
thought it will likely be needed for sadd/ssub/*shl:

----------------------------------------
define i32 @src(i32 %x, i32 %y) {
%0:
  %r = uadd_sat i32 %x, %y
  ret i32 %r
}
=>
define i32 @tgt(i32 %x, i32 %y) {
%0:
  %t0 = zext i32 %x to i33
  %t1 = zext i32 %y to i33
  %t2 = add nuw i33 %t0, %t1
  %t3 = zext i32 4294967295 to i33
  %t4 = umin i33 %t2, %t3
  %r = trunc i33 %t4 to i32
  ret i32 %r
}
Transformation seems to be correct!
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/saturating-intrinsics.ll
Commit 03111e5e7a8690300966a39f0aa2e4f2b4ec919a by tianshilei1992
[OpenMP] Protect unrecogonized CUDA error code

If an error code can not be recognized by cuGetErrorString, errStr remains null and causes crashing at DP() printing.
Protect this case.

Reviewed By: jhuber6, tianshilei1992

Differential Revision: https://reviews.llvm.org/D87980
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit 1e6b240d7d336a36856268db5349468560e28a0e by spatel
[IRBuilder][VectorCombine] make and use a convenience function for unary shuffle; NFC

This reduces code duplication for common construct.
Follow-ups can use this in SLP, LoopVectorizer, and other passes.
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit a44238cb443f13c1e9fd42f6269f019d505ff5dd by spatel
[SLP] use unary shuffle creator to reduce code duplication; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit d8540427419ec0c4b9bc02f432ef39c01898e826 by daltenty
[AIX][Clang][Driver] Add handling of shared option

Reviewed By: jasonliu

Differential Revision: https://reviews.llvm.org/D87914
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
The file was modifiedclang/test/Driver/aix-ld.c
Commit 746a2c3775658c4485a8e71a7d46ee55c30615b8 by aeubanks
[ObjCARC] Initialize return value

Mistakenly removed initialization of `Changed` in https://reviews.llvm.org/D87806.
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
Commit f87ceb63eb011e5cd653218af619097b58bf568f by zhuoryin
[AMDGPU] Adding mutex to guard lld::elf::link interface use

check-mlir target run tests simultaneously with multiple threads. This caused multiple threads to invoke the `lld::elf::link()` interface at the same time. Since the interface does not have a thread-safe implementation, add a metex to prevent multi-threaded access.

I discovered this by looking the the failure stack trace. lld/ELF/symbolTable.cpp, SymbolTable::insert() hit into an assert with related to Epoch Trackers. The root cause is to due to there is no protection around the symMap (update) which is implemented in non-thread safe data structure: denseMap.

Differential Revision: https://reviews.llvm.org/D88038
The file was modifiedmlir/tools/mlir-rocm-runner/mlir-rocm-runner.cpp
Commit 3b3a16548568f5b6c4146ca5129eb6af5000e4ff by rnk
[MS] On x86_32, pass overaligned, non-copyable arguments indirectly

This updates the C++ ABI argument classification code to use the logic
from D72114, fixing an ABI incompatibility with MSVC.

Part of PR44395.

Differential Revision: https://reviews.llvm.org/D87923
The file was modifiedclang/test/CodeGenCXX/inalloca-overaligned.cpp
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
Commit e8951474b1940bd81bc3bac8d506e08880ee35ea by Stanislav.Mekhanoshin
[AMDGPU] Fixed typo in intrinsic comment. NFC.
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
Commit 6d637fa560f0196b93e377b98489661ecd7a1af0 by i
[ELF][test] Delete large temporary files and make some temporary files smaller with two text segments

Large files are cumbersome on some filesystems and can more easily trigger ENOSPC.

Some tests use two text sections with output section addresses to test branch ranges.
Use two text segments to prevent LLD from filling the gap and unnecessarily increasing the output size.

With this change, there is no test/ELF temporary file larger than 100MiB.

Reviewed By: psmith

Differential Revision: https://reviews.llvm.org/D88037
The file was modifiedlld/test/ELF/aarch64-cortex-a53-843419-large.s
The file was modifiedlld/test/ELF/aarch64-thunk-pi.s
The file was modifiedlld/test/ELF/aarch64-cortex-a53-843419-thunk-range.s
The file was modifiedlld/test/ELF/arm-thumb-plt-range-thunk-os.s
The file was modifiedlld/test/ELF/aarch64-cortex-a53-843419-large2.s
The file was modifiedlld/test/ELF/aarch64-thunk-script.s
The file was modifiedlld/test/ELF/aarch64-thunk-section-location.s
Commit 0ab99bb314203d8f3b40e805ffea03857ca5c21e by lebedev.ri
[NFC][SCEV] Cleanup lowering of @llvm.uadd.sat, (-1 - V) is just ~V
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit f4f7df037e71fa77b06a37d86f2596db47d583d0 by aeubanks
[DIE] Remove DeadInstEliminationPass

This pass is like DeadCodeEliminationPass, but only does one pass
through a function instead of iterating on users of eliminated
instructions.

DeadCodeEliminationPass should be used in all cases.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87933
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/basictest.ll
The file was modifiedllvm/test/Transforms/DeadArgElim/deadretval2.ll
The file was modifiedllvm/test/Transforms/GVN/PRE/rle-addrspace-cast.ll
The file was modifiedllvm/include/llvm/LinkAllPasses.h
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/2002-09-03-SetCC-Bools.ll
The file was modifiedllvm/test/Feature/optnone-opt.ll
The file was modifiedllvm/test/Transforms/NewGVN/rle.ll
The file was modifiedllvm/test/Transforms/Reassociate/vaarg_movable.ll
The file was modifiedllvm/test/Transforms/InstCombine/deadcode.ll
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/logicaltest.ll
The file was modifiedllvm/test/Transforms/Reassociate/otherops.ll
The file was modifiedllvm/test/Transforms/DeadArgElim/2008-06-23-DeadAfterLive.ll
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/remtest.ll
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was modifiedllvm/test/Transforms/GVN/PRE/rle.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/phi.ll
The file was modifiedllvm/test/Transforms/Reassociate/inverses.ll
The file was modifiedllvm/lib/Transforms/Scalar/DCE.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
Commit 43270c65cf48484d8b8cee5044480f6f1b00281d by Louis Dionne
[libc++] Verify base substitutions earlier in the testing format

This allows diagnosing missing substitution issues even when doing
availability feature detection in the DSL.
The file was modifiedlibcxx/utils/libcxx/test/format.py
Commit be9350598668015edb72da8a1ad8313cb87e0eef by spatel
[LoopVectorize] use unary shuffle creator to reduce code duplication; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 6bad3caeb079748a25fd34bd21255824c8dcb8f1 by spatel
[InstCombine] use unary shuffle creator to reduce code duplication; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Commit 9caa3fbe03f43e3eec30262fbba87c1ee15c05a3 by zequanwu
[Coverage] Add empty line regions to SkippedRegions

Differential Revision: https://reviews.llvm.org/D84988
The file was addedcompiler-rt/test/profile/coverage_emptylines.cpp
The file was modifiedcompiler-rt/test/profile/instrprof-set-file-object-merging.c
The file was modifiedclang/test/CoverageMapping/system_macro.cpp
The file was modifiedclang/test/CoverageMapping/logical.cpp
The file was modifiedclang/test/CoverageMapping/pr32679.cpp
The file was modifiedclang/test/CoverageMapping/comment-in-macro.c
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was modifiedclang/test/CoverageMapping/classtemplate.cpp
The file was modifiedclang/test/CoverageMapping/loops.cpp
The file was modifiedclang/test/CoverageMapping/unreachable-macro.c
The file was modifiedclang/test/CoverageMapping/builtinmacro.c
The file was modifiedclang/test/CoverageMapping/decl.c
The file was modifiedclang/test/CoverageMapping/macro-expressions.cpp
The file was modifiedclang/test/CoverageMapping/test.c
The file was modifiedclang/test/CoverageMapping/macroscopes.cpp
The file was modifiedclang/test/CoverageMapping/if.cpp
The file was modifiedclang/include/clang/Lex/Lexer.h
The file was modifiedclang/test/CoverageMapping/return.c
The file was modifiedclang/lib/Lex/Lexer.cpp
The file was modifiedclang/test/CoverageMapping/empty-destructor.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedclang/test/CoverageMapping/switchmacro.c
The file was modifiedclang/test/CoverageMapping/block-storage-starts-region.m
The file was modifiedclang/test/CoverageMapping/deferred-region.cpp
The file was modifiedclang/test/CoverageMapping/coroutine.cpp
The file was modifiedclang/test/CoverageMapping/nestedclass.cpp
The file was modifiedclang/test/CoverageMapping/casts.c
The file was modifiedclang/test/lit.cfg.py
The file was modifiedclang/test/CoverageMapping/default-method.cpp
The file was modifiedclang/test/CoverageMapping/while.c
The file was modifiedclang/test/CoverageMapping/openmp.c
The file was modifiedclang/test/CoverageMapping/macro-expansion.c
The file was modifiedclang/test/CoverageMapping/header.cpp
The file was modifiedclang/test/CoverageMapping/loopmacro.c
The file was modifiedclang/test/CoverageMapping/macros.c
The file was modifiedclang/test/CoverageMapping/implicit-def-in-macro.m
The file was modifiedclang/test/CoverageMapping/switch.cpp
The file was modifiedclang/test/CoverageMapping/objc.m
The file was modifiedclang/test/CoverageMapping/templates.cpp
The file was modifiedclang/test/CoverageMapping/abspath.cpp
The file was modifiedclang/test/CoverageMapping/includehell.cpp
The file was modifiedclang/test/CoverageMapping/md.cpp
The file was modifiedclang/test/CoverageMapping/include-macros.c
The file was modifiedclang/test/CoverageMapping/macroparams.c
The file was modifiedclang/test/CoverageMapping/preprocessor.c
The file was modifiedclang/test/CoverageMapping/trymacro.cpp
The file was modifiedclang/test/CoverageMapping/break.c
The file was modifiedclang/test/CoverageMapping/macro-stringize-twice.cpp
The file was modifiedclang/test/CoverageMapping/continue.c
The file was modifiedclang/test/CoverageMapping/macroception.c
The file was modifiedclang/test/CoverageMapping/macroparams2.c
The file was modifiedclang/test/CoverageMapping/moremacros.c
The file was modifiedclang/test/CoverageMapping/trycatch.cpp
The file was modifiedclang/lib/Lex/Preprocessor.cpp
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was modifiedclang/test/CoverageMapping/lambda.cpp
The file was modifiedclang/test/CoverageMapping/ir.c
The file was modifiedclang/test/CoverageMapping/label.cpp
The file was modifiedclang/test/CoverageMapping/unused_function.cpp
The file was modifiedclang/test/CoverageMapping/control-flow-macro.c
The file was modifiedclang/test/CoverageMapping/unused_names.c
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.h
The file was modifiedcompiler-rt/test/profile/instrprof-set-file-object.c
Commit 55f9f87da2c2ad791b9e62cccb1c035e037444fa by Matthew.Arsenault
Reapply Revert "RegAllocFast: Rewrite and improve"

This reverts commit dbd53a1f0c939a55e7719c39d08179468f9ad3dc.

Needed lldb test updates
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-agpr.mir
The file was modifiedllvm/test/CodeGen/ARM/crash-greedy-v6.ll
The file was modifiedllvm/test/CodeGen/X86/pr32340.ll
The file was modifiedllvm/test/CodeGen/X86/pr39733.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/call.ll
The file was modifiedllvm/test/CodeGen/X86/atomic32.ll
The file was modifiedllvm/test/CodeGen/X86/regalloc-fast-missing-live-out-spill.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/zextLoad_and_sextLoad.ll
The file was modifiedllvm/test/DebugInfo/X86/fission-ranges.ll
The file was modifiedllvm/test/CodeGen/X86/pr32284.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/add.ll
The file was modifiedllvm/test/CodeGen/X86/pr32451.ll
The file was modifiedllvm/test/CodeGen/ARM/debug-info-blocks.ll
The file was modifiedllvm/test/CodeGen/X86/pr11415.ll
The file was modifiedllvm/test/CodeGen/ARM/ldrd.ll
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/disassembly.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/fp64-to-int16.ll
The file was addedllvm/test/CodeGen/X86/bug47278.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
The file was modifiedllvm/test/CodeGen/X86/pr34653.ll
The file was modifiedllvm/test/CodeGen/Mips/atomic.ll
The file was modifiedllvm/test/CodeGen/X86/phys-reg-local-regalloc.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/store_split_because_of_memsize_or_align.ll
The file was modifiedllvm/test/CodeGen/PowerPC/spill-nor0.ll
The file was addedllvm/test/CodeGen/X86/bug47278-eflags-error.mir
The file was modifiedllvm/test/CodeGen/X86/stack-protector-msvc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/popcount.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/global_address.ll
The file was modifiedllvm/test/CodeGen/AArch64/unwind-preserved-from-mir.mir
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-ldr-str-thumb-neg-index.ll
The file was modifiedllvm/test/CodeGen/PowerPC/elf-common.ll
The file was modifiedllvm/test/CodeGen/X86/pr34592.ll
The file was modifiedllvm/test/CodeGen/X86/mixed-ptr-sizes-i686.ll
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p10vsx.ll
The file was modifiedllvm/test/CodeGen/ARM/thumb-big-stack.ll
The file was modifiedllvm/test/CodeGen/Thumb2/high-reg-spill.mir
The file was modifiedllvm/test/DebugInfo/Mips/prologue_end.ll
The file was modifiedllvm/test/CodeGen/X86/pr32345.ll
The file was modifiedllvm/test/CodeGen/AArch64/popcount.ll
The file was modifiedllvm/test/CodeGen/X86/pr30430.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/var_arg.ll
The file was modifiedllvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll
The file was modifiedllvm/test/CodeGen/PowerPC/addegluecrash.ll
The file was modifiedllvm/test/CodeGen/AArch64/br-cond-not-merge.ll
The file was modifiedllvm/test/CodeGen/ARM/Windows/alloca.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/mul.ll
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-vararg.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/jump_table_and_brjt.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/mul_vec.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/bitwise.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fast-isel-pcrel.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-overflow-toc.py
The file was modifiedllvm/test/CodeGen/SystemZ/swift-return.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm.ll
The file was modifiedllvm/test/DebugInfo/X86/dbg-declare-arg.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/ctlz.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-O0-be.ll
The file was modifiedllvm/test/CodeGen/X86/pr1489.ll
The file was modifiedllvm/test/DebugInfo/Mips/delay-slot.ll
The file was modifiedllvm/test/CodeGen/X86/crash-O0.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/ctpop.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-intrinsic.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/pr40325.ll
The file was modifiedllvm/test/DebugInfo/ARM/prologue_end.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fastregalloc-self-loop-heuristic.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/dyn_stackalloc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vsx-args.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-O0.ll
The file was modifiedllvm/test/CodeGen/X86/win64_eh.ll
The file was addedllvm/test/CodeGen/AMDGPU/fast-ra-kills-vcc.mir
The file was modifiedllvm/test/CodeGen/Hexagon/vect/vect-load-v4i16.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-br.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/float_constants.ll
The file was modifiedllvm/test/CodeGen/X86/x86-64-intrcc.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/test_TypeInfoforMF.ll
The file was modifiedllvm/test/CodeGen/ARM/2010-08-04-StackVariable.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/darwin-tls-call-clobber.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/cttz.ll
The file was modifiedllvm/test/CodeGen/PowerPC/stack-guard-reassign.ll
The file was modifiedllvm/test/CodeGen/X86/pr42452.ll
The file was modifiedllvm/test/DebugInfo/AArch64/frameindices.ll
The file was modifiedllvm/test/DebugInfo/X86/reference-argument.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_4_unaligned.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/store_4_unaligned.ll
The file was addedllvm/test/CodeGen/AMDGPU/unexpected-reg-unit-state.mir
The file was modifiedllvm/test/CodeGen/PowerPC/p9-vinsert-vextract.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/branch-targets.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vsx.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/select.ll
The file was modifiedllvm/test/CodeGen/Mips/atomic-min-max.ll
The file was modifiedllvm/test/CodeGen/AArch64/unwind-preserved.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sitofp_and_uitofp.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
The file was modifiedllvm/test/CodeGen/Mips/implicit-sret.ll
The file was modifiedllvm/test/CodeGen/Mips/msa/ldr_str.ll
The file was modifiedllvm/test/CodeGen/Mips/copy-fp64.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/memtest1.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_split_because_of_memsize_or_align.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aggressive-anti-dep-breaker-subreg.ll
The file was modifiedllvm/test/DebugInfo/X86/prologue-stack.ll
The file was modifiedllvm/test/CodeGen/SPARC/fp16-promote.ll
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill192.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/aggregate_struct_return.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fcmp.ll
The file was modifiedllvm/test/CodeGen/Mips/Fast-ISel/callabi.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/global_address_pic.ll
The file was modifiedllvm/test/DebugInfo/X86/op_deref.ll
The file was modifiedllvm/test/CodeGen/AArch64/cmpxchg-O0.ll
The file was modifiedllvm/test/CodeGen/X86/2009-04-14-IllegalRegs.ll
The file was modifiedllvm/test/CodeGen/X86/pr44749.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/phi.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
The file was modifiedllvm/test/CodeGen/Mips/micromips-eva.mir
The file was modifiedllvm/test/CodeGen/X86/swift-return.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64_32-fastisel.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/add_vec.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-nontemporal.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/zext_and_sext.ll
The file was modifiedllvm/test/CodeGen/X86/atomic6432.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-select-sse.ll
The file was modifiedllvm/test/CodeGen/X86/mixed-ptr-sizes.ll
The file was modifiedllvm/test/CodeGen/X86/pr27591.ll
The file was modifiedllvm/test/CodeGen/X86/atomic64.ll
The file was modifiedllvm/test/CodeGen/X86/x86-32-intrcc.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-monotonic.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/icmp.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s64.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
The file was modifiedllvm/test/CodeGen/X86/pr32241.ll
The file was modifiedllvm/test/CodeGen/X86/2010-06-28-FastAllocTiedOperand.ll
The file was modifiedllvm/test/CodeGen/X86/pr32484.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-select.ll
The file was modifiedllvm/test/CodeGen/ARM/legalize-bitcast.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-select.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/branch.ll
The file was modifiedllvm/test/DebugInfo/X86/subreg.ll
The file was modifiedllvm/test/DebugInfo/X86/parameters.ll
The file was addedllvm/test/CodeGen/AMDGPU/fastregalloc-illegal-subreg-physreg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/reserve-vgpr-for-sgpr-spill.ll
The file was modifiedllvm/test/DebugInfo/X86/spill-indirect-nrvo.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-x86-64.ll
The file was modifiedllvm/test/DebugInfo/X86/sret.ll
The file was modifiedllvm/test/DebugInfo/AArch64/prologue_end.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-cmpxchg.ll
The file was modifiedllvm/test/CodeGen/X86/pr47000.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/bitreverse.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fptosi_and_fptoui.ll
The file was modifiedllvm/test/CodeGen/X86/pr30813.ll
The file was modifiedllvm/test/CodeGen/ARM/swifterror.ll
The file was modifiedllvm/test/CodeGen/X86/volatile.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fp-int128-fp-combine.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vector-spill.ll
The file was modifiedllvm/test/CodeGen/X86/swifterror.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-fcmp-noopt.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sub_vec.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-loads.ll
The file was modifiedllvm/test/CodeGen/ARM/pr47454.ll
The file was modifiedllvm/test/CodeGen/SystemZ/swifterror.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-zext-bugfix.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/sub.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wwm-reserved.ll
The file was modifiedllvm/test/CodeGen/X86/stack-protector-strong-macho-win32-xor.ll
The file was modifiedllvm/test/CodeGen/X86/avx-load-store.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fast-isel-call.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64_32-null.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s32.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/bswap.ll
The file was modifiedllvm/test/CodeGen/Mips/atomicCmpSwapPW.ll
The file was modifiedllvm/test/CodeGen/AArch64/swift-return.ll
The file was modifiedllvm/test/CodeGen/Mips/atomic64.ll
The file was modifiedllvm/test/DebugInfo/X86/pieces-1.ll
The file was modifiedllvm/test/CodeGen/ARM/stack-guard-reassign.ll
The file was modifiedllvm/test/CodeGen/ARM/fast-isel-call.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/brindirect.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-m0.ll
The file was modifiedllvm/test/CodeGen/PowerPC/anon_aggr.ll
The file was addedllvm/test/CodeGen/PowerPC/spill-nor0.mir
The file was modifiedllvm/test/CodeGen/X86/2013-10-14-FastISel-incorrect-vreg.ll
Commit 3f5031f143b6bc8e41f49dffe5d9072793ee1e79 by stephen.neuendorffer
[mlir] Add missing space in debug message
The file was modifiedmlir/lib/IR/MLIRContext.cpp
Commit 6daddc213fe56dccf1e88de61065c7fee09deccf by Matthew.Arsenault
AMDGPU: Don't add frame register to frame pseudos

We no longer treat the frame register like a function argument, so the
problem this avoided is no longer relevant.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 7451bf0b0b6d77e9c39408aeedfa3fa90107fe7a by spatel
[SLP] use std::distance/find to reduce code; NFC

We were already using this code pattern right after
the loop, so this makes it consistent.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 2697d138a65a51b8cf58baa2d4a924c1f43af482 by Chris.Hamilton
[Analyzer] GNU named variadic macros in Plister

Added support for GNU named variadic macros in
macro expansion for plist generation.

Fix for https://bugs.llvm.org/show_bug.cgi?id=44493

Reviewed By: Szelethus

Differential Revision: https://reviews.llvm.org/D87942
The file was modifiedclang/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/test/Analysis/plist-macros-with-expansion.cpp
Commit ead7c3cdc34c63d8df78d8e333b7cc64d03236ea by martin
[clang] [MinGW] Add an implicit .exe suffix even when crosscompiling

GCC 8 changed behaviour wrt this, and made it consistent for cross
compilation cases. While it's a change, it's a more sensible behaviour
going forward.

Differential Revision: https://reviews.llvm.org/D88005
The file was removedclang/test/Driver/mingw-implicit-extension-cross.c
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was modifiedclang/test/Driver/mingw-implicit-extension-windows.c
Commit 4d85444b317a00a3e15da63cdb693d272c99a0cc by martin
[clang-cl] Always interpret the LIB env var as separated with semicolons

When cross compiling with clang-cl, clang splits the INCLUDE env
variable around semicolons (clang/lib/Driver/ToolChains/MSVC.cpp,
MSVCToolChain::AddClangSystemIncludeArgs) and lld splits the
LIB variable similarly (lld/COFF/Driver.cpp,
LinkerDriver::addLibSearchPaths). Therefore, the consensus for
cross compilation with clang-cl and lld-link seems to be to use
semicolons, despite path lists normally being separated by colons
on unix and EnvPathSeparator being set to that.

Therefore, handle the LIB variable similarly in Clang, when
handling lib file arguments when driving linking via Clang.

This fixes commands like "clang-cl test.c -Fetest.exe kernel32.lib" in
a cross compilation setting. Normally, most users call (lld-)link
directly, but meson happens to use this command syntax for
has_function() tests.

Differential Revision: https://reviews.llvm.org/D88002
The file was modifiedclang/test/Driver/cl-inputs.c
The file was modifiedllvm/lib/Support/Process.cpp
The file was modifiedllvm/include/llvm/Support/Process.h
The file was modifiedclang/lib/Driver/Driver.cpp
Commit 36c64af9d7f97414d48681b74352c9684077259b by martin
[CodeGen] [WinException] Only produce handler data at the end of the function if needed

If we are going to write handler data (that is written as variable
length data following after the unwind info in .xdata), we need to
emit the handler data immediately, but for cases where no such
info is going to be written, skip emitting it right away. (Unwind
info for all remaining functions that hasn't gotten it emitted
directly is emitted at the end.)

This does slightly change the ordering of sections (triggering a
bunch of updates to DebugInfo/COFF tests), but the change should be
benign.

This also matches GCC's assembly output, which doesn't output
.seh_handlerdata unless it actually is needed.

For ARM64, the unwind info can be packed into the runtime function
entry itself (leaving no data in the .xdata section at all), but
that can only be done if there's no follow-on data in the .xdata
section. If emission of the unwind info is triggered via
EmitWinEHHandlerData (or the .seh_handlerdata directive), which
implicitly switches to the .xdata section, there's a chance of the
caller wanting to pass further data there, so the packed format
can't be used in that case.

Differential Revision: https://reviews.llvm.org/D87448
The file was modifiedllvm/test/DebugInfo/COFF/global_visibility.ll
The file was modifiedllvm/test/DebugInfo/COFF/defer-complete-type.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
The file was modifiedllvm/test/DebugInfo/COFF/type-quals.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
The file was modifiedllvm/test/DebugInfo/COFF/enum-co.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll
The file was modifiedllvm/test/CodeGen/X86/mingw-comdats.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-method-ref-qualifiers.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-intel-ocl.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinException.cpp
The file was modifiedllvm/test/CodeGen/X86/win64-jumptable.ll
The file was modifiedllvm/test/CodeGen/X86/musttail-varargs.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-regcall-Mask.ll
The file was modifiedllvm/test/CodeGen/X86/no-sse-win64.ll
The file was modifiedllvm/test/CodeGen/AArch64/win64-jumptable.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh1.mir
The file was modifiedllvm/test/CodeGen/X86/gnu-seh-nolpads.ll
The file was modifiedllvm/test/CodeGen/X86/mixed-ptr-sizes.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedllvm/test/CodeGen/X86/break-false-dep.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-recursive-struct.ll
The file was modifiedllvm/test/CodeGen/X86/win64_frame.ll
Commit e5fea37f1a2ac5bb9782c49183d4f2c790a77833 by pzheng
[Hexagon] Make HexagonVLCR compatibile with New PM

The patch modifies HexagonVectorLoopCarriedReuse pass to make it compatible with both Legacy Pass Manager through HexagonVectorLoopCarriedReuseLegacyPass and with New Pass Manager through HexagonVectorLoopCarriedReusePass.

Reviewed By: pzheng

Differential Revision: https://reviews.llvm.org/D86955
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
The file was addedllvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.h