SuccessChanges

Summary

  1. [clangd] Fix windows buildbots (details)
  2. Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM" (details)
  3. [llvm-readobj][test] - Cleanup SHT_RELR sections testing. (details)
  4. [mlir][Linalg] NFC - Hotfix for gcc-5 build (details)
  5. [CMake] Enable -qfuncsect when building with IBM XL (details)
  6. DWARFDebugLine.cpp: Format unknown line number standard opcodes (details)
  7. [ORC] Update lazyReexports to support aliases with different symbol (details)
  8. [ORC] Simplify use of lazyReexports with LLJIT. (details)
  9. [mlir][Linalg] NFC - Cleanup Linalg Pass locations and namespacing (details)
  10. [mlir][Linalg] NFC - Hotfix for gcc-5 build (details)
  11. [InstCombine] reassociate fsub+fsub into fsub+fadd (details)
  12. [Loop Peeling] Add possibility to enable peeling on loop nests. (details)
  13. [ThinLTO] Always import constants (details)
  14. Fix bot by adjusting wildcard matching (details)
  15. Revert "[mlir] Create a gpu.module operation for the GPU Dialect." (details)
  16. [clangd] Extract string literals in macro arguments to unbreak gcc (details)
  17. [ARM][MVE][Intrinsics] Add VMINAQ, VMINNMAQ, VMAXAQ, VMAXNMAQ (details)
  18. Replace CLANG_SPAWN_CC1 env var with a driver mode flag (details)
  19. [gn build] Reformat all build files (details)
