[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