FailedChanges

Summary

  1. [Zorg] Use ccache instead incremental build for openmp-offload-cuda-runtime. (details)
Commit 2afbc972a9ca914efa903d3ffc987b5da80ec836 by llvm-project
[Zorg] Use ccache instead incremental build for openmp-offload-cuda-runtime.

Building with `LLVM_ENABLE_RUNTIMES=openmp` has the disadvantage that if clang changes, the runtime that was built with the previous clang is not rebuilt. That is, if the runtime is miscompiling due to a change in clang, this will only be detected in the next clean build.

For instance, commit rG1100e4aafea233bc8bbc307c5758a7d287ad3bae caused the libomptarget device runtime to miscompile, but the [[ https://lab.llvm.org/staging/#/builders/154/builds/1421 | openmp-offload-cuda-runtime builder ]] shows it as green. Tests only started failing with the [[ https://lab.llvm.org/staging/#/builders/154/builds/1427 | next clean build ]]. In production, this would have blamed the wrong commit.

In contrast, the openmp-offload-cuda-project builder started failing with the [[ https://lab.llvm.org/staging/#/builders/155/builds/1803 | expected commit ]].

Instead of building incrementally, use ccache to avoid this problem.

Reviewed By: gkistanova, tianshilei1992

Differential Revision: https://reviews.llvm.org/D106781
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [flang] Disallow BOZ literal constants as arguments of implicit interfaces (details)
  2. [llvm-objcopy] Fix section group flag read/write when operating on a cross-endian object file (details)
  3. [AArch64][GlobalISel] Add identity combines to post-legal combiner. (details)
  4. [libc++] Fix spacing in <vector>. NFCI. (details)
  5. [MLIR][SCF][NFC] Fix typo in documentation of scf.while (details)
  6. [compiler-rt][hwasan][fuchsia] Define shadow bound globals (details)
  7. [lldb] [gdb-remote client] Avoid zero padding PID/TID in H packet (details)
  8. Disable the new enum i128 test under ASan, it uncovers an existing leak (details)
  9. [compiler-rt][hwasan][fuchsia] Implement InitializeOsSupport (details)
  10. Build libSupport with -Werror=global-constructors (NFC) (details)
  11. [DebugInfo] Use per-enumerator signedness for DIEnumerator (details)
  12. [PowerPC] Add pwr7 and pwr10 support to IBM MASSV pass on AIX (details)
  13. [compiler-rt][hwasan][fuchsia] Implement TagMemoryAligned for fuchsia (details)
  14. [AArch64][GlobalISel] Legalize ctpop s128 (details)
  15. libclang.so: Make SONAME independent from LLVM version (details)
  16. [SCEV] Add a comment about invariant in howManyLessThans (details)
  17. [PowerPC] Changed sema checking range for tdw td builtin (details)
  18. libclang.so: Fix version script to work with gold (details)
  19. [GlobalISel] Add scalar widening for G_MERGE_VALUES destination (details)
  20. libclang: Add missing export to python script that generates export list (details)
  21. Revert "[AArch64][GlobalISel] Legalize ctpop s128" (details)
  22. [mlir] Make ValueShapeRange a new class (details)
  23. [MLIR][NFC] Rework some comments. (details)
  24. [dfsan][NFC] Add compile flags and environment variables to doc (details)
  25. [DebugInfo] Switch to using constructor homing (-debug-info-kind=constructor) by default when debug info is enabled (details)
  26. [dfsan] Fix doc build errors (details)
  27. [PowerPC] Fix materialization of SP float values on Power10 (details)
  28. [trace] Add the definition of a TraceExporter plugin (details)
  29. Revert "Build libSupport with -Werror=global-constructors (NFC)" (details)
  30. [libcxx][NFC] adjusts 41b17c44 so it meets requested feedback (details)
  31. [AMDGPU] Add SelectionDAG support for insert_subvector on v4f64 (details)
Commit 8f41431654fedac4a5ad2751056a611bfc7751f0 by psteinfeld
[flang] Disallow BOZ literal constants as arguments of implicit interfaces

Since BOZ literal arguments are typeless, we cannot know how to pass them as
actual arguments to procedures with implicit interfaces.  This change avoids
the problem by emitting an error message in such situations.

This change stemmed from the following issue --
  https://github.com/flang-compiler/f18-llvm-project/issues/794

Differential Revision: https://reviews.llvm.org/D106831
The file was modifiedflang/test/Semantics/boz-literal-constants.f90
The file was modifiedflang/lib/Semantics/check-call.cpp
Commit c5d8bd5a35cbd325c6ccd42afa91bad06d261f07 by i
[llvm-objcopy] Fix section group flag read/write when operating on a cross-endian object file
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
Commit 172051a1f4b1a007a2dbc46f8efb5e650b016d3b by Amara Emerson
[AArch64][GlobalISel] Add identity combines to post-legal combiner.

We see some shifts of zero emitted during legalization.

Differential Revision: https://reviews.llvm.org/D106816
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-select.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-identity.mir
The file was modifiedllvm/test/CodeGen/AArch64/fold-global-offsets.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
Commit 1e1b5706c3f5e24b937878e592cf9907af368ec3 by arthur.j.odwyer
[libc++] Fix spacing in <vector>. NFCI.

Thanks to gAlfonso-bit for the patch!

Differential Revision: https://reviews.llvm.org/D106691
The file was modifiedlibcxx/include/vector
Commit 58aa3881bac60a497168449b9087e3ebef85a3d8 by jurahul
[MLIR][SCF][NFC] Fix typo in documentation of scf.while

- `scf.yield` in the "after" region supplies new arguments to the "before" region.

Differential Revision: https://reviews.llvm.org/D106806
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
Commit b50fb58695b4fa2b60e0003980b158a717638180 by leonardchan
[compiler-rt][hwasan][fuchsia] Define shadow bound globals

These are required by MemIsShadow for checking if an address actually is shadow memory.

Differential Revision: https://reviews.llvm.org/D105745
The file was modifiedcompiler-rt/lib/hwasan/hwasan_fuchsia.cpp
Commit 3c3269559ba9400224400b96c22b31812638de52 by mgorny
[lldb] [gdb-remote client] Avoid zero padding PID/TID in H packet

Change SetCurrentThread*() logic not to include the zero padding
in PID/TID that was a side effect of 02ef0f5ab483.  This should fix
problems caused by sending 64-bit integers to 32-bit servers.  Reported
by Ted Woodward.

Differential Revision: https://reviews.llvm.org/D106832
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
Commit a9b114c5dd68685e0e68dd9144454b44509c2f5f by rnk
Disable the new enum i128 test under ASan, it uncovers an existing leak

See llvm.org/pr51221
The file was modifiedclang/test/CodeGenCXX/debug-info-enum-i128.cpp
Commit 71af002d151ef9a162c8a776c22b46893f923af0 by leonardchan
[compiler-rt][hwasan][fuchsia] Implement InitializeOsSupport

This is empty for now, but we will add a check that TBI is enabled once the
tagged pointer ABI for zircon is finalized. This depends on D105667.

Differential Revision: https://reviews.llvm.org/D105668
The file was modifiedcompiler-rt/lib/hwasan/hwasan_fuchsia.cpp
Commit beff86e8ff429f11da6fe37efde86d22ea636ed5 by joker.eph
Build libSupport with -Werror=global-constructors (NFC)

Ensure that libSupport does not carry any static global initializer.
libSupport can be embedded in use cases where we don't want to load all
cl::opt unless we want to parse the command line.
ManagedStatic can be used to enable lazy-initialization of globals.

The -Werror=global-constructors is only added on platform that have
support for the flag and for which std::mutex does not have a global
destructor. This is ensured by having CMake trying to compile a file
with a global mutex before adding the flag to libSupport.
The file was modifiedllvm/lib/Support/CMakeLists.txt
Commit f9f56488e02d1c09a9cd4acde61ce1c712e71405 by rnk
[DebugInfo] Use per-enumerator signedness for DIEnumerator

Allegedly the DWARF backend ignores this field of DIEnumerator, but we
set it nonetheless in case we decide to use it in the future.
Alternatively, we could remove it, but it is simpler to pass down the
signed bit as it is in the AST for now.

Implemented to address comments on D106585
The file was modifiedclang/test/CodeGen/enum2.c
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 45951ad3231c213e7fae384dc9ce803bfaed8c77 by msd.ataei
[PowerPC] Add pwr7 and pwr10 support to IBM MASSV pass on AIX

Before MASSV only supported P8 and P9 on AIX ans Linux . This patch proposes
MASSV to add support of P7 and P10 only on AIX too.

Differential: https://reviews.llvm.org/D106678
The file was modifiedllvm/include/llvm/Analysis/VecFuncs.def
The file was modifiedllvm/test/CodeGen/PowerPC/lower-massv-attr.ll
The file was modifiedllvm/test/CodeGen/PowerPC/lower-massv.ll
The file was modifiedllvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll
The file was modifiedllvm/test/Transforms/Util/add-TLI-mappings.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-nobuiltin.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-altivec.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-unsupported.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
The file was modifiedllvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
Commit b49a3bf7c094d7c76eb8a4774ae9aded84dafa41 by leonardchan
[compiler-rt][hwasan][fuchsia] Implement TagMemoryAligned for fuchsia

This will just be a call into __sanitizer_fill_shadow defined in the fuchsia source tree. This depends on D105663.

Differential Revision: https://reviews.llvm.org/D105664
The file was modifiedcompiler-rt/lib/hwasan/hwasan_fuchsia.cpp
Commit 97e95fea53fc403c2a12e356dc835fc922123575 by jonathan_roelofs
[AArch64][GlobalISel] Legalize ctpop s128

Differential revision: https://reviews.llvm.org/D106494
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
The file was modifiedllvm/test/CodeGen/AArch64/popcount.ll
Commit c7b3a91017d26266d7556b1ac7c49b06f0109b91 by tstellar
libclang.so: Make SONAME independent from LLVM version

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D105527
The file was addedclang/tools/libclang/libclang.map
The file was removedclang/tools/libclang/libclang.exports
The file was addedclang/tools/libclang/linker-script-to-export-list.py
The file was addedclang/test/LibClang/lit.local.cfg
The file was addedclang/test/LibClang/symbols.test
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedclang/tools/libclang/CMakeLists.txt
Commit f82f39b9cfc9a807380ebb2348c1cf16610e1e87 by listmail
[SCEV] Add a comment about invariant in howManyLessThans
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 18526b0d661f28e79cb70bfd712cedf9e7085154 by albionapc
[PowerPC] Changed sema checking range for tdw td builtin

To match xlc behaviour and definition in the PowerPC ISA3.1,
it is a better idea to have ibm-clang produce an error when a
0 is passed to the builtin, which will match xlc's behaviour.
This patch changes the accepted range from 0 to 31 to 1 to 31.

Differential revision: https://reviews.llvm.org/D106817
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-error.c
Commit 69daca022ad71f5f697008e0b028c52023abe61b by tstellar
libclang.so: Fix version script to work with gold

The changes made in 0cf37a3b0617457daaed3224373ffa07724f8482 are not
compatible with gold, which does not seem to support a symbol version
with the name local.
The file was modifiedclang/tools/libclang/libclang.map
Commit 0a37163d1d855a2db41e1f46ddbc3f4570bd7ca6 by Jessica Paquette
[GlobalISel] Add scalar widening for G_MERGE_VALUES destination

This adds support for the case where

WideSize = DstSize + K * SrcSize

In this case, we can pad the G_MERGE_VALUES instruction with K extra undef
values with width SrcSize. Then the destination can be handled via
widenScalarDst.

Differential Revision: https://reviews.llvm.org/D106814
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-merge-values.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit 0d7596c348842af2c34b13cfd9e5b3480e6c8b0e by tstellar
libclang: Add missing export to python script that generates export list

This script was added in 0cf37a3b0617457daaed3224373ffa07724f8482.
The file was modifiedclang/tools/libclang/linker-script-to-export-list.py
Commit f2e8e46d7863b41cc3d839e04da4c61a4ac28853 by jonathan_roelofs
Revert "[AArch64][GlobalISel] Legalize ctpop s128"

This reverts commit 97e95fea53fc403c2a12e356dc835fc922123575.

It broke test/CodeGen/Mips/GlobalISel/llvm-ir/ctpop.ll. Not sure why I didn't see that.
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/popcount.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
Commit d425f58939ad9ef88ee2d1578a87c25d4e121128 by jpienaar
[mlir] Make ValueShapeRange a new class

Retaining old interface and should be constructable as previous, change would have been NFC except it this doesn't implicitly work with OpAdaptor generated in C++14.

Differential Revision: https://reviews.llvm.org/D106772
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was modifiedmlir/include/mlir/Interfaces/InferTypeOpInterface.h
Commit 86778e8b3036d95e684edef469495110f1c2f121 by jurahul
[MLIR][NFC] Rework some comments.

Differential Revision: https://reviews.llvm.org/D106834
The file was modifiedmlir/include/mlir/Analysis/DataFlowAnalysis.h
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.td
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.h
The file was modifiedmlir/include/mlir/Analysis/AliasAnalysis/LocalAliasAnalysis.h
Commit c7b7638dfee54053553d9b22eeb8912ca42a06ec by jianzhouzh
[dfsan][NFC] Add compile flags and environment variables to doc

Reviewed By: gbalats

Differential Revision: https://reviews.llvm.org/D106833
The file was modifiedclang/docs/DataFlowSanitizer.rst
Commit 1a3bf2953a9209fdc4dbb6e99678e02a7fec019d by akhuang
[DebugInfo] Switch to using constructor homing (-debug-info-kind=constructor) by default when debug info is enabled

Constructor homing reduces the amount of class type info that is emitted
by emitting conmplete type info for a class only when a constructor for
that class is emitted.

This will mainly reduce the amount of duplicate debug info in object
files. In Chrome enabling ctor homing decreased total build directory sizes
by about 30%.

It's also expected that some class types (such as unused classes)
will no longer be emitted in the debug info. This is fine, since we wouldn't
expect to need these types when debugging.

In some cases (e.g. libc++, https://reviews.llvm.org/D98750), classes
are used without calling the constructor. Since this is technically
undefined behavior, enabling constructor homing should be fine.
However Clang now has an attribute
`__attribute__((standalone_debug))` that can be used on classes to
ignore ctor homing.

Bug: https://bugs.llvm.org/show_bug.cgi?id=46537

Differential Revision: https://reviews.llvm.org/D106084
The file was modifiedclang/test/Driver/myriad-toolchain.c
The file was modifiedclang/test/Driver/split-debug.c
The file was modifiedclang/include/clang/Basic/DebugInfoOptions.h
The file was modifiedclang/test/CodeGenCXX/debug-info-template-deduction-guide.cpp
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/Driver/clang-g-opts.c
The file was modifiedclang/test/Driver/cuda-dwarf-2.cu
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/debug-options-as.c
The file was modifiedclang/test/Driver/integrated-as.s
The file was modifiedclang/test/Driver/debug-options.c
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedlldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp
Commit e69a8c42135606e60446d5e78144357a9e429c77 by jianzhouzh
[dfsan] Fix doc build errors
The file was modifiedclang/docs/DataFlowSanitizer.rst
Commit 9654cfd5bb20926bcaf601b5da1707bcd280e37f by lei
[PowerPC] Fix materialization of SP float values on Power10

All floating point values in registers are in double precision
representation. In order to materialize the correct single precision
value, we need to convert the APFloat that represents the value
to double precision first.

Reviewed By: amyk, NeHuang

Differential Revision: https://reviews.llvm.org/D106812
The file was modifiedllvm/test/CodeGen/PowerPC/constant-pool.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
Commit c1b4632528cb405c9ef94cff90bf43afe688a899 by walter erquinigo
[trace] Add the definition of a TraceExporter plugin

Copying from the inline documentation:

```
Trace exporter plug-ins operate on traces, converting the trace data provided by an \a lldb_private::TraceCursor into a different format that can be digested by other tools, e.g. Chrome Trace Event Profiler.
Trace exporters are supposed to operate on an architecture-agnostic fashion, as a TraceCursor, which feeds the data, hides the actual trace technology being used.
```

I want to use this to make the code in https://reviews.llvm.org/D105741 a plug-in. I also imagine that there will be more and more exporters being implemented, as an exporter creates something useful out of trace data. And tbh I don't want to keep adding more stuff to the lldb/Target folder.

This is the minimal definition for a TraceExporter plugin. I plan to use this with the following commands:

- thread trace export <plug-in name> [plug-in specific args]
  - This command would support autocompletion of plug-in names
- thread trace export list
  - This command would list the available trace exporter plug-ins

I don't plan to create yet a "process trace export" because it's easier to start analyzing the trace of a given thread than of the entire process. When we need a process-level command, we can implement it.

I also don't plan to force each "export" command implementation to support multiple threads (for example, "thread trace start 1 2 3" or "thread trace start all" operate on many threads simultaneously). The reason is that the format used by the exporter might or might not support multiple threads, so I'm leaving this decision to each trace exporter plug-in.

Differential Revision: https://reviews.llvm.org/D106501
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was addedlldb/source/Target/TraceExporter.cpp
The file was modifiedlldb/include/lldb/lldb-private-interfaces.h
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was addedlldb/source/Plugins/TraceExporter/ctf/TraceExporterCTFOptions.td
The file was addedlldb/source/Plugins/TraceExporter/CMakeLists.txt
The file was addedlldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
The file was addedlldb/include/lldb/Target/TraceExporter.h
The file was addedlldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.cpp
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was modifiedlldb/source/Target/CMakeLists.txt
The file was modifiedlldb/source/Plugins/CMakeLists.txt
The file was addedlldb/source/Plugins/TraceExporter/ctf/CMakeLists.txt
The file was addedlldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h
The file was addedlldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.cpp
Commit 2f49eb47946ae1906b8d347fc3ee387bded5439a by joker.eph
Revert "Build libSupport with -Werror=global-constructors (NFC)"

This reverts commit beff86e8ff429f11da6fe37efde86d22ea636ed5.

The sanitizer-x86_64-linux bot is still broken.
The file was modifiedllvm/lib/Support/CMakeLists.txt
Commit 9563f3b571d1dc1f40a546a86c11904b1748ff86 by cjdb
[libcxx][NFC] adjusts 41b17c44 so it meets requested feedback

Feedback requested in D106735 applied in Diff 3 seem to have
reverted in Diff 4. This patch fixes that up.

Differential Revision: https://reviews.llvm.org/D106829
The file was modifiedlibcxx/include/__iterator/advance.h
Commit fbaa35e169474c5ad2e211fdc1ec74f8e56546ab by carl.ritson
[AMDGPU] Add SelectionDAG support for insert_subvector on v4f64

Enable custom insert_subvector for larger vector types.
This is necessary now that SelectionDAG can attempt v3f64 insert
to v4f64, etc.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D105385
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/bug-v4f64-subvector.ll

Summary

  1. [Zorg] Use ccache instead incremental build for openmp-offload-cuda-runtime. (details)
Commit 2afbc972a9ca914efa903d3ffc987b5da80ec836 by llvm-project
[Zorg] Use ccache instead incremental build for openmp-offload-cuda-runtime.

Building with `LLVM_ENABLE_RUNTIMES=openmp` has the disadvantage that if clang changes, the runtime that was built with the previous clang is not rebuilt. That is, if the runtime is miscompiling due to a change in clang, this will only be detected in the next clean build.

For instance, commit rG1100e4aafea233bc8bbc307c5758a7d287ad3bae caused the libomptarget device runtime to miscompile, but the [[ https://lab.llvm.org/staging/#/builders/154/builds/1421 | openmp-offload-cuda-runtime builder ]] shows it as green. Tests only started failing with the [[ https://lab.llvm.org/staging/#/builders/154/builds/1427 | next clean build ]]. In production, this would have blamed the wrong commit.

In contrast, the openmp-offload-cuda-project builder started failing with the [[ https://lab.llvm.org/staging/#/builders/155/builds/1803 | expected commit ]].

Instead of building incrementally, use ccache to avoid this problem.

Reviewed By: gkistanova, tianshilei1992

Differential Revision: https://reviews.llvm.org/D106781
The file was modifiedbuildbot/osuosl/master/config/builders.py