FailedChanges

Summary

  1. Build libSupport with -Werror=global-constructors (NFC) (details)
  2. [DebugInfo] Use per-enumerator signedness for DIEnumerator (details)
  3. [PowerPC] Add pwr7 and pwr10 support to IBM MASSV pass on AIX (details)
  4. [compiler-rt][hwasan][fuchsia] Implement TagMemoryAligned for fuchsia (details)
  5. [AArch64][GlobalISel] Legalize ctpop s128 (details)
  6. libclang.so: Make SONAME independent from LLVM version (details)
  7. [SCEV] Add a comment about invariant in howManyLessThans (details)
  8. [PowerPC] Changed sema checking range for tdw td builtin (details)
  9. libclang.so: Fix version script to work with gold (details)
  10. [GlobalISel] Add scalar widening for G_MERGE_VALUES destination (details)
  11. libclang: Add missing export to python script that generates export list (details)
  12. Revert "[AArch64][GlobalISel] Legalize ctpop s128" (details)
  13. [mlir] Make ValueShapeRange a new class (details)
  14. [MLIR][NFC] Rework some comments. (details)
  15. [dfsan][NFC] Add compile flags and environment variables to doc (details)
  16. [DebugInfo] Switch to using constructor homing (-debug-info-kind=constructor) by default when debug info is enabled (details)
  17. [dfsan] Fix doc build errors (details)
  18. [PowerPC] Fix materialization of SP float values on Power10 (details)
  19. [trace] Add the definition of a TraceExporter plugin (details)
  20. Revert "Build libSupport with -Werror=global-constructors (NFC)" (details)
  21. [libcxx][NFC] adjusts 41b17c44 so it meets requested feedback (details)
  22. [AMDGPU] Add SelectionDAG support for insert_subvector on v4f64 (details)
  23. libclang: Fixes for the python script that generates the export list (details)
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/test/Transforms/LoopVectorize/PowerPC/massv-nobuiltin.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-unsupported.ll
The file was modifiedllvm/include/llvm/Analysis/VecFuncs.def
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/lower-massv-attr.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/CodeGen/PowerPC/lower-massv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/massv-altivec.ll
The file was modifiedllvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
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/test/CodeGen/AArch64/popcount.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
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 modifiedclang/test/CMakeLists.txt
The file was modifiedclang/test/lit.site.cfg.py.in
The file was addedclang/tools/libclang/libclang.map
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 removedclang/tools/libclang/libclang.exports
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/test/CodeGen/builtins-ppc-xlcompat-error.c
The file was modifiedclang/lib/Sema/SemaChecking.cpp
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/test/CodeGen/AArch64/GlobalISel/legalize-merge-values.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
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/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
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
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/include/mlir/Interfaces/InferTypeOpInterface.h
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Commit 86778e8b3036d95e684edef469495110f1c2f121 by jurahul
[MLIR][NFC] Rework some comments.

Differential Revision: https://reviews.llvm.org/D106834
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.h
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.td
The file was modifiedmlir/include/mlir/Analysis/AliasAnalysis/LocalAliasAnalysis.h
The file was modifiedmlir/include/mlir/Analysis/DataFlowAnalysis.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/clang-g-opts.c
The file was modifiedclang/test/CodeGenCXX/debug-info-template-deduction-guide.cpp
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.c
The file was modifiedlldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/Driver/integrated-as.s
The file was modifiedclang/test/Driver/myriad-toolchain.c
The file was modifiedclang/test/Driver/debug-options-as.c
The file was modifiedclang/include/clang/Basic/DebugInfoOptions.h
The file was modifiedclang/test/Driver/split-debug.c
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/p10-splatImm-CPload-pcrel.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/test/CodeGen/PowerPC/constant-pool.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 addedlldb/source/Plugins/TraceExporter/ctf/CMakeLists.txt
The file was modifiedlldb/source/Plugins/CMakeLists.txt
The file was addedlldb/source/Plugins/TraceExporter/ctf/TraceExporterCTFOptions.td
The file was addedlldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
The file was addedlldb/include/lldb/Target/TraceExporter.h
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was addedlldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.cpp
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was modifiedlldb/source/Target/CMakeLists.txt
The file was addedlldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h
The file was addedlldb/source/Target/TraceExporter.cpp
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was addedlldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.cpp
The file was modifiedlldb/include/lldb/lldb-private-interfaces.h
The file was addedlldb/source/Plugins/TraceExporter/CMakeLists.txt
The file was modifiedlldb/source/Core/PluginManager.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 addedllvm/test/CodeGen/AMDGPU/bug-v4f64-subvector.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 0300e16eb0a8e7bd980b6b14b6a3bae38786651d by tstellar
libclang: Fixes for the python script that generates the export list

This script was added in 0cf37a3b0617457daaed3224373ffa07724f8482.
The file was modifiedclang/tools/libclang/linker-script-to-export-list.py
The file was modifiedclang/tools/libclang/CMakeLists.txt