[all-commits] [llvm/llvm-project] 135fec: [SystemZ][z/OS] __ptr32 support for z/OS (#101696)

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Aug 8 08:41:23 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slprepresent-externally-used-values-as-original-scalars-if
  Home:   https://github.com/llvm/llvm-project
  Commit: 135fecd4441068667ef23f56098befd0c42f89f2
      https://github.com/llvm/llvm-project/commit/135fecd4441068667ef23f56098befd0c42f89f2
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-definitions.c
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-sizeof.c
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
    M clang/test/CodeGen/target-data.c
    A clang/test/CodeGenCXX/zos-mangle-ptr-size-address-space.cpp
    A clang/test/Sema/ZOSExtensions.cpp
    A clang/test/Sema/attr-print-zos.c
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] __ptr32 support for z/OS (#101696)

Enabling __ptr32 keyword to support in Clang for z/OS. It is represented
by addrspace(1) in LLVM IR. Unlike existing implementation, __ptr32 is
not mangled into symbol names for z/OS.


  Commit: fbb0619fe2acea4ac8764d13b754505ed8f1b578
      https://github.com/llvm/llvm-project/commit/fbb0619fe2acea4ac8764d13b754505ed8f1b578
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GraphTraits.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/Support/GenericDomTree.h

  Log Message:
  -----------
  [Support][ADT] Minor cleanups after #101706 (#102180)

Fix GraphHasNodeNumbers indicator for graphs where NodeRef is not the
graph type (e.g., Inverse<...>).

Add static_assert tests to MachineBasicBlock GraphTraits.

Use GraphHasNodeNumbers in DomTreeBase.

Don't include ad-hoc numbering map for numbered graphs in DomTreeBase.


  Commit: 15dacb452f3ae210837f5fc0839489d9801c8fc3
      https://github.com/llvm/llvm-project/commit/15dacb452f3ae210837f5fc0839489d9801c8fc3
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

  Log Message:
  -----------
  [AMDGPU][AsmParser] Print names of parsed registers in debug output. (#102328)

Knowing just their numeric values is not very helpful.

Part of <https://github.com/llvm/llvm-project/issues/62629>.


  Commit: b8c560f1592648197d01f402dec5592a72d46c96
      https://github.com/llvm/llvm-project/commit/b8c560f1592648197d01f402dec5592a72d46c96
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
    M clang/cmake/modules/AddClang.cmake
    M clang/tools/clang-linker-wrapper/CMakeLists.txt
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/driver/CMakeLists.txt
    M flang/tools/flang-driver/CMakeLists.txt
    M lld/cmake/modules/AddLLD.cmake
    M lld/tools/lld/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/tools/bugpoint/CMakeLists.txt
    M llvm/tools/llc/CMakeLists.txt
    M llvm/tools/llvm-lto2/CMakeLists.txt
    M llvm/tools/opt/CMakeLists.txt
    M llvm/unittests/Analysis/CMakeLists.txt
    M llvm/unittests/Passes/Plugins/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Remove EXPORT_SYMBOLS_FOR_PLUGINS from #102138 (#102396)

Partially remove some of the changes from #102138 as
EXPORT_SYMBOLS_FOR_PLUGINS doesn't work on all the configurations.


  Commit: ea1dee76c7bc88ada21686fb2579a3ed7f284028
      https://github.com/llvm/llvm-project/commit/ea1dee76c7bc88ada21686fb2579a3ed7f284028
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Don't diagnose indexing arrays with index 0 (#102454)

Even if the array is of unknown bounds, index 0 is fine.


  Commit: 47d831f2c90225a7d267ec5e3149d5584287dbbc
      https://github.com/llvm/llvm-project/commit/47d831f2c90225a7d267ec5e3149d5584287dbbc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Analysis/CostModel/AMDGPU/arith-sminmax.ll
    M llvm/test/Analysis/CostModel/AMDGPU/arith-uminmax.ll
    M llvm/test/Analysis/CostModel/ARM/cmps.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-smax.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-smin.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-umax.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-umin.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/min_max.ll

  Log Message:
  -----------
  TTI: Check legalization cost of min/max ISD nodes (#100514)

Instead of counting the cost of the assumed expansion.

The AMDGPU costs for the i64 case look too high to me.

Preserve default expansion logic


  Commit: 46bf5d547fa7f6066019750effaa6c2aa119a8da
      https://github.com/llvm/llvm-project/commit/46bf5d547fa7f6066019750effaa6c2aa119a8da
  Author: ykhatav <yashasvi.khatavkar at intel.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    A llvm/test/DebugInfo/X86/undef-dbg-val.ll

  Log Message:
  -----------
  Globalopt pass produces invalid debug info (#100654)

This patch fixes an issue in the GlobalOpt pass where deleting a global
variable fails to update the corresponding dbg.value and it references
an empty metadata entry. The SalvageDebugInfo() function has been
updated to handle dbg.value intrinsic when globals are deleted.


  Commit: 1139dee910c45cfdd4a6066b22addef585e04032
      https://github.com/llvm/llvm-project/commit/1139dee910c45cfdd4a6066b22addef585e04032
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Add more sinking tests (NFC)


  Commit: fd7d7882e7fa5a38d4bfde426120d4663718beb4
      https://github.com/llvm/llvm-project/commit/fd7d7882e7fa5a38d4bfde426120d4663718beb4
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Use iterators to insert everywhere (#102003)

These are the final few places in LLVM where we use instruction pointers
to identify the position that we're inserting something. We're trying to
get away from that with a view to deprecating those methods, thus use
iterators in all these places. I believe they're all debug-info safe.

The sketchiest part is the ExtractValueInst copy constructor, where we
cast nullptr to a BasicBlock pointer, so that we take the non-default
insert-into-no-block path for instruction insertion, instead of the
default nullptr-instruction path for UnaryInstruction. Such a hack is
necessary until we get rid of the instruction constructor entirely.


  Commit: b143b2483fc5d7e73763ff9292dec6479552de9e
      https://github.com/llvm/llvm-project/commit/b143b2483fc5d7e73763ff9292dec6479552de9e
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/Bitcode/compatibility.ll

  Log Message:
  -----------
  [LLVM][rtsan] Add sanitize_realtime attribute for the realtime sanitizer (#100596)

Add a new "sanitize_realtime" attribute, which will correspond to the
nonblocking function effect in clang. This is used in the realtime
sanitizer transform.

Please see the [reviewer support
document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md)
for what our next steps are. The original discourse thread can be found
[here](https://discourse.llvm.org/t/rfc-nolock-and-noalloc-attributes/76837)


  Commit: 59531cf01eb791f4cef88c2757d399eb3d90a086
      https://github.com/llvm/llvm-project/commit/59531cf01eb791f4cef88c2757d399eb3d90a086
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M flang/runtime/edit-input.cpp

  Log Message:
  -----------
  [flang] Set the offset based on the significant bytes in the boz input in big endian (#102334)

The offset to the input data should be counted from most significant bit
instead of zero in the big endian environment.


  Commit: 29817a96262aa96f3e0be632d91ab810e75f728d
      https://github.com/llvm/llvm-project/commit/29817a96262aa96f3e0be632d91ab810e75f728d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-sub.ll

  Log Message:
  -----------
  [X86] Add test coverage for #74101


  Commit: 2b1122eaec0d0b335feeac4adfaab2e3e04b7bd9
      https://github.com/llvm/llvm-project/commit/2b1122eaec0d0b335feeac4adfaab2e3e04b7bd9
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/include/llvm/FuzzMutate/OpDescriptor.h
    M llvm/lib/FuzzMutate/IRMutator.cpp
    M llvm/lib/FuzzMutate/Operations.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
    M llvm/tools/llvm-stress/llvm-stress.cpp
    M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
    M llvm/unittests/Analysis/LazyCallGraphTest.cpp
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
    M llvm/unittests/FuzzMutate/OperationsTest.cpp
    M llvm/unittests/IR/BasicBlockTest.cpp
    M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Use iterator-insertion in unittests and fuzzer (#102015)

These are the final few places in LLVM that use instruction pointers to
insert instructions -- use iterators instead, which is needed for
debug-info correctness in the future. Most of this is a gentle
scattering of getIterator calls or not deref-then-addrofing iterators.
libfuzzer does require a storage change to keep built instruction
positions in a container though. The unit-test changes are very
straightforwards.

This leaves us in a position where libfuzzer can't fuzz on either of
debug-info records, however I don't believe that fuzzing of debug-info
is in scope for the library.


  Commit: fdf8e3e31103bc81917cdb27150877f524bb2669
      https://github.com/llvm/llvm-project/commit/fdf8e3e31103bc81917cdb27150877f524bb2669
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/Modules/check-for-sanitizer-feature.cpp
    M clang/test/Modules/ignored_macros.m
    M clang/test/Modules/load_failure.c
    M clang/test/Modules/merge-target-features.cpp
    M clang/test/Modules/mismatch-diagnostics.cpp
    M clang/test/Modules/module-pch-different-cache-path.c
    M clang/test/Modules/pr62359.cppm
    M clang/test/PCH/arc.m
    M clang/test/PCH/fuzzy-pch.c
    M clang/test/PCH/module-hash-difference.m
    M clang/test/PCH/ms-pch-macro.c
    M clang/test/PCH/no-validate-pch.cl

  Log Message:
  -----------
  [Modules][Diagnostic] Mention which AST file's options differ from the current TU options. (#101413)

Claiming a mismatch is always in a precompiled header is wrong and
misleading as a mismatch can happen in any provided AST file. Emitting a
path for a file with a problem allows to disambiguate between multiple
input files.

Use generic term "AST file" because we don't always know a kind of the
provided file (for example, see `ASTReader::readASTFileControlBlock`).

rdar://65005546


  Commit: 37a94b7eddeab0ae42207699fb9be37587172a9e
      https://github.com/llvm/llvm-project/commit/37a94b7eddeab0ae42207699fb9be37587172a9e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/MustExecute.cpp
    M llvm/test/Transforms/LICM/hoist-mustexec.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll

  Log Message:
  -----------
  [LICM][MustExec] Make must-exec logic for IV condition commutative (#93150)

MustExec has special logic to determine whether the first loop iteration
will always be executed, by simplifying the IV comparison with the start
value. Currently, this code assumes that the IV is on the LHS of the
comparison, but this is not guaranteed. Make sure it handles the
commuted variant as well.

The changed PhaseOrdering test previously performed peeling to make the
loads dereferenceable -- as a side effect, this also reduced the exit
count by one, avoiding the awkward <= MAX case.

Now we know up-front the the loads are dereferenceable and can be simply
hoisted. As such, we retain the original exit count and now have to
handle it by widening the exit count calculation to i128. This is a
regression, but at least it preserves the vectorization, which was the
original goal. I'm not sure what else can be done about that test.


  Commit: 22a130220c306935ff9bd6bfcb5ee7ce1600e304
      https://github.com/llvm/llvm-project/commit/22a130220c306935ff9bd6bfcb5ee7ce1600e304
  Author: Andrzej WarzyƄski <andrzej.warzynski at arm.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][vector] Add more tests for ConvertVectorToLLVM (1/n) (#101936)

Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
  * vector.bitcast
  * vector.broadcast

Note, this has uncovered some missing logic in `BroadcastOpLowering`.
This PR fixes the most basic cases where the scalable flags were dropped
and the generated code was incorrect. Also, the conditions in
`vector::isBroadcastableTo` are relaxed to allow cases like this:
```mlir
%0 = vector.broadcast %arg0 : vector<1xf32> to vector<[4]xf32>
```

The `BroadcastOpLowering` pattern is effectively disabled for scalable
vectors in more complex cases where an SCF loop would be required to
loop over the scalable dims, e.g.:
```mlir
 %0 = vector.broadcast %arg0 : vector<[4]x1x2xf32> to vector<[4]x3x2xf32>
```

These cases are marked as "Stretch not at start" in the code. In those
cases, support for scalable vectors is left as a TODO.


  Commit: 435717556908a79748de22c21e3a0ee06a933036
      https://github.com/llvm/llvm-project/commit/435717556908a79748de22c21e3a0ee06a933036
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [re-format][Modules] Follow-up formatting to "Mention which AST file's options differ from the current TU options." (#102484)

Fix formatting for fdf8e3e31103bc81917cdb27150877f524bb2669.


  Commit: b24737d3ac522fc4e36d3be5b52ffca9d53e30b5
      https://github.com/llvm/llvm-project/commit/b24737d3ac522fc4e36d3be5b52ffca9d53e30b5
  Author: Jerry Zhang Jian <jerry.zhangjian at sifive.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [NFC][RISCV] use OS.indent() to replace spaces (#102429)


  Commit: b2e69f52bb5da067109b9a7d1f73d0dd1a6bb5ad
      https://github.com/llvm/llvm-project/commit/b2e69f52bb5da067109b9a7d1f73d0dd1a6bb5ad
  Author: hev <wangrui at loongson.cn>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/CMakeLists.txt
    M llvm/lib/Target/LoongArch/LoongArch.h
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    A llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/test/CodeGen/LoongArch/block-address.ll
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
    M llvm/test/CodeGen/LoongArch/double-imm.ll
    M llvm/test/CodeGen/LoongArch/float-imm-vldi.ll
    M llvm/test/CodeGen/LoongArch/float-imm.ll
    M llvm/test/CodeGen/LoongArch/ghc-cc.ll
    M llvm/test/CodeGen/LoongArch/global-address.ll
    M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store.ll
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.nogenerated.expected
    M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn

  Log Message:
  -----------
  [LoongArch] Add machine function pass to merge base + offset (#101139)

This commit references RISC-V to add a machine function pass to merge
the base address and offset.


  Commit: a760df316510fc56576d0934f33577a4ce64b146
      https://github.com/llvm/llvm-project/commit/a760df316510fc56576d0934f33577a4ce64b146
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    A clang/test/SemaCXX/single-element-init-list.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Implement CWG2137 (list-initialization from objects of the same type) (#94355)

[CWG2137](https://cplusplus.github.io/CWG/issues/2137.html)

This was previously implemented and then reverted in Clang 18 as #77768

This also implements a workaround for
[CWG2311](https://cplusplus.github.io/CWG/issues/2311.html), similarly
to the 2024-03-01 comment for
[CWG2742](https://cplusplus.github.io/CWG/issues/2742.html).

The exact wording this tries to implement, relative to the C++26 draft:

[over.match.list]p(1.2)

> Otherwise, or if no viable initializer-list constructor is found
<ins>and the initializer list does not consist of exactly a single
element with the same cv-unqualified class type as `T`</ins>, overload
resolution is performed again, [...]

[dcl.init.list]p(3.7)

> Otherwise, if `T` is a class type, constructors are considered. The
applicable constructors are enumerated and the best one is chosen
through overload resolution. <ins>If no constructor is found and the
initializer list consists of exactly a single element with the same
cv-unqualified class type as `T`, the object is initialized from that
element (by copy-initialization for copy-list-initialization, or by
direct-initialization for direct-list-initialization). Otherwise,</ins>
if a narrowing conversion (see below) is required [...]


  Commit: 899f648866affd011baae627752ba15baabc2ef9
      https://github.com/llvm/llvm-project/commit/899f648866affd011baae627752ba15baabc2ef9
  Author: David Tenty <daltenty at ibm.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M llvm/lib/Support/regcomp.c

  Log Message:
  -----------
  [NFC][llvm][support] rename INFINITY in regcomp (#101758)

since C23 this macro is defined by float.h, which clang implements in
it's float.h since #96659 landed.

However, regcomp.c in LLVMSupport happened to define it's own macro with
that name, leading to problems when bootstrapping. This change renames
the offending macro.


  Commit: 3254e839ab0351638daf7bc04b91e4ab78c3b195
      https://github.com/llvm/llvm-project/commit/3254e839ab0351638daf7bc04b91e4ab78c3b195
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-definitions.c
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-sizeof.c
    A clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
    M clang/test/CodeGen/target-data.c
    A clang/test/CodeGenCXX/zos-mangle-ptr-size-address-space.cpp
    M clang/test/Modules/check-for-sanitizer-feature.cpp
    M clang/test/Modules/ignored_macros.m
    M clang/test/Modules/load_failure.c
    M clang/test/Modules/merge-target-features.cpp
    M clang/test/Modules/mismatch-diagnostics.cpp
    M clang/test/Modules/module-pch-different-cache-path.c
    M clang/test/Modules/pr62359.cppm
    M clang/test/PCH/arc.m
    M clang/test/PCH/fuzzy-pch.c
    M clang/test/PCH/module-hash-difference.m
    M clang/test/PCH/ms-pch-macro.c
    M clang/test/PCH/no-validate-pch.cl
    A clang/test/Sema/ZOSExtensions.cpp
    A clang/test/Sema/attr-print-zos.c
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    A clang/test/SemaCXX/single-element-init-list.cpp
    M clang/tools/clang-linker-wrapper/CMakeLists.txt
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/driver/CMakeLists.txt
    M clang/www/cxx_dr_status.html
    M flang/runtime/edit-input.cpp
    M flang/tools/flang-driver/CMakeLists.txt
    M lld/cmake/modules/AddLLD.cmake
    M lld/tools/lld/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/ADT/GraphTraits.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/FuzzMutate/OpDescriptor.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/lib/Analysis/MustExecute.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/FuzzMutate/IRMutator.cpp
    M llvm/lib/FuzzMutate/Operations.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Support/regcomp.c
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/LoongArch/CMakeLists.txt
    M llvm/lib/Target/LoongArch/LoongArch.h
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    A llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/arith-sminmax.ll
    M llvm/test/Analysis/CostModel/AMDGPU/arith-uminmax.ll
    M llvm/test/Analysis/CostModel/ARM/cmps.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-smax.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-smin.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-umax.ll
    M llvm/test/Analysis/CostModel/ARM/reduce-umin.ll
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/CodeGen/LoongArch/block-address.ll
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
    M llvm/test/CodeGen/LoongArch/double-imm.ll
    M llvm/test/CodeGen/LoongArch/float-imm-vldi.ll
    M llvm/test/CodeGen/LoongArch/float-imm.ll
    M llvm/test/CodeGen/LoongArch/ghc-cc.ll
    M llvm/test/CodeGen/LoongArch/global-address.ll
    M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store.ll
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
    M llvm/test/CodeGen/X86/combine-sub.ll
    A llvm/test/DebugInfo/X86/undef-dbg-val.ll
    M llvm/test/Transforms/LICM/hoist-mustexec.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/min_max.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
    M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/loongarch_generated_funcs.ll.nogenerated.expected
    M llvm/tools/bugpoint/CMakeLists.txt
    M llvm/tools/llc/CMakeLists.txt
    M llvm/tools/llvm-lto2/CMakeLists.txt
    M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
    M llvm/tools/llvm-stress/llvm-stress.cpp
    M llvm/tools/opt/CMakeLists.txt
    M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    M llvm/unittests/Analysis/LazyCallGraphTest.cpp
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
    M llvm/unittests/FuzzMutate/OperationsTest.cpp
    M llvm/unittests/IR/BasicBlockTest.cpp
    M llvm/unittests/Passes/Plugins/CMakeLists.txt
    M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/tools/mlir-opt/CMakeLists.txt

  Log Message:
  -----------
  Rebase, address comments

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/a6d0060fc04e...3254e839ab03

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list