[all-commits] [llvm/llvm-project] d8b61d: [OpenMP] Generate implicit default mapper for mapp...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Sat Aug 3 08:51:38 PDT 2024


  Branch: refs/heads/users/vitalybuka/spr/nfcasan-switch-from-list-to-dyninitglobalsbymodule
  Home:   https://github.com/llvm/llvm-project
  Commit: d8b61dd84b1acbc4f5a84b09bc1abd552a949189
      https://github.com/llvm/llvm-project/commit/d8b61dd84b1acbc4f5a84b09bc1abd552a949189
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/target_map_nest_defalut_mapper_ast_dump.cpp
    A clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_1.cpp

  Log Message:
  -----------
  [OpenMP] Generate implicit default mapper for mapping array section. (#101101)

This is only for struct containing nested structs with user defined
mappers.

Add four functions:
1>buildImplicitMap: build map for default mapper
2>buildImplicitMapper:  build default mapper.
3>hasUserDefinedMapper for given mapper name and mapper type, lookup
user defined map, if found one return true.
4>isImplicitMapperNeeded check if Mapper is needed

During create map, in checkMappableExpressionList, call
isImplicitMapperNeeded when it return true, call buildImplicitMapper to
generate implicit mapper and added to map clause.

https://github.com/llvm/llvm-project/pull/101101


  Commit: ac319a8dd8b7999ffa0342e50e02932c5c8f7a6a
      https://github.com/llvm/llvm-project/commit/ac319a8dd8b7999ffa0342e50e02932c5c8f7a6a
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    A clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl

  Log Message:
  -----------
  Attach resource attributes to handle within record, instead of record (#101433)

This PR attaches the resource attributes, `HLSLResourceAttr` and
`HLSLResourceClassAttr`, to the handle contained within such resource
classes like `RWBuffer`. CodeGen will now search for fields within HLSL
resource decls, and emit previous data based on attributes on the handle
member. An AST-dump test was added to verify that the resource attribute
is attached to the handle within the resource record decl.
Fixes #98556

---------

Co-authored-by: Justin Bogner <mail at justinbogner.com>


  Commit: ba4da5a087f28c9522bc7f173e99673bb3009af9
      https://github.com/llvm/llvm-project/commit/ba4da5a087f28c9522bc7f173e99673bb3009af9
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    A llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll

  Log Message:
  -----------
  [ctx_prof] "Use" support for pre-thinlink. (#101338)

There is currently no plan to support contextual profiling use in a non-
ThinLTO scenario.

In the pre-link phase, we only instrument and then immediately bail out
to let the linker group functions under an entrypoint in the same module
as the entrypoint. We don't actually care what the profile contains -
just that we want to use a contextual profile.

After that, in post-thinlink, we require the profile be passed again so
we can actually use it. The earlier instrumentation will be used to
match counter values.

While the feature is in development, we add a hidden flag for the use
scenario, but we can eventually tie it to the `PGOOptions` mechanism. We
will use the same flag in both pre- and post-thinlink, because it
simplifies things - usually the post-thinlink args are the same as the
ones for pre-. This, despite the flag being basically treated as a
boolean in pre-thinlink.


  Commit: a43677c17266308fb615cc37d03dcff87e7e9a5f
      https://github.com/llvm/llvm-project/commit/a43677c17266308fb615cc37d03dcff87e7e9a5f
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M offload/test/mapping/declare_mapper_nested_default_mappers_1.cpp

  Log Message:
  -----------
  Test faild with amd. (#101781)

Add unspport.

This is relate #101101


  Commit: 259ca9ee9c4d9f7ba2d05db9fe05f782a865aeb5
      https://github.com/llvm/llvm-project/commit/259ca9ee9c4d9f7ba2d05db9fe05f782a865aeb5
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/avx10_2_512niintrin.h
    A clang/lib/Headers/avx10_2niintrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Sema/SemaX86.cpp
    A clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
    A clang/test/CodeGen/X86/avx10_2ni-builtins.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    A llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    A llvm/test/CodeGen/X86/avx10_2_512ni-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
    A llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
    A llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
    A llvm/test/MC/X86/avx10_2ni-32-intel.s
    A llvm/test/MC/X86/avx10_2ni-64-att.s
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86ManualInstrMapping.def
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  Reland "[X86][AVX10.2] Support AVX10.2 option and VMPSADBW/VADDP[D,H,S] new instructions (#101452)" (#101616)

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965


  Commit: 34766d0d488ba2fbefa80dcd0cc8720a0e753448
      https://github.com/llvm/llvm-project/commit/34766d0d488ba2fbefa80dcd0cc8720a0e753448
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.h
    M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py

  Log Message:
  -----------
  [LLDB][SBSaveCore] Fix bug where default values are not propagated. (#101770)

In #100443, Mach-o and Minidump now only call process API's that take a
`SaveCoreOption` as the container for the style and information if a
thread should be included in the core or not. This introduced a bug
where in subsequent method calls we were not honoring the defaults of
both implementations.

~~To solve this I have made a copy of each SaveCoreOptions that is
mutable by the respective plugin. Originally I wanted to leave the
SaveCoreOptions as non const so these default value mutations could be
shown back to the user. Changing that behavior is outside of the scope
of this bugfix, but is context for why we are making a copy.~~

Removed const on the savecoreoptions so defaults can be inspected by the
user

CC: @Michael137


  Commit: 6e70ca1e802f26b4c9cbe90c11b2c5317789ed23
      https://github.com/llvm/llvm-project/commit/6e70ca1e802f26b4c9cbe90c11b2c5317789ed23
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/riscv_vector.td

  Log Message:
  -----------
  [RISCV] Use FP type as the base type for some int->f conversions. (#101733)

This is an alternative to part of #101608. Using FP as the base type
allows the existing Zfh extension check to work.

This does not fix fp->int narrowing instructions which still use the
narrow integer type as their base type.


  Commit: f25d43285cec24a732a3c489c2c83c8090204977
      https://github.com/llvm/llvm-project/commit/f25d43285cec24a732a3c489c2c83c8090204977
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 259ca9ee9c4d


  Commit: 400c7c7cf2b15138aa674355983be74270de93bc
      https://github.com/llvm/llvm-project/commit/400c7c7cf2b15138aa674355983be74270de93bc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Simplify Pointer move/copy assignment op


  Commit: cad835266ea12dbb3b602d9ae9ae479a550c47b4
      https://github.com/llvm/llvm-project/commit/cad835266ea12dbb3b602d9ae9ae479a550c47b4
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M libc/test/src/math/smoke/FmaTest.h

  Log Message:
  -----------
  [libc][math][c23] fixing dfmal for rv32 (#101763)


  Commit: 1299af66322aa21246b0de6204dff553e46c408c
      https://github.com/llvm/llvm-project/commit/1299af66322aa21246b0de6204dff553e46c408c
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp

  Log Message:
  -----------
  [clang] create class-type injected NTTP with correct value kind (#101395)

A template parameter object is an lvalue, which was not being respected
for injected parameters.

Fixes #101394


  Commit: 13faed8737b3021e59c3df6db3066876ce831dc9
      https://github.com/llvm/llvm-project/commit/13faed8737b3021e59c3df6db3066876ce831dc9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Use move ctor in moveArrayTy

Similar to what we did previously for primitive types, do it for
primitive arrays as well.


  Commit: 4d2c9d8cd849e8097f41b3c3b52e4475188b5489
      https://github.com/llvm/llvm-project/commit/4d2c9d8cd849e8097f41b3c3b52e4475188b5489
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBlock.cpp
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Add more assertions to add/removePointer


  Commit: 53e87908c67f158bfe196a3c7cec690dc5eed1fc
      https://github.com/llvm/llvm-project/commit/53e87908c67f158bfe196a3c7cec690dc5eed1fc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Remove double using namespace stmt


  Commit: ed5b0e1e6986a652de8be88fa5ff92bf75c40a21
      https://github.com/llvm/llvm-project/commit/ed5b0e1e6986a652de8be88fa5ff92bf75c40a21
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/length.hlsl
    A clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/length.ll
    A llvm/test/CodeGen/DirectX/length_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error_scalar.ll

  Log Message:
  -----------
  Add length builtins and length HLSL function to DirectX Backend (#101256)

This PR adds the length intrinsic and an HLSL function that uses it.
The SPIRV implementation is left for a future PR.
This PR addresses #99134, though some SPIR-V changes still need to be
made to complete the task. Below is how this PR addresses #99134.
- "Implement `length` clang builtin" was done by defining `HLSLL ength`
in Builtins.td
- "Link `length` clang builtin with hlsl_intrinsics.h" was done by using
the alias attribute to make `length` an alias of
`__builtin_hlsl_elementwise_length` in hlsl_intrinsics.h
- "Add sema checks for `length` to `CheckHLSLBuiltinFunctionCall` in
`SemaChecking.cpp` " was done, but in this case not in SemaChecking.cpp,
rather SemaHLSL.cpp. A case was added to the builtin to check for
semantic failures, and set `TheCall` up to have the right return type.
- "Add codegen for `length` to `EmitHLSLBuiltinExpr` in `CGBuiltin.cpp`"
was done. For scalars, fabs is emitted, otherwise, length is emitted.
- "Add codegen tests to `clang/test/CodeGenHLSL/builtins/length.hlsl`
was done to test that `length` in HLSL emits the right intrinsic.
- "Add sema tests to `clang/test/SemaHLSL/BuiltIns/length-errors.hlsl`"
was done to test for diagnostics emitted in SemaHLSL.cpp
- "Create the `int_dx_length` intrinsic in `IntrinsicsDirectX.td`" was
done. Specifying return types and parameter types was difficult, but
`idot` was used for reference, and `llvm\include\llvm\IR\Intrinsics.td`
contains all the ways to express return / parameter types.
- "Create an intrinsic expansion of `int_dx_length` in
`llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp`" was done, and was
mostly derived by looking at `TranslateLength` in `HLOperationLower.cpp`
in the DXC codebase.
- "Create the `length.ll` and `length_errors.ll` tests in
`llvm/test/CodeGen/DirectX/`" was done by taking the DXIL output of
`clang/test/CodeGenHLSL/builtins/length.hlsl` and running `opt -S
-dxil-intrinsic-expansion` and ` opt -S -dxil-op-lower` on it, checking
for how the length intrinsic was either expanded or lowered.
- "Create the `int_spv_length` intrinsic in `IntrinsicsSPIRV.td`" was
done by copying `IntrinsicsDirectX.td`.

---------

Co-authored-by: Justin Bogner <mail at justinbogner.com>


  Commit: 95b366cad2e1232d0b21dcc101362655c7abcc13
      https://github.com/llvm/llvm-project/commit/95b366cad2e1232d0b21dcc101362655c7abcc13
  Author: Julius Alexandre <juliuswoosebert at gmail.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Add setVolatile function to LoadInst and StoreInst (#101759)

This patch adds sandboxir::LoadInst::setVolatile() and sandboxir::StoreInst::setVolatile()
and the corresponding tracking class.


  Commit: 14837aff058f9a2d32b8277debe619d8eb1995a1
      https://github.com/llvm/llvm-project/commit/14837aff058f9a2d32b8277debe619d8eb1995a1
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    A .github/workflows/get-llvm-version/action.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/llvm-tests.yml
    A llvm/utils/release/get-llvm-version.sh

  Log Message:
  -----------
  workflows: Re-implement the get-llvm-version action as a composite action (#101569)

The old version in the llvm/actions repo stopped working after the
version variables were moved out of llvm/CMakeLists.txt. Composite
actions are more simple and don't require javascript, which is why I
reimplemented it as a composite action.

This will fix the failing abi checks on the release branch.


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

  Changed paths:
    M clang/lib/AST/Interp/Source.h

  Log Message:
  -----------
  [clang][Interp] Enhance CodePtr (#101787)

Add more relational operators.


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

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/new-delete.cpp

  Log Message:
  -----------
  [clang][Interp] Check for 'delete this' in dtors (#101792)


  Commit: 8bd9ade6284a793c898da133723121c3bcc49ef7
      https://github.com/llvm/llvm-project/commit/8bd9ade6284a793c898da133723121c3bcc49ef7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fcmp.ll
    M llvm/test/Transforms/InstCombine/known-never-nan.ll

  Log Message:
  -----------
  [InstCombine] Fold `fcmp pred sqrt(X), 0.0 -> fcmp pred2 X, 0.0` (#101626)

Proof (Please run alive-tv with larger smt-to):
https://alive2.llvm.org/ce/z/-aqixk
FMF propagation: https://alive2.llvm.org/ce/z/zyKK_p

```
sqrt(X) < 0.0 --> false
sqrt(X) u>= 0.0 --> true
sqrt(X) u< 0.0 --> X u< 0.0
sqrt(X) u<= 0.0 --> X u<= 0.0
sqrt(X) > 0.0 --> X > 0.0
sqrt(X) >= 0.0 --> X >= 0.0
sqrt(X) == 0.0 --> X == 0.0
sqrt(X) u!= 0.0 --> X u!= 0.0
sqrt(X) <= 0.0 --> X == 0.0
sqrt(X) u> 0.0 --> X u!= 0.0
sqrt(X) u== 0.0 --> X u<= 0.0
sqrt(X) != 0.0 --> X > 0.0
!isnan(sqrt(X)) --> X >= 0.0
isnan(sqrt(X)) --> X u< 0.0
```

In most cases, `sqrt` cannot be eliminated since it has multiple uses.
But this patch will break data dependencies and allow optimizer to sink
expensive `sqrt` calls into successor blocks.


  Commit: 8f39502b85d34998752193e85f36c408d3c99248
      https://github.com/llvm/llvm-project/commit/8f39502b85d34998752193e85f36c408d3c99248
  Author: Sam James <sam at gentoo.org>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h

  Log Message:
  -----------
  [AMDGPU] Include `<cstdint>` in AMDGPUMCTargetDesc (#101766)


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

  Changed paths:
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/test/AST/Interp/new-delete.cpp

  Log Message:
  -----------
  [clang][Interp] Convert blocks to DeadBlocks when destroying frames (#101794)

This doesn't fix the attached test case, but at least we're not crashing
anymore.


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

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/if.cpp
    M clang/test/AST/Interp/loops.cpp

  Log Message:
  -----------
  [clang][Interp] Simplify and fix variable scope handling (#101788)

Change scope handling to allow multiple Destroy calls for a given scope,
provided it is preceeded by a InitScope call. This is necessary to
properly allow nested scopes in loops.


  Commit: 2fc71e4e4b0c2eabd7c863f5cdfa6245c1d87c71
      https://github.com/llvm/llvm-project/commit/2fc71e4e4b0c2eabd7c863f5cdfa6245c1d87c71
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect Conversion: Move argument materialization logic (#98805)

This commit moves the argument materialization logic from
`legalizeConvertedArgumentTypes` to
`legalizeUnresolvedMaterializations`.

Before this change:
- Argument materializations were created in
`legalizeConvertedArgumentTypes` (which used to call
`materializeLiveConversions`).

After this change:
- `legalizeConvertedArgumentTypes` creates a "placeholder"
`unrealized_conversion_cast`.
- The placeholder `unrealized_conversion_cast` is replaced with an
argument materialization (using the type converter) in
`legalizeUnresolvedMaterializations`.
- All argument and target materializations now take place in the same
location (`legalizeUnresolvedMaterializations`).

This commit brings us closer towards creating all source/target/argument
materializations in one central step, which can then be made optional
(and delegated to the user) in the future. (There is one more source
materialization step that has not been moved yet.)

This commit also consolidates all `build*UnresolvedMaterialization`
functions into a single `buildUnresolvedMaterialization` function.

This is a re-upload of #96329.


  Commit: d1e5dc254de7c543a971ebd58412e9a727f06536
      https://github.com/llvm/llvm-project/commit/d1e5dc254de7c543a971ebd58412e9a727f06536
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/Instructions.h

  Log Message:
  -----------
  [NFC] Add const qualifier for parameters of functions in Instructions.h

This is to extract the NFC change in #96878 into a separate PR.


  Commit: 879640cba00344aebd76764f2479497a1c731835
      https://github.com/llvm/llvm-project/commit/879640cba00344aebd76764f2479497a1c731835
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    A libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/test_data.json
    A libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    A libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implements the new version header generator. (#97847)

The generator makes a few changes to the output
- removes the synopsis, it did not really show what was implemented
correctly.
- the output now is clang-format clean.

This code uses the new FTM data structure. Since the contents of this
structure are not up-to-date the code is only used in its tests.


  Commit: 79caa066ea6d4f2479aed6a28c6c04fd7857bec8
      https://github.com/llvm/llvm-project/commit/79caa066ea6d4f2479aed6a28c6c04fd7857bec8
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M libcxx/include/__bit/rotate.h
    M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp

  Log Message:
  -----------
  [libc++][bit] Improves rotate functions. (#98032)

Investigating #96612 shows our implementation was different from the
Standard and could cause UB. Testing the codegen showed quite a bit of
assembly generated for these functions. The functions have been written
differently which allows Clang to optimize the code to use simple CPU
rotate instructions.

Fixes: https://github.com/llvm/llvm-project/issues/96612


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

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/eval-order.cpp

  Log Message:
  -----------
  [clang][Interp] Fix array subscript eval order (#101804)

Always evaluate LHS first, then RHS.


  Commit: 5f696c1bd9089155666b8d8b5653daa8f9967987
      https://github.com/llvm/llvm-project/commit/5f696c1bd9089155666b8d8b5653daa8f9967987
  Author: Jannick Kremer <51118500+DeinAlptraum at users.noreply.github.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Add @DeinAlptraum as CODEOWNER for libclang/Python bindings (#101815)


  Commit: a3cf8642bf4d3cd4362063cc2a98ead4dca8cdec
      https://github.com/llvm/llvm-project/commit/a3cf8642bf4d3cd4362063cc2a98ead4dca8cdec
  Author: David Green <david.green at arm.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    A llvm/test/CodeGen/AArch64/sched-postidxalias.mir

  Log Message:
  -----------
  [AArch64] Cleanup existing values in getMemOpInfo (#98196)

This patch tries to clean up some of the existing values in
getMemOpInfo. All values should now be in bytes (not bits), and the
MinOffset/MaxOffset are now always represented unscaled (the immediate
that will be present in the final instruction).

Although I could not find a place where it altered codegen, the offset
of a post-index instruction will be 0, not scale*imm. A
IsPostIndexLdStOpcode method has been added to try and make sure that
case is handled properly.


  Commit: 79f7630e28589364ccf989a4a838f5dd74ce260a
      https://github.com/llvm/llvm-project/commit/79f7630e28589364ccf989a4a838f5dd74ce260a
  Author: Ralf Jung <post at ralfj.de>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Clarify semantics of masked vector load/store (#82469)

Basically, these operations are equivalent to a loop that iterates all
elements and then does a `getelementptr` (without `inbounds`!) plus
`load`/`store` only for the masked-on elements.


  Commit: 2bae7aeab42062e61d6f9d6458660d4a5646f7af
      https://github.com/llvm/llvm-project/commit/2bae7aeab42062e61d6f9d6458660d4a5646f7af
  Author: Jannick Kremer <51118500+DeinAlptraum at users.noreply.github.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  [libclang] Fix symbol version of `getBinaryOpcode` functions (#101820)

#98489 resurrected an [old patch](https://reviews.llvm.org/D10833) that
was adding new libclang functions. That PR got merged with old `LLVM_13`
symbol versions for new functions. This patch fixes this oversight.


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

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/test/AST/Interp/eval-order.cpp

  Log Message:
  -----------
  [clang][Interp] Fix function pointer callexpr eval order (#101821)

We need to evaluate the callee before the arguments.


  Commit: 70f57defee1e886400ed9858ae3ed5148835e1e7
      https://github.com/llvm/llvm-project/commit/70f57defee1e886400ed9858ae3ed5148835e1e7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-03 (Sat, 03 Aug 2024)

  Changed paths:
    M .github/CODEOWNERS
    A .github/workflows/get-llvm-version/action.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/llvm-tests.yml
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBlock.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/Source.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/avx10_2_512niintrin.h
    A clang/lib/Headers/avx10_2niintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    M clang/test/AST/Interp/eval-order.cpp
    M clang/test/AST/Interp/if.cpp
    M clang/test/AST/Interp/loops.cpp
    M clang/test/AST/Interp/new-delete.cpp
    A clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
    A clang/test/CodeGen/X86/avx10_2ni-builtins.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/target-builtin-noerror.c
    A clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/Driver/x86-target-features.c
    A clang/test/OpenMP/target_map_nest_defalut_mapper_ast_dump.cpp
    A clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
    A clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M clang/test/Preprocessor/x86_target_features.c
    A clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M clang/tools/libclang/libclang.map
    M compiler-rt/lib/asan/asan_globals.cpp
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M libc/test/src/math/smoke/FmaTest.h
    M libcxx/include/__bit/rotate.h
    A libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
    M libcxx/test/libcxx/feature_test_macro/test_data.json
    A libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    A libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M lldb/include/lldb/Core/PluginManager.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.h
    M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    A llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrFormats.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    A llvm/test/CodeGen/AArch64/sched-postidxalias.mir
    A llvm/test/CodeGen/DirectX/length.ll
    A llvm/test/CodeGen/DirectX/length_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error_scalar.ll
    A llvm/test/CodeGen/X86/avx10_2_512ni-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
    A llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
    A llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
    A llvm/test/MC/X86/avx10_2ni-32-intel.s
    A llvm/test/MC/X86/avx10_2ni-64-att.s
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/Transforms/InstCombine/fcmp.ll
    M llvm/test/Transforms/InstCombine/known-never-nan.ll
    A llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86ManualInstrMapping.def
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    A llvm/utils/release/get-llvm-version.sh
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_1.cpp

  Log Message:
  -----------
  reorder functions

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/5f9f43f33534...70f57defee1e

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