Commit 60adfb83cda883d9fc1079c89d2feaa681a41b90 by kadircet
[clangd] Fix windows buildbots
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp (diff)
Commit 24a00ef2404104e9ca6fbd7eb523a8a340be9d99 by tejohnson
Restore "[ThinLTO] Add additional ThinLTO pipeline testing with new PM"
This restores 2af97be8027a0823b88d4b6a07fc5eedb440bc1f (reverted at
6288f86e870c7bb7fe47cc138320b9eb34c93941), with all the fixes I had
applied at the time, along with a new fix for non-determinism in the
ordering of a couple of passes due to being accessed as parameters on
the same call.
I've also added --dump-input=fail to the new tests so I can more
thoroughly fix any additional failures.
The file was addedllvm/test/Other/Inputs/new-pm-thinlto-prelink-pgo-defaults.proftext
The file was addedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was addedllvm/test/Other/Inputs/new-pm-thinlto-samplepgo-defaults.prof
The file was addedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was addedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was addedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-pgo.ll (diff)
The file was addedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
Commit 66a35d330b3d6d3009b332a41406414c5cbd17d7 by grimar
[llvm-readobj][test] - Cleanup SHT_RELR sections testing.
After recent changes (D71872) in yaml2obj, it is possible so cleanup
testing of the SHT_RELR sections.
Differential revision: https://reviews.llvm.org/D71874
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/elf-relr-relocs2.s
The file was modifiedllvm/test/tools/llvm-readobj/ELF/relr-relocs.test (diff)
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/elf-relr-relocs1.s
Commit ad7f4c11eb14a41205f4dadd08493aca0bf8f9ec by ntv
[mlir][Linalg] NFC - Hotfix for gcc-5 build
The file was modifiedmlir/lib/Dialect/Linalg/EDSC/Builders.cpp (diff)
Commit e429f24ed8b16149ad668edd3fb000a3a56c8e40 by hubert.reinterpretcast
[CMake] Enable -qfuncsect when building with IBM XL
Summary: The IBM XL compiler uses `-qfuncsect` for
`-ffunction-sections`.
The comment about sanitizers and `-f[no-]function-sections` is corrected
also, as it is pertinent to this patch.
The sanitizer-related use of `-fno-function-sections` is associated with
powerpc64le, a target for which there is an IBM XL compiler, so that use
is updated in this patch to apply `-qnofuncsect` in case a build using
the XL compiler is viable on that platform.
This patch has been verified with the XL compiler on AIX only.
Reviewers: daltenty, stevewan
Reviewed By: daltenty
Subscribers: mgorny, steven.zhang, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D72335
The file was modifiedcompiler-rt/CMakeLists.txt (diff)
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake (diff)
Commit 63b428e3861bed666525b3af56cd50e14ab30495 by hubert.reinterpretcast
DWARFDebugLine.cpp: Format unknown line number standard opcodes
Summary: This patch implements `formatv()` formatting for
`dwarf::LineNumberOps` and makes use of it for the `llvm-dwarfdump
--debug-line` dump.
Previously, unknown line number standard opcodes would lead to undefined
behaviour. The code would attempt to format the data pointer of an empty
`StringRef` (a null pointer) using `%s`. According to the description
for `format()`, use of that interface carries the "risk of `printf`".
Passing a null pointer in place of an array to a C library function
results in undefined behaviour.
Reviewers: jhenderson, daltenty, stevewan
Reviewed By: jhenderson
Subscribers: aprantl, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72369
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h (diff)
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp (diff)
The file was modifiedllvm/lib/BinaryFormat/Dwarf.cpp (diff)
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug-line.s (diff)
Commit d2fabd70065edefacee0d8a3122c73bc15e0f848 by Lang Hames
[ORC] Update lazyReexports to support aliases with different symbol
names.
A bug in the existing implementation meant that lazyReexports would not
work if the aliased name differed from the alias's name, i.e. all lazy
reexports had to be of the form (lib1, name) -> (lib2, name). This patch
fixes the issue by capturing the alias's name in the NotifyResolved
callback. To simplify this capture, and the LazyCallThroughManager code
in general, the NotifyResolved callback is updated to use
llvm::unique_function rather than a custom class.
No test case yet: This can only be tested at runtime, and the only
in-tree client (lli) always uses aliases with matching names. I will add
a new LLJIT example shortly that will directly test the lazyReexports
API and the non-trivial alias use case.
The file was modifiedllvm/lib/ExecutionEngine/Orc/LazyReexports.cpp (diff)
The file was modifiedllvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h (diff)
Commit e9e26c01cd865da678b1af6ba5f417c713956a66 by Lang Hames
[ORC] Simplify use of lazyReexports with LLJIT.
This patch makes the target triple available via the LLJIT interface,
and moves the IRTransformLayer from LLLazyJIT down into LLJIT. Together
these changes make it easier to use the lazyReexports utility with
LLJIT, and to apply IR transforms to code as it is compiled in LLJIT
(rather than requiring transforms to be applied manually before code is
added). An code example is added in
llvm/examples/LLJITExamples/LLJITWithLazyReexports
The file was addedllvm/examples/LLJITExamples/LLJITWithLazyReexports/LLJITWithLazyReexports.cpp
The file was addedllvm/examples/LLJITExamples/LLJITWithLazyReexports/CMakeLists.txt
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LLJIT.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)
The file was modifiedllvm/examples/LLJITExamples/CMakeLists.txt (diff)
The file was modifiedllvm/tools/lli/lli.cpp (diff)
Commit 7741de94358b827086a4542202fdb2aac99687d4 by ntv
[mlir][Linalg] NFC - Cleanup Linalg Pass locations and namespacing
Summary: This diff moves the conversion pass declaration closer to its
definition and makes the namespacing of passes consistent with the rest
of the infrastructure (i.e. `mlir::linalg::createXXXPass` ->
`mlir::createXXXPass`).
Reviewers: ftynse, jpienaar, mehdi_amini
Subscribers: rriddle, burmako, shauheen, antiagainst, arpith-jacob,
mgester, lucyrfox, aartbik, liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72766
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp (diff)
The file was modifiedmlir/include/mlir/Conversion/LinalgToLLVM/LinalgToLLVM.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp (diff)
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp (diff)
Commit 88380b91c87e83fc8984c17d86017df0a3de62aa by ntv
[mlir][Linalg] NFC - Hotfix for gcc-5 build
The file was modifiedmlir/lib/Dialect/Linalg/EDSC/Builders.cpp (diff)
Commit 3180af4362be22d416464f5f3700c456b2f124b9 by spatel
[InstCombine] reassociate fsub+fsub into fsub+fadd
As discussed in the motivating PR44509:
https://bugs.llvm.org/show_bug.cgi?id=44509
...we can end up with worse code using fast-math than without. This is
because the reassociate pass greedily transforms fsub into fneg/fadd and
apparently (based on the regression tests seen here) expects instcombine
to clean that up if it wasn't profitable. But we were missing this fold:
(X - Y) - Z --> X - (Y + Z)
There's another, more specific case that I think we should handle as
shown in the "fake" fneg test (but missed with a real fneg), but that's
another patch. That may be tricky to get right without conflicting with
existing transforms for fneg.
Differential Revision: https://reviews.llvm.org/D72521
The file was modifiedllvm/test/Transforms/Reassociate/fast-basictest.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/fsub.ll (diff)
The file was modifiedllvm/test/Transforms/Reassociate/fast-SubReassociate.ll (diff)
Commit 3f3017e162ec4208399dcf633c99bdac788c06fd by arkady.shlykov
[Loop Peeling] Add possibility to enable peeling on loop nests.
Summary: Current peeling implementation bails out in case of loop nests.
The patch introduces a field in TargetTransformInfo structure that
certain targets can use to relax the constraints if it's profitable
(disabled by default). Also additional option is added to enable peeling
manually for experimenting and testing purposes.
Reviewers: fhahn, lebedev.ri, xbolva00
Reviewed By: xbolva00
Subscribers: xbolva00, hiraditya, zzheng, llvm-commits
Differential Revision: https://reviews.llvm.org/D70304
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-conditions.ll (diff)
The file was addedllvm/test/Transforms/LoopUnroll/peel-loop-nests.ll
Commit 10cadee5ce86e80d7486855199d329951f38af01 by evgeny
[ThinLTO] Always import constants
This patch imports constant variables even when they can't be
internalized
(which results in promotion). This offers some extra constant folding
opportunities.
Differential revision: https://reviews.llvm.org/D70404
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp (diff)
The file was addedllvm/test/ThinLTO/X86/import-ro-constant.ll
The file was addedllvm/test/ThinLTO/X86/import-constant.ll
The file was modifiedllvm/test/ThinLTO/X86/referenced_by_constant.ll (diff)
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp (diff)
The file was addedllvm/test/ThinLTO/X86/Inputs/import-constant.ll
The file was modifiedllvm/test/Assembler/thinlto-summary.ll (diff)
The file was modifiedllvm/test/ThinLTO/X86/load-store-caching.ll (diff)
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-refgraph.ll (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was modifiedllvm/test/Assembler/thinlto-vtable-summary.ll (diff)
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp (diff)
The file was modifiedllvm/test/ThinLTO/X86/dot-dumper.ll (diff)
The file was modifiedllvm/lib/Analysis/ModuleSummaryAnalysis.cpp (diff)
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h (diff)
The file was modifiedllvm/test/ThinLTO/X86/Inputs/dot-dumper.ll (diff)
The file was addedllvm/test/ThinLTO/X86/Inputs/import-ro-constant-foo.ll
The file was addedllvm/test/ThinLTO/X86/Inputs/import-ro-constant-bar.ll
Commit 76b92cc7c1fafeae2d9e4993e81838b8d9488e45 by tejohnson
Fix bot by adjusting wildcard matching
I noticed one bot failure due to
24a00ef2404104e9ca6fbd7eb523a8a340be9d99 because the wildcard matching
was not working as intended, fixed it to act similar to other checks of
CGSCCToFunctionPassAdaptor.
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll (diff)
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll (diff)
Commit 0133cc60e4e230ee2c176c23eff5aa2f4ee17a75 by benny.kra
Revert "[mlir] Create a gpu.module operation for the GPU Dialect."
This reverts commit 4624a1e8ac8a3f69cc887403b976f538f587744a. Causing
problems downstream.
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp (diff)
The file was modifiedmlir/test/Dialect/GPU/outlining.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td (diff)
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp (diff)
The file was modifiedmlir/test/Conversion/GPUToNVVM/memory-attrbution.mlir (diff)
The file was modifiedmlir/test/Conversion/GPUToSPIRV/load-store.mlir (diff)
The file was modifiedmlir/test/Dialect/GPU/invalid.mlir (diff)
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp (diff)
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt (diff)
The file was modifiedmlir/test/Conversion/GPUToCUDA/lower-nvvm-kernel-to-cubin.mlir (diff)
The file was modifiedmlir/test/Dialect/GPU/ops.mlir (diff)
The file was modifiedmlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h (diff)
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp (diff)
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp (diff)
The file was modifiedmlir/test/Conversion/GPUToSPIRV/simple.mlir (diff)
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp (diff)
The file was removedmlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.td
The file was modifiedmlir/test/Conversion/GPUToCUDA/lower-launch-func-to-cuda.mlir (diff)
The file was modifiedmlir/test/Conversion/GPUToSPIRV/builtins.mlir (diff)
The file was modifiedmlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h (diff)
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp (diff)
The file was modifiedmlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir (diff)
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp (diff)
The file was modifiedmlir/test/Conversion/GPUToSPIRV/loop.mlir (diff)
Commit 041650da67051266eb92b5bb07223394fe1bdab1 by kadircet
[clangd] Extract string literals in macro arguments to unbreak gcc
buildbots
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp (diff)
Commit da9d57d2c2dc821979490a425142afde5107066c by mark.murray
[ARM][MVE][Intrinsics] Add VMINAQ, VMINNMAQ, VMAXAQ, VMAXNMAQ
intrinsics.
Summary: Add VMINAQ, VMINNMAQ, VMAXAQ, VMAXNMAQ intrinsics and unit
tests.
Reviewers: simon_tatham, miyuki, dmgreen
Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D72761
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vminnmaq.ll
The file was addedclang/test/CodeGen/arm-mve-intrinsics/vmaxaq.c
The file was addedclang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c
The file was addedclang/test/CodeGen/arm-mve-intrinsics/vminaq.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td (diff)
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td (diff)
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vminaq.ll
The file was addedclang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c
The file was modifiedclang/include/clang/Basic/arm_mve.td (diff)
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vmaxnmaq.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vmaxaq.ll
Commit 8e5018e990b701391e6c33ba85b012343df67272 by thakis
Replace CLANG_SPAWN_CC1 env var with a driver mode flag
Flags are clang's default UI is flags.
We can have an env var in addition to that, but in D69825 nobody has yet
mentioned why this needs an env var, so omit it for now.  If someone
needs to set the flag via env var, the existing CCC_OVERRIDE_OPTIONS
mechanism works for it (set CCC_OVERRIDE_OPTIONS=+-fno-integrated-cc1
for example).
Also mention the cc1-in-process change in the release notes.
Also spruce up the test a bit so it actually tests something :)
Differential Revision: https://reviews.llvm.org/D72769
The file was modifiedclang/tools/driver/driver.cpp (diff)
The file was modifiedclang/lib/Driver/Driver.cpp (diff)
The file was modifiedclang/test/Driver/cc1-spawnprocess.c (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
Commit 082962dec846a30fbf129388e4821b9018fd2876 by thakis
[gn build] Reformat all build files
Ran `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`.
The motivation is to reformat them with trunk gn again right after.
Trunk gn changed formatting of some single-element lists.
The file was modifiedllvm/utils/gn/secondary/llvm/utils/benchmark/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Support/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn (diff)